| @@ -307,7 +307,7 @@ public class WxWeappInfoController extends BaseController { | |||||
| @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("batchCodeCommitAndAudit") | @PostMapping("batchCodeCommitAndAudit") | ||||
| public ResultData batchExtSet(@RequestBody Map<String, String> params) { | |||||
| public ResultData batchCodeCommitAndAudit(@RequestBody Map<String, String> params) { | |||||
| logger.debug("[" + getIpAddr() + "] WxWeappInfoController::batchExtSet"); | logger.debug("[" + getIpAddr() + "] WxWeappInfoController::batchExtSet"); | ||||
| String appsStr = params.get("apps"); | String appsStr = params.get("apps"); | ||||
| String templateIdStr = params.get("templateId"); | String templateIdStr = params.get("templateId"); | ||||
| @@ -352,8 +352,6 @@ public class WxWeappInfoController extends BaseController { | |||||
| } | } | ||||
| private void codeOperation(String appId, String userVersion, String userDesc, Long templateId) { | private void codeOperation(String appId, String userVersion, String userDesc, Long templateId) { | ||||
| Gson gson = new GsonBuilder().create(); | |||||
| WxAppinfo appinfo = appinfoService.getByAppId(appId); | WxAppinfo appinfo = appinfoService.getByAppId(appId); | ||||
| // get ext json | // get ext json | ||||
| @@ -367,95 +365,216 @@ public class WxWeappInfoController extends BaseController { | |||||
| codeCommitStatus = true; | codeCommitStatus = true; | ||||
| } | } | ||||
| if(!codeCommitStatus) { | if(!codeCommitStatus) { | ||||
| // code提交 | |||||
| try { | |||||
| WxMaOpenCommitExtInfo extInfo = gson.fromJson(extSet.getExtJson(), new TypeToken<WxMaOpenCommitExtInfo>() {}.getType()); | |||||
| logger.info(extInfo.toString()); | |||||
| WxOpenMaService openMaService = openService.getWxOpenComponentService().getWxMaServiceByAppid(extInfo.getExtAppid()); | |||||
| WxOpenResult openRet = openMaService.codeCommit(templateId, userVersion, userDesc, extInfo); | |||||
| logger.info(openRet.toString()); | |||||
| if (openRet.isSuccess()) { | |||||
| codeCommitStatus = true; | |||||
| } | |||||
| if (codeStatus == null) { | |||||
| codeStatus = new WxWeappCodeStatus(); | |||||
| codeStatus.setAppId(appId); | |||||
| if (appinfo != null) { | |||||
| codeStatus.setType(appinfo.getType()); | |||||
| } | |||||
| codeStatus.setUserVersion(userVersion); | |||||
| codeStatus.setVersionDesc(userDesc); | |||||
| if(codeCommitStatus) { | |||||
| codeStatus.setCodeStatus(EnumWeappCodeCommitStatus.SUCCESS.getCode()); | |||||
| } else { | |||||
| codeStatus.setCodeStatus(EnumWeappCodeCommitStatus.FAIL.getCode()); | |||||
| } | |||||
| codeStatus.setCodeErrCode(gson.toJson(openRet)); | |||||
| codeStatus.setCodeTime(new Date()); | |||||
| weappCodeStatusService.saveOrUpdate(codeStatus); | |||||
| } else { | |||||
| codeStatus.setUserVersion(userVersion); | |||||
| codeStatus.setVersionDesc(userDesc); | |||||
| if(codeCommitStatus) { | |||||
| codeStatus.setCodeStatus(EnumWeappCodeCommitStatus.SUCCESS.getCode()); | |||||
| } else { | |||||
| codeStatus.setCodeStatus(EnumWeappCodeCommitStatus.FAIL.getCode()); | |||||
| codeStatus.setCodeErrCode(gson.toJson(openRet)); | |||||
| } | |||||
| codeStatus.setCodeTime(new Date()); | |||||
| weappCodeStatusService.updateCodeCommitStatus(codeStatus); | |||||
| } | |||||
| } catch (WxErrorException e) { | |||||
| logger.error(e.getMessage()); | |||||
| if (codeStatus == null) { | |||||
| codeStatus = new WxWeappCodeStatus(); | |||||
| codeStatus.setAppId(appId); | |||||
| if (appinfo != null) { | |||||
| codeStatus.setType(appinfo.getType()); | |||||
| } | |||||
| codeStatus.setUserVersion(userVersion); | |||||
| codeStatus.setVersionDesc(userDesc); | |||||
| codeStatus.setCodeStatus(EnumWeappCodeCommitStatus.FAIL.getCode()); | |||||
| codeStatus.setCodeErrCode(e.getMessage()); | |||||
| codeStatus.setCodeTime(new Date()); | |||||
| weappCodeStatusService.saveOrUpdate(codeStatus); | |||||
| } else { | |||||
| codeStatus.setUserVersion(userVersion); | |||||
| codeStatus.setVersionDesc(userDesc); | |||||
| codeStatus.setCodeStatus(EnumWeappCodeCommitStatus.FAIL.getCode()); | |||||
| codeStatus.setCodeErrCode(e.getMessage()); | |||||
| codeStatus.setCodeTime(new Date()); | |||||
| weappCodeStatusService.updateCodeCommitStatus(codeStatus); | |||||
| } | |||||
| } | |||||
| codeCommitStatus = doCodeCommit(userVersion, userDesc, templateId, appinfo, extSet, codeStatus); | |||||
| } | } | ||||
| // 提交审核 | // 提交审核 | ||||
| if(codeCommitStatus) { | if(codeCommitStatus) { | ||||
| try { | |||||
| WxOpenMaSubmitAuditMessage subMessage = gson.fromJson(extSet.getReleaseJson(), new TypeToken<WxOpenMaSubmitAuditMessage>() {}.getType()); | |||||
| logger.info(subMessage.toString()); | |||||
| WxOpenMaService openMaService = openService.getWxOpenComponentService().getWxMaServiceByAppid(appId); | |||||
| WxOpenMaSubmitAuditResult openRet = openMaService.submitAudit(subMessage); | |||||
| logger.info(openRet.toString()); | |||||
| if(openRet.isSuccess()) { | |||||
| codeStatus.setAuditStatus(EnumWeappAuditStatus.AUDITING.getCode()); | |||||
| weappCodeStatusService.updateAuditStatus(codeStatus); | |||||
| } else { | |||||
| codeStatus.setAuditStatus(EnumWeappAuditStatus.FAIL.getCode()); | |||||
| codeStatus.setAuditErrCode(gson.toJson(openRet)); | |||||
| weappCodeStatusService.updateAuditStatus(codeStatus); | |||||
| } | |||||
| } catch (WxErrorException e) { | |||||
| logger.error(e.getMessage()); | |||||
| codeStatus.setAuditStatus(EnumWeappAuditStatus.FAIL.getCode()); | |||||
| codeStatus.setAuditErrCode(gson.toJson(e.getMessage())); | |||||
| weappCodeStatusService.updateAuditStatus(codeStatus); | |||||
| } | |||||
| doCodeAudit(appId, extSet, codeStatus); | |||||
| } | |||||
| } | |||||
| } | |||||
| @ApiOperation(value = "批量授权的小程序上传code", notes = "{\"apps\":\"appid,appid\",\"templateId\":\"String\",\"userVersion\":\"String\",\"userDesc\":\"String\"}") | |||||
| @PostMapping("batchCodeCommit") | |||||
| public ResultData batchCodeCommit(@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); | |||||
| } | |||||
| codeCommit(appId, userVersion, userDesc, templateId); | |||||
| } | |||||
| return new ResultData(); | |||||
| } | |||||
| private void codeCommit(String appId, String userVersion, String userDesc, Long templateId) { | |||||
| WxAppinfo appinfo = appinfoService.getByAppId(appId); | |||||
| // 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); | |||||
| } | |||||
| } | |||||
| } | |||||
| @ApiOperation(value = "小程序批量提交审核", notes = "{\"apps\":\"appid,appid\",\"userVersion\":\"String\"}") | |||||
| @PostMapping("batchCodeAudit") | |||||
| public ResultData batchCodeAudit(@RequestBody Map<String, String> params) { | |||||
| logger.debug("[" + getIpAddr() + "] WxWeappInfoController::batchExtSet"); | |||||
| String appsStr = params.get("apps"); | |||||
| String userVersion = params.get("userVersion"); | |||||
| 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); | |||||
| } | |||||
| codeAudit(appId, userVersion); | |||||
| } | |||||
| return new ResultData(); | |||||
| } | |||||
| private void codeAudit(String appId, String userVersion) { | |||||
| // 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(EnumWeappCodeCommitStatus.SUCCESS.getCode()) | |||||
| && codeStatus.getUserVersion().equals(userVersion)) { | |||||
| codeCommitStatus = true; | |||||
| } | } | ||||
| if(codeCommitStatus) { | |||||
| doCodeAudit(appId, extSet, codeStatus); | |||||
| } else { | |||||
| logger.error("CODE提交失败"); | |||||
| } | |||||
| } | |||||
| } | |||||
| private boolean doCodeCommit(String userVersion, String userDesc, Long templateId, WxAppinfo appinfo, WxWeappExtSet extSet, WxWeappCodeStatus codeStatus) { | |||||
| Gson gson = new GsonBuilder().create(); | |||||
| // code提交 | |||||
| boolean codeCommitStatus = false; | |||||
| String codeErrCode = ""; | |||||
| try { | |||||
| WxMaOpenCommitExtInfo extInfo = gson.fromJson(extSet.getExtJson(), new TypeToken<WxMaOpenCommitExtInfo>() {}.getType()); | |||||
| logger.info(extInfo.toString()); | |||||
| WxOpenMaService openMaService = openService.getWxOpenComponentService().getWxMaServiceByAppid(appinfo.getAppId()); | |||||
| WxOpenResult openRet = openMaService.codeCommit(templateId, userVersion, userDesc, extInfo); | |||||
| logger.info(openRet.toString()); | |||||
| if (openRet.isSuccess()) { | |||||
| codeCommitStatus = true; | |||||
| } | |||||
| codeErrCode = gson.toJson(openRet); | |||||
| } catch (WxErrorException e) { | |||||
| codeCommitStatus = false; | |||||
| codeErrCode = e.getMessage(); | |||||
| logger.error(codeErrCode); | |||||
| } | } | ||||
| if (codeStatus == null) { | |||||
| codeStatus = new WxWeappCodeStatus(); | |||||
| codeStatus.setAppId(appinfo.getAppId()); | |||||
| if (appinfo != null) { | |||||
| codeStatus.setType(appinfo.getType()); | |||||
| } | |||||
| codeStatus.setUserVersion(userVersion); | |||||
| codeStatus.setVersionDesc(userDesc); | |||||
| if(codeCommitStatus) { | |||||
| codeStatus.setCodeStatus(EnumWeappCodeCommitStatus.SUCCESS.getCode()); | |||||
| } else { | |||||
| codeStatus.setCodeStatus(EnumWeappCodeCommitStatus.FAIL.getCode()); | |||||
| } | |||||
| codeStatus.setCodeErrCode(codeErrCode); | |||||
| codeStatus.setCodeTime(new Date()); | |||||
| weappCodeStatusService.saveOrUpdate(codeStatus); | |||||
| } else { | |||||
| codeStatus.setUserVersion(userVersion); | |||||
| codeStatus.setVersionDesc(userDesc); | |||||
| if(codeCommitStatus) { | |||||
| codeStatus.setCodeStatus(EnumWeappCodeCommitStatus.SUCCESS.getCode()); | |||||
| } else { | |||||
| codeStatus.setCodeStatus(EnumWeappCodeCommitStatus.FAIL.getCode()); | |||||
| codeStatus.setCodeErrCode(codeErrCode); | |||||
| } | |||||
| codeStatus.setCodeTime(new Date()); | |||||
| weappCodeStatusService.updateCodeCommitStatus(codeStatus); | |||||
| } | |||||
| return codeCommitStatus; | |||||
| } | } | ||||
| private void doCodeAudit(String appId, WxWeappExtSet extSet, WxWeappCodeStatus codeStatus) { | |||||
| Gson gson = new GsonBuilder().create(); | |||||
| try { | |||||
| WxOpenMaSubmitAuditMessage subMessage = gson.fromJson(extSet.getReleaseJson(), new TypeToken<WxOpenMaSubmitAuditMessage>() {}.getType()); | |||||
| logger.info(subMessage.toString()); | |||||
| WxOpenMaService openMaService = openService.getWxOpenComponentService().getWxMaServiceByAppid(appId); | |||||
| WxOpenMaSubmitAuditResult openRet = openMaService.submitAudit(subMessage); | |||||
| logger.info(openRet.toString()); | |||||
| if(openRet.isSuccess()) { | |||||
| codeStatus.setAuditStatus(EnumWeappAuditStatus.AUDITING.getCode()); | |||||
| weappCodeStatusService.updateAuditStatus(codeStatus); | |||||
| } else { | |||||
| codeStatus.setAuditStatus(EnumWeappAuditStatus.FAIL.getCode()); | |||||
| codeStatus.setAuditErrCode(gson.toJson(openRet)); | |||||
| weappCodeStatusService.updateAuditStatus(codeStatus); | |||||
| } | |||||
| } catch (WxErrorException e) { | |||||
| logger.error(e.getMessage()); | |||||
| codeStatus.setAuditStatus(EnumWeappAuditStatus.FAIL.getCode()); | |||||
| codeStatus.setAuditErrCode(gson.toJson(e.getMessage())); | |||||
| weappCodeStatusService.updateAuditStatus(codeStatus); | |||||
| } | |||||
| } | |||||
| @ApiOperation(value = "批量审核查询", notes = "{\"version\":\"string\"}") | @ApiOperation(value = "批量审核查询", notes = "{\"version\":\"string\"}") | ||||
| @PostMapping("batchAuditQuery") | @PostMapping("batchAuditQuery") | ||||
| public ResultData batchAuditQuery(@RequestBody Map<String, String> params) { | public ResultData batchAuditQuery(@RequestBody Map<String, String> params) { | ||||