|
|
|
@ -2,10 +2,13 @@ package com.baiye.module.dao;
|
|
|
|
|
|
|
|
|
|
import cn.hutool.json.JSONArray;
|
|
|
|
|
import cn.hutool.json.JSONUtil;
|
|
|
|
|
import com.baiye.feign.OrganizeClient;
|
|
|
|
|
import com.baiye.model.dto.ClueDto;
|
|
|
|
|
import com.baiye.model.dto.ClueQueryCriteria;
|
|
|
|
|
import com.baiye.model.vo.ResSourceLabel;
|
|
|
|
|
import com.baiye.util.AESUtils;
|
|
|
|
|
import com.baiye.util.RedisUtils;
|
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
import org.apache.commons.lang.StringUtils;
|
|
|
|
|
import org.hibernate.query.internal.NativeQueryImpl;
|
|
|
|
|
import org.hibernate.transform.Transformers;
|
|
|
|
@ -13,6 +16,7 @@ import org.springframework.beans.factory.annotation.Value;
|
|
|
|
|
import org.springframework.data.domain.Pageable;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
|
|
import javax.persistence.EntityManager;
|
|
|
|
|
import javax.persistence.PersistenceContext;
|
|
|
|
|
import javax.persistence.Query;
|
|
|
|
@ -24,10 +28,15 @@ import java.util.List;
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
|
|
|
|
|
@Service
|
|
|
|
|
@Slf4j
|
|
|
|
|
public class ClueJpa {
|
|
|
|
|
|
|
|
|
|
@PersistenceContext
|
|
|
|
|
EntityManager entityManager;
|
|
|
|
|
@Resource
|
|
|
|
|
private RedisUtils redisUtils;
|
|
|
|
|
@Resource
|
|
|
|
|
private OrganizeClient organizeClient;
|
|
|
|
|
|
|
|
|
|
@Value("${aes.secret}")
|
|
|
|
|
private String secret;
|
|
|
|
@ -133,12 +142,28 @@ public class ClueJpa {
|
|
|
|
|
clueDto.setMemberStatus((Integer) row.get("memberStatus"));
|
|
|
|
|
clueDto.setName((String) row.get("name"));
|
|
|
|
|
clueDto.setCreateTime((Date) row.get("createTime"));
|
|
|
|
|
BigInteger taskId = (BigInteger) row.get("taskId");
|
|
|
|
|
clueDto.setTaskId(taskId.longValue());
|
|
|
|
|
String phone = (String) row.get("nid");
|
|
|
|
|
if (StringUtils.isNotBlank(phone)) {
|
|
|
|
|
String nid = AESUtils.decrypt(phone, secret);
|
|
|
|
|
StringBuilder stringBuilder = new StringBuilder(nid);
|
|
|
|
|
String str = stringBuilder.replace(3, 7, "****").toString();
|
|
|
|
|
clueDto.setNid(str);
|
|
|
|
|
String key = "task:encryption:" + taskId;
|
|
|
|
|
String str = String.valueOf(redisUtils.get(key));
|
|
|
|
|
if (str.equals("null") || StringUtils.isBlank(str)) {
|
|
|
|
|
ClueDto clueDtoClient = new ClueDto();
|
|
|
|
|
clueDtoClient.setTaskId(taskId.longValue());
|
|
|
|
|
clueDtoClient.setIsRedis(1);
|
|
|
|
|
Map<String, List<String>> body = organizeClient.getLabel(clueDtoClient).getBody();
|
|
|
|
|
str = body.get("taskIsEncryption").get(0);
|
|
|
|
|
}
|
|
|
|
|
//str此次任务是否加密线索手机号 0:不加密 1:加密
|
|
|
|
|
if (str.equals("0")){
|
|
|
|
|
clueDto.setNid(nid);
|
|
|
|
|
}else{
|
|
|
|
|
StringBuilder stringBuilder = new StringBuilder(nid);
|
|
|
|
|
String strRep = stringBuilder.replace(3, 7, "****").toString();
|
|
|
|
|
clueDto.setNid(strRep);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
clueDto.setWx((String) row.get("wx"));
|
|
|
|
|
clueDto.setAddress((String) row.get("address"));
|
|
|
|
@ -149,8 +174,6 @@ public class ClueJpa {
|
|
|
|
|
clueDto.setOrganizeId(organizeId.longValue());
|
|
|
|
|
BigInteger memberId = (BigInteger) row.get("memberId");
|
|
|
|
|
clueDto.setMemberId(memberId.longValue());
|
|
|
|
|
BigInteger taskId = (BigInteger) row.get("taskId");
|
|
|
|
|
clueDto.setTaskId(taskId.longValue());
|
|
|
|
|
clueDto.setOptimisticVersion((Integer) row.get("optimisticVersion"));
|
|
|
|
|
clueDtoList.add(clueDto);
|
|
|
|
|
}
|
|
|
|
@ -182,5 +205,4 @@ public class ClueJpa {
|
|
|
|
|
}
|
|
|
|
|
return list;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|