Browse Source

[微信开发平台][修改]:错误码修改

release_toaliyun_real
Stormeye Wu 7 years ago
parent
commit
42f7a9b7bc
4 changed files with 117 additions and 49 deletions
  1. +3
    -3
      mallinkService/src/main/java/com/iformall/domain/po/WxWeappCodeStatus.java
  2. +6
    -6
      mallinkService/src/main/resources/mapper/WxWeappCodeStatusMapper.xml
  3. +76
    -32
      mallinkWechatOpen/src/main/java/com/iformall/controller/WechatWeappCodeController.java
  4. +32
    -8
      mallinkWechatOpen/src/main/java/com/iformall/controller/WxWeappInfoController.java

+ 3
- 3
mallinkService/src/main/java/com/iformall/domain/po/WxWeappCodeStatus.java View File

@@ -38,7 +38,7 @@ public class WxWeappCodeStatus implements Serializable {
@io.swagger.annotations.ApiModelProperty(value="code提交状态(0:成功, 1:失败)",name="codeStatus")
private Integer codeStatus;
@io.swagger.annotations.ApiModelProperty(value="code提交错误码",name="codeErrCode")
private Integer codeErrCode;
private String codeErrCode;
/**更新时间*/
@io.swagger.annotations.ApiModelProperty(value="code提交时间",name="codeTime")
private Date codeTime;
@@ -46,7 +46,7 @@ public class WxWeappCodeStatus implements Serializable {
@io.swagger.annotations.ApiModelProperty(value="审核状态(0为审核成功,1为审核失败,2为审核中,3已撤回)",name="auditStatus")
private Integer auditStatus;
@io.swagger.annotations.ApiModelProperty(value="审核错误码",name="auditErrCode")
private Integer auditErrCode;
private String auditErrCode;
/**审核时间*/
@io.swagger.annotations.ApiModelProperty(value="审核时间",name="auditTime")
private Date auditTime;
@@ -54,7 +54,7 @@ public class WxWeappCodeStatus implements Serializable {
@io.swagger.annotations.ApiModelProperty(value="发布状态(0:发布成功, 1:发布失败, 2:发布中)",name="releaseStatus")
private Integer releaseStatus;
@io.swagger.annotations.ApiModelProperty(value="发布错误码",name="releaseErrCode")
private Integer releaseErrCode;
private String releaseErrCode;
/**发布时间*/
@io.swagger.annotations.ApiModelProperty(value="发布时间",name="releaseTime")
private Date releaseTime;


+ 6
- 6
mallinkService/src/main/resources/mapper/WxWeappCodeStatusMapper.xml View File

@@ -7,12 +7,12 @@
<result column="type" jdbcType="INTEGER" property="type" />
<result column="user_version" jdbcType="VARCHAR" property="userVersion" />
<result column="code_status" jdbcType="INTEGER" property="codeStatus" />
<result column="code_err_code" jdbcType="INTEGER" property="codeErrCode" />
<result column="code_err_code" jdbcType="VARCHAR" property="codeErrCode" />
<result column="code_time" jdbcType="TIMESTAMP" property="codeTime" />
<result column="audit_status" jdbcType="INTEGER" property="auditStatus" />
<result column="audit_err_code" jdbcType="INTEGER" property="auditErrCode" />
<result column="audit_err_code" jdbcType="VARCHAR" property="auditErrCode" />
<result column="audit_time" jdbcType="TIMESTAMP" property="auditTime" />
<result column="release_status" jdbcType="INTEGER" property="releaseStatus" />
<result column="release_status" jdbcType="VARCHAR" property="releaseStatus" />
<result column="release_err_code" jdbcType="INTEGER" property="releaseErrCode" />
<result column="release_time" jdbcType="TIMESTAMP" property="releaseTime" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
@@ -77,13 +77,13 @@
<result column="type" jdbcType="INTEGER" property="type" />
<result column="user_version" jdbcType="VARCHAR" property="userVersion" />
<result column="code_status" jdbcType="INTEGER" property="codeStatus" />
<result column="code_err_code" jdbcType="INTEGER" property="codeErrCode" />
<result column="code_err_code" jdbcType="VARCHAR" property="codeErrCode" />
<result column="code_time" jdbcType="TIMESTAMP" property="codeTime" />
<result column="audit_status" jdbcType="INTEGER" property="auditStatus" />
<result column="audit_err_code" jdbcType="INTEGER" property="auditErrCode" />
<result column="audit_err_code" jdbcType="VARCHAR" property="auditErrCode" />
<result column="audit_time" jdbcType="TIMESTAMP" property="auditTime" />
<result column="release_status" jdbcType="INTEGER" property="releaseStatus" />
<result column="release_err_code" jdbcType="INTEGER" property="releaseErrCode" />
<result column="release_err_code" jdbcType="VARCHAR" property="releaseErrCode" />
<result column="release_time" jdbcType="TIMESTAMP" property="releaseTime" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />


+ 76
- 32
mallinkWechatOpen/src/main/java/com/iformall/controller/WechatWeappCodeController.java View File

@@ -64,18 +64,24 @@ public class WechatWeappCodeController {
@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) {
Gson gson = new GsonBuilder().create();
WxMaOpenCommitExtInfo extInfo = gson.fromJson(extInfoStr, new TypeToken<WxMaOpenCommitExtInfo>() {}.getType());
String appId = extInfo.getExtAppid();

// 检查appId是否已授权
WxAuthorizerInfo authorizerInfo = authorizerInfoService.getByAppId(appId);
if(authorizerInfo == null) {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "扩展设置中appId未设置");
}
if(!authorizerInfo.getAuthorizationStatus().equals(EnumWxAuthorizationStatus.AUTHORIZED.getCode())) {
return new ResultData(ErrorCode.APP_NOT_AUTH);
}

WxWeappCodeStatus codeStatus = weappCodeStatusService.getByAppId(appId);

WxAppinfo appinfo = appinfoService.getByAppId(appId);

try {
Gson gson= new GsonBuilder().create();
WxMaOpenCommitExtInfo extInfo = gson.fromJson(extInfoStr, new TypeToken<WxMaOpenCommitExtInfo>() { }.getType());
String appId = extInfo.getExtAppid();
// 检查appId是否已授权
WxAuthorizerInfo authorizerInfo = authorizerInfoService.getByAppId(appId);
if(authorizerInfo == null) {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "扩展设置中appId未设置");
}
if(!authorizerInfo.getAuthorizationStatus().equals(EnumWxAuthorizationStatus.AUTHORIZED.getCode())) {
return new ResultData(ErrorCode.APP_NOT_AUTH);
}
// code提交
WxOpenMaService openMaService = openService.getWxOpenComponentService().getWxMaServiceByAppid(appId);
logger.info(extInfo.toString());
@@ -85,9 +91,7 @@ public class WechatWeappCodeController {
if (openRet.isSuccess()) {
codeCommitStatus = true;
}
WxWeappCodeStatus codeStatus = weappCodeStatusService.getByAppId(appId);
if (codeStatus == null) {
WxAppinfo appinfo = appinfoService.getByAppId(appId);
codeStatus = new WxWeappCodeStatus();
codeStatus.setAppId(appId);
if (appinfo != null) {
@@ -99,8 +103,8 @@ public class WechatWeappCodeController {
codeStatus.setCodeStatus(EnumWeappCodeCommitStatus.SUCCESS.getCode());
} else {
codeStatus.setCodeStatus(EnumWeappCodeCommitStatus.FAIL.getCode());
codeStatus.setCodeErrCode(gson.toJson(openRet));
}
codeStatus.setCodeErrCode(Integer.valueOf(openRet.getErrcode()));
codeStatus.setCodeTime(new Date());
weappCodeStatusService.saveOrUpdate(codeStatus);
} else {
@@ -110,15 +114,35 @@ public class WechatWeappCodeController {
codeStatus.setCodeStatus(EnumWeappCodeCommitStatus.SUCCESS.getCode());
} else {
codeStatus.setCodeStatus(EnumWeappCodeCommitStatus.FAIL.getCode());
codeStatus.setCodeErrCode(gson.toJson(openRet));
}
codeStatus.setCodeErrCode(Integer.valueOf(openRet.getErrcode()));
codeStatus.setCodeTime(new Date());
weappCodeStatusService.updateCodeCommitStatus(codeStatus);
}
return new ResultData(openRet);
} catch (WxErrorException e) {
logger.error(e.getMessage());
return new ResultData(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);
}
return new ResultData(Result.ERROR, e.getMessage());
}
}

@@ -167,8 +191,8 @@ public class WechatWeappCodeController {
return new ResultData(openRet);
} catch (WxErrorException e) {
logger.error(e.getMessage());
return new ResultData(Result.ERROR, e.getMessage());
}
return new ResultData(Result.ERROR);
}

@ApiOperation("获取小程序的第三方提交代码的页面配置")
@@ -181,37 +205,45 @@ public class WechatWeappCodeController {
return new ResultData(openRet);
} catch (WxErrorException e) {
logger.error(e.getMessage());
return new ResultData(Result.ERROR, e.getMessage());
}
return new ResultData(Result.ERROR);
}

