Kaynağa Gözat

版本管理查询接口

czh 2 yıl önce
ebeveyn
işleme
17464f407b

+ 45 - 0
sckw-modules/sckw-system/src/main/java/com/sckw/system/controller/SysVersionController.java

@@ -0,0 +1,45 @@
+package com.sckw.system.controller;
+
+import com.sckw.core.utils.StringUtils;
+import com.sckw.core.web.response.HttpResult;
+import com.sckw.system.model.vo.req.FindVersionListReqVo;
+import com.sckw.system.service.SysAreaService;
+import com.sckw.system.service.SysVersionService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 版本管理
+ * @author zk
+ * @date 2023-05-30
+ */
+@RestController
+@RequestMapping("/sysVersion")
+public class SysVersionController {
+
+    @Autowired
+    private SysVersionService sysVersionService;
+
+    /**
+     * @param reqVo 入参
+     * @return HttpResult
+     * @desc: 查询版本管理列表
+     * @author: czh
+     * @date: 2023/10/10
+     */
+    @PostMapping("/findPage")
+    public HttpResult findPage(@RequestBody FindVersionListReqVo reqVo,
+                               @RequestHeader(value = "System-Type") Integer systemType,
+                               @RequestHeader(value = "Client-Type") String clientType) {
+        reqVo.setSystemType(systemType);
+        if(StringUtils.isBlank(reqVo.getClientType())) {
+            reqVo.setClientType(clientType);
+        }
+        return HttpResult.ok(sysVersionService.findPage(reqVo));
+    }
+
+}

+ 25 - 0
sckw-modules/sckw-system/src/main/java/com/sckw/system/dao/SysVersionDao.java

@@ -0,0 +1,25 @@
+package com.sckw.system.dao;
+
+import com.sckw.system.model.SysVersion;
+import com.sckw.system.model.vo.req.FindVersionListReqVo;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * 版本管理
+ * @author zk
+ * @date 2023-05-31
+ */
+@Mapper
+public interface SysVersionDao {
+
+    /**
+     * @param reqVo
+     * @return FindVersionListResVo
+     * @desc: 查版本列表
+     * @author: czh
+     * @date: 2023/10/10
+     */
+    List<SysVersion> findList(FindVersionListReqVo reqVo);
+}

+ 54 - 0
sckw-modules/sckw-system/src/main/java/com/sckw/system/model/SysVersion.java

@@ -0,0 +1,54 @@
+package com.sckw.system.model;
+
+import com.sckw.core.model.base.BaseModel;
+import lombok.Data;
+
+/**
+ * 行政区域
+ * @author zk
+ * @date 2023-05-31
+ */
+@Data
+public class SysVersion extends BaseModel {
+
+    /**
+     * 应用服务类型
+     */
+    private String systemType;
+
+    /**
+     * 客户端类型
+     */
+    private String clientType;
+
+    /**
+     * 版本号,上线前和客户端保持一致,用于判断是否升级
+     */
+    private String versionCode;
+
+    /**
+     * 版本名称,用于客户端显示
+     */
+    private String versionName;
+
+    /**
+     * 版本升级信息
+     */
+    private String versionMessage;
+
+    /**
+     * 文件路径
+     */
+    private String filePath;
+
+    /**
+     * 是否强制升级
+     */
+    private Integer forceUpdate;
+
+    /**
+     * 是否热更新
+     */
+    private Integer hotUpdate;
+
+}

+ 57 - 0
sckw-modules/sckw-system/src/main/java/com/sckw/system/model/vo/req/FindVersionListReqVo.java

@@ -0,0 +1,57 @@
+package com.sckw.system.model.vo.req;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.sckw.core.model.page.PageRequest;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @author czh
+ * @desc 版本查询入参
+ * @date 2023/10/10
+ */
+@Data
+public class FindVersionListReqVo extends PageRequest implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = -1913272581630576735L;
+
+    /**
+     * 系统类型
+     */
+    private Integer systemType;
+
+    /**
+     * 设备类型
+     */
+    private String clientType;
+
+    /**
+     * 版本名
+     */
+    private String versionName;
+
+    /**
+     * 版本号
+     */
+    private String versionCode;
+
+    /**
+     * 开始时间
+     */
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date startTime;
+
+    /**
+     * 结束时间
+     */
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date endTime;
+
+}

+ 93 - 0
sckw-modules/sckw-system/src/main/java/com/sckw/system/model/vo/res/FindVersionListResVo.java

