|
|
@ -21,6 +21,7 @@ import com.epmet.commons.tools.constant.NumConstant; |
|
|
|
import com.epmet.commons.tools.exception.RenException; |
|
|
|
import com.epmet.commons.tools.redis.RedisKeys; |
|
|
|
import com.epmet.commons.tools.redis.RedisUtils; |
|
|
|
import com.epmet.commons.tools.utils.ConvertUtils; |
|
|
|
import com.epmet.constant.TagConstant; |
|
|
|
import com.epmet.dto.form.CorrelationTagListFormDTO; |
|
|
|
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.TagRankResultDTO; |
|
|
|
import com.epmet.dto.result.UpdateTagUseCountsResultDTO; |
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import org.springframework.beans.BeanUtils; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.dao.DataAccessException; |
|
|
|
import org.springframework.data.redis.connection.RedisConnection; |
|
|
@ -103,10 +102,7 @@ public class TagRedis { |
|
|
|
return resultList; |
|
|
|
} |
|
|
|
//转换DTO
|
|
|
|
for (Object object : objects) { |
|
|
|
resultList.add(objectToDTO(object,CorrelationTagListResultDTO.class)); |
|
|
|
} |
|
|
|
// resultList = JSONObject.parseArray(objects.toString(), CorrelationTagListResultDTO.class);
|
|
|
|
resultList = ConvertUtils.sourceToTarget(objects,CorrelationTagListResultDTO.class); |
|
|
|
//级联标签排序
|
|
|
|
//1.取出 zset 中的有序标签,根据级联标签,筛选有序标签
|
|
|
|
List<TagRankResultDTO> resultEquals = new ArrayList<>(); |
|
|
@ -117,7 +113,7 @@ public class TagRedis { |
|
|
|
Set<ZSetOperations.TypedTuple<Object>> typedTuples = redisUtils.zReverseRangeWithScores(customerKey, start, end); |
|
|
|
for (CorrelationTagListResultDTO correlationTagList : resultList) { |
|
|
|
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()); |
|
|
|
if (correlationTagList.getTagId().equals(tagRank.getTagId())){ |
|
|
|
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<CorrelationTagListResultDTO> realResult = new ArrayList<>(); |
|
|
|
for (TagRankResultDTO tagRankResultDTO : collect) { |
|
|
|
CorrelationTagListResultDTO correlation = new CorrelationTagListResultDTO(); |
|
|
|
BeanUtils.copyProperties(tagRankResultDTO,correlation); |
|
|
|
realResult.add(correlation); |
|
|
|
} |
|
|
|
return realResult; |
|
|
|
return ConvertUtils.sourceToTarget(collect, CorrelationTagListResultDTO.class); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -150,12 +140,7 @@ public class TagRedis { |
|
|
|
if (objects.size()== NumConstant.ZERO){ |
|
|
|
return new ArrayList<>(); |
|
|
|
} |
|
|
|
List<TagInfoResultDTO> result = new ArrayList<TagInfoResultDTO>(); |
|
|
|
for (Object object : objects) { |
|
|
|
result.add(objectToDTO(object,TagInfoResultDTO.class)); |
|
|
|
} |
|
|
|
// List<TagInfoResultDTO> tagInfoResultDTOS = JSONObject.parseArray(objects.toString(), TagInfoResultDTO.class);
|
|
|
|
return result; |
|
|
|
return ConvertUtils.sourceToTarget(objects, TagInfoResultDTO.class); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
@ -171,11 +156,7 @@ public class TagRedis { |
|
|
|
if (objects.size()== NumConstant.ZERO){ |
|
|
|
return new ArrayList<>(); |
|
|
|
} |
|
|
|
List<TagInfoResultDTO> result = new ArrayList<TagInfoResultDTO>(); |
|
|
|
for (Object object : objects) { |
|
|
|
result.add(objectToDTO(object,TagInfoResultDTO.class)); |
|
|
|
} |
|
|
|
return result; |
|
|
|
return ConvertUtils.sourceToTarget(objects, TagInfoResultDTO.class); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
@ -207,9 +188,7 @@ public class TagRedis { |
|
|
|
return resultList; |
|
|
|
} |
|
|
|
//转换DTO
|
|
|
|
for (Object object : objects) { |
|
|
|
resultList.add(objectToDTO(object, TagInfoResultDTO.class)); |
|
|
|
} |
|
|
|
resultList = ConvertUtils.sourceToTarget(objects,TagInfoResultDTO.class); |
|
|
|
//级联标签排序
|
|
|
|
//1.取出 zset 中的有序标签,根据级联标签,筛选有序标签
|
|
|
|
List<TagRankResultDTO> resultEquals = new ArrayList<>(); |
|
|
@ -221,7 +200,7 @@ public class TagRedis { |
|
|
|
Set<ZSetOperations.TypedTuple<Object>> typedTuples = redisUtils.zReverseRangeWithScores(gridTagKey, start, end); |
|
|
|
for (TagInfoResultDTO tagInfo : resultList) { |
|
|
|
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()); |
|
|
|
if (tagInfo.getTagId().equals(tagRank.getTagId())){ |
|
|
|
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<TagInfoResultDTO> tagInfoResultList = new ArrayList<>(); |
|
|
|
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; |
|
|
|
return ConvertUtils.sourceToTarget(collect, TagInfoResultDTO.class); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|