@ApiOperation("将第三方提交的代码包提交审核")
@PostMapping("/submitAudit")
public ResultData submitAudit(String appId, String subMesgStr) {
Gson gson = new GsonBuilder().create();
WxWeappCodeStatus codeStatus = weappCodeStatusService.getByAppId(appId);
try {
WxOpenMaSubmitAuditMessage subMessage = JSON.parseObject(subMesgStr, WxOpenMaSubmitAuditMessage.class);
WxOpenMaService openMaService = openService.getWxOpenComponentService().getWxMaServiceByAppid(appId);
WxOpenMaSubmitAuditResult openRet = openMaService.submitAudit(subMessage);
logger.info(openRet.toString());
WxWeappCodeStatus codeStatus = weappCodeStatusService.getByAppId(appId);
if(codeStatus != null) {
if(openRet.isSuccess()) {
codeStatus.setAuditStatus(EnumWeappAuditStatus.AUDITING.getCode());
} else {
codeStatus.setAuditStatus(EnumWeappAuditStatus.FAIL.getCode());
codeStatus.setAuditErrCode(gson.toJson(openRet));
}
weappCodeStatusService.updateAuditStatus(codeStatus);
}
return new ResultData(openRet);
} catch (WxErrorException e) {
logger.error(e.getMessage());
if(codeStatus != null) {
codeStatus.setAuditStatus(EnumWeappAuditStatus.FAIL.getCode());
codeStatus.setAuditErrCode(e.getMessage());
weappCodeStatusService.updateAuditStatus(codeStatus);
}
return new ResultData(Result.ERROR, e.getMessage());
}
return new ResultData(Result.ERROR);
}

