|
@@ -1,8 +1,5 @@
|
|
|
package com.fs.qw.service.impl;
|
|
|
|
|
|
-import java.util.*;
|
|
|
-
|
|
|
-import cn.hutool.core.lang.Pair;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
|
@@ -11,16 +8,19 @@ import com.fs.company.cache.ICompanyCacheService;
|
|
|
import com.fs.company.cache.ICompanyUserCacheService;
|
|
|
import com.fs.company.domain.Company;
|
|
|
import com.fs.company.domain.CompanyUser;
|
|
|
+import com.fs.company.dto.UserProjectDTO;
|
|
|
import com.fs.qw.domain.CustomerTransferApproval;
|
|
|
import com.fs.qw.mapper.CustomerTransferApprovalMapper;
|
|
|
import com.fs.qw.service.ICustomerTransferApprovalService;
|
|
|
import com.fs.qw.vo.TransferCustomDTO;
|
|
|
import com.fs.store.domain.FsUser;
|
|
|
+import com.fs.store.domain.FsUserCompanyUser;
|
|
|
import com.fs.store.dto.FsUserTransferParamDTO;
|
|
|
+import com.fs.store.service.IFsUserCompanyUserService;
|
|
|
import com.fs.store.service.IFsUserService;
|
|
|
import com.fs.store.service.cache.IFsUserCacheService;
|
|
|
import com.hc.openapi.tool.util.StringUtils;
|
|
|
-import org.apache.http.util.Asserts;
|
|
|
+import org.apache.hc.core5.util.Asserts;
|
|
|
import org.springframework.aop.framework.AopContext;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.context.annotation.EnableAspectJAutoProxy;
|
|
@@ -28,6 +28,11 @@ import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Propagation;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Objects;
|
|
|
+
|
|
|
/**
|
|
|
* 客户转移审批Service业务层处理
|
|
|
*
|
|
@@ -52,6 +57,8 @@ public class CustomerTransferApprovalServiceImpl implements ICustomerTransferApp
|
|
|
|
|
|
@Autowired
|
|
|
private IFsUserService fsUserService;
|
|
|
+ @Autowired
|
|
|
+ private IFsUserCompanyUserService userCompanyUserService;
|
|
|
|
|
|
/**
|
|
|
* 查询客户转移审批
|
|
@@ -107,7 +114,7 @@ public class CustomerTransferApprovalServiceImpl implements ICustomerTransferApp
|
|
|
}
|
|
|
|
|
|
if(StringUtils.isBlank(item.getTransferBefore()) && StringUtils.isNotBlank(item.getCustomerIds())){
|
|
|
- List<Long> customerIds = JSON.parseArray(item.getCustomerIds(), Long.class);
|
|
|
+ List<UserProjectDTO> customerIds = JSON.parseArray(item.getCustomerIds(), UserProjectDTO.class);
|
|
|
List<TransferCustomDTO> customerList = getCustomerList(customerIds, item);
|
|
|
item.setCustomerList(customerList);
|
|
|
} else {
|
|
@@ -134,27 +141,28 @@ public class CustomerTransferApprovalServiceImpl implements ICustomerTransferApp
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private List<TransferCustomDTO> getCustomerList(List<Long> customerIds, CustomerTransferApproval item) {
|
|
|
+ private List<TransferCustomDTO> getCustomerList(List<UserProjectDTO> customerIds, CustomerTransferApproval item) {
|
|
|
List<TransferCustomDTO> customerList = new ArrayList<>();
|
|
|
|
|
|
- for (Long customerId : customerIds) {
|
|
|
+ for (UserProjectDTO customerId : customerIds) {
|
|
|
|
|
|
- FsUser fsUser = fsUserCacheService.selectFsUserById(customerId);
|
|
|
+ FsUser fsUser = fsUserCacheService.selectFsUserById(customerId.getUserId());
|
|
|
if(ObjectUtils.isNotNull(fsUser)){
|
|
|
- String companyUserName = "无";
|
|
|
- if(ObjectUtils.isNotNull(fsUser.getCompanyUserId())){
|
|
|
- CompanyUser companyUser = companyUserCacheService.selectCompanyUserById(fsUser.getCompanyUserId());
|
|
|
- companyUserName = String.format("%s_%d", companyUser.getUserName(), companyUser.getUserId());
|
|
|
- }
|
|
|
+ FsUserCompanyUser userCompanyUser = userCompanyUserService.selectByUserIdAndProjectId(customerId.getUserId(), customerId.getProjectId());
|
|
|
+ if(Objects.nonNull(userCompanyUser)){
|
|
|
+ CompanyUser companyUser = companyUserCacheService.selectCompanyUserById(userCompanyUser.getCompanyUserId());
|
|
|
+ String companyUserName = String.format("%s_%d", companyUser.getUserName(), companyUser.getUserId());
|
|
|
|
|
|
- customerList.add(TransferCustomDTO.builder()
|
|
|
- .userName(String.format("%s_%d", fsUser.getNickname(), fsUser.getUserId()))
|
|
|
- .userId(fsUser.getUserId())
|
|
|
- .beforeCompanyUserName(companyUserName)
|
|
|
- .beforeCompanyUserId(fsUser.getCompanyUserId())
|
|
|
- .afterCompanyUserName(item.getTargetUserName())
|
|
|
- .afterCompanyUserId(item.getTargetUserId())
|
|
|
- .build());
|
|
|
+ customerList.add(TransferCustomDTO.builder()
|
|
|
+ .userName(String.format("%s_%d", fsUser.getNickname(), fsUser.getUserId()))
|
|
|
+ .userId(fsUser.getUserId())
|
|
|
+ .projectId(customerId.getProjectId())
|
|
|
+ .beforeCompanyUserName(companyUserName)
|
|
|
+ .beforeCompanyUserId(companyUser.getUserId())
|
|
|
+ .afterCompanyUserName(item.getTargetUserName())
|
|
|
+ .afterCompanyUserId(item.getTargetUserId())
|
|
|
+ .build());
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
return customerList;
|
|
@@ -239,7 +247,7 @@ public class CustomerTransferApprovalServiceImpl implements ICustomerTransferApp
|
|
|
item.setProcessedAt(new Date());
|
|
|
// 审批状态: 0=待审批, 1=审批通过, 2=审批驳回, 3=已撤销
|
|
|
// 如果审批通过 进行转移
|
|
|
- List<Long> customerIds1 = JSON.parseArray(item.getCustomerIds(), Long.class);
|
|
|
+ List<UserProjectDTO> customerIds1 = JSON.parseArray(item.getCustomerIds(), UserProjectDTO.class);
|
|
|
List<TransferCustomDTO> customerList = getCustomerList(customerIds1, item);
|
|
|
item.setTransferBefore(JSON.toJSONString(customerList));
|
|
|
|
|
@@ -249,11 +257,14 @@ public class CustomerTransferApprovalServiceImpl implements ICustomerTransferApp
|
|
|
transferParam.setTargetCompanyUserId(item.getTargetUserId());
|
|
|
|
|
|
Asserts.check(StringUtils.isNotBlank(item.getCustomerIds()),"转移客户不能为空!");
|
|
|
- List<Long> customerIds = JSON.parseArray(item.getCustomerIds(), Long.class);
|
|
|
+ List<UserProjectDTO> customerIds = JSON.parseArray(item.getCustomerIds(), UserProjectDTO.class);
|
|
|
transferParam.setUserIds(customerIds);
|
|
|
transferParam.setSourceCompanyUserId(item.getOriginalUserId());
|
|
|
|
|
|
- fsUserService.transfer(transferParam);
|
|
|
+ for (UserProjectDTO customerId : customerIds) {
|
|
|
+ CompanyUser companyUser = companyUserCacheService.selectCompanyUserById(item.getTargetUserId());
|
|
|
+ userCompanyUserService.changeRelationship(customerId.getUserId(), customerId.getProjectId(), companyUser.getCompanyId(), companyUser.getUserId());
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
return customerTransferApprovalMapper.updateCustomerTransferApproval(item);
|