|
@@ -9,6 +9,7 @@ import com.fdkankan.common.constant.CommonStatus;
|
|
|
import com.fdkankan.common.constant.ErrorCode;
|
|
|
import com.fdkankan.common.exception.BusinessException;
|
|
|
import com.fdkankan.redis.constant.RedisKey;
|
|
|
+import com.fdkankan.scene.bean.IconBean;
|
|
|
import com.fdkankan.scene.entity.*;
|
|
|
import com.fdkankan.scene.mapper.ISceneEvidenceMapper;
|
|
|
import com.fdkankan.scene.service.ISceneEditInfoService;
|
|
@@ -16,11 +17,9 @@ import com.fdkankan.scene.service.ISceneEvidenceService;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.fdkankan.scene.service.ISceneIconService;
|
|
|
import com.fdkankan.scene.service.IScenePlusService;
|
|
|
-import com.fdkankan.scene.vo.DeleteSidListParamVO;
|
|
|
-import com.fdkankan.scene.vo.EvidenceParamVO;
|
|
|
-import com.fdkankan.scene.vo.HotParamVO;
|
|
|
-import com.fdkankan.scene.vo.SaveEvidenceParamVO;
|
|
|
+import com.fdkankan.scene.vo.*;
|
|
|
import com.fdkankan.web.response.ResultData;
|
|
|
+import com.google.common.collect.Lists;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
@@ -137,12 +136,47 @@ public class SceneEvidenceServiceImpl extends ServiceImpl<ISceneEvidenceMapper,
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public ResultData listEvidences(String num) {
|
|
|
+ public JSONObject listEvidences(String num) {
|
|
|
JSONObject result = new JSONObject();
|
|
|
List<SceneEvidence> sceneEvidences = this.listByNum(num);
|
|
|
List<JSONObject> evidenceContent = sceneEvidences.stream().map(v -> v.getEvidenceContent()).collect(Collectors.toList());
|
|
|
+ result.put("evidences", evidenceContent);
|
|
|
+ Set<String> sceneIconList = sceneIconService.listByNum(num, "evidence").stream().map(v->v.getFileName()).collect(Collectors.toSet());
|
|
|
+ result.put("icons", this.sortIcons(evidenceContent, sceneIconList));
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ private List<String> sortIcons(List<JSONObject> evidences, Set<String> icons){
|
|
|
+
|
|
|
+ //统计使用频次
|
|
|
+ List<IconBean> iconBeans = Lists.newArrayList();
|
|
|
+ for (String icon : icons) {
|
|
|
+ int count = 0;
|
|
|
+ for (JSONObject tag : evidences) {
|
|
|
+ String sid = tag.getString("icon");
|
|
|
+ if(StrUtil.isEmpty(sid) || !icon.equals(sid)){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ ++count;
|
|
|
+ }
|
|
|
+ iconBeans.add(IconBean.builder().icon(icon).count(count).build());
|
|
|
+ }
|
|
|
|
|
|
+ //排序
|
|
|
+ List<String> iconList = iconBeans.stream().sorted(Comparator.comparing(IconBean::getCount).reversed())
|
|
|
+ .map(item -> {
|
|
|
+ return item.getIcon();
|
|
|
+ }).collect(Collectors.toList());
|
|
|
|
|
|
- return null;
|
|
|
+ return iconList;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void deleteIcons(DeleteHotIconParamVO param) {
|
|
|
+ sceneIconService.remove(
|
|
|
+ new LambdaQueryWrapper<SceneIcon>()
|
|
|
+ .eq(SceneIcon::getBizType, "evidence")
|
|
|
+ .eq(SceneIcon::getNum, param.getNum())
|
|
|
+ .in(SceneIcon::getFileName, param.getFileNameList()));
|
|
|
}
|
|
|
}
|