@ApiOperation("查询某个指定版本的审核状态")
@PostMapping("/getAuditstatus")
public ResultData getAuditstatus(String appId, String auditidStr) {
Gson gson = new GsonBuilder().create();
try {
WxOpenMaService openMaService = openService.getWxOpenComponentService().getWxMaServiceByAppid(appId);
WxOpenMaQueryAuditResult openRet = openMaService.getAuditStatus(Long.valueOf(auditidStr));
@@ -222,20 +254,21 @@ public class WechatWeappCodeController {
codeStatus.setAuditStatus(EnumWeappAuditStatus.SUCCESS.getCode());
} else {
codeStatus.setAuditStatus(EnumWeappAuditStatus.FAIL.getCode());
codeStatus.setAuditErrCode(Integer.valueOf(openRet.getErrcode()));
codeStatus.setAuditErrCode(gson.toJson(openRet));
}
weappCodeStatusService.updateAuditStatus(codeStatus);
}
return new ResultData(openRet);
} catch (WxErrorException e) {
logger.error(e.getMessage());
return new ResultData(Result.ERROR, e.getMessage());
}
return new ResultData(Result.ERROR);
}

@ApiOperation("查询最新一次提交的审核状态")
@GetMapping("/getLatestAuditstatus")
public ResultData get_latest_auditstatus(String appId) {
Gson gson = new GsonBuilder().create();
try {
WxOpenMaService openMaService = openService.getWxOpenComponentService().getWxMaServiceByAppid(appId);
WxOpenMaQueryAuditResult openRet = openMaService.getLatestAuditStatus();
@@ -246,50 +279,56 @@ public class WechatWeappCodeController {
codeStatus.setAuditStatus(EnumWeappAuditStatus.SUCCESS.getCode());
} else {
codeStatus.setAuditStatus(EnumWeappAuditStatus.FAIL.getCode());
codeStatus.setAuditErrCode(Integer.valueOf(openRet.getErrcode()));
codeStatus.setAuditErrCode(gson.toJson(openRet));
}
weappCodeStatusService.updateAuditStatus(codeStatus);
}
return new ResultData(openRet);
} catch (WxErrorException e) {
logger.error(e.getMessage());
return new ResultData(Result.ERROR, e.getMessage());
}
return new ResultData(Result.ERROR);
}

