| @@ -313,92 +313,6 @@ public class WxWeappInfoController extends BaseController { | |||
| 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\"}") | |||
| @PostMapping("batchCodeCommit") | |||
| public ResultData batchCodeCommit(@RequestBody Map<String, String> params) { | |||
| @@ -588,8 +502,8 @@ public class WxWeappInfoController extends BaseController { | |||
| codeStatus.setCodeStatus(EnumWeappCodeCommitStatus.SUCCESS.getCode()); | |||
| } else { | |||
| codeStatus.setCodeStatus(EnumWeappCodeCommitStatus.FAIL.getCode()); | |||
| codeStatus.setCodeErrCode(codeErrCode); | |||
| } | |||
| codeStatus.setCodeErrCode(codeErrCode); | |||
| codeStatus.setCodeTime(new Date()); | |||
| weappCodeStatusService.updateStatus(codeStatus); | |||
| } | |||
| @@ -599,6 +513,7 @@ public class WxWeappInfoController extends BaseController { | |||
| private void doCodeAudit(WxWeappCodeStatus codeStatus, WxWeappAuditStatus auditStatus, WxWeappExtSet extSet) { | |||
| Gson gson = new GsonBuilder().create(); | |||
| boolean submitStatus = false; | |||
| Long auditid = null; | |||
| String codeErrCode = ""; | |||
| try { | |||
| WxOpenMaSubmitAuditMessage subMessage = gson.fromJson(extSet.getReleaseJson(), new TypeToken<WxOpenMaSubmitAuditMessage>() {}.getType()); | |||
| @@ -608,10 +523,11 @@ public class WxWeappInfoController extends BaseController { | |||
| logger.info(openRet.toString()); | |||
| if(openRet.isSuccess()) { | |||
| submitStatus = true; | |||
| auditid = openRet.getAuditId(); | |||
| } else { | |||
| submitStatus = false; | |||
| codeErrCode = gson.toJson(openRet); | |||
| } | |||
| codeErrCode = gson.toJson(openRet); | |||
| } catch (WxErrorException e) { | |||
| logger.error(e.getMessage()); | |||
| submitStatus = false; | |||
| @@ -627,6 +543,7 @@ public class WxWeappInfoController extends BaseController { | |||
| auditStatus.setVersionDesc(codeStatus.getVersionDesc()); | |||
| if(submitStatus) { | |||
| auditStatus.setAuditStatus(EnumWeappAuditStatus.AUDITING.getCode()); | |||
| auditStatus.setAuditid(auditid); | |||
| } else { | |||
| auditStatus.setAuditStatus(EnumWeappAuditStatus.FAIL.getCode()); | |||
| } | |||
| @@ -637,16 +554,17 @@ public class WxWeappInfoController extends BaseController { | |||
| if(!submitStatus) { | |||
| if(!auditStatus.getUserVersion().equals(codeStatus.getUserVersion()) | |||
| && auditStatus.getAuditStatus().equals(EnumWeappAuditStatus.AUDITING.getCode())) { | |||
| // 提交审核失败不替换当前审核中的数据 | |||
| // 当前审核中的数据不能替换 | |||
| return; | |||
| } | |||
| codeStatus.setCodeStatus(EnumWeappAuditStatus.FAIL.getCode()); | |||
| codeStatus.setCodeErrCode(codeErrCode); | |||
| auditStatus.setAuditStatus(EnumWeappAuditStatus.FAIL.getCode()); | |||
| } else { | |||
| codeStatus.setCodeStatus(EnumWeappAuditStatus.AUDITING.getCode()); | |||
| auditStatus.setAuditStatus(EnumWeappAuditStatus.AUDITING.getCode()); | |||
| auditStatus.setAuditid(auditid); | |||
| } | |||
| auditStatus.setUserVersion(codeStatus.getUserVersion()); | |||
| auditStatus.setVersionDesc(codeStatus.getVersionDesc()); | |||
| auditStatus.setAuditErrCode(codeErrCode); | |||
| auditStatus.setAuditTime(new Date()); | |||
| weappAuditStatusService.updateStatus(auditStatus); | |||
| } | |||
| @@ -691,6 +609,7 @@ public class WxWeappInfoController extends BaseController { | |||
| auditStatus.setAuditStatus(EnumWeappAuditStatus.AUDITING.getCode()); | |||
| break; | |||
| } | |||
| auditStatus.setAuditid(openResult.getAuditId()); | |||
| auditStatus.setAuditTime(new Date()); | |||
| weappAuditStatusService.updateStatus(auditStatus); | |||
| } | |||
| @@ -747,7 +666,7 @@ public class WxWeappInfoController extends BaseController { | |||
| apps.stream().forEach( auditStatus -> { | |||
| WxWeappReleaseStatus releaseStatus = weappReleaseStatusService.getByAppId(auditStatus.getAppId()); | |||
| if(releaseStatus != null) { | |||
| // 版本已发布成功,跳过 | |||
| // 当前版本已发布成功,跳过 | |||
| if(releaseStatus.getUserVersion().equals(version) | |||
| && releaseStatus.getReleaseStatus().equals(EnumWeappReleaseStatus.SUCCESS.getCode())) { | |||
| return; | |||
| @@ -770,12 +689,12 @@ public class WxWeappInfoController extends BaseController { | |||
| } | |||
| if(releaseSuccess) { | |||
| releaseStatus.setReleaseStatus(EnumWeappReleaseStatus.SUCCESS.getCode()); | |||
| releaseStatus.setReleaseTime(new Date()); | |||
| } else { | |||
| 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); | |||
| } catch (WxErrorException e) { | |||
| logger.error(e.getMessage()); | |||