|
@@ -45,10 +45,14 @@ import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
|
+
|
|
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
|
import java.util.Date;
|
|
import java.util.Date;
|
|
|
|
|
+import java.util.HashSet;
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
import java.util.Objects;
|
|
import java.util.Objects;
|
|
|
|
|
+import java.util.Set;
|
|
|
import java.util.concurrent.CompletableFuture;
|
|
import java.util.concurrent.CompletableFuture;
|
|
|
import java.util.concurrent.TimeUnit;
|
|
import java.util.concurrent.TimeUnit;
|
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
@@ -226,7 +230,7 @@ public class SpAppReqServiceImpl implements SpAppReqService {
|
|
|
}
|
|
}
|
|
|
spVersionForAPPVO.setMustUpdate(vo.getNeedUpdateVersionList().contains(spAppLogPO.getVersionName())
|
|
spVersionForAPPVO.setMustUpdate(vo.getNeedUpdateVersionList().contains(spAppLogPO.getVersionName())
|
|
|
|| vo.getVersionConfigStrList().contains(osVersion));
|
|
|| vo.getVersionConfigStrList().contains(osVersion));
|
|
|
-// spVersionForAPPVO.setMustUpdate(spVersionAppTempVO.getVersionConfig().contains(osVersion));
|
|
|
|
|
|
|
+ spVersionForAPPVO.setMustUpdate(spVersionAppTempVO.getVersionConfig().contains(osVersion));
|
|
|
}
|
|
}
|
|
|
return ResponseModel.successData(spVersionForAPPVO);
|
|
return ResponseModel.successData(spVersionForAPPVO);
|
|
|
}
|
|
}
|
|
@@ -235,6 +239,7 @@ public class SpAppReqServiceImpl implements SpAppReqService {
|
|
|
}
|
|
}
|
|
|
return ResponseModel.errorMsg("获取失败");
|
|
return ResponseModel.errorMsg("获取失败");
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
@Override
|
|
@Override
|
|
|
public JSONObject download(AppUpdateReqVo spAppReqDataVO) {
|
|
public JSONObject download(AppUpdateReqVo spAppReqDataVO) {
|
|
|
JSONObject json = new JSONObject();
|
|
JSONObject json = new JSONObject();
|
|
@@ -248,28 +253,62 @@ public class SpAppReqServiceImpl implements SpAppReqService {
|
|
|
SpVersionVO vo = spVersionService.getEffectiveVersionVO(spVersionVO);
|
|
SpVersionVO vo = spVersionService.getEffectiveVersionVO(spVersionVO);
|
|
|
|
|
|
|
|
if (Objects.nonNull(vo)) {
|
|
if (Objects.nonNull(vo)) {
|
|
|
|
|
+ // 判断是否和数据库的值一样
|
|
|
|
|
+ if (vo.getVersionName().equals(spAppReqDataVO.getVersionName())
|
|
|
|
|
+ && vo.getVersionNumber().equals(spAppReqDataVO.getVersionCode())) {
|
|
|
|
|
+ respVo.setUpdateStatus("0");
|
|
|
|
|
+ respVo.setVersionCode(spAppReqDataVO.getVersionCode());
|
|
|
|
|
+ respVo.setVersionName(spAppReqDataVO.getVersionName());
|
|
|
|
|
+ json.put("code", 100);
|
|
|
|
|
+ json.put("msg", "当前版本已是最新!");
|
|
|
|
|
+ json.put("data", respVo);
|
|
|
|
|
+ return json;
|
|
|
|
|
+ }
|
|
|
|
|
+ long paramVersion = Long.parseLong(spAppReqDataVO.getVersionCode());
|
|
|
|
|
+ long effectiveVersion = Long.parseLong(vo.getVersionNumber());
|
|
|
|
|
+ //if()
|
|
|
|
|
+ //如果版本号太新,则返回不更新
|
|
|
|
|
+ if(paramVersion>effectiveVersion) {
|
|
|
|
|
+ json.put("code", 100);
|
|
|
|
|
+ json.put("msg", "当前版本号比服务器的新!");
|
|
|
|
|
+ json.put("data", respVo);
|
|
|
|
|
+ return json;
|
|
|
|
|
+ }
|
|
|
// 版的数据中的版本号是否大于接口传过来的版本号
|
|
// 版的数据中的版本号是否大于接口传过来的版本号
|
|
|
String url = vo.getDownloadUrl();
|
|
String url = vo.getDownloadUrl();
|
|
|
int index = url.lastIndexOf("/");
|
|
int index = url.lastIndexOf("/");
|
|
|
- String fileId = url.substring(index+1);
|
|
|
|
|
- QueryWrapper<SpFilePO> fileqw=new QueryWrapper<>();
|
|
|
|
|
|
|
+ String fileId = url.substring(index + 1);
|
|
|
|
|
+ QueryWrapper<SpFilePO> fileqw = new QueryWrapper<>();
|
|
|
fileqw.eq("file_id", fileId);
|
|
fileqw.eq("file_id", fileId);
|
|
|
SpFilePO filepo = fileMapper.selectOne(fileqw);
|
|
SpFilePO filepo = fileMapper.selectOne(fileqw);
|
|
|
respVo.setApkMd5(filepo.getApkMd5());
|
|
respVo.setApkMd5(filepo.getApkMd5());
|
|
|
respVo.setApkSize(filepo.getApkSize());
|
|
respVo.setApkSize(filepo.getApkSize());
|
|
|
respVo.setDownloadUrl(url);
|
|
respVo.setDownloadUrl(url);
|
|
|
respVo.setUpdateStatus("1");
|
|
respVo.setUpdateStatus("1");
|
|
|
|
|
+ // 判断是否需要强制更新
|
|
|
|
|
+
|
|
|
|
|
+ if (paramVersion < effectiveVersion) {
|
|
|
|
|
+ // 查询是否需要强制更新
|
|
|
|
|
+ List<String> list = vo.getNeedUpdateVersionList();
|
|
|
|
|
+ long version = spVersionService.selectUpdateVersion(list, vo.getCreateDate(), vo.getAppId());
|
|
|
|
|
+ if (paramVersion < version) {
|
|
|
|
|
+ respVo.setUpdateStatus("2");
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
respVo.setVersionName(vo.getVersionName());
|
|
respVo.setVersionName(vo.getVersionName());
|
|
|
respVo.setVersionCode(vo.getVersionNumber());
|
|
respVo.setVersionCode(vo.getVersionNumber());
|
|
|
respVo.setModifyContent(vo.getUpdateLog());
|
|
respVo.setModifyContent(vo.getUpdateLog());
|
|
|
json.put("code", 100);
|
|
json.put("code", 100);
|
|
|
|
|
+ json.put("msg", "当前最新版本:"+vo.getVersionName());
|
|
|
json.put("data", respVo);
|
|
json.put("data", respVo);
|
|
|
return json;
|
|
return json;
|
|
|
}
|
|
}
|
|
|
- json.put("code", 70001);
|
|
|
|
|
- json.put("msg","版本更新失败");
|
|
|
|
|
|
|
+
|
|
|
|
|
+ respVo.setUpdateStatus("0");
|
|
|
|
|
+ json.put("code", 100);
|
|
|
|
|
+ json.put("msg", "没有可更新的版本!");
|
|
|
|
|
+ json.put("data", respVo);
|
|
|
return json;
|
|
return json;
|
|
|
-
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|