2 Commits b083d46417 ... b00de727de

Author SHA1 Message Date
  dengsixing b00de727de 2.0.0 1 day ago
  dengsixing 2230a3393e 2.0.0 1 day ago

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

@@ -1,6 +1,7 @@
 package com.fdkankan.scene.controller;
 
 
+import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.fdkankan.scene.annotation.CheckPermit;
 import com.fdkankan.scene.annotation.SaveLog;
@@ -12,6 +13,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.List;
+
 @RestController
 @RequestMapping("/service/scene/edit/evidence")
 public class EvidenceController  extends BaseController {
@@ -88,7 +91,7 @@ public class EvidenceController  extends BaseController {
 
     /**
      * <p>
-     热点列表
+     痕迹物证分组
      * </p>
      * @author dengsixing
      * @date 2022/8/1
@@ -96,11 +99,59 @@ public class EvidenceController  extends BaseController {
      * @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));
+    @GetMapping(value = "/traceEvidenceList")
+    public ResultData<List<JSONObject>> traceEvidenceList(@RequestBody JSONObject param) throws Exception {
+        return sceneEvidenceService.traceEvidenceList(param);
+    }
+
+    /**
+     * <p>
+     媒体库列表
+     **/
+    @CheckPermit
+    @PostMapping(value = "/traceEvidenceInfoList")
+    public ResultData traceEvidenceInfoList(@RequestBody TraceEvidenceInfoListParamVo param) throws Exception {
+        return sceneEvidenceService.traceEvidenceInfoList(param);
+    }
+
+    /**
+     * <p>
+     刷新痕迹物证
+     **/
+    @CheckPermit
+    @PostMapping("/refreshTraceEvidenceInfoList")
+    public ResultData refreshTraceEvidenceInfoList(@RequestBody JSONObject param) throws Exception {
+        String kno = param.getString("kno");
+        if(StrUtil.isNotEmpty(kno)){
+            return ResultData.ok();
+        }
+        return sceneEvidenceService.refreshTraceEvidenceInfoList(kno);
     }
 
+    /**
+     * <p>
+     刷新痕迹物证
+     **/
+    @CheckPermit
+    @PostMapping("/syncTraceEvidence")
+    public ResultData syncTraceEvidence(@RequestBody @Validated SaveEvidenceParamVO param) throws Exception {
+        return sceneEvidenceService.syncTraceEvidence(param);
+    }
+
+//    /**
+//     * <p>
+//     刷新痕迹物证
+//     **/
+//    @CheckPermit
+//    @PostMapping("/refreshTraceEvidenceInfoList")
+//    public ResultData pus(@RequestBody JSONObject param) throws Exception {
+//        String kno = param.getString("kno");
+//        if(StrUtil.isNotEmpty(kno)){
+//            return ResultData.ok();
+//        }
+//        return sceneEvidenceService.refreshTraceEvidenceInfoList(kno);
+//    }
+
 
 
 

+ 27 - 0
src/main/java/com/fdkankan/scene/httpclient/ManageHttpClient.java

@@ -0,0 +1,27 @@
+package com.fdkankan.scene.httpclient;
+
+
+import com.alibaba.fastjson.JSONObject;
+import com.dtflys.forest.annotation.*;
+import com.dtflys.forest.extensions.DownloadFile;
+import com.fdkankan.scene.httpclient.address.FdkkAddressSource;
+import com.fdkankan.scene.vo.CheckNumAuthVo;
+import com.fdkankan.scene.vo.TraceEvidenceInfoListParamVo;
+import com.fdkankan.web.response.ResultData;
+
+import java.io.File;
+import java.util.List;
+import java.util.Map;
+
+@Address(source = FdkkAddressSource.class)
+public interface ManageHttpClient {
+
+    @Post("/service/manage/inner/traceEvidenceList")
+    ResultData<List<JSONObject>> traceEvidenceList(@JSONBody JSONObject param);
+
+    @Post("/service/manage/inner/traceEvidenceInfoList")
+    ResultData traceEvidenceInfoList(@JSONBody TraceEvidenceInfoListParamVo param);
+
+    @Post("/service/manage/inner/refreshTraceEvidenceInfoList/{kno}")
+    ResultData refreshTraceEvidenceInfoList(@Var("kno") String kno);
+}

+ 20 - 0
src/main/java/com/fdkankan/scene/httpclient/address/FdkkAddressSource.java

@@ -0,0 +1,20 @@
+package com.fdkankan.scene.httpclient.address;
+
+import com.dtflys.forest.callback.AddressSource;
+import com.dtflys.forest.http.ForestAddress;
+import com.dtflys.forest.http.ForestRequest;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Component;
+
+@Component
+public class FdkkAddressSource implements AddressSource {
+
+    @Value("${4dkk.fdService.basePath}")
+    private String basePath;
+
+
+    @Override
+    public ForestAddress getAddress(ForestRequest forestRequest) {
+        return new ForestAddress("","",null,basePath);
+    }
+}

+ 9 - 0
src/main/java/com/fdkankan/scene/service/ISceneEvidenceService.java

@@ -7,6 +7,7 @@ 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.scene.vo.TraceEvidenceInfoListParamVo;
 import com.fdkankan.web.response.ResultData;
 
 import java.util.List;
@@ -35,4 +36,12 @@ public interface ISceneEvidenceService extends IService<SceneEvidence> {
     JSONObject listEvidences(String num);
 
     void deleteIcons(DeleteHotIconParamVO param);
+
+    ResultData<List<JSONObject>> traceEvidenceList(JSONObject param);
+
+    ResultData traceEvidenceInfoList(TraceEvidenceInfoListParamVo param);
+
+    ResultData refreshTraceEvidenceInfoList(String kno);
+
+    ResultData syncTraceEvidence(SaveEvidenceParamVO param) throws Exception;
 }

+ 93 - 0
src/main/java/com/fdkankan/scene/service/impl/SceneEvidenceServiceImpl.java

@@ -1,16 +1,23 @@
 package com.fdkankan.scene.service.impl;
 
 import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.io.FileUtil;
+import cn.hutool.core.net.multipart.UploadFile;
 import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.fdkankan.common.constant.CommonStatus;
 import com.fdkankan.common.constant.ErrorCode;
 import com.fdkankan.common.exception.BusinessException;
+import com.fdkankan.db.response.PageInfo;
+import com.fdkankan.fyun.face.FYunFileServiceInterface;
+import com.fdkankan.model.constants.UploadFilePath;
 import com.fdkankan.redis.constant.RedisKey;
 import com.fdkankan.scene.bean.IconBean;
 import com.fdkankan.scene.entity.*;
+import com.fdkankan.scene.httpclient.ManageHttpClient;
 import com.fdkankan.scene.mapper.ISceneEvidenceMapper;
 import com.fdkankan.scene.service.ISceneEditInfoService;
 import com.fdkankan.scene.service.ISceneEvidenceService;
@@ -23,6 +30,7 @@ import com.google.common.collect.Lists;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -43,6 +51,10 @@ public class SceneEvidenceServiceImpl extends ServiceImpl<ISceneEvidenceMapper,
     private ISceneEditInfoService sceneEditInfoService;
     @Autowired
     private ISceneIconService sceneIconService;
+    @Resource
+    private ManageHttpClient manageHttpClient;
+    @Autowired
+    private FYunFileServiceInterface fYunFileServiceInterface;
 
     @Override
     public void saveEvidence(SaveEvidenceParamVO param) throws Exception {
@@ -179,4 +191,85 @@ public class SceneEvidenceServiceImpl extends ServiceImpl<ISceneEvidenceMapper,
                         .eq(SceneIcon::getNum, param.getNum())
                         .in(SceneIcon::getFileName, param.getFileNameList()));
     }
+
+    @Override
+    public ResultData<List<JSONObject>> traceEvidenceList(JSONObject param) {
+        ResultData<List<JSONObject>> resultData = manageHttpClient.traceEvidenceList(param);
+        return resultData;
+    }
+
+    @Override
+    public ResultData traceEvidenceInfoList(TraceEvidenceInfoListParamVo param) {
+        if(StrUtil.isEmpty(param.getKno())){
+            return ResultData.ok(new PageInfo<>());
+        }
+        return manageHttpClient.traceEvidenceInfoList(param);
+    }
+
+    @Override
+    public ResultData refreshTraceEvidenceInfoList(String kno) {
+        return manageHttpClient.refreshTraceEvidenceInfoList(kno);
+    }
+
+    @Override
+    public ResultData syncTraceEvidence(SaveEvidenceParamVO param) throws Exception {
+        ScenePlus scenePlus = scenePlusService.getScenePlusByNum(param.getNum());
+        if (scenePlus == null)
+            throw new BusinessException(ErrorCode.FAILURE_CODE_5005);
+
+        List<JSONObject> collect = param.getDataList().stream().map(v -> {
+            JSONObject data = v.getData();
+            JSONArray medias = data.getJSONArray("media");
+            if (CollUtil.isNotEmpty(medias)) {
+                medias.stream().forEach(m -> {
+                    JSONObject media = (JSONObject) m;
+                    String path = media.getString("path");
+                    String fileName = FileUtil.getName(path);
+                    String newFileName = UUID.randomUUID().toString() + "." + FileUtil.extName(fileName);
+                    String meshKey = String.format(UploadFilePath.USER_EDIT_PATH, param.getNum()) + newFileName;
+                    fYunFileServiceInterface.copyFileInBucket(path, meshKey);
+                    media.put("src", newFileName);
+                });
+            }
+            return data;
+        }).collect(Collectors.toList());
+
+        this.saveEvidence(param);
+
+        return ResultData.ok(collect);
+    }
+
+    public static void main(String[] args) {
+        JSONObject test = new JSONObject();
+        JSONArray medias = new JSONArray();
+        JSONObject media = new JSONObject();
+        media.put("src","name");
+        media.put("type","image");
+        JSONObject media2 = new JSONObject();
+        media2.put("src","name2");
+        media2.put("type","image2");
+        medias.add(media);
+        medias.add(media2);
+        test.put("media", medias);
+        System.out.println(test.toJSONString());
+
+        JSONObject data = JSON.parseObject(test.toJSONString());
+
+        JSONArray mediaList = data.getJSONArray("media");
+        if(CollUtil.isNotEmpty(mediaList)){
+            mediaList.stream().forEach(m->{
+                JSONObject media3 = (JSONObject) m;
+                String path = media3.getString("path");
+                String fileName = FileUtil.getName(path);
+                String newFileName = UUID.randomUUID().toString() + "." + FileUtil.extName(fileName);
+//                String meshKey = String.format(UploadFilePath.USER_EDIT_PATH, param.getNum()) + newFileName;
+//                fYunFileServiceInterface.copyFileInBucket(path, meshKey);
+                media3.put("src", newFileName);
+            });
+        }
+
+        System.out.println(data.toJSONString());
+
+
+    }
 }

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

@@ -26,7 +26,6 @@ public class SaveEvidenceParamVO {
     private List<EvidenceParamVO> dataList;
 
     @Valid
-    @NotNull(message = "icons数据不能为空")
     private List<String> icons;
 
 

+ 12 - 0
src/main/java/com/fdkankan/scene/vo/TraceEvidenceInfoListParamVo.java

@@ -0,0 +1,12 @@
+package com.fdkankan.scene.vo;
+
+import com.fdkankan.web.request.RequestBase;
+import lombok.Data;
+
+@Data
+public class TraceEvidenceInfoListParamVo extends RequestBase {
+    private String name;
+    private String dictId;
+    private String kno;
+
+}