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