@ApiOperation("发布已通过审核的小程序")
@PostMapping("/releaseAudited")
public ResultData releaesAudited(String appId) {
Gson gson = new GsonBuilder().create();
WxWeappCodeStatus codeStatus = weappCodeStatusService.getByAppId(appId);
try {
WxOpenMaService openMaService = openService.getWxOpenComponentService().getWxMaServiceByAppid(appId);
WxOpenResult openRet = openMaService.releaesAudited();
logger.info(openRet.toString());
WxWeappCodeStatus codeStatus = weappCodeStatusService.getByAppId(appId);
if(codeStatus != null) {
if(openRet.getErrcode().equals('0')) {
codeStatus.setReleaseStatus(EnumWeappReleaseStatus.SUCCESS.getCode());
} else {
codeStatus.setReleaseStatus(EnumWeappReleaseStatus.FAIL.getCode());
codeStatus.setReleaseErrCode(Integer.valueOf(openRet.getErrcode()));
codeStatus.setReleaseErrCode(gson.toJson(openRet));
}
weappCodeStatusService.updateReleaseStatus(codeStatus);
}
return new ResultData(openRet);
} catch (WxErrorException e) {
logger.error(e.getMessage());
if(codeStatus != null) {
codeStatus.setReleaseStatus(EnumWeappReleaseStatus.FAIL.getCode());
codeStatus.setReleaseErrCode(e.getMessage());
weappCodeStatusService.updateReleaseStatus(codeStatus);
}
return new ResultData(Result.ERROR, e.getMessage());
}
return new ResultData(Result.ERROR);
}

@ApiOperation("小程序版本回退")
@GetMapping("/revertCodeRelease")
public ResultData revertCodeRelease(String appId) {
WxWeappCodeStatus codeStatus = weappCodeStatusService.getByAppId(appId);
try {
WxOpenMaService openMaService = openService.getWxOpenComponentService().getWxMaServiceByAppid(appId);
WxOpenResult openRet = openMaService.revertCodeReleaes();
logger.info(openRet.toString());
if(openRet.isSuccess()) {
WxWeappCodeStatus codeStatus = weappCodeStatusService.getByAppId(appId);
if(codeStatus != null) {
codeStatus.setReleaseStatus(EnumWeappReleaseStatus.BACK.getCode());
weappCodeStatusService.updateReleaseStatus(codeStatus);
@@ -299,7 +338,12 @@ public class WechatWeappCodeController {
return new ResultData(openRet);
} catch (WxErrorException e) {
logger.error(e.getMessage());
return new ResultData(e.getMessage());
if(codeStatus != null) {
codeStatus.setReleaseStatus(EnumWeappReleaseStatus.FAIL.getCode());
codeStatus.setReleaseErrCode(e.getMessage());
weappCodeStatusService.updateReleaseStatus(codeStatus);
}
return new ResultData(Result.ERROR, e.getMessage());
}
}

@@ -313,8 +357,8 @@ public class WechatWeappCodeController {
return new ResultData(openRet);
} catch (WxErrorException e) {
logger.error(e.getMessage());
return new ResultData(Result.ERROR, e.getMessage());
}
return new ResultData(Result.ERROR);
}

@ApiOperation("设置最低基础库版本")
@@ -327,8 +371,8 @@ public class WechatWeappCodeController {
return new ResultData(openRet);
} catch (WxErrorException e) {
logger.error(e.getMessage());
return new ResultData(Result.ERROR, e.getMessage());
}
return new ResultData(Result.ERROR);
}

@ApiOperation(value = "小程序审核撤回", notes = "单个帐号每天审核撤回次数最多不超过1次,一个月不超过10次。")
@@ -347,7 +391,7 @@ public class WechatWeappCodeController {
return new ResultData();
} catch (WxErrorException e) {
logger.error(e.getMessage());
return new ResultData(Result.ERROR, e.getMessage());
}
return new ResultData(Result.ERROR);
}
}

+ 32
- 8
mallinkWechatOpen/src/main/java/com/iformall/controller/WxWeappInfoController.java View File

@@ -288,6 +288,10 @@ public class WxWeappInfoController extends BaseController {
}

