|
@@ -10,6 +10,8 @@ import com.ym.mec.common.page.QueryInfo;
|
|
|
import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiImplicitParam;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
+import org.apache.commons.collections.CollectionUtils;
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.http.MediaType;
|
|
|
import org.springframework.security.access.prepost.PreAuthorize;
|
|
@@ -38,16 +40,24 @@ public class AppVersionInfoController extends BaseController {
|
|
|
@ApiOperation("根据app客户端查询对象")
|
|
|
@ApiImplicitParam(name = "platform", value = "平台名称", required = true, dataType = "String", paramType = "path")
|
|
|
@GetMapping(value = "/queryByPlatform")
|
|
|
- public Object queryByPlatform(String platform) {
|
|
|
+ public Object queryByPlatform(String platform,String localVersion) {
|
|
|
List<AppVersionInfo> list = appVersionInfoService.queryNewestByPlatform(platform);
|
|
|
- if (list.size() > 0) {
|
|
|
+ if (CollectionUtils.isNotEmpty(list)) {
|
|
|
AppVersionInfo appVersionInfo = list.get(0);
|
|
|
- if(appVersionInfo.getVersion().equals("2.0.9") && appVersionInfo.getPlatform().equals("android-education")){
|
|
|
+ if("2.0.9".equals(appVersionInfo.getVersion()) && "android-education".equals(appVersionInfo.getPlatform())){
|
|
|
AppVersionInfoBak appVersionInfoBak = JSONObject.parseObject(JSONObject.toJSONString(appVersionInfo),AppVersionInfoBak.class);
|
|
|
appVersionInfoBak.setDownloadUrl(new String(appVersionInfo.getDownloadUrl()));
|
|
|
return succeed(appVersionInfoBak);
|
|
|
}
|
|
|
- return succeed(list.get(0));
|
|
|
+ //如果应用版本跨多个版本时若其中任何一个版本有强制更新,返回字段标记为强制更新
|
|
|
+ if(!appVersionInfo.getIsForceUpdate() && StringUtils.isNotEmpty(localVersion)){
|
|
|
+ //是否需要强制更新
|
|
|
+ AppVersionInfo forceUpdate = appVersionInfoService.checkForceUpdate(platform,localVersion);
|
|
|
+ if(forceUpdate != null){
|
|
|
+ appVersionInfo.setIsForceUpdate(true);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return succeed(appVersionInfo);
|
|
|
}
|
|
|
return failed();
|
|
|
}
|