Commit 412a7a96 by 王祖波

多个建联

parent 5af432aa
package com.gic.haoban.manage.api.enums.contact;
import java.util.Objects;
import cn.hutool.core.date.DateUtil;
import com.gic.haoban.manage.api.dto.contact.ContactLogDTO;
import com.google.common.collect.Lists;
import org.apache.commons.collections.CollectionUtils;
import java.util.*;
import java.util.stream.Collectors;
public enum ContactBizTypeEnum {
......@@ -32,6 +38,30 @@ public enum ContactBizTypeEnum {
return Long.parseLong(this.getCodePre() + contactTime);
}
public static List<Long> getEsClerkContactTimeList(List<ContactLogDTO> list) {
if (CollectionUtils.isEmpty(list)) {
return new ArrayList<>();
}
list = list.stream().sorted(Comparator.comparing(ContactLogDTO::getBizType))
.collect(Collectors.toList());
List<Long> clerkContactTimeList = Lists.newArrayList();
Long maxContactTime = null;
for (ContactLogDTO contactLogDTO : list) {
Date contactTime = contactLogDTO.getContactTime();
ContactBizTypeEnum bizTypeEnum = ContactBizTypeEnum.fromType(contactLogDTO.getBizType());
Long orginalContactTimeLong = Long.parseLong(DateUtil.format(contactTime, "yyyyMMddHHmmss"));
Long contactTimeLong = bizTypeEnum.getEsClerkContactTime(orginalContactTimeLong);
clerkContactTimeList.add(contactTimeLong);
if (maxContactTime == null || orginalContactTimeLong > maxContactTime) {
maxContactTime = orginalContactTimeLong;
}
}
if (maxContactTime != null) {
clerkContactTimeList.add(maxContactTime);
}
return clerkContactTimeList;
}
ContactBizTypeEnum(String codePre, int type, String description) {
this.codePre = codePre;
this.type = type;
......
......@@ -405,14 +405,20 @@ public class ContactLogServiceImpl implements ContactLogService {
ContactBizTypeEnum bizTypeEnum = ContactBizTypeEnum.fromType(bizType);
Long bizContactTime = bizTypeEnum.getEsClerkContactTime(contactTime);
clerkContactTimeList = clerkContactTimeList.stream().map(time -> {
if (String.valueOf(time).startsWith(bizTypeEnum.getCodePre())) {
return bizContactTime;
} else {
return time;
}
if (String.valueOf(time).length() == 16) {
return null;
}
if (String.valueOf(time).startsWith(bizTypeEnum.getCodePre())) {
return bizContactTime;
} else {
return time;
}
}).filter(Objects::nonNull)
.collect(Collectors.toList());
}
// 增加原始创建时间用于排序
clerkContactTimeList.add(contactTime);
logger.info("刷新建联时间:{},memberId:{}", clerkContactTimeList,memberId);
DynamicDocDTO dynamicDocDTO = new DynamicDocDTO();
dynamicDocDTO.setEnterpriseId(enterpriseId);
......
......@@ -149,7 +149,7 @@
<foreach collection="list" item="item" separator=",">
(#{item.followId}, #{item.memberId}, #{item.clerkId}, #{item.clerkCode},
#{item.followType}, #{item.followRemark}, #{item.followMaterial},
#{item.goodsInfo}, #{item.followTime}, #{sourceType}, #{bizType}, #{bizId}, #{item.enterpriseId})
#{item.goodsInfo}, #{item.followTime}, #{item.sourceType}, #{item.bizType}, #{item.bizId}, #{item.enterpriseId})
</foreach>
ON DUPLICATE KEY UPDATE
biz_type = CASE
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment