From b37fba545bd6b852c58587a25cd12d671e3b9ba5 Mon Sep 17 00:00:00 2001
From: xy <748613696@qq.com>
Date: Thu, 31 Jul 2025 15:34:54 +0800
Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=B3=BB=E7=BB=9F=E7=89=88?=
=?UTF-8?q?=E6=9C=AC=E6=8E=A7=E5=88=B6=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Impl/EventDetailServiceImpl.java | 7 +-
.../system/pojo/param/AppVersionParam.java | 31 ++++++++
.../com/njcn/system/pojo/po/AppVersion.java | 57 ++++++++++++++
.../com/njcn/system/pojo/vo/AppVersionVo.java | 25 ++++++
.../system/controller/VersionController.java | 76 +++++++++++++++++++
.../njcn/system/mapper/AppVersionMapper.java | 16 ++++
.../system/service/IAppVersionService.java | 25 ++++++
.../service/impl/AppVersionServiceImpl.java | 61 +++++++++++++++
8 files changed, 297 insertions(+), 1 deletion(-)
create mode 100644 pqs-system/system-api/src/main/java/com/njcn/system/pojo/param/AppVersionParam.java
create mode 100644 pqs-system/system-api/src/main/java/com/njcn/system/pojo/po/AppVersion.java
create mode 100644 pqs-system/system-api/src/main/java/com/njcn/system/pojo/vo/AppVersionVo.java
create mode 100644 pqs-system/system-boot/src/main/java/com/njcn/system/controller/VersionController.java
create mode 100644 pqs-system/system-boot/src/main/java/com/njcn/system/mapper/AppVersionMapper.java
create mode 100644 pqs-system/system-boot/src/main/java/com/njcn/system/service/IAppVersionService.java
create mode 100644 pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/AppVersionServiceImpl.java
diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/EventDetailServiceImpl.java b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/EventDetailServiceImpl.java
index 2df5cdff1..55671466d 100644
--- a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/EventDetailServiceImpl.java
+++ b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/EventDetailServiceImpl.java
@@ -44,6 +44,7 @@ import org.springframework.util.StringUtils;
import java.math.BigDecimal;
import java.math.RoundingMode;
+import java.time.Duration;
import java.time.LocalDateTime;
import java.util.*;
@@ -184,7 +185,11 @@ public class EventDetailServiceImpl extends ServiceImpl
+ *
+ *
+ *
+ * @author xy
+ * @since 2024-11-21
+ */
+@Getter
+@Setter
+@TableName("app_version")
+public class AppVersion extends BaseEntity implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * id
+ */
+ private String id;
+
+ /**
+ * app版本名称
+ */
+ private String versionName;
+
+ /**
+ * 版本发布时间
+ */
+ private LocalDateTime publishTime;
+
+ /**
+ * 严重度(0:优化 1:bug调整)
+ */
+ private Integer sev;
+
+ /**
+ * 版本类型 APP Web
+ */
+ private String versionType;
+
+ /**
+ * 修改内容
+ */
+ private String content;
+
+
+}
diff --git a/pqs-system/system-api/src/main/java/com/njcn/system/pojo/vo/AppVersionVo.java b/pqs-system/system-api/src/main/java/com/njcn/system/pojo/vo/AppVersionVo.java
new file mode 100644
index 000000000..349284562
--- /dev/null
+++ b/pqs-system/system-api/src/main/java/com/njcn/system/pojo/vo/AppVersionVo.java
@@ -0,0 +1,25 @@
+package com.njcn.system.pojo.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * @author xy
+ */
+@Data
+public class AppVersionVo implements Serializable {
+
+ @ApiModelProperty("app版本名称")
+ private String versionName;
+
+ @ApiModelProperty("版本发布时间")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime publishTime;
+
+ @ApiModelProperty("严重度(0:优化 1:bug调整)")
+ private Integer sev;
+}
diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/controller/VersionController.java b/pqs-system/system-boot/src/main/java/com/njcn/system/controller/VersionController.java
new file mode 100644
index 000000000..be81c8748
--- /dev/null
+++ b/pqs-system/system-boot/src/main/java/com/njcn/system/controller/VersionController.java
@@ -0,0 +1,76 @@
+package com.njcn.system.controller;
+
+
+import com.njcn.common.pojo.annotation.OperateInfo;
+import com.njcn.common.pojo.enums.common.LogEnum;
+import com.njcn.common.pojo.enums.response.CommonResponseEnum;
+import com.njcn.common.pojo.response.HttpResult;
+import com.njcn.common.utils.HttpResultUtil;
+import com.njcn.system.pojo.param.AppVersionParam;
+import com.njcn.system.pojo.po.AppVersion;
+import com.njcn.system.pojo.vo.AppVersionVo;
+import com.njcn.system.service.IAppVersionService;
+import com.njcn.web.controller.BaseController;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author xy
+ * @since 2024-11-21
+ */
+@RestController
+@Slf4j
+@RequestMapping("/appVersion")
+@Api(tags = "版本信息")
+@AllArgsConstructor
+public class VersionController extends BaseController {
+
+ private final IAppVersionService appVersionService;
+
+ @OperateInfo(info = LogEnum.BUSINESS_COMMON)
+ @PostMapping("/add")
+ @ApiOperation("新增版本信息")
+ @ApiImplicitParam(name = "param", value = "app版本信息", required = true)
+ public HttpResult add(@RequestBody @Validated AppVersionParam param){
+ String methodDescribe = getMethodDescribe("add");
+ boolean result = appVersionService.add(param);
+ if (result) {
+ return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, "新增成功", methodDescribe);
+ } else {
+ return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, "新增失败", methodDescribe);
+ }
+ }
+
+ @OperateInfo(info = LogEnum.BUSINESS_COMMON)
+ @PostMapping("/getLastData")
+ @ApiOperation("查询最新版本信息")
+ @ApiImplicitParam(name = "versionType", value = "版本类型(APP WEB)", required = true)
+ public HttpResult getLastData(@RequestParam("versionType") String versionType){
+ String methodDescribe = getMethodDescribe("getLastData");
+ AppVersionVo vo = appVersionService.getLastData(versionType);
+ return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, vo, methodDescribe);
+ }
+
+ @OperateInfo(info = LogEnum.BUSINESS_COMMON)
+ @PostMapping("/getAllData")
+ @ApiOperation("查询所有版本信息")
+ @ApiImplicitParam(name = "versionType", value = "版本类型(APP WEB)")
+ public HttpResult< List> getAllData(@RequestParam(value = "versionType",required = false) String versionType){
+ String methodDescribe = getMethodDescribe("getAllData");
+ List list = appVersionService.getAllData(versionType);
+ return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe);
+ }
+
+}
+
diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/AppVersionMapper.java b/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/AppVersionMapper.java
new file mode 100644
index 000000000..8f0752b60
--- /dev/null
+++ b/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/AppVersionMapper.java
@@ -0,0 +1,16 @@
+package com.njcn.system.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.njcn.system.pojo.po.AppVersion;
+
+/**
+ *
+ * Mapper 接口
+ *
+ *
+ * @author xy
+ * @since 2024-11-21
+ */
+public interface AppVersionMapper extends BaseMapper {
+
+}
diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/service/IAppVersionService.java b/pqs-system/system-boot/src/main/java/com/njcn/system/service/IAppVersionService.java
new file mode 100644
index 000000000..cb9b24ae8
--- /dev/null
+++ b/pqs-system/system-boot/src/main/java/com/njcn/system/service/IAppVersionService.java
@@ -0,0 +1,25 @@
+package com.njcn.system.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.njcn.system.pojo.param.AppVersionParam;
+import com.njcn.system.pojo.po.AppVersion;
+import com.njcn.system.pojo.vo.AppVersionVo;
+
+import java.util.List;
+
+/**
+ *
+ * 服务类
+ *
+ *
+ * @author xy
+ * @since 2024-11-21
+ */
+public interface IAppVersionService extends IService {
+
+ boolean add(AppVersionParam param);
+
+ AppVersionVo getLastData(String versionType);
+
+ List getAllData(String versionType);
+}
diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/AppVersionServiceImpl.java b/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/AppVersionServiceImpl.java
new file mode 100644
index 000000000..1d29ec6e6
--- /dev/null
+++ b/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/AppVersionServiceImpl.java
@@ -0,0 +1,61 @@
+package com.njcn.system.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.njcn.system.mapper.AppVersionMapper;
+import com.njcn.system.pojo.param.AppVersionParam;
+import com.njcn.system.pojo.po.AppVersion;
+import com.njcn.system.pojo.vo.AppVersionVo;
+import com.njcn.system.service.IAppVersionService;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+import java.util.List;
+import java.util.Objects;
+
+/**
+ *
+ * 服务实现类
+ *
+ *
+ * @author xy
+ * @since 2024-11-21
+ */
+@Service
+public class AppVersionServiceImpl extends ServiceImpl implements IAppVersionService {
+
+ @Override
+ public boolean add(AppVersionParam param) {
+ AppVersion appVersion = new AppVersion();
+ appVersion.setVersionName(param.getAppVersion());
+ appVersion.setPublishTime(LocalDateTime.now());
+ appVersion.setSev(param.getSev());
+ appVersion.setVersionType(param.getVersionType());
+ appVersion.setContent(param.getContent());
+ return this.save(appVersion);
+ }
+
+ @Override
+ public AppVersionVo getLastData(String versionType) {
+ AppVersionVo vo = new AppVersionVo();
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.eq(AppVersion::getVersionType, versionType);
+ queryWrapper.orderByDesc(AppVersion::getPublishTime).last("limit 1");
+ AppVersion appVersion = this.getOne(queryWrapper);
+ if (Objects.nonNull(appVersion)) {
+ BeanUtils.copyProperties(appVersion, vo);
+ }
+ return vo;
+ }
+
+ @Override
+ public List getAllData(String versionType) {
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
+ if (Objects.nonNull(versionType)) {
+ queryWrapper.eq(AppVersion::getVersionType, versionType);
+ }
+ queryWrapper.orderByDesc(AppVersion::getPublishTime);
+ return this.list(queryWrapper);
+ }
+}