Browse Source

应用版本跨多个版本时若其中任何一个版本有强制更新,返回字段标记为强制更新

zouxuan 11 months ago
parent
commit
5949dd6210

+ 14 - 3
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/AppVersionInfoController.java

@@ -6,6 +6,8 @@ import io.swagger.annotations.ApiOperation;
 
 import java.util.List;
 
+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;
@@ -39,10 +41,19 @@ public class AppVersionInfoController extends BaseController {
 	@ApiOperation("根据app客户端查询对象")
 	@ApiImplicitParam(name = "platform", value = "平台名称", required = true, dataType = "String", paramType = "path")
 	@GetMapping(value = "/queryByPlatform")
-	public HttpResponseResult<AppVersionInfo> queryByPlatform(String platform) {
+	public HttpResponseResult<AppVersionInfo> queryByPlatform(String platform,String localVersion) {
 		List<AppVersionInfo> list = appVersionInfoService.queryNewestByPlatform(platform);
-		if (list.size() > 0) {
-			return succeed(list.get(0));
+		if (CollectionUtils.isNotEmpty(list)) {
+			AppVersionInfo appVersionInfo = 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();
 	}