Browse Source

Merge remote-tracking branch 'origin/develop' into develop

dev_shibei_match
wxz 4 years ago
parent
commit
04173b62b1
  1. 57
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/redis/TagRedis.java

57
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/redis/TagRedis.java

@ -21,6 +21,7 @@ import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.redis.RedisKeys; import com.epmet.commons.tools.redis.RedisKeys;
import com.epmet.commons.tools.redis.RedisUtils; import com.epmet.commons.tools.redis.RedisUtils;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.constant.TagConstant; import com.epmet.constant.TagConstant;
import com.epmet.dto.form.CorrelationTagListFormDTO; import com.epmet.dto.form.CorrelationTagListFormDTO;
import com.epmet.dto.form.TagCascadeListFormDTO; import com.epmet.dto.form.TagCascadeListFormDTO;
@ -28,9 +29,7 @@ import com.epmet.dto.result.CorrelationTagListResultDTO;
import com.epmet.dto.result.TagInfoResultDTO; import com.epmet.dto.result.TagInfoResultDTO;
import com.epmet.dto.result.TagRankResultDTO; import com.epmet.dto.result.TagRankResultDTO;
import com.epmet.dto.result.UpdateTagUseCountsResultDTO; import com.epmet.dto.result.UpdateTagUseCountsResultDTO;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.DataAccessException; import org.springframework.dao.DataAccessException;
import org.springframework.data.redis.connection.RedisConnection; import org.springframework.data.redis.connection.RedisConnection;
@ -103,10 +102,7 @@ public class TagRedis {
return resultList; return resultList;
} }
//转换DTO //转换DTO
for (Object object : objects) { resultList = ConvertUtils.sourceToTarget(objects,CorrelationTagListResultDTO.class);
resultList.add(objectToDTO(object,CorrelationTagListResultDTO.class));
}
// resultList = JSONObject.parseArray(objects.toString(), CorrelationTagListResultDTO.class);
//级联标签排序 //级联标签排序
//1.取出 zset 中的有序标签,根据级联标签,筛选有序标签 //1.取出 zset 中的有序标签,根据级联标签,筛选有序标签
List<TagRankResultDTO> resultEquals = new ArrayList<>(); List<TagRankResultDTO> resultEquals = new ArrayList<>();
@ -117,7 +113,7 @@ public class TagRedis {
Set<ZSetOperations.TypedTuple<Object>> typedTuples = redisUtils.zReverseRangeWithScores(customerKey, start, end); Set<ZSetOperations.TypedTuple<Object>> typedTuples = redisUtils.zReverseRangeWithScores(customerKey, start, end);
for (CorrelationTagListResultDTO correlationTagList : resultList) { for (CorrelationTagListResultDTO correlationTagList : resultList) {
for (ZSetOperations.TypedTuple<Object> typedTuple : typedTuples) { for (ZSetOperations.TypedTuple<Object> typedTuple : typedTuples) {
TagRankResultDTO tagRank = objectToDTO(typedTuple.getValue(), TagRankResultDTO.class); TagRankResultDTO tagRank = ConvertUtils.sourceToTarget(typedTuple.getValue(), TagRankResultDTO.class);
tagRank.setScore(typedTuple.getScore()); tagRank.setScore(typedTuple.getScore());
if (correlationTagList.getTagId().equals(tagRank.getTagId())){ if (correlationTagList.getTagId().equals(tagRank.getTagId())){
resultEquals.add(tagRank); resultEquals.add(tagRank);
@ -127,13 +123,7 @@ public class TagRedis {
} }
// 根据标签使用顺序倒叙 // 根据标签使用顺序倒叙
List<TagRankResultDTO> collect = resultEquals.stream().sorted(Comparator.comparing(TagRankResultDTO::getScore).reversed()).collect(Collectors.toList()); List<TagRankResultDTO> collect = resultEquals.stream().sorted(Comparator.comparing(TagRankResultDTO::getScore).reversed()).collect(Collectors.toList());
List<CorrelationTagListResultDTO> realResult = new ArrayList<>(); return ConvertUtils.sourceToTarget(collect, CorrelationTagListResultDTO.class);
for (TagRankResultDTO tagRankResultDTO : collect) {
CorrelationTagListResultDTO correlation = new CorrelationTagListResultDTO();
BeanUtils.copyProperties(tagRankResultDTO,correlation);
realResult.add(correlation);
}
return realResult;
} }
@ -150,12 +140,7 @@ public class TagRedis {
if (objects.size()== NumConstant.ZERO){ if (objects.size()== NumConstant.ZERO){
return new ArrayList<>(); return new ArrayList<>();
} }
List<TagInfoResultDTO> result = new ArrayList<TagInfoResultDTO>(); return ConvertUtils.sourceToTarget(objects, TagInfoResultDTO.class);
for (Object object : objects) {
result.add(objectToDTO(object,TagInfoResultDTO.class));
}
// List<TagInfoResultDTO> tagInfoResultDTOS = JSONObject.parseArray(objects.toString(), TagInfoResultDTO.class);
return result;
} }
/** /**
@ -171,11 +156,7 @@ public class TagRedis {
if (objects.size()== NumConstant.ZERO){ if (objects.size()== NumConstant.ZERO){
return new ArrayList<>(); return new ArrayList<>();
} }
List<TagInfoResultDTO> result = new ArrayList<TagInfoResultDTO>(); return ConvertUtils.sourceToTarget(objects, TagInfoResultDTO.class);
for (Object object : objects) {
result.add(objectToDTO(object,TagInfoResultDTO.class));
}
return result;
} }
/** /**
@ -207,9 +188,7 @@ public class TagRedis {
return resultList; return resultList;
} }
//转换DTO //转换DTO
for (Object object : objects) { resultList = ConvertUtils.sourceToTarget(objects,TagInfoResultDTO.class);
resultList.add(objectToDTO(object, TagInfoResultDTO.class));
}
//级联标签排序 //级联标签排序
//1.取出 zset 中的有序标签,根据级联标签,筛选有序标签 //1.取出 zset 中的有序标签,根据级联标签,筛选有序标签
List<TagRankResultDTO> resultEquals = new ArrayList<>(); List<TagRankResultDTO> resultEquals = new ArrayList<>();
@ -221,7 +200,7 @@ public class TagRedis {
Set<ZSetOperations.TypedTuple<Object>> typedTuples = redisUtils.zReverseRangeWithScores(gridTagKey, start, end); Set<ZSetOperations.TypedTuple<Object>> typedTuples = redisUtils.zReverseRangeWithScores(gridTagKey, start, end);
for (TagInfoResultDTO tagInfo : resultList) { for (TagInfoResultDTO tagInfo : resultList) {
for (ZSetOperations.TypedTuple<Object> typedTuple : typedTuples) { for (ZSetOperations.TypedTuple<Object> typedTuple : typedTuples) {
TagRankResultDTO tagRank = objectToDTO(typedTuple.getValue(), TagRankResultDTO.class); TagRankResultDTO tagRank = ConvertUtils.sourceToTarget(typedTuple.getValue(), TagRankResultDTO.class);
tagRank.setScore(typedTuple.getScore()); tagRank.setScore(typedTuple.getScore());
if (tagInfo.getTagId().equals(tagRank.getTagId())){ if (tagInfo.getTagId().equals(tagRank.getTagId())){
resultEquals.add(tagRank); resultEquals.add(tagRank);
@ -231,25 +210,7 @@ public class TagRedis {
} }
// 根据标签使用顺序倒叙 // 根据标签使用顺序倒叙
List<TagRankResultDTO> collect = resultEquals.stream().sorted(Comparator.comparing(TagRankResultDTO::getScore).reversed()).collect(Collectors.toList()); List<TagRankResultDTO> collect = resultEquals.stream().sorted(Comparator.comparing(TagRankResultDTO::getScore).reversed()).collect(Collectors.toList());
List<TagInfoResultDTO> tagInfoResultList = new ArrayList<>(); return ConvertUtils.sourceToTarget(collect, TagInfoResultDTO.class);
for (TagRankResultDTO tagRankResultDTO : collect) {
TagInfoResultDTO tagInfoResult = new TagInfoResultDTO();
BeanUtils.copyProperties(tagRankResultDTO,tagInfoResult);
tagInfoResultList.add(tagInfoResult);
}
return tagInfoResultList;
}
/**
* @Description Object 转换 DTO
* @param o
* @param tClass
* @author zxc
*/
public <T> T objectToDTO(Object o,Class<T> tClass){
ObjectMapper objectMapper = new ObjectMapper();
T t = objectMapper.convertValue(o, tClass);
return t;
} }
/** /**

Loading…
Cancel
Save