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 java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
|
@ -99,10 +98,10 @@ public class AdminCustomerService {
|
|||
*/
|
||||
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)) {
|
||||
|
||||
|
||||
|
|
@ -110,12 +109,19 @@ public class AdminCustomerService {
|
|||
if (CollUtil.isEmpty(agentList)) {
|
||||
return;
|
||||
}
|
||||
Set<String> crmComanyCodes = agentList.stream().map(u -> u.getId()).collect(Collectors.toSet());
|
||||
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> result = new ArrayList<>();
|
||||
// Set<String> crmComanyCodes = agentList.stream().map(u -> u.getId()).collect(Collectors.toSet());
|
||||
// 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 -> {
|
||||
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)) {
|
||||
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(ChronoUnit.DAYS.between(null, t1));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void test2() {
|
||||
System.out.println("【" + " 打 撒sfc dffd发多少分多少 分多少分的d f ".replaceAll("\\s+", "") + "】");
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue