Commit cd35d7ec18911b0aae2427056f0d38713b667981

Authored by 周峰
1 parent ad773669

apk更新接口

huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mobile/controller/MobileController.java
1 1 package org.jeecg.modules.wms.api.mobile.controller;
2 2  
  3 +import com.alibaba.fastjson.JSONException;
3 4 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
4 5 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
5 6 import io.swagger.annotations.Api;
  7 +import io.swagger.annotations.ApiOperation;
6 8 import org.jeecg.common.api.vo.Result;
7 9 import org.jeecg.modules.system.entity.SysDictItem;
8 10 import org.jeecg.modules.system.service.impl.SysDictItemServiceImpl;
9 11 import org.jeecg.modules.wms.api.mobile.entity.TvTaskVo;
  12 +import org.jeecg.modules.wms.monitor.apkinfo.entity.ApkInfo;
  13 +import org.jeecg.modules.wms.monitor.apkinfo.service.IApkInfoService;
10 14 import org.jeecg.modules.wms.task.taskHeader.entity.TaskDetail;
11 15 import org.jeecg.modules.wms.task.taskHeader.entity.TaskHeader;
12 16 import org.jeecg.modules.wms.task.taskHeader.service.impl.TaskDetailServiceImpl;
13 17 import org.jeecg.modules.wms.task.taskHeader.service.impl.TaskHeaderServiceImpl;
14 18 import org.jeecg.utils.StringUtils;
15 19 import org.jeecg.utils.constant.QuantityConstant;
16   -import org.springframework.web.bind.annotation.GetMapping;
17   -import org.springframework.web.bind.annotation.RequestMapping;
18   -import org.springframework.web.bind.annotation.RestController;
  20 +import org.springframework.beans.factory.annotation.Value;
  21 +import org.springframework.web.bind.annotation.*;
19 22  
20 23 import javax.annotation.Resource;
21   -import java.util.ArrayList;
22   -import java.util.Arrays;
23   -import java.util.HashMap;
24   -import java.util.List;
  24 +import java.util.*;
25 25  
26 26 /**
27 27 */
... ... @@ -30,6 +30,12 @@ import java.util.List;
30 30 @RequestMapping("/api/mobile")
31 31 public class MobileController {
32 32  
  33 + @Value(value = "${server.servlet.context-path}")
  34 + private String ctx;
  35 +
  36 + @Resource
  37 + private IApkInfoService apkInfoService;
  38 +
33 39 @Resource
34 40 private TaskHeaderServiceImpl taskHeaderService;
35 41  
... ... @@ -87,4 +93,31 @@ public class MobileController {
87 93 }
88 94 return Result.OK("", list);
89 95 }
  96 +
  97 + @PostMapping("/getUpdateApkInfo")
  98 + @ApiOperation("获取apk更新信息")
  99 + public Result getUpdateApkInfo(@RequestBody Map<String, String> param) {
  100 + System.out.println("getUpdateApkInfo pkgName:" + param.get("pkgName"));
  101 + String pkgName = param.get("pkgName");
  102 + String versionCode = param.get("versionCode");
  103 + if (StringUtils.isEmpty(pkgName)) {
  104 + throw new JSONException("pkgName不能为空");
  105 + }
  106 + if (StringUtils.isEmpty(versionCode)) {
  107 + throw new JSONException("versionCode不能为空");
  108 + }
  109 +
  110 + LambdaQueryWrapper<ApkInfo> query = Wrappers.lambdaQuery();
  111 + query.eq(ApkInfo::getPkgname, pkgName)
  112 + .orderByDesc(ApkInfo::getVersioncode)
  113 + .last(" limit 1");
  114 + ApkInfo apkInfo = apkInfoService.getOne(query);
  115 + if (apkInfo == null ){
  116 + return Result.error("服务器上找不到安装包:" + pkgName);
  117 + }else if(apkInfo.getVersioncode() <= Integer.parseInt(versionCode)){
  118 + return Result.ok("当前已经是最新版本");
  119 + }
  120 + apkInfo.setUrl(ctx + apkInfo.getUrl());
  121 + return Result.ok(apkInfo);
  122 + }
90 123 }
... ...