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