CRM: 流程状态转换封装

This commit is contained in:
puhui999 2024-02-23 12:20:08 +08:00
parent 0a97ff03c6
commit 5892c8897f
3 changed files with 13 additions and 26 deletions

View File

@ -11,7 +11,6 @@ import cn.iocoder.yudao.framework.common.util.object.ObjectUtils;
import cn.iocoder.yudao.module.bpm.api.listener.dto.BpmResultListenerRespDTO;
import cn.iocoder.yudao.module.bpm.api.task.BpmProcessInstanceApi;
import cn.iocoder.yudao.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO;
import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum;
import cn.iocoder.yudao.module.crm.controller.admin.contract.vo.CrmContractPageReqVO;
import cn.iocoder.yudao.module.crm.controller.admin.contract.vo.CrmContractSaveReqVO;
import cn.iocoder.yudao.module.crm.controller.admin.contract.vo.CrmContractTransferReqVO;
@ -48,6 +47,8 @@ import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionU
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.*;
import static cn.iocoder.yudao.module.crm.enums.ErrorCodeConstants.*;
import static cn.iocoder.yudao.module.crm.enums.LogRecordConstants.*;
import static cn.iocoder.yudao.module.crm.util.CrmAuditStatusUtils.convertAuditStatus;
import static cn.iocoder.yudao.module.crm.util.CrmAuditStatusUtils.isEndResult;
/**
* CRM 合同 Service 实现类
@ -296,32 +297,12 @@ public class CrmContractServiceImpl implements CrmContractService {
if (!isEndResult(event.getResult())) {
return;
}
// 状态转换
if (ObjUtil.equal(event.getResult(), BpmProcessInstanceResultEnum.APPROVE.getResult())) {
event.setResult(CrmAuditStatusEnum.APPROVE.getStatus());
}
if (ObjUtil.equal(event.getResult(), BpmProcessInstanceResultEnum.REJECT.getResult())) {
event.setResult(CrmAuditStatusEnum.REJECT.getStatus());
}
if (ObjUtil.equal(event.getResult(), BpmProcessInstanceResultEnum.CANCEL.getResult())) {
event.setResult(CrmAuditStatusEnum.CANCEL.getStatus());
}
convertAuditStatus(event);
// 更新合同状态
contractMapper.updateById(new CrmContractDO().setId(Long.parseLong(event.getBusinessKey()))
.setAuditStatus(event.getResult()));
}
/**
* 判断该结果是否处于 End 最终结果
*
* @param result 结果
* @return 是否
*/
public static boolean isEndResult(Integer result) {
return ObjectUtils.equalsAny(result, BpmProcessInstanceResultEnum.APPROVE.getResult(),
BpmProcessInstanceResultEnum.REJECT.getResult(), BpmProcessInstanceResultEnum.CANCEL.getResult());
}
//======================= 查询相关 =======================
@Override

View File

@ -43,6 +43,7 @@ import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionU
import static cn.iocoder.yudao.module.crm.enums.ErrorCodeConstants.*;
import static cn.iocoder.yudao.module.crm.enums.LogRecordConstants.*;
import static cn.iocoder.yudao.module.crm.util.CrmAuditStatusUtils.convertAuditStatus;
import static cn.iocoder.yudao.module.crm.util.CrmAuditStatusUtils.isEndResult;
/**
* CRM 回款 Service 实现类
@ -142,6 +143,10 @@ public class CrmReceivableServiceImpl implements CrmReceivableService {
@Override
public void updateReceivableAuditStatus(BpmResultListenerRespDTO event) {
// 判断下状态是否符合预期
if (!isEndResult(event.getResult())) {
return;
}
convertAuditStatus(event);
// 更新回款审批状态
receivableMapper.updateById(new CrmReceivableDO().setId(Long.parseLong(event.getBusinessKey()))

View File

@ -13,11 +13,12 @@ import cn.iocoder.yudao.module.crm.enums.common.CrmAuditStatusEnum;
*/
public class CrmAuditStatusUtils {
/**
* 流程审批状态转换
*
* @param event 业务流程实例的结果
*/
public static void convertAuditStatus(BpmResultListenerRespDTO event) {
// 判断下状态是否符合预期
if (!isEndResult(event.getResult())) {
return;
}
// 状态转换
if (ObjUtil.equal(event.getResult(), BpmProcessInstanceResultEnum.APPROVE.getResult())) {
event.setResult(CrmAuditStatusEnum.APPROVE.getStatus());