| @@ -313,92 +313,6 @@ public class WxWeappInfoController extends BaseController { | |||||
| return keyArr; | return keyArr; | ||||
| } | } | ||||
| @ApiOperation(value = "批量,授权的小程序上传code并提交审核", notes = "{\"apps\":\"appid,appid\",\"templateId\":\"String\",\"userVersion\":\"String\",\"userDesc\":\"String\"}") | |||||
| @PostMapping("batchCodeCommitAndAudit") | |||||
| public ResultData batchCodeCommitAndAudit(@RequestBody Map<String, String> params) { | |||||
| logger.debug("[" + getIpAddr() + "] WxWeappInfoController::batchExtSet"); | |||||
| String appsStr = params.get("apps"); | |||||
| String templateIdStr = params.get("templateId"); | |||||
| String userVersion = params.get("userVersion"); | |||||
| String userDesc = params.get("userDesc"); | |||||
| Long templateId = null; | |||||
| try { | |||||
| templateId = Long.parseLong(templateIdStr); | |||||
| } catch (Exception e) { | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); | |||||
| } | |||||
| String [] apps = appsStr.split(","); | |||||
| // 逐一检查app的设置 | |||||
| for(String appId: apps) { | |||||
| WxWeappExtSet extSetQ = new WxWeappExtSet(); | |||||
| extSetQ.setAppId(appId); | |||||
| WxWeappExtSet extSet = weappExtSetService.getByObj(extSetQ); | |||||
| if(extSet == null) { | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); | |||||
| } | |||||
| if(StringUtils.isBlank(extSet.getExtJson())) { | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); | |||||
| } | |||||
| if(StringUtils.isBlank(extSet.getReleaseJson())) { | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); | |||||
| } | |||||
| } | |||||
| // 逐一设置app配置 | |||||
| for(String appId: apps) { | |||||
| // 检查appId是否已授权 | |||||
| WxAuthorizerInfo authorizerInfo = authorizerInfoService.getByAppId(appId); | |||||
| if(authorizerInfo == null) { | |||||
| return new ResultData(ErrorCode.WEAPP_APPID_NOT_AUTH); | |||||
| } | |||||
| if(!authorizerInfo.getAuthorizationStatus().equals(EnumWxAuthorizationStatus.AUTHORIZED.getCode())) { | |||||
| return new ResultData(ErrorCode.WEAPP_APPID_NOT_AUTH); | |||||
| } | |||||
| codeOperation(appId, userVersion, userDesc, templateId); | |||||
| } | |||||
| return new ResultData(); | |||||
| } | |||||
| private void codeOperation(String appId, String userVersion, String userDesc, Long templateId) { | |||||
| WxAppinfo appinfo = appinfoService.getByAppId(appId); | |||||
| int iAppType = 0; | |||||
| String appTypeStr = userVersion.substring(0, 1); | |||||
| if(appTypeStr.equalsIgnoreCase("C")) | |||||
| iAppType = EnumAppType.C.getCode(); | |||||
| else if(appTypeStr.equalsIgnoreCase("B")) | |||||
| iAppType = EnumAppType.B.getCode(); | |||||
| if(!appinfo.getType().equals(iAppType)) { | |||||
| // 如果版本号与小程序的类型不一致,不提交版本 | |||||
| return; | |||||
| } | |||||
| // get ext json | |||||
| WxWeappExtSet extSetQ = new WxWeappExtSet(); | |||||
| extSetQ.setAppId(appId); | |||||
| WxWeappExtSet extSet = weappExtSetService.getByObj(extSetQ); | |||||
| WxWeappCodeStatus codeStatus = weappCodeStatusService.getByAppId(appId); | |||||
| if(extSet != null) { | |||||
| boolean codeCommitStatus = false; | |||||
| if(codeStatus != null && codeStatus.getCodeStatus().equals(0) && codeStatus.getUserVersion().equals(userVersion)) { | |||||
| codeCommitStatus = true; | |||||
| } | |||||
| if(!codeCommitStatus) { | |||||
| codeCommitStatus = doCodeCommit(userVersion, userDesc, templateId, appinfo, extSet, codeStatus); | |||||
| } | |||||
| // 提交审核 | |||||
| if(codeCommitStatus) { | |||||
| WxWeappAuditStatus auditStatus = weappAuditStatusService.getByAppId(appId); | |||||
| if(auditStatus != null && auditStatus.getAuditStatus().equals(EnumWeappAuditStatus.AUDITING.getCode())) { | |||||
| logger.error("审核中不能再提交审核"); | |||||
| return; | |||||
| } | |||||
| doCodeAudit(codeStatus, auditStatus, extSet); | |||||
| } | |||||
| } | |||||
| } | |||||
| @ApiOperation(value = "批量授权的小程序上传code", notes = "{\"apps\":\"appid,appid\",\"templateId\":\"String\",\"userVersion\":\"String\",\"userDesc\":\"String\"}") | @ApiOperation(value = "批量授权的小程序上传code", notes = "{\"apps\":\"appid,appid\",\"templateId\":\"String\",\"userVersion\":\"String\",\"userDesc\":\"String\"}") | ||||
| @PostMapping("batchCodeCommit") | @PostMapping("batchCodeCommit") | ||||
| public ResultData batchCodeCommit(@RequestBody Map<String, String> params) { | public ResultData batchCodeCommit(@RequestBody Map<String, String> params) { | ||||
| @@ -588,8 +502,8 @@ public class WxWeappInfoController extends BaseController { | |||||
| codeStatus.setCodeStatus(EnumWeappCodeCommitStatus.SUCCESS.getCode()); | codeStatus.setCodeStatus(EnumWeappCodeCommitStatus.SUCCESS.getCode()); | ||||
| } else { | } else { | ||||
| codeStatus.setCodeStatus(EnumWeappCodeCommitStatus.FAIL.getCode()); | codeStatus.setCodeStatus(EnumWeappCodeCommitStatus.FAIL.getCode()); | ||||
| codeStatus.setCodeErrCode(codeErrCode); | |||||
| } | } | ||||
| codeStatus.setCodeErrCode(codeErrCode); | |||||
| codeStatus.setCodeTime(new Date()); | codeStatus.setCodeTime(new Date()); | ||||
| weappCodeStatusService.updateStatus(codeStatus); | weappCodeStatusService.updateStatus(codeStatus); | ||||
| } | } | ||||
| @@ -599,6 +513,7 @@ public class WxWeappInfoController extends BaseController { | |||||
| private void doCodeAudit(WxWeappCodeStatus codeStatus, WxWeappAuditStatus auditStatus, WxWeappExtSet extSet) { | private void doCodeAudit(WxWeappCodeStatus codeStatus, WxWeappAuditStatus auditStatus, WxWeappExtSet extSet) { | ||||
| Gson gson = new GsonBuilder().create(); | Gson gson = new GsonBuilder().create(); | ||||
| boolean submitStatus = false; | boolean submitStatus = false; | ||||
| Long auditid = null; | |||||
| String codeErrCode = ""; | String codeErrCode = ""; | ||||
| try { | try { | ||||
| WxOpenMaSubmitAuditMessage subMessage = gson.fromJson(extSet.getReleaseJson(), new TypeToken<WxOpenMaSubmitAuditMessage>() {}.getType()); | WxOpenMaSubmitAuditMessage subMessage = gson.fromJson(extSet.getReleaseJson(), new TypeToken<WxOpenMaSubmitAuditMessage>() {}.getType()); | ||||
| @@ -608,10 +523,11 @@ public class WxWeappInfoController extends BaseController { | |||||
| logger.info(openRet.toString()); | logger.info(openRet.toString()); | ||||
| if(openRet.isSuccess()) { | if(openRet.isSuccess()) { | ||||
| submitStatus = true; | submitStatus = true; | ||||
| auditid = openRet.getAuditId(); | |||||
| } else { | } else { | ||||
| submitStatus = false; | submitStatus = false; | ||||
| codeErrCode = gson.toJson(openRet); | |||||
| } | } | ||||
| codeErrCode = gson.toJson(openRet); | |||||
| } catch (WxErrorException e) { | } catch (WxErrorException e) { | ||||
| logger.error(e.getMessage()); | logger.error(e.getMessage()); | ||||
| submitStatus = false; | submitStatus = false; | ||||
| @@ -627,6 +543,7 @@ public class WxWeappInfoController extends BaseController { | |||||
| auditStatus.setVersionDesc(codeStatus.getVersionDesc()); | auditStatus.setVersionDesc(codeStatus.getVersionDesc()); | ||||
| if(submitStatus) { | if(submitStatus) { | ||||
| auditStatus.setAuditStatus(EnumWeappAuditStatus.AUDITING.getCode()); | auditStatus.setAuditStatus(EnumWeappAuditStatus.AUDITING.getCode()); | ||||
| auditStatus.setAuditid(auditid); | |||||
| } else { | } else { | ||||
| auditStatus.setAuditStatus(EnumWeappAuditStatus.FAIL.getCode()); | auditStatus.setAuditStatus(EnumWeappAuditStatus.FAIL.getCode()); | ||||
| } | } | ||||
| @@ -637,16 +554,17 @@ public class WxWeappInfoController extends BaseController { | |||||
| if(!submitStatus) { | if(!submitStatus) { | ||||
| if(!auditStatus.getUserVersion().equals(codeStatus.getUserVersion()) | if(!auditStatus.getUserVersion().equals(codeStatus.getUserVersion()) | ||||
| && auditStatus.getAuditStatus().equals(EnumWeappAuditStatus.AUDITING.getCode())) { | && auditStatus.getAuditStatus().equals(EnumWeappAuditStatus.AUDITING.getCode())) { | ||||
| // 提交审核失败不替换当前审核中的数据 | |||||
| // 当前审核中的数据不能替换 | |||||
| return; | return; | ||||
| } | } | ||||
| codeStatus.setCodeStatus(EnumWeappAuditStatus.FAIL.getCode()); | |||||
| codeStatus.setCodeErrCode(codeErrCode); | |||||
| auditStatus.setAuditStatus(EnumWeappAuditStatus.FAIL.getCode()); | |||||
| } else { | } else { | ||||
| codeStatus.setCodeStatus(EnumWeappAuditStatus.AUDITING.getCode()); | |||||
| auditStatus.setAuditStatus(EnumWeappAuditStatus.AUDITING.getCode()); | |||||
| auditStatus.setAuditid(auditid); | |||||
| } | } | ||||
| auditStatus.setUserVersion(codeStatus.getUserVersion()); | auditStatus.setUserVersion(codeStatus.getUserVersion()); | ||||
| auditStatus.setVersionDesc(codeStatus.getVersionDesc()); | auditStatus.setVersionDesc(codeStatus.getVersionDesc()); | ||||
| auditStatus.setAuditErrCode(codeErrCode); | |||||
| auditStatus.setAuditTime(new Date()); | auditStatus.setAuditTime(new Date()); | ||||
| weappAuditStatusService.updateStatus(auditStatus); | weappAuditStatusService.updateStatus(auditStatus); | ||||
| } | } | ||||
| @@ -691,6 +609,7 @@ public class WxWeappInfoController extends BaseController { | |||||
| auditStatus.setAuditStatus(EnumWeappAuditStatus.AUDITING.getCode()); | auditStatus.setAuditStatus(EnumWeappAuditStatus.AUDITING.getCode()); | ||||
| break; | break; | ||||
| } | } | ||||
| auditStatus.setAuditid(openResult.getAuditId()); | |||||
| auditStatus.setAuditTime(new Date()); | auditStatus.setAuditTime(new Date()); | ||||
| weappAuditStatusService.updateStatus(auditStatus); | weappAuditStatusService.updateStatus(auditStatus); | ||||
| } | } | ||||
| @@ -747,7 +666,7 @@ public class WxWeappInfoController extends BaseController { | |||||
| apps.stream().forEach( auditStatus -> { | apps.stream().forEach( auditStatus -> { | ||||
| WxWeappReleaseStatus releaseStatus = weappReleaseStatusService.getByAppId(auditStatus.getAppId()); | WxWeappReleaseStatus releaseStatus = weappReleaseStatusService.getByAppId(auditStatus.getAppId()); | ||||
| if(releaseStatus != null) { | if(releaseStatus != null) { | ||||
| // 版本已发布成功,跳过 | |||||
| // 当前版本已发布成功,跳过 | |||||
| if(releaseStatus.getUserVersion().equals(version) | if(releaseStatus.getUserVersion().equals(version) | ||||
| && releaseStatus.getReleaseStatus().equals(EnumWeappReleaseStatus.SUCCESS.getCode())) { | && releaseStatus.getReleaseStatus().equals(EnumWeappReleaseStatus.SUCCESS.getCode())) { | ||||
| return; | return; | ||||
| @@ -770,12 +689,12 @@ public class WxWeappInfoController extends BaseController { | |||||
| } | } | ||||
| if(releaseSuccess) { | if(releaseSuccess) { | ||||
| releaseStatus.setReleaseStatus(EnumWeappReleaseStatus.SUCCESS.getCode()); | releaseStatus.setReleaseStatus(EnumWeappReleaseStatus.SUCCESS.getCode()); | ||||
| releaseStatus.setReleaseTime(new Date()); | |||||
| } else { | } else { | ||||
| releaseStatus.setReleaseStatus(EnumWeappReleaseStatus.FAIL.getCode()); | releaseStatus.setReleaseStatus(EnumWeappReleaseStatus.FAIL.getCode()); | ||||
| releaseStatus.setReleaseErrCode(gson.toJson(openRet)); | |||||
| releaseStatus.setReleaseTime(new Date()); | |||||
| } | } | ||||
| releaseStatus.setReleaseErrCode(gson.toJson(openRet)); | |||||
| releaseStatus.setReleaseTime(new Date()); | |||||
| weappReleaseStatusService.saveStatus(releaseStatus); | weappReleaseStatusService.saveStatus(releaseStatus); | ||||
| } catch (WxErrorException e) { | } catch (WxErrorException e) { | ||||
| logger.error(e.getMessage()); | logger.error(e.getMessage()); | ||||