From 6cd3f4faef9101487a6524810b296b130ae108d9 Mon Sep 17 00:00:00 2001 From: piaobo <1913856125@qq.com> Date: Tue, 9 Dec 2025 19:41:24 +0800 Subject: [PATCH] =?UTF-8?q?app=E7=89=88=E6=9C=AC=E6=8E=A7=E5=88=B6?= =?UTF-8?q?=E7=9A=84=E4=BB=A3=E7=A0=81=EF=BC=8C=E7=9B=B8=E5=85=B3=E7=9A=84?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/controller/AppVersionController.java | 104 ++++++++ .../zhyc/module/app/domain/AppVersion.java | 237 ++++++++++++++++++ .../module/app/mapper/AppVersionMapper.java | 61 +++++ .../app/service/IAppVersionService.java | 61 +++++ .../service/impl/AppVersionServiceImpl.java | 96 +++++++ .../resources/mapper/app/AppVersionMapper.xml | 125 +++++++++ 6 files changed, 684 insertions(+) create mode 100755 zhyc-module/src/main/java/com/zhyc/module/app/controller/AppVersionController.java create mode 100755 zhyc-module/src/main/java/com/zhyc/module/app/domain/AppVersion.java create mode 100755 zhyc-module/src/main/java/com/zhyc/module/app/mapper/AppVersionMapper.java create mode 100755 zhyc-module/src/main/java/com/zhyc/module/app/service/IAppVersionService.java create mode 100755 zhyc-module/src/main/java/com/zhyc/module/app/service/impl/AppVersionServiceImpl.java create mode 100755 zhyc-module/src/main/resources/mapper/app/AppVersionMapper.xml diff --git a/zhyc-module/src/main/java/com/zhyc/module/app/controller/AppVersionController.java b/zhyc-module/src/main/java/com/zhyc/module/app/controller/AppVersionController.java new file mode 100755 index 0000000..cde36d2 --- /dev/null +++ b/zhyc-module/src/main/java/com/zhyc/module/app/controller/AppVersionController.java @@ -0,0 +1,104 @@ +package com.zhyc.module.app.controller; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.zhyc.common.annotation.Log; +import com.zhyc.common.core.controller.BaseController; +import com.zhyc.common.core.domain.AjaxResult; +import com.zhyc.common.enums.BusinessType; +import com.zhyc.module.app.domain.AppVersion; +import com.zhyc.module.app.service.IAppVersionService; +import com.zhyc.common.utils.poi.ExcelUtil; +import com.zhyc.common.core.page.TableDataInfo; + +/** + * 应用版本信息Controller + * + * @author 漂泊 + * @date 2025-12-09 + */ +@RestController +@RequestMapping("/app/version") +public class AppVersionController extends BaseController +{ + @Autowired + private IAppVersionService appVersionService; + + /** + * 查询应用版本信息列表 + */ + @PreAuthorize("@ss.hasPermi('app:version:list')") + @GetMapping("/list") + public TableDataInfo list(AppVersion appVersion) + { + startPage(); + List list = appVersionService.selectAppVersionList(appVersion); + return getDataTable(list); + } + + /** + * 导出应用版本信息列表 + */ + @PreAuthorize("@ss.hasPermi('app:version:export')") + @Log(title = "应用版本信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, AppVersion appVersion) + { + List list = appVersionService.selectAppVersionList(appVersion); + ExcelUtil util = new ExcelUtil(AppVersion.class); + util.exportExcel(response, list, "应用版本信息数据"); + } + + /** + * 获取应用版本信息详细信息 + */ + @PreAuthorize("@ss.hasPermi('app:version:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(appVersionService.selectAppVersionById(id)); + } + + /** + * 新增应用版本信息 + */ + @PreAuthorize("@ss.hasPermi('app:version:add')") + @Log(title = "应用版本信息", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody AppVersion appVersion) + { + return toAjax(appVersionService.insertAppVersion(appVersion)); + } + + /** + * 修改应用版本信息 + */ + @PreAuthorize("@ss.hasPermi('app:version:edit')") + @Log(title = "应用版本信息", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody AppVersion appVersion) + { + return toAjax(appVersionService.updateAppVersion(appVersion)); + } + + /** + * 删除应用版本信息 + */ + @PreAuthorize("@ss.hasPermi('app:version:remove')") + @Log(title = "应用版本信息", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(appVersionService.deleteAppVersionByIds(ids)); + } +} diff --git a/zhyc-module/src/main/java/com/zhyc/module/app/domain/AppVersion.java b/zhyc-module/src/main/java/com/zhyc/module/app/domain/AppVersion.java new file mode 100755 index 0000000..2ef905e --- /dev/null +++ b/zhyc-module/src/main/java/com/zhyc/module/app/domain/AppVersion.java @@ -0,0 +1,237 @@ +package com.zhyc.module.app.domain; + +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.zhyc.common.annotation.Excel; +import com.zhyc.common.core.domain.BaseEntity; + +/** + * 应用版本信息对象 app_version + * + * @author ruoyi + * @date 2025-12-09 + */ +public class AppVersion extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 主键ID */ + private Long id; + + /** 平台类型 */ + @Excel(name = "平台类型") + private String platform; + + /** 版本代码(用于比较的数字,如1000) */ + @Excel(name = "版本代码", readConverterExp = "用=于比较的数字,如1000") + private Long versionCode; + + /** 版本名称(如1.0.0) */ + @Excel(name = "版本名称", readConverterExp = "如=1.0.0") + private String versionName; + + /** 是否强制更新(0否,1是) */ + @Excel(name = "是否强制更新", readConverterExp = "0=否,1是") + private Integer isForceUpdate; + + /** 是否最新版本 */ + @Excel(name = "是否最新版本") + private Integer isLatest; + + /** 最小兼容版本 */ + @Excel(name = "最小兼容版本") + private Long minVersionCode; + + /** 下载地址 */ + @Excel(name = "下载地址") + private String downloadUrl; + + /** 更新标题 */ + @Excel(name = "更新标题") + private String updateTitle; + + /** 更新内容 */ + @Excel(name = "更新内容") + private String updateContent; + + /** 文件大小(字节) */ + @Excel(name = "文件大小", readConverterExp = "字=节") + private Long fileSize; + + /** 文件MD5 */ + @Excel(name = "文件MD5") + private String md5Hash; + + /** 发布时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "发布时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date publishTime; + + /** 是否删除 */ + @Excel(name = "是否删除") + private Integer isDeleted; + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + + public void setPlatform(String platform) + { + this.platform = platform; + } + + public String getPlatform() + { + return platform; + } + + public void setVersionCode(Long versionCode) + { + this.versionCode = versionCode; + } + + public Long getVersionCode() + { + return versionCode; + } + + public void setVersionName(String versionName) + { + this.versionName = versionName; + } + + public String getVersionName() + { + return versionName; + } + + public void setIsForceUpdate(Integer isForceUpdate) + { + this.isForceUpdate = isForceUpdate; + } + + public Integer getIsForceUpdate() + { + return isForceUpdate; + } + + public void setIsLatest(Integer isLatest) + { + this.isLatest = isLatest; + } + + public Integer getIsLatest() + { + return isLatest; + } + + public void setMinVersionCode(Long minVersionCode) + { + this.minVersionCode = minVersionCode; + } + + public Long getMinVersionCode() + { + return minVersionCode; + } + + public void setDownloadUrl(String downloadUrl) + { + this.downloadUrl = downloadUrl; + } + + public String getDownloadUrl() + { + return downloadUrl; + } + + public void setUpdateTitle(String updateTitle) + { + this.updateTitle = updateTitle; + } + + public String getUpdateTitle() + { + return updateTitle; + } + + public void setUpdateContent(String updateContent) + { + this.updateContent = updateContent; + } + + public String getUpdateContent() + { + return updateContent; + } + + public void setFileSize(Long fileSize) + { + this.fileSize = fileSize; + } + + public Long getFileSize() + { + return fileSize; + } + + public void setMd5Hash(String md5Hash) + { + this.md5Hash = md5Hash; + } + + public String getMd5Hash() + { + return md5Hash; + } + + public void setPublishTime(Date publishTime) + { + this.publishTime = publishTime; + } + + public Date getPublishTime() + { + return publishTime; + } + + public void setIsDeleted(Integer isDeleted) + { + this.isDeleted = isDeleted; + } + + public Integer getIsDeleted() + { + return isDeleted; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("platform", getPlatform()) + .append("versionCode", getVersionCode()) + .append("versionName", getVersionName()) + .append("isForceUpdate", getIsForceUpdate()) + .append("isLatest", getIsLatest()) + .append("minVersionCode", getMinVersionCode()) + .append("downloadUrl", getDownloadUrl()) + .append("updateTitle", getUpdateTitle()) + .append("updateContent", getUpdateContent()) + .append("fileSize", getFileSize()) + .append("md5Hash", getMd5Hash()) + .append("publishTime", getPublishTime()) + .append("createTime", getCreateTime()) + .append("updateTime", getUpdateTime()) + .append("isDeleted", getIsDeleted()) + .toString(); + } +} diff --git a/zhyc-module/src/main/java/com/zhyc/module/app/mapper/AppVersionMapper.java b/zhyc-module/src/main/java/com/zhyc/module/app/mapper/AppVersionMapper.java new file mode 100755 index 0000000..7e6efa1 --- /dev/null +++ b/zhyc-module/src/main/java/com/zhyc/module/app/mapper/AppVersionMapper.java @@ -0,0 +1,61 @@ +package com.zhyc.module.app.mapper; + +import java.util.List; +import com.zhyc.module.app.domain.AppVersion; + +/** + * 应用版本信息Mapper接口 + * + * @author ruoyi + * @date 2025-12-09 + */ +public interface AppVersionMapper +{ + /** + * 查询应用版本信息 + * + * @param id 应用版本信息主键 + * @return 应用版本信息 + */ + public AppVersion selectAppVersionById(Long id); + + /** + * 查询应用版本信息列表 + * + * @param appVersion 应用版本信息 + * @return 应用版本信息集合 + */ + public List selectAppVersionList(AppVersion appVersion); + + /** + * 新增应用版本信息 + * + * @param appVersion 应用版本信息 + * @return 结果 + */ + public int insertAppVersion(AppVersion appVersion); + + /** + * 修改应用版本信息 + * + * @param appVersion 应用版本信息 + * @return 结果 + */ + public int updateAppVersion(AppVersion appVersion); + + /** + * 删除应用版本信息 + * + * @param id 应用版本信息主键 + * @return 结果 + */ + public int deleteAppVersionById(Long id); + + /** + * 批量删除应用版本信息 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteAppVersionByIds(Long[] ids); +} diff --git a/zhyc-module/src/main/java/com/zhyc/module/app/service/IAppVersionService.java b/zhyc-module/src/main/java/com/zhyc/module/app/service/IAppVersionService.java new file mode 100755 index 0000000..7797d56 --- /dev/null +++ b/zhyc-module/src/main/java/com/zhyc/module/app/service/IAppVersionService.java @@ -0,0 +1,61 @@ +package com.zhyc.module.app.service; + +import java.util.List; +import com.zhyc.module.app.domain.AppVersion; + +/** + * 应用版本信息Service接口 + * + * @author ruoyi + * @date 2025-12-09 + */ +public interface IAppVersionService +{ + /** + * 查询应用版本信息 + * + * @param id 应用版本信息主键 + * @return 应用版本信息 + */ + public AppVersion selectAppVersionById(Long id); + + /** + * 查询应用版本信息列表 + * + * @param appVersion 应用版本信息 + * @return 应用版本信息集合 + */ + public List selectAppVersionList(AppVersion appVersion); + + /** + * 新增应用版本信息 + * + * @param appVersion 应用版本信息 + * @return 结果 + */ + public int insertAppVersion(AppVersion appVersion); + + /** + * 修改应用版本信息 + * + * @param appVersion 应用版本信息 + * @return 结果 + */ + public int updateAppVersion(AppVersion appVersion); + + /** + * 批量删除应用版本信息 + * + * @param ids 需要删除的应用版本信息主键集合 + * @return 结果 + */ + public int deleteAppVersionByIds(Long[] ids); + + /** + * 删除应用版本信息信息 + * + * @param id 应用版本信息主键 + * @return 结果 + */ + public int deleteAppVersionById(Long id); +} diff --git a/zhyc-module/src/main/java/com/zhyc/module/app/service/impl/AppVersionServiceImpl.java b/zhyc-module/src/main/java/com/zhyc/module/app/service/impl/AppVersionServiceImpl.java new file mode 100755 index 0000000..247067c --- /dev/null +++ b/zhyc-module/src/main/java/com/zhyc/module/app/service/impl/AppVersionServiceImpl.java @@ -0,0 +1,96 @@ +package com.zhyc.module.app.service.impl; + +import java.util.List; +import com.zhyc.common.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.zhyc.module.app.mapper.AppVersionMapper; +import com.zhyc.module.app.domain.AppVersion; +import com.zhyc.module.app.service.IAppVersionService; + +/** + * 应用版本信息Service业务层处理 + * + * @author ruoyi + * @date 2025-12-09 + */ +@Service +public class AppVersionServiceImpl implements IAppVersionService +{ + @Autowired + private AppVersionMapper appVersionMapper; + + /** + * 查询应用版本信息 + * + * @param id 应用版本信息主键 + * @return 应用版本信息 + */ + @Override + public AppVersion selectAppVersionById(Long id) + { + return appVersionMapper.selectAppVersionById(id); + } + + /** + * 查询应用版本信息列表 + * + * @param appVersion 应用版本信息 + * @return 应用版本信息 + */ + @Override + public List selectAppVersionList(AppVersion appVersion) + { + return appVersionMapper.selectAppVersionList(appVersion); + } + + /** + * 新增应用版本信息 + * + * @param appVersion 应用版本信息 + * @return 结果 + */ + @Override + public int insertAppVersion(AppVersion appVersion) + { + appVersion.setCreateTime(DateUtils.getNowDate()); + return appVersionMapper.insertAppVersion(appVersion); + } + + /** + * 修改应用版本信息 + * + * @param appVersion 应用版本信息 + * @return 结果 + */ + @Override + public int updateAppVersion(AppVersion appVersion) + { + appVersion.setUpdateTime(DateUtils.getNowDate()); + return appVersionMapper.updateAppVersion(appVersion); + } + + /** + * 批量删除应用版本信息 + * + * @param ids 需要删除的应用版本信息主键 + * @return 结果 + */ + @Override + public int deleteAppVersionByIds(Long[] ids) + { + return appVersionMapper.deleteAppVersionByIds(ids); + } + + /** + * 删除应用版本信息信息 + * + * @param id 应用版本信息主键 + * @return 结果 + */ + @Override + public int deleteAppVersionById(Long id) + { + return appVersionMapper.deleteAppVersionById(id); + } +} diff --git a/zhyc-module/src/main/resources/mapper/app/AppVersionMapper.xml b/zhyc-module/src/main/resources/mapper/app/AppVersionMapper.xml new file mode 100755 index 0000000..2806eb3 --- /dev/null +++ b/zhyc-module/src/main/resources/mapper/app/AppVersionMapper.xml @@ -0,0 +1,125 @@ + + + + + + + + + + + + + + + + + + + + + + + + + select id, platform, version_code, version_name, is_force_update, is_latest, min_version_code, download_url, update_title, update_content, file_size, md5_hash, publish_time, create_time, update_time, is_deleted from app_version + + + + + + + + insert into app_version + + platform, + version_code, + version_name, + is_force_update, + is_latest, + min_version_code, + download_url, + update_title, + update_content, + file_size, + md5_hash, + publish_time, + create_time, + update_time, + is_deleted, + + + #{platform}, + #{versionCode}, + #{versionName}, + #{isForceUpdate}, + #{isLatest}, + #{minVersionCode}, + #{downloadUrl}, + #{updateTitle}, + #{updateContent}, + #{fileSize}, + #{md5Hash}, + #{publishTime}, + #{createTime}, + #{updateTime}, + #{isDeleted}, + + + + + update app_version + + platform = #{platform}, + version_code = #{versionCode}, + version_name = #{versionName}, + is_force_update = #{isForceUpdate}, + is_latest = #{isLatest}, + min_version_code = #{minVersionCode}, + download_url = #{downloadUrl}, + update_title = #{updateTitle}, + update_content = #{updateContent}, + file_size = #{fileSize}, + md5_hash = #{md5Hash}, + publish_time = #{publishTime}, + create_time = #{createTime}, + update_time = #{updateTime}, + is_deleted = #{isDeleted}, + + where id = #{id} + + + + delete from app_version where id = #{id} + + + + delete from app_version where id in + + #{id} + + + \ No newline at end of file