Browse Source

[微信第三方开发平台][修改]:状态修改

release_toaliyun_real
Stormeye Wu 7 years ago
parent
commit
fe42b92e2e
1 changed files with 15 additions and 96 deletions
  1. +15
    -96
      mallinkWechatOpen/src/main/java/com/iformall/controller/WxWeappInfoController.java

+ 15
- 96
mallinkWechatOpen/src/main/java/com/iformall/controller/WxWeappInfoController.java View File

@@ -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());


Loading…
Cancel
Save