|
@@ -5,6 +5,7 @@ import cn.iocoder.yudao.framework.security.core.LoginUser;
|
|
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
|
|
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
|
|
import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
|
|
import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
|
|
import cn.iocoder.yudao.module.customer.controller.admin.info.vo.CustomerInfoRespVO;
|
|
import cn.iocoder.yudao.module.customer.controller.admin.info.vo.CustomerInfoRespVO;
|
|
|
|
+import cn.iocoder.yudao.module.customer.dal.dataobject.info.CustomerInfoDO;
|
|
import cn.iocoder.yudao.module.customer.service.info.CustomerInfoService;
|
|
import cn.iocoder.yudao.module.customer.service.info.CustomerInfoService;
|
|
import cn.iocoder.yudao.module.employee.api.EmployeeApi;
|
|
import cn.iocoder.yudao.module.employee.api.EmployeeApi;
|
|
import cn.iocoder.yudao.module.employee.api.dto.EmployeeRespDTO;
|
|
import cn.iocoder.yudao.module.employee.api.dto.EmployeeRespDTO;
|
|
@@ -12,6 +13,7 @@ import cn.iocoder.yudao.module.infra.api.file.FileApi;
|
|
import cn.iocoder.yudao.module.infra.api.file.dto.FileDTO;
|
|
import cn.iocoder.yudao.module.infra.api.file.dto.FileDTO;
|
|
import cn.iocoder.yudao.module.system.api.dept.DeptApi;
|
|
import cn.iocoder.yudao.module.system.api.dept.DeptApi;
|
|
import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
|
|
import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
@@ -30,7 +32,7 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
|
import cn.iocoder.yudao.module.customer.dal.mysql.businessopportunity.CustomerBusinessOpportunityMapper;
|
|
import cn.iocoder.yudao.module.customer.dal.mysql.businessopportunity.CustomerBusinessOpportunityMapper;
|
|
|
|
|
|
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
|
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
|
-import static cn.iocoder.yudao.module.customer.enums.ErrorCodeConstants.CUSTOMER_BUSINESS_OPPORTUNITY_NOT_EXISTS;
|
|
|
|
|
|
+import static cn.iocoder.yudao.module.customer.enums.ErrorCodeConstants.*;
|
|
|
|
|
|
/**
|
|
/**
|
|
* 客户商机 Service 实现类
|
|
* 客户商机 Service 实现类
|
|
@@ -54,6 +56,14 @@ public class CustomerBusinessOpportunityServiceImpl implements CustomerBusinessO
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public Long createBusinessOpportunity(CustomerBusinessOpportunitySaveReqVO createReqVO) {
|
|
public Long createBusinessOpportunity(CustomerBusinessOpportunitySaveReqVO createReqVO) {
|
|
|
|
+ // 商机编号判重
|
|
|
|
+ if (StringUtils.isNotBlank(createReqVO.getOpportunityCode())
|
|
|
|
+ && businessOpportunityMapper.selectOne(
|
|
|
|
+ new LambdaQueryWrapper<CustomerBusinessOpportunityDO>()
|
|
|
|
+ .eq(CustomerBusinessOpportunityDO::getOpportunityCode,
|
|
|
|
+ createReqVO.getOpportunityCode())) != null) {
|
|
|
|
+ throw exception(CUSTOMER_BUSINESS_CODE_EXISTS);
|
|
|
|
+ }
|
|
// 获取用户信息和租户ID
|
|
// 获取用户信息和租户ID
|
|
LoginUser user = SecurityFrameworkUtils.getLoginUser();
|
|
LoginUser user = SecurityFrameworkUtils.getLoginUser();
|
|
Long tenantId = user != null && user.getTenantId() != null ? user.getTenantId() : 0L;
|
|
Long tenantId = user != null && user.getTenantId() != null ? user.getTenantId() : 0L;
|
|
@@ -81,7 +91,20 @@ public class CustomerBusinessOpportunityServiceImpl implements CustomerBusinessO
|
|
@Override
|
|
@Override
|
|
public void updateBusinessOpportunity(CustomerBusinessOpportunitySaveReqVO updateReqVO) {
|
|
public void updateBusinessOpportunity(CustomerBusinessOpportunitySaveReqVO updateReqVO) {
|
|
// 校验存在
|
|
// 校验存在
|
|
- validateBusinessOpportunityExists(updateReqVO.getId());
|
|
|
|
|
|
+// validateBusinessOpportunityExists(updateReqVO.getId());
|
|
|
|
+ CustomerBusinessOpportunityDO info = businessOpportunityMapper.selectById(updateReqVO.getId());
|
|
|
|
+ if (info == null) {
|
|
|
|
+ throw exception(CUSTOMER_BUSINESS_CODE_EXISTS);
|
|
|
|
+ }
|
|
|
|
+ if (StringUtils.isNotBlank(updateReqVO.getOpportunityCode())
|
|
|
|
+ && !info.getOpportunityCode().equals(updateReqVO.getOpportunityCode())) {// 编码改变,需要判重
|
|
|
|
+ if (businessOpportunityMapper.selectOne(
|
|
|
|
+ new LambdaQueryWrapper<CustomerBusinessOpportunityDO>()
|
|
|
|
+ .eq(CustomerBusinessOpportunityDO::getOpportunityCode,
|
|
|
|
+ updateReqVO.getOpportunityCode())) != null) {
|
|
|
|
+ throw exception(CUSTOMER_BUSINESS_CODE_EXISTS);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
// 保存业务uuid到附件中
|
|
// 保存业务uuid到附件中
|
|
fileApi.updateFileBiz(updateReqVO.getFileIdList(), updateReqVO.getOpportunityId());
|
|
fileApi.updateFileBiz(updateReqVO.getFileIdList(), updateReqVO.getOpportunityId());
|
|
// 获取用户信息和租户ID
|
|
// 获取用户信息和租户ID
|