From e236f121b6f6b885cea9814423b6d87b97ae7ad3 Mon Sep 17 00:00:00 2001 From: Houjie <714924425@qq.com> Date: 星期四, 11 九月 2025 10:13:47 +0800 Subject: [PATCH] APP版本管理 --- src/main/java/org/jeecg/modules/base/entity/BaseUpdate.java | 95 +++++++++++++++ src/main/java/org/jeecg/modules/base/mapper/BaseUpdateMapper.java | 14 ++ src/main/java/org/jeecg/modules/base/controller/BaseUpdateController.java | 166 +++++++++++++++++++++++++++ src/main/java/org/jeecg/modules/base/service/impl/BaseUpdateServiceImpl.java | 18 +++ src/main/java/org/jeecg/modules/base/mapper/xml/BaseUpdateMapper.xml | 5 src/main/java/org/jeecg/modules/base/service/IBaseUpdateService.java | 14 ++ 6 files changed, 312 insertions(+), 0 deletions(-) diff --git a/src/main/java/org/jeecg/modules/base/controller/BaseUpdateController.java b/src/main/java/org/jeecg/modules/base/controller/BaseUpdateController.java new file mode 100644 index 0000000..c00ed3a --- /dev/null +++ b/src/main/java/org/jeecg/modules/base/controller/BaseUpdateController.java @@ -0,0 +1,166 @@ +package org.jeecg.modules.base.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.aspect.annotation.AutoLog; +import org.jeecg.common.system.base.controller.JeecgController; +import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.base.entity.BaseUpdate; +import org.jeecg.modules.base.service.IBaseUpdateService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.Arrays; + +/** + * @Description: app鏇存柊 + * @Author: jeecg-boot + * @Date: 2024-05-29 + * @Version: V1.0 + */ +@Api(tags = "app鏇存柊") +@RestController +@RequestMapping("/base/momBaseUpdate") +@Slf4j + +public class BaseUpdateController extends JeecgController<BaseUpdate, IBaseUpdateService> { + + @Autowired + private IBaseUpdateService momBaseUpdateService; + // 鐢盿pplication.yml涓幏鍙栨枃浠朵笂浼犲湴鍧� + @Value("${server.port}") + private String port; + + /** + * 鍒嗛〉鍒楄〃鏌ヨ + * + * @param momBaseUpdate + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "app鏇存柊-鍒嗛〉鍒楄〃鏌ヨ") + @ApiOperation(value = "app鏇存柊-鍒嗛〉鍒楄〃鏌ヨ", notes = "app鏇存柊-鍒嗛〉鍒楄〃鏌ヨ") + @GetMapping(value = "/list") + public Result<IPage<BaseUpdate>> queryPageList(BaseUpdate momBaseUpdate, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper<BaseUpdate> queryWrapper = QueryGenerator.initQueryWrapper(momBaseUpdate, req.getParameterMap()); + Page<BaseUpdate> page = new Page<BaseUpdate>(pageNo, pageSize); + IPage<BaseUpdate> pageList = momBaseUpdateService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 娣诲姞 + * + * @param momBaseUpdate + * @return + */ + @AutoLog(value = "app鏇存柊-娣诲姞") + @ApiOperation(value = "app鏇存柊-娣诲姞", notes = "app鏇存柊-娣诲姞") + @PostMapping(value = "/add") + public Result<String> add(@RequestBody BaseUpdate momBaseUpdate) { + momBaseUpdateService.save(momBaseUpdate); + return Result.OK("娣诲姞鎴愬姛锛�"); + } + + /** + * 缂栬緫 + * + * @param momBaseUpdate + * @return + */ + @AutoLog(value = "app鏇存柊-缂栬緫") + @ApiOperation(value = "app鏇存柊-缂栬緫", notes = "app鏇存柊-缂栬緫") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) + public Result<String> edit(@RequestBody BaseUpdate momBaseUpdate) { + String fileName = momBaseUpdate.getUpdateBy(); + momBaseUpdate.setUpdateUrl("http://" + oConvertUtils.getIp() + ':' + port + '/' + "mom/sys/common/static/" + fileName); + momBaseUpdateService.updateById(momBaseUpdate); + return Result.OK("缂栬緫鎴愬姛!"); + } + + /** + * 閫氳繃id鍒犻櫎 + * + * @param id + * @return + */ + @AutoLog(value = "app鏇存柊-閫氳繃id鍒犻櫎") + @ApiOperation(value = "app鏇存柊-閫氳繃id鍒犻櫎", notes = "app鏇存柊-閫氳繃id鍒犻櫎") + @DeleteMapping(value = "/delete") + public Result<String> delete(@RequestParam(name = "id", required = true) String id) { + momBaseUpdateService.removeById(id); + return Result.OK("鍒犻櫎鎴愬姛!"); + } + + /** + * 鎵归噺鍒犻櫎 + * + * @param ids + * @return + */ + @AutoLog(value = "app鏇存柊-鎵归噺鍒犻櫎") + @ApiOperation(value = "app鏇存柊-鎵归噺鍒犻櫎", notes = "app鏇存柊-鎵归噺鍒犻櫎") + @DeleteMapping(value = "/deleteBatch") + public Result<String> deleteBatch(@RequestParam(name = "ids", required = true) String ids) { + this.momBaseUpdateService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("鎵归噺鍒犻櫎鎴愬姛!"); + } + + /** + * 閫氳繃id鏌ヨ + * + * @param id + * @return + */ + //@AutoLog(value = "app鏇存柊-閫氳繃id鏌ヨ") + @ApiOperation(value = "app鏇存柊-閫氳繃id鏌ヨ", notes = "app鏇存柊-閫氳繃id鏌ヨ") + @GetMapping(value = "/queryById") + public Result<BaseUpdate> queryById(@RequestParam(name = "id", required = true) String id) { + BaseUpdate momBaseUpdate = momBaseUpdateService.getById(id); + if (momBaseUpdate == null) { + return Result.error("鏈壘鍒板搴旀暟鎹�"); + } + return Result.OK(momBaseUpdate); + } + + /** + * 瀵煎嚭excel + * + * @param request + * @param momBaseUpdate + */ + + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, BaseUpdate momBaseUpdate) { + return super.exportXls(request, momBaseUpdate, BaseUpdate.class, "app鏇存柊"); + } + + /** + * 閫氳繃excel瀵煎叆鏁版嵁 + * + * @param request + * @param response + * @return + */ + + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, BaseUpdate.class); + } + +} diff --git a/src/main/java/org/jeecg/modules/base/entity/BaseUpdate.java b/src/main/java/org/jeecg/modules/base/entity/BaseUpdate.java new file mode 100644 index 0000000..6477447 --- /dev/null +++ b/src/main/java/org/jeecg/modules/base/entity/BaseUpdate.java @@ -0,0 +1,95 @@ +package org.jeecg.modules.base.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.Date; + +/** + * @Description: app鏇存柊 + * @Author: jeecg-boot + * @Date: 2024-05-29 + * @Version: V1.0 + */ +@Data +@TableName("base_update") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value = "base_update瀵硅薄", description = "app鏇存柊") +public class BaseUpdate implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 涓婚敭 + */ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "涓婚敭") + private String id; + /** + * 鍒涘缓浜� + */ + @ApiModelProperty(value = "鍒涘缓浜�") + private String createBy; + /** + * 鍒涘缓鏃ユ湡 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "鍒涘缓鏃ユ湡") + private Date createTime; + /** + * 鏇存柊浜� + */ + @ApiModelProperty(value = "鏇存柊浜�") + private String updateBy; + /** + * 鏇存柊鏃ユ湡 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "鏇存柊鏃ユ湡") + private Date updateTime; + /** + * 鎵�灞為儴闂� + */ + @ApiModelProperty(value = "鎵�灞為儴闂�") + private String sysOrgCode; + /** + * 鐗堟湰鍙� + */ + @Excel(name = "鐗堟湰鍙�", width = 15) + @ApiModelProperty(value = "鐗堟湰鍙�") + private String appVersion; + + /** + * 鐗堟湰鍙� + */ + @Excel(name = "鐗堟湰鍚嶇О", width = 15) + @ApiModelProperty(value = "鐗堟湰鍚嶇О") + private String appVersionName; + /** + * 鏂囦欢 + */ + @Excel(name = "鏂囦欢", width = 15) + @ApiModelProperty(value = "鏂囦欢") + private String packageFile; + + + /** + * 鏂囦欢 + */ + @Excel(name = "鏇存柊鍦板潃", width = 15) + @ApiModelProperty(value = "鏇存柊鍦板潃") + private String updateUrl; + +} diff --git a/src/main/java/org/jeecg/modules/base/mapper/BaseUpdateMapper.java b/src/main/java/org/jeecg/modules/base/mapper/BaseUpdateMapper.java new file mode 100644 index 0000000..24c9c83 --- /dev/null +++ b/src/main/java/org/jeecg/modules/base/mapper/BaseUpdateMapper.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.base.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.jeecg.modules.base.entity.BaseUpdate; + +/** + * @Description: app鏇存柊 + * @Author: jeecg-boot + * @Date: 2024-05-29 + * @Version: V1.0 + */ +public interface BaseUpdateMapper extends BaseMapper<BaseUpdate> { + +} diff --git a/src/main/java/org/jeecg/modules/base/mapper/xml/BaseUpdateMapper.xml b/src/main/java/org/jeecg/modules/base/mapper/xml/BaseUpdateMapper.xml new file mode 100644 index 0000000..a3691dc --- /dev/null +++ b/src/main/java/org/jeecg/modules/base/mapper/xml/BaseUpdateMapper.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="org.jeecg.modules.base.mapper.BaseUpdateMapper"> + +</mapper> \ No newline at end of file diff --git a/src/main/java/org/jeecg/modules/base/service/IBaseUpdateService.java b/src/main/java/org/jeecg/modules/base/service/IBaseUpdateService.java new file mode 100644 index 0000000..b1e543b --- /dev/null +++ b/src/main/java/org/jeecg/modules/base/service/IBaseUpdateService.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.base.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.jeecg.modules.base.entity.BaseUpdate; + +/** + * @Description: app鏇存柊 + * @Author: jeecg-boot + * @Date: 2024-05-29 + * @Version: V1.0 + */ +public interface IBaseUpdateService extends IService<BaseUpdate> { + +} diff --git a/src/main/java/org/jeecg/modules/base/service/impl/BaseUpdateServiceImpl.java b/src/main/java/org/jeecg/modules/base/service/impl/BaseUpdateServiceImpl.java new file mode 100644 index 0000000..04c91fa --- /dev/null +++ b/src/main/java/org/jeecg/modules/base/service/impl/BaseUpdateServiceImpl.java @@ -0,0 +1,18 @@ +package org.jeecg.modules.base.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.jeecg.modules.base.entity.BaseUpdate; +import org.jeecg.modules.base.mapper.BaseUpdateMapper; +import org.jeecg.modules.base.service.IBaseUpdateService; +import org.springframework.stereotype.Service; + +/** + * @Description: app鏇存柊 + * @Author: jeecg-boot + * @Date: 2024-05-29 + * @Version: V1.0 + */ +@Service +public class BaseUpdateServiceImpl extends ServiceImpl<BaseUpdateMapper, BaseUpdate> implements IBaseUpdateService { + +} -- Gitblit v1.9.3