@@ -0,0 +1,93 @@
+package com.sckw.system.model.vo.res;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @author czh
+ * @desc 版本查询返参
+ * @date 2023/10/10
+ */
+@Data
+public class FindVersionListResVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = -9036521550675071606L;
+
+    private Long id;
+
+    /**
+     * 版本号,上线前和客户端保持一致,用于判断是否升级
+     */
+    private String versionCode;
+
+    /**
+     * 版本名称,用于客户端显示
+     */
+    private String versionName;
+
+    /**
+     * 版本升级信息
+     */
+    private String versionMessage;
+
+    /**
+     * 文件路径
+     */
+    private String filePath;
+
+    /**
+     * 是否强制升级
+     */
+    private Integer forceUpdate;
+
+    /**
+     * 是否热更新
+     */
+    private Integer hotUpdate;
+
+    /**
+     * 创建时间
+     */
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createTime;
+
+    /**
+     * 修改时间
+     */
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date updateTime;
+
+    /**
+     * 创建人id
+     */
+    private Long createBy;
+
+    /**
+     * 修改人id
+     */
+    private Long updateBy;
+
+    /**
+     * 创建人
+     */
+    private String createByName;
+
+    /**
+     * 修改人
+     */
+    private String updateByName;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+}

+ 67 - 0
sckw-modules/sckw-system/src/main/java/com/sckw/system/service/SysVersionService.java

@@ -0,0 +1,67 @@
+package com.sckw.system.service;
+
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.sckw.core.model.page.PageHelperUtil;
+import com.sckw.core.model.page.PageResult;
+import com.sckw.core.utils.BeanUtils;
+import com.sckw.core.utils.CollectionUtils;
+import com.sckw.core.utils.FileUtils;
+import com.sckw.system.api.RemoteSystemService;
+import com.sckw.system.api.model.dto.res.UserCacheResDto;
+import com.sckw.system.dao.SysVersionDao;
+import com.sckw.system.model.SysVersion;
+import com.sckw.system.model.vo.req.FindVersionListReqVo;
+import com.sckw.system.model.vo.res.FindVersionListResVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.stream.Collectors;
+
+/**
+ * 版本管理service接口
+ * @author zk
+ * @date 2023-05-31
+ */
+@Service
+public class SysVersionService {
+
+    @Autowired
+    SysVersionDao sysVersionDao;
+
+    @Autowired
+    RemoteSystemService remoteSystemService;
+
+    public PageResult findPage(FindVersionListReqVo reqVo) {
+        PageHelper.startPage(reqVo.getPage(), reqVo.getPageSize());
+        List<SysVersion> list = sysVersionDao.findList(reqVo);
+        if(CollectionUtils.isEmpty(list)) {
+            return PageHelperUtil.getPageResult(new PageInfo<>());
+        }
+
+        List<FindVersionListResVo> findVersionListResVos = BeanUtils.copyToList(list, FindVersionListResVo.class);
+        List<Long> createByList = findVersionListResVos.stream().map(FindVersionListResVo::getCreateBy).collect(Collectors.toList());
+        List<Long> updateByList = findVersionListResVos.stream().map(FindVersionListResVo::getUpdateBy).toList();
+        createByList.addAll(updateByList);
+        Map<Long, UserCacheResDto> longUserCacheResDtoMap = remoteSystemService.queryUserCacheMapByIds(createByList);
+        findVersionListResVos.forEach(item -> {
+            UserCacheResDto userCacheResDto = longUserCacheResDtoMap.get(item.getCreateBy());
+            if (Objects.nonNull(userCacheResDto)) {
+                item.setCreateByName(userCacheResDto.getName());
+            }
+
+            UserCacheResDto userCacheResDto1 = longUserCacheResDtoMap.get(item.getUpdateBy());
+            if (Objects.nonNull(userCacheResDto1)) {
+                item.setUpdateByName(userCacheResDto1.getName());
+            }
+
+            item.setFilePath(FileUtils.splice(item.getFilePath()));
+        });
+
+        return PageHelperUtil.getPageResult(new PageInfo<>(findVersionListResVos), list, reqVo.getPageSize());
+    }
+}

+ 30 - 0
sckw-modules/sckw-system/src/main/resources/mapper/SysVersionDao.xml

@@ -0,0 +1,30 @@
+<?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="com.sckw.system.dao.SysVersionDao">
+
+
+  <select id="findList" resultType="com.sckw.system.model.SysVersion">
+    select *
+      from sys_version
+     where 1 = 1
+    <if test="systemType != null">
+      and system_type = #{systemType}
+    </if>
+    <if test="clientType != null and clientType != ''">
+      and client_type = #{clientType}
+    </if>
+    <if test="versionName != null and versionName != ''">
+      and version_name like concat('%', #{versionName}, '%')
+    </if>
+    <if test="versionCode != null and versionCode != ''">
+      and version_code like concat('%', #{versionCode}, '%')
+    </if>
+    <if test="startTime != null">
+      and update_time >= #{startTime}
+    </if>
+    <if test="endTime != null">
+      and update_time &lt;= #{endTime}
+    </if>
+  </select>
+
+</mapper>