Просмотр исходного кода

[微信第三方开放平台][修改]:单个审核修改

release_toaliyun_real
Stormeye Wu 7 лет назад
Родитель
Сommit
4259ffbf4b
1 измененных файлов: 84 добавлений и 56 удалений
  1. +84
    -56
      mallinkWechatOpen/src/main/java/com/iformall/controller/WechatWeappCodeController.java

+ 84
- 56
mallinkWechatOpen/src/main/java/com/iformall/controller/WechatWeappCodeController.java Просмотреть файл

@@ -8,10 +8,13 @@ import com.iformall.common.ErrorCode;
import com.iformall.common.Result;
import com.iformall.common.ResultData;
import com.iformall.domain.po.*;
import com.iformall.domain.vo.WxWeappCodeStatusVo;
import com.iformall.enums.*;
import com.iformall.service.*;
import com.iformall.service.wechat.WxOpenService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import me.chanjar.weixin.common.error.WxErrorException;
import me.chanjar.weixin.open.api.WxOpenMaService;
@@ -33,6 +36,7 @@ import java.io.IOException;
import java.io.InputStream;
import java.net.URLEncoder;
import java.util.Date;
import java.util.List;
import java.util.Map;

/**
@@ -61,6 +65,10 @@ public class WechatWeappCodeController {
@Autowired
private WxAuthorizerInfoService authorizerInfoService;

@Autowired
private WxWeappExtSetService weappExtSetService;


@ApiOperation(value = "为授权的小程序帐号上传小程序代码", notes = "extInfo参考https://mp.weixin.qq.com/debug/wxadoc/dev/framework/config.html")
@PostMapping("/codeCommit")
public ResultData codeCommit(Long templateId, String userVersion, String userDesc, String extInfoStr) {
@@ -217,73 +225,93 @@ public class WechatWeappCodeController {
}

@ApiOperation("将第三方提交的代码包提交审核")
@PostMapping("/submitAudit")
public ResultData submitAudit(String appId, String subMesgStr) {
@GetMapping("/submitAudit")
@ApiImplicitParams({
@ApiImplicitParam(name = "appId", value = "appId", dataType = "String", paramType = "query", required = true),
@ApiImplicitParam(name = "version", value = "version", dataType = "String", paramType = "query")})
public ResultData submitAudit(String appId, String version) {
Gson gson = new GsonBuilder().create();
WxWeappCodeStatus codeStatus = weappCodeStatusService.getByAppId(appId);
if(codeStatus != null && codeStatus.getCodeStatus().equals(EnumWeappCodeCommitStatus.SUCCESS.getCode())) {
WxWeappAuditStatus auditStatus = weappAuditStatusService.getByAppId(appId);
boolean submitStatus = false;
String codeErrCode = "";
try {
WxOpenMaSubmitAuditMessage subMessage = JSON.parseObject(subMesgStr, WxOpenMaSubmitAuditMessage.class);
WxOpenMaService openMaService = openService.getWxOpenComponentService().getWxMaServiceByAppid(appId);
WxOpenMaSubmitAuditResult openRet = openMaService.submitAudit(subMessage);
logger.info(openRet.toString());
if(openRet.isSuccess()) {
submitStatus = true;
codeErrCode = gson.toJson(openRet);
} else {
WxWeappExtSet extSetQ = new WxWeappExtSet();
extSetQ.setAppId(appId);
WxWeappExtSet extSet = weappExtSetService.getByObj(extSetQ);
if(StringUtils.isBlank(extSet.getReleaseJson())) {
logger.error("Release JSON is null");
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL);
}

WxWeappCodeStatusVo codeQ = new WxWeappCodeStatusVo();
codeQ.setAppId(appId);
if(StringUtils.isNotBlank(version)) {
codeQ.setUserVersion(version);
}
List<WxWeappCodeStatusVo> codeStatusList = weappCodeStatusService.getList(codeQ);
if(codeStatusList.size() == 1) {
WxWeappCodeStatusVo codeStatus = codeStatusList.get(0);
WxOpenMaSubmitAuditMessage subMessage = gson.fromJson(extSet.getReleaseJson(), new TypeToken<WxOpenMaSubmitAuditMessage>() {}.getType());
if(codeStatus != null && codeStatus.getCodeStatus().equals(EnumWeappCodeCommitStatus.SUCCESS.getCode())) {
WxWeappAuditStatus auditStatus = weappAuditStatusService.getByAppId(appId);
boolean submitStatus = false;
String codeErrCode = "";
try {
WxOpenMaService openMaService = openService.getWxOpenComponentService().getWxMaServiceByAppid(appId);
WxOpenMaSubmitAuditResult openRet = openMaService.submitAudit(subMessage);
logger.info(openRet.toString());
if(openRet.isSuccess()) {
submitStatus = true;
codeErrCode = gson.toJson(openRet);
} else {
submitStatus = false;
codeErrCode = gson.toJson(openRet);
}
} catch (WxErrorException e) {
logger.error(e.getMessage());
submitStatus = false;
codeErrCode = gson.toJson(openRet);
codeErrCode = e.getMessage();
}
} catch (WxErrorException e) {
logger.error(e.getMessage());
submitStatus = false;
codeErrCode = e.getMessage();
}

if (auditStatus == null) {
auditStatus = new WxWeappAuditStatus();
auditStatus.setId(codeStatus.getId());
auditStatus.setAppId(codeStatus.getAppId());
auditStatus.setType(codeStatus.getType());
auditStatus.setUserVersion(codeStatus.getUserVersion());
auditStatus.setVersionDesc(codeStatus.getVersionDesc());
if(submitStatus) {
auditStatus.setAuditStatus(EnumWeappAuditStatus.AUDITING.getCode());
if (auditStatus == null) {
auditStatus = new WxWeappAuditStatus();
auditStatus.setId(codeStatus.getId());
auditStatus.setAppId(codeStatus.getAppId());
auditStatus.setType(codeStatus.getType());
auditStatus.setUserVersion(codeStatus.getUserVersion());
auditStatus.setVersionDesc(codeStatus.getVersionDesc());
if(submitStatus) {
auditStatus.setAuditStatus(EnumWeappAuditStatus.AUDITING.getCode());
} else {
auditStatus.setAuditStatus(EnumWeappAuditStatus.FAIL.getCode());
}
auditStatus.setAuditErrCode(codeErrCode);
auditStatus.setAuditTime(new Date());
weappAuditStatusService.saveStatus(auditStatus);
} else {
auditStatus.setAuditStatus(EnumWeappAuditStatus.FAIL.getCode());
}
auditStatus.setAuditErrCode(codeErrCode);
auditStatus.setAuditTime(new Date());
weappAuditStatusService.saveStatus(auditStatus);
} else {
if(!submitStatus) {
if(!auditStatus.getUserVersion().equals(codeStatus.getUserVersion())
&& auditStatus.getAuditStatus().equals(EnumWeappAuditStatus.AUDITING.getCode())) {
// 提交审核失败不替换当前审核中的数据
return new ResultData(ErrorCode.WEAPP_HAD_AUDITING);
if(!submitStatus) {
if(!auditStatus.getUserVersion().equals(codeStatus.getUserVersion())
&& auditStatus.getAuditStatus().equals(EnumWeappAuditStatus.AUDITING.getCode())) {
// 提交审核失败不替换当前审核中的数据
return new ResultData(ErrorCode.WEAPP_HAD_AUDITING);
}
codeStatus.setCodeStatus(EnumWeappAuditStatus.FAIL.getCode());
codeStatus.setCodeErrCode(codeErrCode);
} else {
codeStatus.setCodeStatus(EnumWeappAuditStatus.AUDITING.getCode());
}
codeStatus.setCodeStatus(EnumWeappAuditStatus.FAIL.getCode());
codeStatus.setCodeErrCode(codeErrCode);
auditStatus.setUserVersion(codeStatus.getUserVersion());
auditStatus.setVersionDesc(codeStatus.getVersionDesc());
auditStatus.setAuditTime(new Date());
weappAuditStatusService.updateStatus(auditStatus);
}
if(submitStatus) {
return new ResultData(codeErrCode);
} else {
codeStatus.setCodeStatus(EnumWeappAuditStatus.AUDITING.getCode());
return new ResultData(ErrorCode.WEAPP_AUDIT_ERR);
}
auditStatus.setUserVersion(codeStatus.getUserVersion());
auditStatus.setVersionDesc(codeStatus.getVersionDesc());
auditStatus.setAuditTime(new Date());
weappAuditStatusService.updateStatus(auditStatus);
}
if(submitStatus) {
return new ResultData(codeErrCode);
} else {
return new ResultData(ErrorCode.WEAPP_AUDIT_ERR);
logger.error(ErrorCode.WEAPP_CODE_COMMIT_ERR.getMessage());
return new ResultData(ErrorCode.WEAPP_CODE_COMMIT_ERR);
}
} else {
logger.error(ErrorCode.WEAPP_CODE_COMMIT_ERR.getMessage());
return new ResultData(ErrorCode.WEAPP_CODE_COMMIT_ERR);
}
return new ResultData(ErrorCode.WEAPP_CODE_COMMIT_ERR);
}

@ApiOperation("查询某个指定版本的审核状态")


Загрузка…
Отмена
Сохранить