Browse Source

代码管理功能完善

dev_shibei_match
zhaoqifeng 5 years ago
parent
commit
b121ada3c8
  1. 1
      epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/CodeCommonFormDTO.java
  2. 6
      epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/result/CodeVersionInfoResultDTO.java
  3. 12
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/CodeController.java
  4. 5
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/CodeCustomerDao.java
  5. 22
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/CodeCustomerService.java
  6. 36
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/CodeService.java
  7. 15
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/CodeCustomerServiceImpl.java
  8. 189
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/CodeServiceImpl.java
  9. 9
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/service/WxMaCodeService.java
  10. 18
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/service/impl/WxMaCodeServiceImpl.java
  11. 15
      epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/CodeCustomerDao.xml

1
epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/CodeCommonFormDTO.java

@ -20,6 +20,7 @@ public class CodeCommonFormDTO implements Serializable {
* 代码ID * 代码ID
*/ */
private String codeId; private String codeId;
private String grayPercentage;
private String path; private String path;
private Integer page = 1; private Integer page = 1;
private Integer limit = 999; private Integer limit = 999;

6
epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/result/CodeVersionInfoResultDTO.java

@ -10,7 +10,6 @@ import java.io.Serializable;
* @dscription * @dscription
* @date 2020/8/7 14:00 * @date 2020/8/7 14:00
*/ */
@NoArgsConstructor
@Data @Data
public class CodeVersionInfoResultDTO implements Serializable { public class CodeVersionInfoResultDTO implements Serializable {
@ -28,7 +27,6 @@ public class CodeVersionInfoResultDTO implements Serializable {
*/ */
private ReleaseBean release; private ReleaseBean release;
@NoArgsConstructor
@Data @Data
public static class CommitBean { public static class CommitBean {
private String codeId; private String codeId;
@ -50,7 +48,6 @@ public class CodeVersionInfoResultDTO implements Serializable {
private String modelId; private String modelId;
} }
@NoArgsConstructor
@Data @Data
public static class AuditBean { public static class AuditBean {
private String codeId; private String codeId;
@ -76,7 +73,6 @@ public class CodeVersionInfoResultDTO implements Serializable {
private String status; private String status;
} }
@NoArgsConstructor
@Data @Data
public static class ReleaseBean { public static class ReleaseBean {
private String codeId; private String codeId;
@ -107,6 +103,6 @@ public class CodeVersionInfoResultDTO implements Serializable {
/** /**
* *
*/ */
private int grayPercentage; private Integer grayPercentage;
} }
} }

12
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/CodeController.java

@ -214,5 +214,17 @@ public class CodeController {
return new Result<PageData>().ok(pageData); return new Result<PageData>().ok(pageData);
} }
@PostMapping("version")
public Result<CodeVersionInfoResultDTO> version(@RequestBody CustomerClientFormDTO formDTO) {
CodeVersionInfoResultDTO result = codeService.version(formDTO);
return new Result<CodeVersionInfoResultDTO>().ok(result);
}
@PostMapping("speedupaudit")
public Result speedUpAudit(@RequestBody CodeCommonFormDTO formDTO) {
codeService.speedUpAudit(formDTO);
return new Result<>();
}
} }

5
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/CodeCustomerDao.java

@ -73,6 +73,8 @@ public interface CodeCustomerDao extends BaseDao<CodeCustomerEntity> {
*/ */
void deleteCode(@Param("customerId") String customerId, @Param("clientType") String clientType); void deleteCode(@Param("customerId") String customerId, @Param("clientType") String clientType);
void deleteCommitCode(@Param("customerId") String customerId, @Param("clientType") String clientType);
/** /**
* 获取审核中代码列表 * 获取审核中代码列表
* *
@ -92,7 +94,8 @@ public interface CodeCustomerDao extends BaseDao<CodeCustomerEntity> {
* @author zhaoqifeng * @author zhaoqifeng
* @date 2020/7/31 15:54 * @date 2020/7/31 15:54
*/ */
CodeCustomerDTO selectUploadCodeByCustomer(@Param("customerId") String customerId, @Param("clientType") String clientType); CodeCustomerDTO selectUploadCodeByCustomer(@Param("codeId") String codeId, @Param("customerId") String customerId,
@Param("clientType") String clientType);
/** /**

22
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/CodeCustomerService.java

@ -120,7 +120,7 @@ public interface CodeCustomerService extends BaseService<CodeCustomerEntity> {
* @param clientType * @param clientType
* @return com.epmet.dto.CodeCustomerDTO * @return com.epmet.dto.CodeCustomerDTO
*/ */
CodeCustomerDTO getUploadCodeByCustomer(String customerId, String clientType); CodeCustomerDTO getUploadCodeByCustomer(String codeId, String customerId, String clientType);
/** /**
* 删除旧代码记录 * 删除旧代码记录
@ -132,6 +132,16 @@ public interface CodeCustomerService extends BaseService<CodeCustomerEntity> {
*/ */
void deleteCode(String customerId, String clientType); void deleteCode(String customerId, String clientType);
/**
* 删除旧上传记录
* @author zhaoqifeng
* @date 2020/8/10 11:09
* @param customerId
* @param clientType
* @return void
*/
void deleteCommitCode(String customerId, String clientType);
/** /**
* 开发版 * 开发版
* @author zhaoqifeng * @author zhaoqifeng
@ -161,4 +171,14 @@ public interface CodeCustomerService extends BaseService<CodeCustomerEntity> {
* @return com.epmet.dto.CodeCustomerDTO * @return com.epmet.dto.CodeCustomerDTO
*/ */
CodeCustomerDTO getReleaseInfo(String customerId, String clientType); CodeCustomerDTO getReleaseInfo(String customerId, String clientType);
/**
* 版本回退
* @author zhaoqifeng
* @date 2020/8/10 15:50
* @param customerId
* @param clientType
* @return void
*/
void revertCodeRelease(String customerId, String clientType);
} }

36
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/CodeService.java

@ -163,4 +163,40 @@ public interface CodeService {
*/ */
PageData getCustomerList(UploadListFormDTO formDTO); PageData getCustomerList(UploadListFormDTO formDTO);
/**
* 加急审核
* @author zhaoqifeng
* @date 2020/8/10 14:57
* @param formDTO
* @return void
*/
void speedUpAudit(CodeCommonFormDTO formDTO);
/**
* 分阶段发布
* @author zhaoqifeng
* @date 2020/8/10 15:29
* @param formDTO
* @return void
*/
void grayRelease(CodeCommonFormDTO formDTO);
/**
* 取消分阶段发布
* @author zhaoqifeng
* @date 2020/8/10 15:29
* @param formDTO
* @return void
*/
void revertGrayRelease(CodeCommonFormDTO formDTO);
/**
* 版本退回
* @author zhaoqifeng
* @date 2020/8/10 15:31
* @param formDTO
* @return void
*/
void revertCodeRelease(CodeCommonFormDTO formDTO);
} }

