refactor(customer): 优化代理商公司同步逻辑,按公司名称和编码排重,任一个相同责认为是相同的记录,会覆盖旧记录
This commit is contained in:
parent
d0d78d54c6
commit
142b47f91f
|
|
@ -22,7 +22,6 @@ import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.time.format.DateTimeFormatter;
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
|
@ -99,10 +98,10 @@ public class AdminCustomerService {
|
||||||
*/
|
*/
|
||||||
public void syncFromCrm(SyncFromCrmDTO dateParam) {
|
public void syncFromCrm(SyncFromCrmDTO dateParam) {
|
||||||
|
|
||||||
DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
// DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
||||||
|
|
||||||
// 循环从起始日期到结束日期,每次增加一天
|
// 循环从起始日期到结束日期,每次增加一天
|
||||||
List<TBaseCustomer> result = new ArrayList<>();
|
// List<TBaseCustomer> result = new ArrayList<>();
|
||||||
// for (LocalDate date = stDate; !date.isAfter(edDate); date = date.plusDays(1)) {
|
// for (LocalDate date = stDate; !date.isAfter(edDate); date = date.plusDays(1)) {
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -110,12 +109,19 @@ public class AdminCustomerService {
|
||||||
if (CollUtil.isEmpty(agentList)) {
|
if (CollUtil.isEmpty(agentList)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Set<String> crmComanyCodes = agentList.stream().map(u -> u.getId()).collect(Collectors.toSet());
|
List<TBaseCustomer> result = new ArrayList<>();
|
||||||
List<TBaseCustomer> crmCompanyList = baseCustomerService.lambdaQuery().in(TBaseCustomer::getAgencyCompanyCode, crmComanyCodes).list();
|
// Set<String> crmComanyCodes = agentList.stream().map(u -> u.getId()).collect(Collectors.toSet());
|
||||||
Map<String, TBaseCustomer> crmCompanyMap = crmCompanyList.stream().collect(Collectors.toMap(TBaseCustomer::getAgencyCompanyCode, cm -> cm));
|
// List<TBaseCustomer> crmCompanyList = baseCustomerService.lambdaQuery().in(TBaseCustomer::getAgencyCompanyCode, crmComanyCodes).list();
|
||||||
|
// Map<String, TBaseCustomer> crmCompanyMap = crmCompanyList.stream().collect(Collectors.toMap(TBaseCustomer::getAgencyCompanyCode, cm -> cm));
|
||||||
|
List<TBaseCustomer> customers = baseCustomerService.list();
|
||||||
|
|
||||||
agentList.forEach(u -> {
|
agentList.forEach(u -> {
|
||||||
TBaseCustomer ent = crmCompanyMap.get(u.getId());
|
// TBaseCustomer ent = crmCompanyMap.get(u.getId());
|
||||||
|
TBaseCustomer ent = customers.stream()
|
||||||
|
.filter(c -> Objects.equals(c.getAgencyCompanyCode(), u.getId())
|
||||||
|
|| StrUtil.equals(convertName(c.getAgencyCompanyName()), convertName(u.getName())))
|
||||||
|
.findFirst()
|
||||||
|
.orElse(null);
|
||||||
|
|
||||||
if (Objects.nonNull(ent)) {
|
if (Objects.nonNull(ent)) {
|
||||||
ent.setDataModifyTime(LocalDateTime.now());
|
ent.setDataModifyTime(LocalDateTime.now());
|
||||||
|
|
@ -150,5 +156,7 @@ public class AdminCustomerService {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String convertName(String name) {
|
||||||
|
return name.replaceAll("\\s+", "");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -14,4 +14,9 @@ public class TTest {
|
||||||
System.out.println(t2);
|
System.out.println(t2);
|
||||||
System.out.println(ChronoUnit.DAYS.between(null, t1));
|
System.out.println(ChronoUnit.DAYS.between(null, t1));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void test2() {
|
||||||
|
System.out.println("【" + " 打 撒sfc dffd发多少分多少 分多少分的d f ".replaceAll("\\s+", "") + "】");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue