|
@@ -42,8 +42,10 @@ public class CrmContractServiceImpl implements CrmContractService {
|
|
|
private CrmPermissionService crmPermissionService;
|
|
|
|
|
|
@Override
|
|
|
+ // TODO @puhui999:添加操作日志
|
|
|
public Long createContract(CrmContractCreateReqVO createReqVO, Long userId) {
|
|
|
- // 插入
|
|
|
+ // TODO @合同待定:插入合同商品;需要搞个 BusinessProductDO
|
|
|
+ // 插入合同
|
|
|
CrmContractDO contract = CrmContractConvert.INSTANCE.convert(createReqVO);
|
|
|
contractMapper.insert(contract);
|
|
|
|
|
@@ -57,18 +59,26 @@ public class CrmContractServiceImpl implements CrmContractService {
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@CrmPermission(bizType = CrmBizTypeEnum.CRM_CONTRACT, bizId = "#updateReqVO.id", level = CrmPermissionLevelEnum.WRITE)
|
|
|
+ // TODO @puhui999:添加操作日志
|
|
|
public void updateContract(CrmContractUpdateReqVO updateReqVO) {
|
|
|
+ // TODO @合同待定:只有草稿、审批中,可以编辑;
|
|
|
// 校验存在
|
|
|
validateContractExists(updateReqVO.getId());
|
|
|
- // 更新
|
|
|
+ // 更新合同
|
|
|
CrmContractDO updateObj = CrmContractConvert.INSTANCE.convert(updateReqVO);
|
|
|
contractMapper.updateById(updateObj);
|
|
|
+ // TODO @合同待定:插入合同商品;需要搞个 BusinessProductDO
|
|
|
}
|
|
|
|
|
|
+ // TODO @合同待定:缺一个取消合同的接口;只有草稿、审批中可以取消;CrmAuditStatusEnum
|
|
|
+
|
|
|
+ // TODO @合同待定:缺一个发起审批的接口;只有草稿可以发起审批;CrmAuditStatusEnum
|
|
|
+
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@CrmPermission(bizType = CrmBizTypeEnum.CRM_CONTRACT, bizId = "#id", level = CrmPermissionLevelEnum.OWNER)
|
|
|
public void deleteContract(Long id) {
|
|
|
+ // TODO @合同待定:如果被 CrmReceivableDO 所使用,则不允许删除
|
|
|
// 校验存在
|
|
|
validateContractExists(id);
|
|
|
// 删除
|
|
@@ -112,6 +122,8 @@ public class CrmContractServiceImpl implements CrmContractService {
|
|
|
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
+ // 3. TODO @puhui999:记录转移日志
|
|
|
+ // TODO @puhui999:权限校验,这里要搞哇?
|
|
|
public void transferContract(CrmContractTransferReqVO reqVO, Long userId) {
|
|
|
// 1. 校验合同是否存在
|
|
|
validateContractExists(reqVO.getId());
|
|
@@ -121,9 +133,7 @@ public class CrmContractServiceImpl implements CrmContractService {
|
|
|
CrmContractConvert.INSTANCE.convert(reqVO, userId).setBizType(CrmBizTypeEnum.CRM_CONTRACT.getType()));
|
|
|
// 2.2 设置负责人
|
|
|
contractMapper.updateOwnerUserIdById(reqVO.getId(), reqVO.getNewOwnerUserId());
|
|
|
-
|
|
|
- // 3. TODO 记录转移日志
|
|
|
-
|
|
|
}
|
|
|
|
|
|
+ // TODO @合同待定:需要新增一个 ContractConfigDO 表,合同配置,重点是到期提醒;
|
|
|
}
|