Просмотр исходного кода

🐛 fix(pms): 分离 APK 与 WGT 最新版本查询接口

Zimo 1 день назад
Родитель
Сommit
f75399f0ee

+ 8 - 2
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/app/IotAppController.java

@@ -97,7 +97,10 @@ public class IotAppController {
     @Operation(summary = "获取最新app版本信息")
     @PermitAll
     public CommonResult<IotAppRespVO> getNewIotAppRespVO() {
-        IotAppDO aNew = iotAppService.getNew();
+        IotAppDO aNew = iotAppService.getNewApk();
+        if (aNew == null) {
+            return success(null);
+        }
         return success(BeanUtils.toBean(aNew, IotAppRespVO.class));
     }
 
@@ -105,7 +108,10 @@ public class IotAppController {
     @Operation(summary = "获取最新app版本信息 wgt app内更新")
     @PermitAll
     public CommonResult<IotWgtRespVO> getNewIotWgtRespVO() {
-        IotAppDO aNew = iotAppService.getNew();
+        IotAppDO aNew = iotAppService.getNewWgt();
+        if (aNew == null) {
+            return success(null);
+        }
         IotWgtRespVO wgt = new IotWgtRespVO();
         wgt.setWgtUrl(aNew.getUrl());
         wgt.setVersion(aNew.getAppVersion());

+ 3 - 1
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/mysql/app/IotAppMapper.java

@@ -27,9 +27,11 @@ public interface IotAppMapper extends BaseMapperX<IotAppDO> {
                 .orderByDesc(IotAppDO::getId));
     }
 
-    default IotAppDO selectNew() {
+    default IotAppDO selectNewByFileExtension(String fileExtension) {
         return selectOne(new LambdaQueryWrapperX<IotAppDO>()
+                .like(IotAppDO::getUrl, fileExtension)
                 .orderByDesc(IotAppDO::getCreateTime)
+                .orderByDesc(IotAppDO::getId)
                 .last("LIMIT 1"));
     }
 }

+ 15 - 1
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/app/IotAppService.java

@@ -13,7 +13,21 @@ import javax.validation.Valid;
  * @author 超级管理员
  */
 public interface IotAppService {
-    IotAppDO getNew();
+
+    /**
+     * 获得最新 APK 整包更新记录
+     *
+     * @return APK 更新记录
+     */
+    IotAppDO getNewApk();
+
+    /**
+     * 获得最新 WGT 热更新记录
+     *
+     * @return WGT 更新记录
+     */
+    IotAppDO getNewWgt();
+
     /**
      * 创建app版本更新
      *

+ 10 - 3
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/app/IotAppServiceImpl.java

@@ -27,13 +27,20 @@ import static cn.iocoder.yudao.module.pms.enums.ErrorCodeConstant.IOT_APP_NOT_EX
 @Validated
 public class IotAppServiceImpl implements IotAppService {
 
+    private static final String APK_FILE_EXTENSION = ".apk";
+    private static final String WGT_FILE_EXTENSION = ".wgt";
+
     @Resource
     private IotAppMapper iotAppMapper;
 
     @Override
-    public IotAppDO getNew() {
-        IotAppDO iotAppDO = iotAppMapper.selectNew();
-        return iotAppDO;
+    public IotAppDO getNewApk() {
+        return iotAppMapper.selectNewByFileExtension(APK_FILE_EXTENSION);
+    }
+
+    @Override
+    public IotAppDO getNewWgt() {
+        return iotAppMapper.selectNewByFileExtension(WGT_FILE_EXTENSION);
     }
 
     @Override