private void codeOperation(String appId, String userVersion, String userDesc, Long templateId) {
Gson gson = new GsonBuilder().create();

WxAppinfo appinfo = appinfoService.getByAppId(appId);

// get ext json
WxWeappExtSet extSetQ = new WxWeappExtSet();
extSetQ.setAppId(appId);
@@ -301,7 +305,6 @@ public class WxWeappInfoController extends BaseController {
if(!codeCommitStatus) {
// code提交
try {
Gson gson = new GsonBuilder().create();
WxMaOpenCommitExtInfo extInfo = gson.fromJson(extSet.getExtJson(), new TypeToken<WxMaOpenCommitExtInfo>() {}.getType());
logger.info(extInfo.toString());
WxOpenMaService openMaService = openService.getWxOpenComponentService().getWxMaServiceByAppid(extInfo.getExtAppid());
@@ -311,7 +314,6 @@ public class WxWeappInfoController extends BaseController {
codeCommitStatus = true;
}
if (codeStatus == null) {
WxAppinfo appinfo = appinfoService.getByAppId(appId);
codeStatus = new WxWeappCodeStatus();
codeStatus.setAppId(appId);
if (appinfo != null) {
@@ -324,7 +326,7 @@ public class WxWeappInfoController extends BaseController {
} else {
codeStatus.setCodeStatus(EnumWeappCodeCommitStatus.FAIL.getCode());
}
codeStatus.setCodeErrCode(Integer.valueOf(openRet.getErrcode()));
codeStatus.setCodeErrCode(gson.toJson(openRet));
codeStatus.setCodeTime(new Date());
weappCodeStatusService.saveOrUpdate(codeStatus);
} else {
@@ -334,19 +336,38 @@ public class WxWeappInfoController extends BaseController {
codeStatus.setCodeStatus(EnumWeappCodeCommitStatus.SUCCESS.getCode());
} else {
codeStatus.setCodeStatus(EnumWeappCodeCommitStatus.FAIL.getCode());
codeStatus.setCodeErrCode(gson.toJson(openRet));
}
codeStatus.setCodeErrCode(Integer.valueOf(openRet.getErrcode()));
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);
}
}
}
// 提交审核
if(codeCommitStatus) {
try {
Gson gson= new GsonBuilder().create();
WxOpenMaSubmitAuditMessage subMessage = gson.fromJson(extSet.getReleaseJson(), new TypeToken<WxOpenMaSubmitAuditMessage>() {}.getType());
logger.info(subMessage.toString());
WxOpenMaService openMaService = openService.getWxOpenComponentService().getWxMaServiceByAppid(appId);
@@ -354,15 +375,17 @@ public class WxWeappInfoController extends BaseController {
logger.info(openRet.toString());
if(openRet.isSuccess()) {
codeStatus.setAuditStatus(EnumWeappAuditStatus.AUDITING.getCode());
codeStatus.setAuditErrCode(Integer.valueOf(openRet.getErrcode()));
weappCodeStatusService.updateAuditStatus(codeStatus);
} else {
codeStatus.setAuditStatus(EnumWeappAuditStatus.FAIL.getCode());
codeStatus.setAuditErrCode(Integer.valueOf(openRet.getErrcode()));
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);
}
}

@@ -455,6 +478,7 @@ public class WxWeappInfoController extends BaseController {
}
List<WxWeappCodeStatusVo> apps = weappCodeStatusService.getList(queryVo);
apps.stream().forEach( app -> {
Gson gson = new GsonBuilder().create();
try {
WxOpenMaService openMaService = openService.getWxOpenComponentService().getWxMaServiceByAppid(app.getAppId());
WxOpenResult openRet = openMaService.releaesAudited();
@@ -469,8 +493,8 @@ public class WxWeappInfoController extends BaseController {
codeStatus.setReleaseStatus(EnumWeappReleaseStatus.SUCCESS.getCode());
} else {
codeStatus.setReleaseStatus(EnumWeappReleaseStatus.FAIL.getCode());
codeStatus.setReleaseErrCode(gson.toJson(openRet));
}
codeStatus.setReleaseErrCode(Integer.valueOf(openRet.getErrcode()));
weappCodeStatusService.updateReleaseStatus(codeStatus);
}
} catch (WxErrorException e) {


Loading…
Cancel
Save