Commit a974d055b6e2ed323f47aae550e985d38ae8ab08

Authored by YunaiV
1 parent c6a97515

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

yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/business/package-info.java deleted
1 -/**  
2 - * 商机(销售机会)  
3 - */  
4 -package cn.iocoder.yudao.module.crm.service.business;  
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/clue/package-info.java deleted
1 -/**  
2 - * 线索  
3 - */  
4 -package cn.iocoder.yudao.module.crm.service.clue;  
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/product/package-info.java deleted
1 -/**  
2 - * 产品表  
3 - */  
4 -package cn.iocoder.yudao.module.crm.service.product;  
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/receivable/CrmReceivablePlanServiceImpl.java
@@ -52,7 +52,10 @@ public class CrmReceivablePlanServiceImpl implements CrmReceivablePlanService { @@ -52,7 +52,10 @@ public class CrmReceivablePlanServiceImpl implements CrmReceivablePlanService {
52 private CrmPermissionService crmPermissionService; 52 private CrmPermissionService crmPermissionService;
53 53
54 @Override 54 @Override
  55 + // TODO @puhui999:操作日志
55 public Long createReceivablePlan(CrmReceivablePlanCreateReqVO createReqVO, Long userId) { 56 public Long createReceivablePlan(CrmReceivablePlanCreateReqVO createReqVO, Long userId) {
  57 + // TODO @liuhongfeng:第几期的计算;基于是 contractId + contractDO 的第几个还款
  58 + // TODO @liuhongfeng contractId:校验合同是否存在
56 // 插入 59 // 插入
57 CrmReceivablePlanDO receivablePlan = CrmReceivablePlanConvert.INSTANCE.convert(createReqVO); 60 CrmReceivablePlanDO receivablePlan = CrmReceivablePlanConvert.INSTANCE.convert(createReqVO);
58 receivablePlan.setFinishStatus(false); 61 receivablePlan.setFinishStatus(false);
@@ -87,7 +90,9 @@ public class CrmReceivablePlanServiceImpl implements CrmReceivablePlanService { @@ -87,7 +90,9 @@ public class CrmReceivablePlanServiceImpl implements CrmReceivablePlanService {
87 90
88 @Override 91 @Override
89 @CrmPermission(bizType = CrmBizTypeEnum.CRM_RECEIVABLE_PLAN, bizId = "#updateReqVO.id", level = CrmPermissionLevelEnum.WRITE) 92 @CrmPermission(bizType = CrmBizTypeEnum.CRM_RECEIVABLE_PLAN, bizId = "#updateReqVO.id", level = CrmPermissionLevelEnum.WRITE)
  93 + // TODO @puhui999:操作日志
90 public void updateReceivablePlan(CrmReceivablePlanUpdateReqVO updateReqVO) { 94 public void updateReceivablePlan(CrmReceivablePlanUpdateReqVO updateReqVO) {
  95 + // TODO @liuhongfeng:如果已经有对应的还款,则不允许编辑;
91 // 校验存在 96 // 校验存在
92 validateReceivablePlanExists(updateReqVO.getId()); 97 validateReceivablePlanExists(updateReqVO.getId());
93 98
@@ -136,6 +141,7 @@ public class CrmReceivablePlanServiceImpl implements CrmReceivablePlanService { @@ -136,6 +141,7 @@ public class CrmReceivablePlanServiceImpl implements CrmReceivablePlanService {
136 return receivablePlanMapper.selectPageByCustomerId(pageReqVO); 141 return receivablePlanMapper.selectPageByCustomerId(pageReqVO);
137 } 142 }
138 143
  144 + // TODO @puhui999:这个没有 transfer 接口;可能是的哈
139 @Override 145 @Override
140 public void transferReceivablePlan(CrmReceivablePlanTransferReqVO reqVO, Long userId) { 146 public void transferReceivablePlan(CrmReceivablePlanTransferReqVO reqVO, Long userId) {
141 // 1 校验回款计划是否存在 147 // 1 校验回款计划是否存在
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/receivable/CrmReceivableServiceImpl.java
@@ -53,10 +53,10 @@ public class CrmReceivableServiceImpl implements CrmReceivableService { @@ -53,10 +53,10 @@ public class CrmReceivableServiceImpl implements CrmReceivableService {
53 @Resource 53 @Resource
54 private CrmPermissionService crmPermissionService; 54 private CrmPermissionService crmPermissionService;
55 55
56 - // TODO @liuhongfeng:创建还款后,是不是什么时候,要更新 plan?  
57 @Override 56 @Override
  57 + // TODO @puhui999:操作日志
58 public Long createReceivable(CrmReceivableCreateReqVO createReqVO) { 58 public Long createReceivable(CrmReceivableCreateReqVO createReqVO) {
59 - // 插入 59 + // 插入还款
60 CrmReceivableDO receivable = CrmReceivableConvert.INSTANCE.convert(createReqVO); 60 CrmReceivableDO receivable = CrmReceivableConvert.INSTANCE.convert(createReqVO);
61 if (ObjectUtil.isNull(receivable.getAuditStatus())) { 61 if (ObjectUtil.isNull(receivable.getAuditStatus())) {
62 receivable.setAuditStatus(CommonStatusEnum.ENABLE.getStatus()); 62 receivable.setAuditStatus(CommonStatusEnum.ENABLE.getStatus());
@@ -64,15 +64,17 @@ public class CrmReceivableServiceImpl implements CrmReceivableService { @@ -64,15 +64,17 @@ public class CrmReceivableServiceImpl implements CrmReceivableService {
64 receivable.setAuditStatus(CrmAuditStatusEnum.DRAFT.getStatus()); 64 receivable.setAuditStatus(CrmAuditStatusEnum.DRAFT.getStatus());
65 65
66 // TODO @liuhongfeng:一般来说,逻辑的写法,是要先检查,后操作 db;所以,你这个 check 应该放到 CrmReceivableDO receivable 之前; 66 // TODO @liuhongfeng:一般来说,逻辑的写法,是要先检查,后操作 db;所以,你这个 check 应该放到 CrmReceivableDO receivable 之前;
67 - // 校验  
68 checkReceivable(receivable); 67 checkReceivable(receivable);
69 68
70 receivableMapper.insert(receivable); 69 receivableMapper.insert(receivable);
  70 +
  71 + // TODO @liuhongfeng:需要更新关联的 plan
71 return receivable.getId(); 72 return receivable.getId();
72 } 73 }
73 74
74 // TODO @liuhongfeng:这里的括号要注意排版; 75 // TODO @liuhongfeng:这里的括号要注意排版;
75 private void checkReceivable(CrmReceivableDO receivable) { 76 private void checkReceivable(CrmReceivableDO receivable) {
  77 + // TODO @liuhongfeng:校验 no 的唯一性
76 // TODO @liuhongfeng:这个放在参数校验合适 78 // TODO @liuhongfeng:这个放在参数校验合适
77 if (ObjectUtil.isNull(receivable.getContractId())) { 79 if (ObjectUtil.isNull(receivable.getContractId())) {
78 throw exception(CONTRACT_NOT_EXISTS); 80 throw exception(CONTRACT_NOT_EXISTS);
@@ -96,17 +98,29 @@ public class CrmReceivableServiceImpl implements CrmReceivableService { @@ -96,17 +98,29 @@ public class CrmReceivableServiceImpl implements CrmReceivableService {
96 } 98 }
97 99
98 @Override 100 @Override
  101 + // TODO @puhui999:操作日志
  102 + // TODO @puhui999:权限校验
99 public void updateReceivable(CrmReceivableUpdateReqVO updateReqVO) { 103 public void updateReceivable(CrmReceivableUpdateReqVO updateReqVO) {
100 // 校验存在 104 // 校验存在
101 validateReceivableExists(updateReqVO.getId()); 105 validateReceivableExists(updateReqVO.getId());
  106 + // TODO @liuhongfeng:只有在草稿、审核中,可以提交修改
102 107
103 - // 更新 108 + // 更新还款
104 CrmReceivableDO updateObj = CrmReceivableConvert.INSTANCE.convert(updateReqVO); 109 CrmReceivableDO updateObj = CrmReceivableConvert.INSTANCE.convert(updateReqVO);
105 receivableMapper.updateById(updateObj); 110 receivableMapper.updateById(updateObj);
  111 +
  112 + // TODO @liuhongfeng:需要更新关联的 plan
106 } 113 }
107 114
  115 + // TODO @liuhongfeng:缺一个取消合同的接口;只有草稿、审批中可以取消;CrmAuditStatusEnum
  116 +
  117 + // TODO @liuhongfeng:缺一个发起审批的接口;只有草稿可以发起审批;CrmAuditStatusEnum
  118 +
108 @Override 119 @Override
  120 + // TODO @puhui999:操作日志
  121 + // TODO @puhui999:权限校验
109 public void deleteReceivable(Long id) { 122 public void deleteReceivable(Long id) {
  123 + // TODO @liuhongfeng:如果被 CrmReceivablePlanDO 所使用,则不允许删除
110 // 校验存在 124 // 校验存在
111 validateReceivableExists(id); 125 validateReceivableExists(id);
112 // 删除 126 // 删除
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/receivable/package-info.java deleted
1 -/**  
2 - * 回款  
3 - */  
4 -package cn.iocoder.yudao.module.crm.service.receivable;