|
@@ -20,6 +20,7 @@ import com.fdkankan.redis.constant.RedisKey;
|
|
import com.fdkankan.redis.constant.RedisLockKey;
|
|
import com.fdkankan.redis.constant.RedisLockKey;
|
|
import com.fdkankan.redis.util.RedisLockUtil;
|
|
import com.fdkankan.redis.util.RedisLockUtil;
|
|
import com.fdkankan.redis.util.RedisUtil;
|
|
import com.fdkankan.redis.util.RedisUtil;
|
|
|
|
+import com.fdkankan.scene.bean.IconBean;
|
|
import com.fdkankan.scene.bean.TagBean;
|
|
import com.fdkankan.scene.bean.TagBean;
|
|
import com.fdkankan.scene.entity.SceneEditInfo;
|
|
import com.fdkankan.scene.entity.SceneEditInfo;
|
|
import com.fdkankan.scene.entity.SceneEditInfoExt;
|
|
import com.fdkankan.scene.entity.SceneEditInfoExt;
|
|
@@ -29,6 +30,7 @@ import com.fdkankan.scene.mapper.ISceneEditInfoExtMapper;
|
|
import com.fdkankan.scene.service.*;
|
|
import com.fdkankan.scene.service.*;
|
|
import com.fdkankan.scene.vo.*;
|
|
import com.fdkankan.scene.vo.*;
|
|
import com.fdkankan.web.response.ResultData;
|
|
import com.fdkankan.web.response.ResultData;
|
|
|
|
+import com.google.common.collect.Lists;
|
|
import org.aspectj.apache.bcel.generic.RET;
|
|
import org.aspectj.apache.bcel.generic.RET;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
@@ -225,22 +227,43 @@ public class SceneEditInfoExtServiceImpl extends ServiceImpl<ISceneEditInfoExtMa
|
|
key = String.format(RedisKey.SCENE_BILLBOARDS_STYLES, param.getNum());
|
|
key = String.format(RedisKey.SCENE_BILLBOARDS_STYLES, param.getNum());
|
|
List<String> sytlelist = redisUtil.hgetValues(key);
|
|
List<String> sytlelist = redisUtil.hgetValues(key);
|
|
if(CollUtil.isNotEmpty(sytlelist)){
|
|
if(CollUtil.isNotEmpty(sytlelist)){
|
|
- List<TagBean> stileSortList = sytlelist.stream().map(str -> {
|
|
|
|
|
|
+ styles = sytlelist.stream().map(str -> {
|
|
JSONObject jsonObject = JSON.parseObject(str);
|
|
JSONObject jsonObject = JSON.parseObject(str);
|
|
- TagBean tagBean = new TagBean();
|
|
|
|
- tagBean.setCreateTime(jsonObject.getLong("createTime"));
|
|
|
|
jsonObject.remove("createTime");
|
|
jsonObject.remove("createTime");
|
|
- tagBean.setTag(jsonObject);
|
|
|
|
- return tagBean;
|
|
|
|
|
|
+ return jsonObject;
|
|
}).collect(Collectors.toList());
|
|
}).collect(Collectors.toList());
|
|
- stileSortList.sort(Comparator.comparingLong(TagBean::getCreateTime).reversed());
|
|
|
|
- styles = stileSortList.stream().map(item -> item.getTag()).collect(Collectors.toList());
|
|
|
|
|
|
+ this.sortIcons(tags, styles);
|
|
}
|
|
}
|
|
result.put("styles", styles);
|
|
result.put("styles", styles);
|
|
|
|
|
|
return result;
|
|
return result;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ private List<JSONObject> sortIcons(List<JSONObject> tags, List<JSONObject> styles){
|
|
|
|
+
|
|
|
|
+ //统计使用频次
|
|
|
|
+ List<IconBean> iconBeans = Lists.newArrayList();
|
|
|
|
+ for (JSONObject style : styles) {
|
|
|
|
+ int count = 0;
|
|
|
|
+ for (JSONObject tag : tags) {
|
|
|
|
+ String iconUrl = tag.getString("icon");
|
|
|
|
+ if(StrUtil.isEmpty(iconUrl) || !iconUrl.equals(tag.getString("url"))){
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ ++count;
|
|
|
|
+ }
|
|
|
|
+ iconBeans.add(IconBean.builder().style(style).count(count).build());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //排序
|
|
|
|
+ List<JSONObject> iconList = iconBeans.stream().sorted(Comparator.comparing(IconBean::getCount).reversed())
|
|
|
|
+ .map(item -> {
|
|
|
|
+ return item.getStyle();
|
|
|
|
+ }).collect(Collectors.toList());
|
|
|
|
+
|
|
|
|
+ return iconList;
|
|
|
|
+ }
|
|
|
|
+
|
|
private void deleteBillboards(String num, List<String> deleteSidList, String bucket) throws Exception {
|
|
private void deleteBillboards(String num, List<String> deleteSidList, String bucket) throws Exception {
|
|
if(CollUtil.isEmpty(deleteSidList)){
|
|
if(CollUtil.isEmpty(deleteSidList)){
|
|
return;
|
|
return;
|