15
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/CodeCustomerServiceImpl.java

@ -120,8 +120,8 @@ public class CodeCustomerServiceImpl extends BaseServiceImpl<CodeCustomerDao, Co
} }
@Override @Override
public CodeCustomerDTO getUploadCodeByCustomer(String customerId, String clientType) { public CodeCustomerDTO getUploadCodeByCustomer(String codeId, String customerId, String clientType) {
return baseDao.selectUploadCodeByCustomer(customerId, clientType); return baseDao.selectUploadCodeByCustomer(codeId, customerId, clientType);
} }
@Override @Override
@ -129,6 +129,11 @@ public class CodeCustomerServiceImpl extends BaseServiceImpl<CodeCustomerDao, Co
baseDao.deleteCode(customerId, clientType); baseDao.deleteCode(customerId, clientType);
} }
@Override
public void deleteCommitCode(String customerId, String clientType) {
baseDao.deleteCommitCode(customerId, clientType);
}
@Override @Override
public CodeCustomerDTO getCommitInfo(String customerId, String clientType) { public CodeCustomerDTO getCommitInfo(String customerId, String clientType) {
return baseDao.selectCommitInfo(customerId, clientType); return baseDao.selectCommitInfo(customerId, clientType);
@ -144,5 +149,11 @@ public class CodeCustomerServiceImpl extends BaseServiceImpl<CodeCustomerDao, Co
return baseDao.selectReleaseInfo(customerId, clientType); return baseDao.selectReleaseInfo(customerId, clientType);
} }
@Override
public void revertCodeRelease(String customerId, String clientType) {
CodeCustomerDTO dto = baseDao.selectLastVersion(customerId, clientType);
baseDao.updateVersion(dto.getId());
}
} }

