diff --git a/mallinkService/src/main/java/com/iformall/domain/dto/WxCUserBasicInfoDto.java b/mallinkService/src/main/java/com/iformall/domain/dto/WxCUserBasicInfoDto.java index 903032b..526487e 100644 --- a/mallinkService/src/main/java/com/iformall/domain/dto/WxCUserBasicInfoDto.java +++ b/mallinkService/src/main/java/com/iformall/domain/dto/WxCUserBasicInfoDto.java @@ -1,5 +1,7 @@ package com.iformall.domain.dto; +import lombok.Data; + import java.io.Serializable; import java.util.Date; @@ -10,6 +12,7 @@ import javax.persistence.Transient; * @author jinguo * */ +@Data public class WxCUserBasicInfoDto implements Serializable{ /** @@ -31,10 +34,9 @@ public class WxCUserBasicInfoDto implements Serializable{ @io.swagger.annotations.ApiModelProperty(value="姓名",name="name") private String name; - - /*租户id**/ -// @io.swagger.annotations.ApiModelProperty(value="租户id",name="tenantId") + @Transient + @io.swagger.annotations.ApiModelProperty(value="租户id",name="tenantId") private String tenantId; @Transient @@ -50,95 +52,5 @@ public class WxCUserBasicInfoDto implements Serializable{ @Transient private Integer sex; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public Date getBirthStartTime() { - return birthStartTime; - } - - public void setBirthStartTime(Date birthStartTime) { - this.birthStartTime = birthStartTime; - } - - public Date getBirthEndTime() { - return birthEndTime; - } - - public void setBirthEndTime(Date birthEndTime) { - this.birthEndTime = birthEndTime; - } - - public Integer getSex() { - return sex; - } - - public void setSex(Integer sex) { - this.sex = sex; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getTenantId() { - return tenantId; - } - - public void setTenantId(String tenantId) { - this.tenantId = tenantId; - } - - public Date getStartTime() { - return startTime; - } - - public void setStartTime(Date startTime) { - this.startTime = startTime; - } - - public Date getEndTime() { - return endTime; - } - - public void setEndTime(Date endTime) { - this.endTime = endTime; - } - - public String getPhone() { - return phone; - } - - public void setPhone(String phone) { - this.phone = phone; - } - - - public Integer getLevelEndScore() { - return levelEndScore; - } - - public void setLevelEndScore(Integer levelEndScore) { - this.levelEndScore = levelEndScore; - } - - public Integer getLevelStartScore() { - - return levelStartScore; - } - - public void setLevelStartScore(Integer levelStartScore) { - this.levelStartScore = levelStartScore; - } } diff --git a/mallinkService/src/main/java/com/iformall/domain/dto/WxWeappCodeAuditDto.java b/mallinkService/src/main/java/com/iformall/domain/dto/WxWeappCodeAuditDto.java new file mode 100644 index 0000000..bbd3c61 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/domain/dto/WxWeappCodeAuditDto.java @@ -0,0 +1,28 @@ +package com.iformall.domain.dto; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 审核提交 + * @author Stormeye + * + */ +@Data +public class WxWeappCodeAuditDto implements Serializable { + + private static final long serialVersionUID = -1116465873573690766L; + + @io.swagger.annotations.ApiModelProperty(value="appId",name="appId") + private String appId; + + @io.swagger.annotations.ApiModelProperty(value="版本信息",name="version") + private String version; + + @io.swagger.annotations.ApiModelProperty(value="反馈内容,不超过200字",name="feedbackInfo") + private String feedbackInfo; + + @io.swagger.annotations.ApiModelProperty(value="图片media_id列表,中间用“丨”分割,xx丨yy丨zz,不超过5张图片, 其中 media_id 可以通过新增临时素材接口上传而得到",name="feedbackStuff") + private String feedbackStuff; +} diff --git a/mlWechatOpen/src/main/java/com/iformall/controller/WechatWeappCodeController.java b/mlWechatOpen/src/main/java/com/iformall/controller/WechatWeappCodeController.java index bf1cde5..7e91dbb 100644 --- a/mlWechatOpen/src/main/java/com/iformall/controller/WechatWeappCodeController.java +++ b/mlWechatOpen/src/main/java/com/iformall/controller/WechatWeappCodeController.java @@ -6,6 +6,7 @@ import com.google.gson.reflect.TypeToken; import com.iformall.common.ErrorCode; import com.iformall.common.Result; import com.iformall.common.ResultData; +import com.iformall.domain.dto.WxWeappCodeAuditDto; import com.iformall.domain.po.*; import com.iformall.domain.vo.WxWeappCodeStatusVo; import com.iformall.enums.*; @@ -225,7 +226,7 @@ public class WechatWeappCodeController { } } - @ApiOperation("将第三方提交的代码包提交审核") + @ApiOperation("将第三方提交的代码包提交审核 -- 即将废弃") @GetMapping("/submitAudit") @ApiImplicitParams({ @ApiImplicitParam(name = "appId", value = "appId", dataType = "String", paramType = "query", required = true), @@ -316,6 +317,100 @@ public class WechatWeappCodeController { return new ResultData(ErrorCode.WEAPP_CODE_COMMIT_ERR); } + @ApiOperation("将第三方提交的代码包提交审核") + @PostMapping("/submitAuditWithFeedBack") + public ResultData submitAudit(@RequestBody WxWeappCodeAuditDto codeAuditDto) { + Gson gson = new GsonBuilder().create(); + WxWeappExtSet extSetQ = new WxWeappExtSet(); + extSetQ.setAppId(codeAuditDto.getAppId()); + 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(codeAuditDto.getAppId()); + if(StringUtils.isNotBlank(codeAuditDto.getVersion())) { + codeQ.setUserVersion(codeAuditDto.getVersion()); + } + List codeStatusList = weappCodeStatusService.getList(codeQ); + if(codeStatusList.size() == 1) { + WxWeappCodeStatusVo codeStatus = codeStatusList.get(0); + WxOpenMaSubmitAuditMessage subMessage = gson.fromJson(extSet.getReleaseJson(), new TypeToken() {}.getType()); + if(StringUtils.isNotBlank(codeAuditDto.getFeedbackInfo())) { + subMessage.setFeedbackInfo(codeAuditDto.getFeedbackInfo()); + } + if(StringUtils.isNotBlank(codeAuditDto.getFeedbackStuff())) { + subMessage.setFeedbackStuff(codeAuditDto.getFeedbackStuff()); + } + if(codeStatus != null && codeStatus.getCodeStatus().equals(EnumWeappCodeCommitStatus.SUCCESS.getCode())) { + WxWeappAuditStatus auditStatus = weappAuditStatusService.getByAppId(codeAuditDto.getAppId()); + boolean submitStatus = false; + String codeErrCode = ""; + try { + WxOpenMaService openMaService = openService.getWxOpenComponentService().getWxMaServiceByAppid(codeAuditDto.getAppId()); + 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 = e.getMessage(); + } + + if (auditStatus == null) { + auditStatus = new WxWeappAuditStatus(); + auditStatus.setId(codeStatus.getId()); + auditStatus.setTenantId(codeStatus.getTenantId()); + 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 { + 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()); + } + 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); + } + } 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("查询某个指定版本的审核状态") @PostMapping("/getAuditstatus") public ResultData getAuditstatus(String appId, String auditidStr) {