dengsixing 6 dias atrás
pai
commit
b083d46417

+ 1 - 1
src/main/java/com/fdkankan/scene/Interceptor/CheckViewBizAuthAspect.java

@@ -193,7 +193,7 @@ public class CheckViewBizAuthAspect {
 					//模拟前端密码加密规则生成前端密码
 					String passwordEncode = SecurityUtil.MD52(Base64Converter.decode(password));
 					//数据库密码比对
-					if(!passwordEncode.equals(jyUser.getRyPassword())){
+					if(!passwordEncode.equalsIgnoreCase(jyUser.getRyPassword())){
 						throw new BusinessException(ErrorCode.PASSWORD_ERROR);
 					}
 					headers.clear();

+ 21 - 4
src/main/java/com/fdkankan/scene/controller/EvidenceController.java

@@ -1,6 +1,7 @@
 package com.fdkankan.scene.controller;
 
 
+import com.alibaba.fastjson.JSONObject;
 import com.fdkankan.scene.annotation.CheckPermit;
 import com.fdkankan.scene.annotation.SaveLog;
 import com.fdkankan.scene.service.ISceneEvidenceService;
@@ -64,8 +65,8 @@ public class EvidenceController  extends BaseController {
      **/
     @CheckPermit
     @PostMapping(value = "/list")
-    public ResultData listEvidences(@RequestParam(value = "num") String num) throws Exception {
-        return sceneEvidenceService.listEvidences(num);
+    public ResultData<JSONObject> listEvidences(@RequestParam(value = "num") String num) throws Exception {
+        return ResultData.ok(sceneEvidenceService.listEvidences(num));
     }
 
     /**
@@ -80,8 +81,24 @@ public class EvidenceController  extends BaseController {
     @SaveLog
     @CheckPermit
     @PostMapping(value = "/icons/delete")
-    public ResultData deleteIcons(@RequestBody @Validated DeleteHotIconParamVO param) throws Exception {
-        return sceneProService.deleteIcons(param);
+    public ResultData<Void> deleteIcons(@RequestBody @Validated DeleteHotIconParamVO param) throws Exception {
+        sceneEvidenceService.deleteIcons(param);
+        return ResultData.ok();
+    }
+
+    /**
+     * <p>
+     热点列表
+     * </p>
+     * @author dengsixing
+     * @date 2022/8/1
+     * @param num
+     * @return com.fdkankan.web.response.ResultData
+     **/
+    @CheckPermit
+    @PostMapping(value = "/trace/page")
+    public ResultData<JSONObject> pageTrace(@RequestParam(value = "num") String num) throws Exception {
+        return ResultData.ok(sceneEvidenceService.listEvidences(num));
     }
 
 

+ 9 - 0
src/main/java/com/fdkankan/scene/entity/ScenePlus.java

@@ -119,6 +119,15 @@ public class ScenePlus implements Serializable {
     @TableLogic(value = "A", delval = "I")
     private String recStatus;
 
+    @TableField("other_type")
+    private String otherType;
+
+    @TableField("task_id")
+    private String taskId;
+
+    @TableField("k_no")
+    private String kNo;
+
     @TableField("has_floorplan_ai")
     private Integer hasFloorplanAi;
 

+ 5 - 1
src/main/java/com/fdkankan/scene/service/ISceneEvidenceService.java

@@ -1,8 +1,10 @@
 package com.fdkankan.scene.service;
 
+import com.alibaba.fastjson.JSONObject;
 import com.fdkankan.scene.entity.SceneEditInfo;
 import com.fdkankan.scene.entity.SceneEvidence;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.scene.vo.DeleteHotIconParamVO;
 import com.fdkankan.scene.vo.DeleteSidListParamVO;
 import com.fdkankan.scene.vo.SaveEvidenceParamVO;
 import com.fdkankan.web.response.ResultData;
@@ -30,5 +32,7 @@ public interface ISceneEvidenceService extends IService<SceneEvidence> {
 
     void deleteEvidence(DeleteSidListParamVO param);
 
-    ResultData listEvidences(String num);
+    JSONObject listEvidences(String num);
+
+    void deleteIcons(DeleteHotIconParamVO param);
 }

+ 2 - 0
src/main/java/com/fdkankan/scene/service/ISceneIconService.java

@@ -18,5 +18,7 @@ public interface ISceneIconService extends IService<SceneIcon> {
 
     List<SceneIcon> listByNumAndSids(String num, Set<String> sids);
 
+    List<SceneIcon> listByNum(String num, String bizType);
+
 
 }

+ 40 - 6
src/main/java/com/fdkankan/scene/service/impl/SceneEvidenceServiceImpl.java

@@ -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()));
     }
 }

+ 5 - 0
src/main/java/com/fdkankan/scene/service/impl/SceneIconServiceImpl.java

@@ -27,4 +27,9 @@ public class SceneIconServiceImpl extends ServiceImpl<ISceneIconMapper, SceneIco
     public List<SceneIcon> listByNumAndSids(String num, Set<String> sids) {
         return this.list(new LambdaQueryWrapper<SceneIcon>().eq(SceneIcon::getNum, num).in(SceneIcon::getSid, sids));
     }
+
+    @Override
+    public List<SceneIcon> listByNum(String num, String bizType) {
+        return this.list(new LambdaQueryWrapper<SceneIcon>().eq(SceneIcon::getNum, num).eq(SceneIcon::getBizType, bizType));
+    }
 }