dengsixing 2 ماه پیش
والد
کامیت
d8c29942e8

+ 3 - 0
src/main/java/com/fdkankan/scene/bean/IconBean.java

@@ -1,5 +1,6 @@
 package com.fdkankan.scene.bean;
 
+import com.fdkankan.scene.vo.EvidenceIconVO;
 import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Data;
@@ -29,4 +30,6 @@ public class IconBean {
      */
     private int count;
 
+    private EvidenceIconVO evidenceIconVO;
+
 }

+ 3 - 0
src/main/java/com/fdkankan/scene/entity/SceneIcon.java

@@ -59,5 +59,8 @@ public class SceneIcon implements Serializable {
     @TableField("biz_type")
     private String bizType;
 
+    @TableField("dict_id")
+    private Long dictId;
+
 
 }

+ 16 - 11
src/main/java/com/fdkankan/scene/service/impl/SceneEvidenceServiceImpl.java

@@ -304,16 +304,17 @@ public class SceneEvidenceServiceImpl extends ServiceImpl<ISceneEvidenceMapper,
         media.put("mid", sm.getMid());
     }
 
-    private void addOrUpdateIcons(String num, List<String> icons) throws Exception{
+    private void addOrUpdateIcons(String num, List<EvidenceIconVO> icons) throws Exception{
         if(CollUtil.isEmpty(icons)){
             return;
         }
         List<SceneIcon> sceneIconList = icons.stream().map(v -> {
-            String sid = FileUtil.getPrefix(v);
+            String sid = FileUtil.getPrefix(v.getFileName());
             SceneIcon sceneIcon = new SceneIcon();
             sceneIcon.setNum(num);
             sceneIcon.setSid(sid);
-            sceneIcon.setFileName(v);
+            sceneIcon.setFileName(v.getFileName());
+            sceneIcon.setDictId(v.getDictId());
             sceneIcon.setBizType("evidence");
             return sceneIcon;
         }).collect(Collectors.toList());
@@ -364,34 +365,38 @@ public class SceneEvidenceServiceImpl extends ServiceImpl<ISceneEvidenceMapper,
         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());
+        List<SceneIcon> sceneIconList = sceneIconService.listByNum(num, "evidence").stream().collect(Collectors.toList());
         result.put("icons", this.sortIcons(evidenceContent, sceneIconList));
         return result;
     }
 
-    private List<String> sortIcons(List<JSONObject> evidences, Set<String> icons){
+    private List<EvidenceIconVO> sortIcons(List<JSONObject> evidences, List<SceneIcon> icons){
+
+        if(CollUtil.isEmpty(icons)){
+            return null;
+        }
 
         //统计使用频次
         List<IconBean> iconBeans = Lists.newArrayList();
-        for (String icon : icons) {
+        for (SceneIcon icon : icons) {
             int count = 0;
             for (JSONObject tag : evidences) {
                 String sid = tag.getString("icon");
-                if(StrUtil.isEmpty(sid) || !icon.equals(sid)){
+                if(StrUtil.isEmpty(sid) || !icon.getFileName().equals(sid)){
                     continue;
                 }
                 ++count;
             }
-            iconBeans.add(IconBean.builder().icon(icon).count(count).build());
+            iconBeans.add(IconBean.builder().evidenceIconVO(BeanUtil.toBean(icon, EvidenceIconVO.class)).count(count).build());
         }
 
         //排序
-        List<String> iconList = iconBeans.stream().sorted(Comparator.comparing(IconBean::getCount).reversed())
+        List<EvidenceIconVO> collect = iconBeans.stream().sorted(Comparator.comparing(IconBean::getCount).reversed())
                 .map(item -> {
-                    return item.getIcon();
+                    return item.getEvidenceIconVO();
                 }).collect(Collectors.toList());
 
-        return iconList;
+        return collect;
     }
 
     @Override

+ 17 - 0
src/main/java/com/fdkankan/scene/vo/EvidenceIconVO.java

@@ -0,0 +1,17 @@
+package com.fdkankan.scene.vo;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+@Data
+public class EvidenceIconVO {
+
+    @NotNull(message = "图标分类id不能为空")
+    private Long dictId;
+
+    @NotBlank(message = "图标文件名称不能为空")
+    private String fileName;
+
+}

+ 2 - 1
src/main/java/com/fdkankan/scene/vo/SaveEvidenceParamVO.java

@@ -5,6 +5,7 @@ import lombok.Data;
 
 import javax.validation.Valid;
 import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotEmpty;
 import javax.validation.constraints.NotNull;
 import java.util.List;
 
@@ -27,7 +28,7 @@ public class SaveEvidenceParamVO {
     private List<EvidenceParamVO> dataList;
 
     @Valid
-    private List<String> icons;
+    private List<EvidenceIconVO> icons;
 
     private JSONObject generalConfig;