|
|
|
@ -252,47 +252,53 @@ public class ChanjetManager {
|
|
|
|
|
if(CollUtil.isNotEmpty(result.getData())){
|
|
|
|
|
|
|
|
|
|
List<QueryPartnerResVO> dataList = result.getData().stream().filter(vo -> vo.getPartnerType().getName().indexOf("客户") > -1).collect(Collectors.toList());
|
|
|
|
|
Map<Long, List<QueryPartnerResVO>> dataGroupById = dataList.stream().collect(Collectors.groupingBy(QueryPartnerResVO::getID));
|
|
|
|
|
|
|
|
|
|
List<CustomerDO> customerDOList = customerMapper.selectList(new LambdaQueryWrapper<CustomerDO>() {{
|
|
|
|
|
in(CustomerDO::getId, dataGroupById.keySet());
|
|
|
|
|
}});
|
|
|
|
|
Map<Long, List<CustomerDO>> existsDOGroupById = customerDOList.stream().collect(Collectors.groupingBy(CustomerDO::getId));
|
|
|
|
|
|
|
|
|
|
// 取最大 ts
|
|
|
|
|
QueryPartnerResVO maxTsVO = dataList.stream().sorted(Comparator.comparing((d) -> 0 - Long.parseLong(d.getTS().substring(2), 16))).findFirst().get();
|
|
|
|
|
maxTs = maxTsVO.getTS();
|
|
|
|
|
if(CollUtil.isNotEmpty(dataList)){
|
|
|
|
|
|
|
|
|
|
Map<Long, List<QueryPartnerResVO>> dataGroupById = dataList.stream().collect(Collectors.groupingBy(QueryPartnerResVO::getID));
|
|
|
|
|
|
|
|
|
|
List<CustomerDO> customerDOList = customerMapper.selectList(new LambdaQueryWrapper<CustomerDO>() {{
|
|
|
|
|
in(CustomerDO::getId, dataGroupById.keySet());
|
|
|
|
|
}});
|
|
|
|
|
Map<Long, List<CustomerDO>> existsDOGroupById = customerDOList.stream().collect(Collectors.groupingBy(CustomerDO::getId));
|
|
|
|
|
|
|
|
|
|
// 取最大 ts
|
|
|
|
|
QueryPartnerResVO maxTsVO = dataList.stream().sorted(Comparator.comparing((d) -> 0 - Long.parseLong(d.getTS().substring(2), 16))).findFirst().get();
|
|
|
|
|
maxTs = maxTsVO.getTS();
|
|
|
|
|
|
|
|
|
|
// 处理
|
|
|
|
|
ArrayList<CustomerDO> insertList = new ArrayList<>(16);
|
|
|
|
|
ArrayList<CustomerDO> updateList = new ArrayList<>(16);
|
|
|
|
|
dataGroupById.forEach((id, voList) -> {
|
|
|
|
|
QueryPartnerResVO vo = voList.get(0);
|
|
|
|
|
List<CustomerDO> existsDOs = existsDOGroupById.get(id);
|
|
|
|
|
|
|
|
|
|
if(CollUtil.isNotEmpty(existsDOs)){
|
|
|
|
|
CustomerDO existsDO = existsDOs.get(0);
|
|
|
|
|
existsDO.setCode(vo.getCode())
|
|
|
|
|
.setBrief(vo.getPartnerAbbName())
|
|
|
|
|
.setStatus(!vo.getDisabled() ? ValidStatusEnum.VALID.getCode() : ValidStatusEnum.INVALID.getCode())
|
|
|
|
|
.setName(vo.getName());
|
|
|
|
|
updateList.add(existsDO);
|
|
|
|
|
}else{
|
|
|
|
|
CustomerDO aDO = new CustomerDO();
|
|
|
|
|
aDO.setId(vo.getID())
|
|
|
|
|
.setCode(vo.getCode())
|
|
|
|
|
.setBrief(vo.getPartnerAbbName())
|
|
|
|
|
.setStatus(!vo.getDisabled() ? ValidStatusEnum.VALID.getCode() : ValidStatusEnum.INVALID.getCode())
|
|
|
|
|
.setName(vo.getName());
|
|
|
|
|
insertList.add(aDO);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// 处理
|
|
|
|
|
ArrayList<CustomerDO> insertList = new ArrayList<>(16);
|
|
|
|
|
ArrayList<CustomerDO> updateList = new ArrayList<>(16);
|
|
|
|
|
dataGroupById.forEach((id, voList) -> {
|
|
|
|
|
QueryPartnerResVO vo = voList.get(0);
|
|
|
|
|
List<CustomerDO> existsDOs = existsDOGroupById.get(id);
|
|
|
|
|
// 入库
|
|
|
|
|
if(CollUtil.isNotEmpty(updateList)) customerMapper.updateBatch(updateList);
|
|
|
|
|
if(CollUtil.isNotEmpty(insertList)) customerMapper.insertBatch(insertList);
|
|
|
|
|
|
|
|
|
|
if(CollUtil.isNotEmpty(existsDOs)){
|
|
|
|
|
CustomerDO existsDO = existsDOs.get(0);
|
|
|
|
|
existsDO.setCode(vo.getCode())
|
|
|
|
|
.setBrief(vo.getPartnerAbbName())
|
|
|
|
|
.setStatus(!vo.getDisabled() ? ValidStatusEnum.VALID.getCode() : ValidStatusEnum.INVALID.getCode())
|
|
|
|
|
.setName(vo.getName());
|
|
|
|
|
updateList.add(existsDO);
|
|
|
|
|
}else{
|
|
|
|
|
CustomerDO aDO = new CustomerDO();
|
|
|
|
|
aDO.setId(vo.getID())
|
|
|
|
|
.setCode(vo.getCode())
|
|
|
|
|
.setBrief(vo.getPartnerAbbName())
|
|
|
|
|
.setStatus(!vo.getDisabled() ? ValidStatusEnum.VALID.getCode() : ValidStatusEnum.INVALID.getCode())
|
|
|
|
|
.setName(vo.getName());
|
|
|
|
|
insertList.add(aDO);
|
|
|
|
|
if(result.getData().size() < paramVO.getPageSize()){
|
|
|
|
|
maxTs = null;
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// 入库
|
|
|
|
|
if(CollUtil.isNotEmpty(updateList)) customerMapper.updateBatch(updateList);
|
|
|
|
|
if(CollUtil.isNotEmpty(insertList)) customerMapper.insertBatch(insertList);
|
|
|
|
|
|
|
|
|
|
if(result.getData().size() < paramVO.getPageSize()){
|
|
|
|
|
}else{
|
|
|
|
|
maxTs = null;
|
|
|
|
|
}
|
|
|
|
|
}else{
|
|
|
|
@ -320,49 +326,55 @@ public class ChanjetManager {
|
|
|
|
|
if(CollUtil.isNotEmpty(result.getData())){
|
|
|
|
|
|
|
|
|
|
List<QueryPartnerResVO> dataList = result.getData().stream().filter(vo -> vo.getPartnerType().getName().indexOf("供应商") > -1).collect(Collectors.toList());
|
|
|
|
|
Map<Long, List<QueryPartnerResVO>> dataGroupById = dataList.stream().collect(Collectors.groupingBy(QueryPartnerResVO::getID));
|
|
|
|
|
|
|
|
|
|
List<SupplierDO> doList = supplierMapper.selectList(new LambdaQueryWrapper<SupplierDO>() {{
|
|
|
|
|
in(SupplierDO::getId, dataGroupById.keySet());
|
|
|
|
|
}});
|
|
|
|
|
Map<Long, List<SupplierDO>> existsDOGroupById = doList.stream().collect(Collectors.groupingBy(SupplierDO::getId));
|
|
|
|
|
|
|
|
|
|
// 取最大 ts
|
|
|
|
|
QueryPartnerResVO maxTsVO = dataList.stream().sorted(Comparator.comparing((d) -> 0 - Long.parseLong(d.getTS().substring(2), 16))).findFirst().get();
|
|
|
|
|
maxTs = maxTsVO.getTS();
|
|
|
|
|
if(CollUtil.isNotEmpty(dataList)){
|
|
|
|
|
Map<Long, List<QueryPartnerResVO>> dataGroupById = dataList.stream().collect(Collectors.groupingBy(QueryPartnerResVO::getID));
|
|
|
|
|
|
|
|
|
|
List<SupplierDO> doList = supplierMapper.selectList(new LambdaQueryWrapper<SupplierDO>() {{
|
|
|
|
|
in(SupplierDO::getId, dataGroupById.keySet());
|
|
|
|
|
}});
|
|
|
|
|
Map<Long, List<SupplierDO>> existsDOGroupById = doList.stream().collect(Collectors.groupingBy(SupplierDO::getId));
|
|
|
|
|
|
|
|
|
|
// 取最大 ts
|
|
|
|
|
QueryPartnerResVO maxTsVO = dataList.stream().sorted(Comparator.comparing((d) -> 0 - Long.parseLong(d.getTS().substring(2), 16))).findFirst().get();
|
|
|
|
|
maxTs = maxTsVO.getTS();
|
|
|
|
|
|
|
|
|
|
// 处理
|
|
|
|
|
ArrayList<SupplierDO> insertList = new ArrayList<>(16);
|
|
|
|
|
ArrayList<SupplierDO> updateList = new ArrayList<>(16);
|
|
|
|
|
dataGroupById.forEach((id, voList) -> {
|
|
|
|
|
QueryPartnerResVO vo = voList.get(0);
|
|
|
|
|
List<SupplierDO> existsDOs = existsDOGroupById.get(id);
|
|
|
|
|
|
|
|
|
|
if(CollUtil.isNotEmpty(existsDOs)){
|
|
|
|
|
SupplierDO existsDO = existsDOs.get(0);
|
|
|
|
|
existsDO.setCode(vo.getCode())
|
|
|
|
|
.setBrief(vo.getPartnerAbbName())
|
|
|
|
|
.setStatus(!vo.getDisabled() ? ValidStatusEnum.VALID.getCode() : ValidStatusEnum.INVALID.getCode())
|
|
|
|
|
.setName(vo.getName());
|
|
|
|
|
updateList.add(existsDO);
|
|
|
|
|
}else{
|
|
|
|
|
SupplierDO aDO = new SupplierDO();
|
|
|
|
|
aDO.setId(vo.getID())
|
|
|
|
|
.setCode(vo.getCode())
|
|
|
|
|
.setBrief(vo.getPartnerAbbName())
|
|
|
|
|
.setStatus(!vo.getDisabled() ? ValidStatusEnum.VALID.getCode() : ValidStatusEnum.INVALID.getCode())
|
|
|
|
|
.setName(vo.getName());
|
|
|
|
|
insertList.add(aDO);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// 处理
|
|
|
|
|
ArrayList<SupplierDO> insertList = new ArrayList<>(16);
|
|
|
|
|
ArrayList<SupplierDO> updateList = new ArrayList<>(16);
|
|
|
|
|
dataGroupById.forEach((id, voList) -> {
|
|
|
|
|
QueryPartnerResVO vo = voList.get(0);
|
|
|
|
|
List<SupplierDO> existsDOs = existsDOGroupById.get(id);
|
|
|
|
|
// 入库
|
|
|
|
|
if(CollUtil.isNotEmpty(updateList)) supplierMapper.updateBatch(updateList);
|
|
|
|
|
if(CollUtil.isNotEmpty(insertList)) supplierMapper.insertBatch(insertList);
|
|
|
|
|
|
|
|
|
|
if(CollUtil.isNotEmpty(existsDOs)){
|
|
|
|
|
SupplierDO existsDO = existsDOs.get(0);
|
|
|
|
|
existsDO.setCode(vo.getCode())
|
|
|
|
|
.setBrief(vo.getPartnerAbbName())
|
|
|
|
|
.setStatus(!vo.getDisabled() ? ValidStatusEnum.VALID.getCode() : ValidStatusEnum.INVALID.getCode())
|
|
|
|
|
.setName(vo.getName());
|
|
|
|
|
updateList.add(existsDO);
|
|
|
|
|
}else{
|
|
|
|
|
SupplierDO aDO = new SupplierDO();
|
|
|
|
|
aDO.setId(vo.getID())
|
|
|
|
|
.setCode(vo.getCode())
|
|
|
|
|
.setBrief(vo.getPartnerAbbName())
|
|
|
|
|
.setStatus(!vo.getDisabled() ? ValidStatusEnum.VALID.getCode() : ValidStatusEnum.INVALID.getCode())
|
|
|
|
|
.setName(vo.getName());
|
|
|
|
|
insertList.add(aDO);
|
|
|
|
|
if(result.getData().size() < paramVO.getPageSize()){
|
|
|
|
|
maxTs = null;
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// 入库
|
|
|
|
|
if(CollUtil.isNotEmpty(updateList)) supplierMapper.updateBatch(updateList);
|
|
|
|
|
if(CollUtil.isNotEmpty(insertList)) supplierMapper.insertBatch(insertList);
|
|
|
|
|
|
|
|
|
|
if(result.getData().size() < paramVO.getPageSize()){
|
|
|
|
|
}else{
|
|
|
|
|
maxTs = null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}else{
|
|
|
|
|
maxTs = null;
|
|
|
|
|
}
|
|
|
|
|