189
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/CodeServiceImpl.java

@ -31,10 +31,7 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import java.io.File; import java.io.File;
import java.util.ArrayList; import java.util.*;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
@ -149,7 +146,8 @@ public class CodeServiceImpl implements CodeService {
CustomerDTO customerDTO = new CustomerDTO(); CustomerDTO customerDTO = new CustomerDTO();
customerDTO.setId(formDTO.getCustomerId()); customerDTO.setId(formDTO.getCustomerId());
PaCustomerDTO paCustomerDTO = paCustomerService.get(formDTO.getCustomerId()); PaCustomerDTO paCustomerDTO = paCustomerService.get(formDTO.getCustomerId());
//删除旧的开发版本
codeCustomerService.deleteCommitCode(formDTO.getCustomerId(),formDTO.getClientType());
//将上传信息存入表中 //将上传信息存入表中
CodeCustomerDTO codeCustomerDTO = ConvertUtils.sourceToTarget(formDTO, CodeCustomerDTO.class); CodeCustomerDTO codeCustomerDTO = ConvertUtils.sourceToTarget(formDTO, CodeCustomerDTO.class);
codeCustomerDTO.setCustomerName(paCustomerDTO.getCustomerName()); codeCustomerDTO.setCustomerName(paCustomerDTO.getCustomerName());
@ -157,6 +155,7 @@ public class CodeServiceImpl implements CodeService {
codeCustomerDTO.setExtJson(extJson); codeCustomerDTO.setExtJson(extJson);
codeCustomerDTO.setAppId(authInfo.getAuthorizerAppid()); codeCustomerDTO.setAppId(authInfo.getAuthorizerAppid());
codeCustomerDTO.setStatus(CodeConstant.UNAUDITED); codeCustomerDTO.setStatus(CodeConstant.UNAUDITED);
codeCustomerDTO.setCommitTime(new Date());
String codeId = codeCustomerService.save(codeCustomerDTO); String codeId = codeCustomerService.save(codeCustomerDTO);
saveOperation(formDTO.getCustomerId(), formDTO.getClientType(), codeId, formDTO.getUserVersion(), CodeConstant.OPER_UPLOAD, "上传成功"); saveOperation(formDTO.getCustomerId(), formDTO.getClientType(), codeId, formDTO.getUserVersion(), CodeConstant.OPER_UPLOAD, "上传成功");
@ -172,63 +171,76 @@ public class CodeServiceImpl implements CodeService {
CodeVersionInfoResultDTO resultDTO = new CodeVersionInfoResultDTO(); CodeVersionInfoResultDTO resultDTO = new CodeVersionInfoResultDTO();
//开发版本 //开发版本
CodeCustomerDTO commit = codeCustomerService.getCommitInfo(formDTO.getCustomerId(), formDTO.getClientType()); CodeCustomerDTO commit = codeCustomerService.getCommitInfo(formDTO.getCustomerId(), formDTO.getClientType());
resultDTO.getCommit().setCodeId(commit.getId()); if (null != commit) {
resultDTO.getCommit().setCodeInfo(commit.getUserDesc()); CodeVersionInfoResultDTO.CommitBean commitBean = new CodeVersionInfoResultDTO.CommitBean();
resultDTO.getCommit().setModelId(commit.getTemplateId()); commitBean.setCodeId(commit.getId());
resultDTO.getCommit().setVersion(commit.getUserVersion()); commitBean.setCodeInfo(commit.getUserDesc());
resultDTO.getCommit().setCommitTime(DateUtils.format(commit.getCommitTime(), DateUtils.DATE_TIME_PATTERN)); commitBean.setModelId(commit.getTemplateId());
commitBean.setVersion(commit.getUserVersion());
commitBean.setCommitTime(DateUtils.format(commit.getCommitTime(), DateUtils.DATE_TIME_PATTERN));
resultDTO.setCommit(commitBean);
}
//审核版本 //审核版本
CodeCustomerDTO audit = codeCustomerService.getAuditInfo(formDTO.getCustomerId(), formDTO.getClientType()); CodeCustomerDTO audit = codeCustomerService.getAuditInfo(formDTO.getCustomerId(), formDTO.getClientType());
resultDTO.getAudit().setCodeId(audit.getId()); if(null != audit) {
resultDTO.getAudit().setVersion(audit.getUserVersion()); CodeVersionInfoResultDTO.AuditBean auditBean = new CodeVersionInfoResultDTO.AuditBean();
resultDTO.getAudit().setCodeInfo(audit.getUserDesc()); auditBean.setCodeId(audit.getId());
if (CodeConstant.AUDITING.equals(audit.getStatus())) { auditBean.setVersion(audit.getUserVersion());
//获取小程序调用令牌 auditBean.setCodeInfo(audit.getUserDesc());
AuthorizationInfoDTO authInfo = authorizationInfoDao.getAuthInfoByCustomer(formDTO.getCustomerId(), formDTO.getClientType()); if (CodeConstant.AUDITING.equals(audit.getStatus())) {
//获取审核结果信息 //获取小程序调用令牌
CodeAuditResultDTO auditResult = codeAuditResultService.getAuditResultByCodeId(audit.getId()); AuthorizationInfoDTO authInfo = authorizationInfoDao.getAuthInfoByCustomer(formDTO.getCustomerId(), formDTO.getClientType());
//调用微信API获取最新审核状态 //获取审核结果信息
WxMaCodeAuditStatusReq request = new WxMaCodeAuditStatusReq(); CodeAuditResultDTO auditResult = codeAuditResultService.getAuditResultByCodeId(audit.getId());
request.setAuditId(auditResult.getAuditId()); //调用微信API获取最新审核状态
WxResult<WxMaAuditStatusResult> wxAuditResult = wxMaCodeService.getAuditStatus(authInfo.getAuthorizerAccessToken(), request); WxMaCodeAuditStatusReq request = new WxMaCodeAuditStatusReq();
if (wxAuditResult.success()) { request.setAuditId(auditResult.getAuditId());
WxMaAuditStatusResult result = wxAuditResult.getData(); WxResult<WxMaAuditStatusResult> wxAuditResult = wxMaCodeService.getAuditStatus(authInfo.getAuthorizerAccessToken(), request);
if (result.getStatus() == NumConstant.ZERO) { if (wxAuditResult.success()) {
audit.setStatus(CodeConstant.AUDIT_SUCCESS); WxMaAuditStatusResult result = wxAuditResult.getData();
auditResult.setResult(CodeConstant.AUDIT_SUCCESS); if (result.getStatus() == NumConstant.ZERO) {
saveOperation(formDTO.getCustomerId(), formDTO.getClientType(), audit.getId(), audit.getUserVersion(), CodeConstant.OPER_SUCCESS audit.setStatus(CodeConstant.AUDIT_SUCCESS);
, "审核成功"); auditResult.setResult(CodeConstant.AUDIT_SUCCESS);
} else if (result.getStatus() == NumConstant.ONE) { saveOperation(formDTO.getCustomerId(), formDTO.getClientType(), audit.getId(), audit.getUserVersion(), CodeConstant.OPER_SUCCESS
audit.setStatus(CodeConstant.AUDIT_FAILED); , "审核成功");
auditResult.setResult(CodeConstant.AUDIT_FAILED); } else if (result.getStatus() == NumConstant.ONE) {
auditResult.setReason(result.getReason()); audit.setStatus(CodeConstant.AUDIT_FAILED);
auditResult.setScreenShot(result.getScreenshot()); auditResult.setResult(CodeConstant.AUDIT_FAILED);
saveOperation(formDTO.getCustomerId(), formDTO.getClientType(), audit.getId(), audit.getUserVersion(), CodeConstant.OPER_FAILED, auditResult.setReason(result.getReason());
result.getReason()); auditResult.setScreenShot(result.getScreenshot());
} else if (result.getStatus() == NumConstant.FOUR) { saveOperation(formDTO.getCustomerId(), formDTO.getClientType(), audit.getId(), audit.getUserVersion(), CodeConstant.OPER_FAILED,
audit.setStatus(CodeConstant.DELAY); result.getReason());
auditResult.setResult(CodeConstant.DELAY); } else if (result.getStatus() == NumConstant.FOUR) {
auditResult.setReason(result.getReason()); audit.setStatus(CodeConstant.DELAY);
saveOperation(formDTO.getCustomerId(), formDTO.getClientType(), audit.getId(), audit.getUserVersion(), CodeConstant.OPER_DELAY, auditResult.setResult(CodeConstant.DELAY);
result.getReason()); auditResult.setReason(result.getReason());
saveOperation(formDTO.getCustomerId(), formDTO.getClientType(), audit.getId(), audit.getUserVersion(), CodeConstant.OPER_DELAY,
result.getReason());
}
codeCustomerService.update(audit);
codeAuditResultService.update(auditResult);
} }
codeCustomerService.update(audit);
codeAuditResultService.update(auditResult);
} }
auditBean.setStatus(audit.getStatus());
auditBean.setCommitTime(DateUtils.format(audit.getCommitTime(), DateUtils.DATE_TIME_PATTERN));
auditBean.setAuditTime(DateUtils.format(audit.getAuditTime(), DateUtils.DATE_TIME_PATTERN));
resultDTO.setAudit(auditBean);
} }
resultDTO.getAudit().setStatus(audit.getStatus());
resultDTO.getAudit().setCommitTime(DateUtils.format(audit.getCommitTime(), DateUtils.DATE_TIME_PATTERN));
resultDTO.getAudit().setAuditTime(DateUtils.format(audit.getAuditTime(), DateUtils.DATE_TIME_PATTERN));
//线上版本 //线上版本
CodeCustomerDTO release = codeCustomerService.getReleaseInfo(formDTO.getCustomerId(), formDTO.getClientType()); CodeCustomerDTO release = codeCustomerService.getReleaseInfo(formDTO.getCustomerId(), formDTO.getClientType());
resultDTO.getRelease().setCodeId(release.getId()); if(null != release) {
resultDTO.getRelease().setCodeInfo(release.getUserDesc()); CodeVersionInfoResultDTO.ReleaseBean releaseBean = new CodeVersionInfoResultDTO.ReleaseBean();
resultDTO.getRelease().setCommitTime(DateUtils.format(release.getCommitTime(), DateUtils.DATE_TIME_PATTERN)); releaseBean.setCodeId(release.getId());
resultDTO.getRelease().setAuditTime(DateUtils.format(release.getAuditTime(), DateUtils.DATE_TIME_PATTERN)); releaseBean.setCodeInfo(release.getUserDesc());
resultDTO.getRelease().setReleaseTime(DateUtils.format(release.getReleaseTime(), DateUtils.DATE_TIME_PATTERN)); releaseBean.setCommitTime(DateUtils.format(release.getCommitTime(), DateUtils.DATE_TIME_PATTERN));
resultDTO.getRelease().setReleaseType(release.getReleaseType()); releaseBean.setAuditTime(DateUtils.format(release.getAuditTime(), DateUtils.DATE_TIME_PATTERN));
resultDTO.getRelease().setGrayPercentage(release.getGaryPercentage()); releaseBean.setReleaseTime(DateUtils.format(release.getReleaseTime(), DateUtils.DATE_TIME_PATTERN));
resultDTO.getRelease().setVersion(release.getUserVersion()); releaseBean.setReleaseType(release.getReleaseType());
releaseBean.setGrayPercentage(release.getGaryPercentage());
releaseBean.setVersion(release.getUserVersion());
resultDTO.setRelease(releaseBean);
}
return resultDTO; return resultDTO;
} }
@ -245,7 +257,16 @@ public class CodeServiceImpl implements CodeService {
if (null == authInfo) { if (null == authInfo) {
throw new RenException("未授权"); throw new RenException("未授权");
} }
//获取上传代码信息
CodeCustomerDTO uploadCode = codeCustomerService.getUploadCodeByCustomer(formDTO.getCodeId(), codeCustomerDTO.getCustomerId(),
codeCustomerDTO.getClientType());
if (null != uploadCode) {
if (CodeConstant.AUDITING.equals(uploadCode.getStatus())) {
throw new RenException("已经有正在审核的版本");
} else {
codeCustomerService.deleteById(uploadCode.getId());
}
}
//调用微信API上提交审核 //调用微信API上提交审核
WxMaCodeSubmitAuditRequest request = new WxMaCodeSubmitAuditRequest(); WxMaCodeSubmitAuditRequest request = new WxMaCodeSubmitAuditRequest();
request.setVersionDesc(formDTO.getVersionDesc()); request.setVersionDesc(formDTO.getVersionDesc());
@ -292,6 +313,7 @@ public class CodeServiceImpl implements CodeService {
} }
//更新代码表状态 //更新代码表状态
codeCustomerDTO.setStatus(CodeConstant.AUDITING); codeCustomerDTO.setStatus(CodeConstant.AUDITING);
codeCustomerDTO.setAuditTime(new Date());
codeCustomerService.update(codeCustomerDTO); codeCustomerService.update(codeCustomerDTO);
saveOperation(codeCustomerDTO.getCustomerId(), codeCustomerDTO.getClientType(), codeCustomerDTO.getId(), codeCustomerDTO.getUserVersion(), saveOperation(codeCustomerDTO.getCustomerId(), codeCustomerDTO.getClientType(), codeCustomerDTO.getId(), codeCustomerDTO.getUserVersion(),
CodeConstant.OPER_SUBMIT, "审核中"); CodeConstant.OPER_SUBMIT, "审核中");
@ -370,6 +392,9 @@ public class CodeServiceImpl implements CodeService {
//更新代码表状态 //更新代码表状态
codeCustomerDTO.setStatus(CodeConstant.RELEASE_SUCCESS); codeCustomerDTO.setStatus(CodeConstant.RELEASE_SUCCESS);
codeCustomerDTO.setReleaseTime(new Date());
codeCustomerDTO.setReleaseType("total");
codeCustomerDTO.setGaryPercentage(NumConstant.ZERO);
codeCustomerService.update(codeCustomerDTO); codeCustomerService.update(codeCustomerDTO);
saveOperation(codeCustomerDTO.getCustomerId(), codeCustomerDTO.getClientType(), codeCustomerDTO.getId(), codeCustomerDTO.getUserVersion(), saveOperation(codeCustomerDTO.getCustomerId(), codeCustomerDTO.getClientType(), codeCustomerDTO.getId(), codeCustomerDTO.getUserVersion(),
CodeConstant.OPER_RELEASE, "发布成功"); CodeConstant.OPER_RELEASE, "发布成功");
@ -467,7 +492,6 @@ public class CodeServiceImpl implements CodeService {
public PageData history(CodeCommonFormDTO formDTO) { public PageData history(CodeCommonFormDTO formDTO) {
PageHelper.startPage(formDTO.getPage(), formDTO.getLimit()); PageHelper.startPage(formDTO.getPage(), formDTO.getLimit());
//获取上传代码信息 //获取上传代码信息
// CodeCustomerDTO codeCustomerDTO = codeCustomerService.get(formDTO.getCodeId());
List<CodeHistoryResultDTO> list = codeOperationHistoryService.getHistoryList(formDTO.getCodeId()); List<CodeHistoryResultDTO> list = codeOperationHistoryService.getHistoryList(formDTO.getCodeId());
PageInfo<CodeHistoryResultDTO> pageInfo = new PageInfo<>(list); PageInfo<CodeHistoryResultDTO> pageInfo = new PageInfo<>(list);
return new PageData<>(list, pageInfo.getTotal()); return new PageData<>(list, pageInfo.getTotal());
@ -553,6 +577,57 @@ public class CodeServiceImpl implements CodeService {
return paCustomerService.getCustomerList(formDTO); return paCustomerService.getCustomerList(formDTO);
} }
@Override
public void speedUpAudit(CodeCommonFormDTO formDTO) {
//获取上传代码信息
CodeCustomerDTO codeCustomerDTO = codeCustomerService.get(formDTO.getCodeId());
//获取小程序调用令牌
AuthorizationInfoDTO authInfo = authorizationInfoDao.getAuthInfoByCustomer(codeCustomerDTO.getCustomerId(), codeCustomerDTO.getClientType());
if (null == authInfo) {
throw new RenException("未授权");
}
//获取审核结果信息
CodeAuditResultDTO codeAuditResultDTO = codeAuditResultService.getAuditResultByCodeId(formDTO.getCodeId());
//调用微信API 加急审核
WxMaSpeedUpAuditReq speedRequest = new WxMaSpeedUpAuditReq();
speedRequest.setAuditId(codeAuditResultDTO.getAuditId());
WxResult wxSpeedResult = wxMaCodeService.speedUpAudit(authInfo.getAuthorizerAccessToken(), speedRequest);
if (!wxSpeedResult.success()) {
saveOperation(codeCustomerDTO.getCustomerId(), codeCustomerDTO.getClientType(), codeCustomerDTO.getId(),
codeCustomerDTO.getUserVersion(), CodeConstant.OPER_SUBMIT, wxSpeedResult.getErrorMsg());
throw new RenException(wxSpeedResult.getErrorCode(), wxSpeedResult.getErrorMsg());
}
}
@Override
public void grayRelease(CodeCommonFormDTO formDTO) {
}
@Override
public void revertGrayRelease(CodeCommonFormDTO formDTO) {
}
@Override
public void revertCodeRelease(CodeCommonFormDTO formDTO) {
//获取上传代码信息
CodeCustomerDTO codeCustomerDTO = codeCustomerService.get(formDTO.getCodeId());
//获取小程序调用令牌
AuthorizationInfoDTO authInfo = authorizationInfoDao.getAuthInfoByCustomer(codeCustomerDTO.getCustomerId(), codeCustomerDTO.getClientType());
if (null == authInfo) {
throw new RenException("未授权");
}
WxResult wxSpeedResult = wxMaCodeService.revertCodeRelease(authInfo.getAuthorizerAccessToken());
if (!wxSpeedResult.success()) {
saveOperation(codeCustomerDTO.getCustomerId(), codeCustomerDTO.getClientType(), codeCustomerDTO.getId(),
codeCustomerDTO.getUserVersion(), CodeConstant.OPER_SUBMIT, wxSpeedResult.getErrorMsg());
throw new RenException(wxSpeedResult.getErrorCode(), wxSpeedResult.getErrorMsg());
}
codeCustomerService.revertCodeRelease(codeCustomerDTO.getCustomerId(), codeCustomerDTO.getClientType());
codeCustomerService.deleteById(codeCustomerDTO.getId());
}
private void saveOperation(String customerId, String clientType, String codeId, String version, String operation, String describe) { private void saveOperation(String customerId, String clientType, String codeId, String version, String operation, String describe) {
CodeOperationHistoryDTO operationDTO = new CodeOperationHistoryDTO(); CodeOperationHistoryDTO operationDTO = new CodeOperationHistoryDTO();
operationDTO.setCustomerId(customerId); operationDTO.setCustomerId(customerId);

9
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/service/WxMaCodeService.java

@ -191,4 +191,13 @@ public interface WxMaCodeService {
* @date 2020/8/6 14:07 * @date 2020/8/6 14:07
*/ */
WxResult<WxBasicInfoResult> getAccountBasicInfo(String accessToken); WxResult<WxBasicInfoResult> getAccountBasicInfo(String accessToken);
/**
* 版本退回
* @author zhaoqifeng
* @date 2020/8/10 15:41
* @param accessToken
* @return com.epmet.wxapi.result.WxResult
*/
WxResult revertCodeRelease(String accessToken);
} }

18
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/service/impl/WxMaCodeServiceImpl.java

@ -293,7 +293,7 @@ public class WxMaCodeServiceImpl implements WxMaCodeService {
public WxResult<WxSupportVersionResult> getWeAppSupportVersion(String accessToken) { public WxResult<WxSupportVersionResult> getWeAppSupportVersion(String accessToken) {
WxResult<WxSupportVersionResult> result = new WxResult<>(); WxResult<WxSupportVersionResult> result = new WxResult<>();
String url = WxMaCodeConstant.GET_SUPPORT_VERSION_URL + "?" + "access_token=" + accessToken; String url = WxMaCodeConstant.GET_SUPPORT_VERSION_URL + "?" + "access_token=" + accessToken;
Result<String> statusResult = HttpClientManager.getInstance().sendPostByJSON(url, null); Result<String> statusResult = HttpClientManager.getInstance().sendPostByJSON(url, "{}");
if (!statusResult.success()) { if (!statusResult.success()) {
result.setErrorCode(statusResult.getCode()); result.setErrorCode(statusResult.getCode());
result.setErrorMsg(statusResult.getMsg()); result.setErrorMsg(statusResult.getMsg());
@ -367,6 +367,22 @@ public class WxMaCodeServiceImpl implements WxMaCodeService {
return result; return result;
} }
@Override
public WxResult revertCodeRelease(String accessToken) {
WxResult result = new WxResult();
String url = WxMaCodeConstant.REVERT_CODE_RELEASE_URL + "?" + "access_token=" + accessToken;
Result<String> setVersionResult = HttpClientManager.getInstance().sendPostByJSON(url, null);
if (!setVersionResult.success()) {
result.setErrorCode(setVersionResult.getCode());
result.setErrorMsg(setVersionResult.getMsg());
return result;
}
JSONObject jsonObject = JSONObject.parseObject(setVersionResult.getData());
result.setErrorCode(jsonObject.getInteger(ERR_CODE));
result.setErrorMsg(WxMaErrorMsgEnum.findMsgByCode(jsonObject.getInteger(ERR_CODE)));
return result;
}
private String toJson(Object object) { private String toJson(Object object) {
GsonBuilder gsonBuilder = new GsonBuilder(); GsonBuilder gsonBuilder = new GsonBuilder();
gsonBuilder.setPrettyPrinting(); gsonBuilder.setPrettyPrinting();

15
epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/CodeCustomerDao.xml

@ -21,6 +21,15 @@
<result property="updatedBy" column="UPDATED_BY"/> <result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/> <result property="updatedTime" column="UPDATED_TIME"/>
</resultMap> </resultMap>
<update id="deleteCommitCode">
UPDATE code_customer
SET
DEL_FLAG = '1'
WHERE CUSTOMER_ID = #{customerId}
AND CLIENT_TYPE = #{clientType}
AND STATUS = 'unaudited'
AND DEL_FLAG = '0'
</update>
<select id="selectCodeList" resultType="com.epmet.dto.result.UploadListResultDTO" parameterType="com.epmet.dto.form.UploadListFormDTO"> <select id="selectCodeList" resultType="com.epmet.dto.result.UploadListResultDTO" parameterType="com.epmet.dto.form.UploadListFormDTO">
SELECT SELECT
@ -96,6 +105,9 @@
code_customer code_customer
WHERE CUSTOMER_ID = #{customerId} WHERE CUSTOMER_ID = #{customerId}
AND CLIENT_TYPE = #{clientType} AND CLIENT_TYPE = #{clientType}
AND ID != #{codeId}
AND STATUS != 'unaudited'
AND STATUS != 'release_success'
AND DEL_FLAG = '0' AND DEL_FLAG = '0'
</select> </select>
<update id="deleteCode"> <update id="deleteCode">
@ -116,8 +128,9 @@
FROM code_customer FROM code_customer
WHERE CUSTOMER_ID = #{customerId} WHERE CUSTOMER_ID = #{customerId}
AND CLIENT_TYPE = #{clientType} AND CLIENT_TYPE = #{clientType}
AND STATUS = 'unaudited'
AND DEL_FLAG = '0' AND DEL_FLAG = '0'
ORDER BY COMMIT_TIME DESC
LIMIT 1
</select> </select>
<select id="selectAuditInfo" resultType="com.epmet.dto.CodeCustomerDTO"> <select id="selectAuditInfo" resultType="com.epmet.dto.CodeCustomerDTO">
SELECT ID, SELECT ID,

Loading…
Cancel
Save