Commit c6a975151102dc6f221ac86159ad8a38d871ac55

Authored by YunaiV
1 parent 2668e0cf

📖 CRM:【合同】code review 合同的代码,补全对应的 todo list

yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/contract/CrmContractServiceImpl.java
@@ -42,8 +42,10 @@ public class CrmContractServiceImpl implements CrmContractService { @@ -42,8 +42,10 @@ public class CrmContractServiceImpl implements CrmContractService {
42 private CrmPermissionService crmPermissionService; 42 private CrmPermissionService crmPermissionService;
43 43
44 @Override 44 @Override
  45 + // TODO @puhui999:添加操作日志
45 public Long createContract(CrmContractCreateReqVO createReqVO, Long userId) { 46 public Long createContract(CrmContractCreateReqVO createReqVO, Long userId) {
46 - // 插入 47 + // TODO @合同待定:插入合同商品;需要搞个 BusinessProductDO
  48 + // 插入合同
47 CrmContractDO contract = CrmContractConvert.INSTANCE.convert(createReqVO); 49 CrmContractDO contract = CrmContractConvert.INSTANCE.convert(createReqVO);
48 contractMapper.insert(contract); 50 contractMapper.insert(contract);
49 51
@@ -57,18 +59,26 @@ public class CrmContractServiceImpl implements CrmContractService { @@ -57,18 +59,26 @@ public class CrmContractServiceImpl implements CrmContractService {
57 @Override 59 @Override
58 @Transactional(rollbackFor = Exception.class) 60 @Transactional(rollbackFor = Exception.class)
59 @CrmPermission(bizType = CrmBizTypeEnum.CRM_CONTRACT, bizId = "#updateReqVO.id", level = CrmPermissionLevelEnum.WRITE) 61 @CrmPermission(bizType = CrmBizTypeEnum.CRM_CONTRACT, bizId = "#updateReqVO.id", level = CrmPermissionLevelEnum.WRITE)
  62 + // TODO @puhui999:添加操作日志
60 public void updateContract(CrmContractUpdateReqVO updateReqVO) { 63 public void updateContract(CrmContractUpdateReqVO updateReqVO) {
  64 + // TODO @合同待定:只有草稿、审批中,可以编辑;
61 // 校验存在 65 // 校验存在
62 validateContractExists(updateReqVO.getId()); 66 validateContractExists(updateReqVO.getId());
63 - // 更新 67 + // 更新合同
64 CrmContractDO updateObj = CrmContractConvert.INSTANCE.convert(updateReqVO); 68 CrmContractDO updateObj = CrmContractConvert.INSTANCE.convert(updateReqVO);
65 contractMapper.updateById(updateObj); 69 contractMapper.updateById(updateObj);
  70 + // TODO @合同待定:插入合同商品;需要搞个 BusinessProductDO
66 } 71 }
67 72
  73 + // TODO @合同待定:缺一个取消合同的接口;只有草稿、审批中可以取消;CrmAuditStatusEnum
  74 +
  75 + // TODO @合同待定:缺一个发起审批的接口;只有草稿可以发起审批;CrmAuditStatusEnum
  76 +
68 @Override 77 @Override
69 @Transactional(rollbackFor = Exception.class) 78 @Transactional(rollbackFor = Exception.class)
70 @CrmPermission(bizType = CrmBizTypeEnum.CRM_CONTRACT, bizId = "#id", level = CrmPermissionLevelEnum.OWNER) 79 @CrmPermission(bizType = CrmBizTypeEnum.CRM_CONTRACT, bizId = "#id", level = CrmPermissionLevelEnum.OWNER)
71 public void deleteContract(Long id) { 80 public void deleteContract(Long id) {
  81 + // TODO @合同待定:如果被 CrmReceivableDO 所使用,则不允许删除
72 // 校验存在 82 // 校验存在
73 validateContractExists(id); 83 validateContractExists(id);
74 // 删除 84 // 删除
@@ -112,6 +122,8 @@ public class CrmContractServiceImpl implements CrmContractService { @@ -112,6 +122,8 @@ public class CrmContractServiceImpl implements CrmContractService {
112 122
113 @Override 123 @Override
114 @Transactional(rollbackFor = Exception.class) 124 @Transactional(rollbackFor = Exception.class)
  125 + // 3. TODO @puhui999:记录转移日志
  126 + // TODO @puhui999:权限校验,这里要搞哇?
115 public void transferContract(CrmContractTransferReqVO reqVO, Long userId) { 127 public void transferContract(CrmContractTransferReqVO reqVO, Long userId) {
116 // 1. 校验合同是否存在 128 // 1. 校验合同是否存在
117 validateContractExists(reqVO.getId()); 129 validateContractExists(reqVO.getId());
@@ -121,9 +133,7 @@ public class CrmContractServiceImpl implements CrmContractService { @@ -121,9 +133,7 @@ public class CrmContractServiceImpl implements CrmContractService {
121 CrmContractConvert.INSTANCE.convert(reqVO, userId).setBizType(CrmBizTypeEnum.CRM_CONTRACT.getType())); 133 CrmContractConvert.INSTANCE.convert(reqVO, userId).setBizType(CrmBizTypeEnum.CRM_CONTRACT.getType()));
122 // 2.2 设置负责人 134 // 2.2 设置负责人
123 contractMapper.updateOwnerUserIdById(reqVO.getId(), reqVO.getNewOwnerUserId()); 135 contractMapper.updateOwnerUserIdById(reqVO.getId(), reqVO.getNewOwnerUserId());
124 -  
125 - // 3. TODO 记录转移日志  
126 -  
127 } 136 }
128 137
  138 + // TODO @合同待定:需要新增一个 ContractConfigDO 表,合同配置,重点是到期提醒;
129 } 139 }