ソースを参照

feat(system): 优化应用版本管理功能

- 修改缓冲区大小和文件上传限制
- 新增按操作系统类型更新应用版本状态的功能- 优化版本列表展示,移除 HTML 标签
-调整版本列表默认排序方式
fugui001 3 ヶ月 前
コミット
b0cdc53813

+ 3 - 3
ruoyi-admin/src/main/resources/application.yml

@@ -11,7 +11,7 @@ server:
     max-http-post-size: -1
     # 以下的配置会影响buffer,这些buffer会用于服务器连接的IO操作,有点类似netty的池化内存管理
     # 每块buffer的空间大小,越小的空间被利用越充分
-    buffer-size: 512
+    buffer-size: 1024
     # 是否分配的直接内存
     direct-buffers: true
     threads:
@@ -73,9 +73,9 @@ spring:
   servlet:
     multipart:
       # 单个文件大小
-      max-file-size: 10MB
+      max-file-size: 100MB
       # 设置总上传的文件大小
-      max-request-size: 20MB
+      max-request-size: 100MB
   mvc:
     # 设置静态资源路径 防止所有请求都去查静态资源
     static-path-pattern: /static/**

+ 2 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/business/mapper/AppVersionManagementMapper.java

@@ -38,5 +38,7 @@ public interface AppVersionManagementMapper extends BaseMapperPlus<AppVersionMan
     @InterceptorIgnore(tenantLine = "true")
     List<AppVersionManagementVo> selectAllAppVersionsList(@Param("ew") Wrapper<AppVersionManagement> wrapper);
 
+    @InterceptorIgnore(tenantLine = "true")
+    int updateAppVersionByType(@Param("osType") String osType);
 
 }

+ 14 - 1
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/business/service/impl/AppVersionManagementServiceImpl.java

@@ -55,9 +55,21 @@ public class AppVersionManagementServiceImpl implements IAppVersionManagementSer
     public TableDataInfo<AppVersionManagementVo> queryPageList(AppVersionManagementBo bo, PageQuery pageQuery) {
         LambdaQueryWrapper<AppVersionManagement> lqw = buildQueryWrapper(bo);
         Page<AppVersionManagementVo> result = baseMapper.selectAllAppVersions(pageQuery.build(), lqw);
+        List<AppVersionManagementVo> appVersionManagementVoList = result.getRecords();
+        for (AppVersionManagementVo appVersionManagementVo : appVersionManagementVoList) {
+            appVersionManagementVo.setUpdateContent(replaceHtml(appVersionManagementVo.getUpdateContent()));
+        }
         return TableDataInfo.build(result);
     }
 
+    public static String replaceHtml(String html) {
+        if (html == null || html.isEmpty()) {
+            return "";
+        }
+        // 正则表达式移除所有的HTML标签
+        return html.replaceAll("<[^>]*>", "");
+    }
+
     /**
      * 查询符合条件的App版本管理列表
      *
@@ -73,7 +85,7 @@ public class AppVersionManagementServiceImpl implements IAppVersionManagementSer
     private LambdaQueryWrapper<AppVersionManagement> buildQueryWrapper(AppVersionManagementBo bo) {
         Map<String, Object> params = bo.getParams();
         LambdaQueryWrapper<AppVersionManagement> lqw = Wrappers.lambdaQuery();
-        lqw.orderByAsc(AppVersionManagement::getId);
+        lqw.orderByDesc(AppVersionManagement::getCreatedAt);
         lqw.eq(bo.getVersionCode() != null, AppVersionManagement::getVersionCode, bo.getVersionCode());
         lqw.like(StringUtils.isNotBlank(bo.getVersionName()), AppVersionManagement::getVersionName, bo.getVersionName());
         lqw.eq(bo.getReleaseDate() != null, AppVersionManagement::getReleaseDate, bo.getReleaseDate());
@@ -100,6 +112,7 @@ public class AppVersionManagementServiceImpl implements IAppVersionManagementSer
     public Boolean insertByBo(AppVersionManagementBo bo) {
         AppVersionManagement add = MapstructUtils.convert(bo, AppVersionManagement.class);
         validEntityBeforeSave(add);
+        baseMapper.updateAppVersionByType(bo.getOsType());
         boolean flag = baseMapper.insertAppVersion(add) > 0;
         if (flag) {
             bo.setId(add.getId());

+ 9 - 0
ruoyi-modules/ruoyi-system/src/main/resources/mapper/business/AppVersionManagementMapper.xml

@@ -193,4 +193,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         AND #{id} IS NOT NULL
     </update>
 
+
+    <update id="updateAppVersionByType">
+        UPDATE app_version_management
+        <set>
+            status = -1,
+            updated_at = CURRENT_TIMESTAMP
+        </set>
+        WHERE os_type = #{osType}
+    </update>
 </mapper>