dengsixing 2 hete
szülő
commit
6bd4309aa6

+ 42 - 0
src/main/java/com/fdkankan/scene/bean/EvidenceBean.java

@@ -0,0 +1,42 @@
+package com.fdkankan.scene.bean;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+public class EvidenceBean {
+    /**
+     * 标题
+     */
+    private String title;
+    /**
+     * 遗留部位
+     */
+    private String leftPosition;
+    /**
+     * 特征描述
+     */
+    private String feature;
+    /**
+     * 提取方法
+     */
+    private String collectionModeName;
+    /**
+     * 提取时间
+     */
+    private String collectedTime;
+    /**
+     * 提取人
+     */
+    private String createAccount;
+    /**
+     * 委托状态
+     */
+    private Integer status ;
+}
+

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

@@ -9,6 +9,7 @@ import com.fdkankan.scene.service.ISceneEvidenceService;
 import com.fdkankan.scene.vo.*;
 import com.fdkankan.web.controller.BaseController;
 import com.fdkankan.web.response.ResultData;
+import com.fdkankan.web.user.SSOUser;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
@@ -37,7 +38,7 @@ public class EvidenceController  extends BaseController {
     @CheckPermit
     @PostMapping(value = "/save")
     public ResultData<Void> save(@RequestBody @Validated SaveEvidenceParamVO param) throws Exception {
-        sceneEvidenceService.saveEvidence(param);
+        sceneEvidenceService.saveEvidence(param, this.getSsoUser());
         return ResultData.ok();
     }
 
@@ -96,7 +97,6 @@ public class EvidenceController  extends BaseController {
      * </p>
      * @author dengsixing
      * @date 2022/8/1
-     * @param num
      * @return com.fdkankan.web.response.ResultData
      **/
     @CheckPermit
@@ -122,7 +122,7 @@ public class EvidenceController  extends BaseController {
     @CheckPermit
     @PostMapping("/refreshTraceEvidenceInfoList")
     public ResultData refreshTraceEvidenceInfoList(@RequestBody BaseSceneParamVO param) throws Exception {
-        return sceneEvidenceService.refreshTraceEvidenceInfoList(kno);
+        return sceneEvidenceService.refreshTraceEvidenceInfoList(param);
     }
 
     /**
@@ -135,16 +135,16 @@ public class EvidenceController  extends BaseController {
         return sceneEvidenceService.syncTraceEvidence(param);
     }
 
-    /**
-     * <p>
-     推送痕迹物证
-     **/
-    @CheckPermit
-    @PostMapping("/addMediaLibrary")
-    public ResultData addMediaLibrary(@RequestBody BaseJsonArrayParamVO param) throws Exception {
-        sceneEvidenceService.pushEvidence(param);
-        return ResultData.ok();
-    }
+//    /**
+//     * <p>
+//     推送痕迹物证
+//     **/
+//    @CheckPermit
+//    @PostMapping("/addMediaLibrary")
+//    public ResultData addMediaLibrary(@RequestBody BaseJsonArrayParamVO param) throws Exception {
+//        sceneEvidenceService.pushEvidence(param);
+//        return ResultData.ok();
+//    }
 
     /**
      * <p>

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

@@ -6,6 +6,7 @@ import com.fdkankan.scene.entity.SceneEvidence;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.fdkankan.scene.vo.*;
 import com.fdkankan.web.response.ResultData;
+import com.fdkankan.web.user.SSOUser;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.io.IOException;
@@ -22,7 +23,7 @@ import java.util.Set;
  */
 public interface ISceneEvidenceService extends IService<SceneEvidence> {
 
-    void saveEvidence(SaveEvidenceParamVO param) throws Exception;
+    void saveEvidence(SaveEvidenceParamVO param, SSOUser ssoUser) throws Exception;
 
     void saveEvidenceToSceneEditInfo(String num, SceneEditInfo sceneEditInfo);
 

+ 69 - 2
src/main/java/com/fdkankan/scene/service/impl/SceneEvidenceServiceImpl.java

@@ -19,6 +19,7 @@ import com.fdkankan.fyun.face.FYunFileServiceInterface;
 import com.fdkankan.model.constants.ConstantFilePath;
 import com.fdkankan.model.constants.UploadFilePath;
 import com.fdkankan.redis.constant.RedisKey;
+import com.fdkankan.scene.bean.EvidenceBean;
 import com.fdkankan.scene.bean.IconBean;
 import com.fdkankan.scene.entity.*;
 import com.fdkankan.scene.httpclient.ManageHttpClient;
@@ -30,6 +31,7 @@ import com.fdkankan.scene.service.ISceneIconService;
 import com.fdkankan.scene.service.IScenePlusService;
 import com.fdkankan.scene.vo.*;
 import com.fdkankan.web.response.ResultData;
+import com.fdkankan.web.user.SSOUser;
 import com.google.common.collect.Lists;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -65,7 +67,7 @@ public class SceneEvidenceServiceImpl extends ServiceImpl<ISceneEvidenceMapper,
     private FYunFileServiceInterface fYunFileServiceInterface;
 
     @Override
-    public void saveEvidence(SaveEvidenceParamVO param) throws Exception {
+    public void saveEvidence(SaveEvidenceParamVO param, SSOUser ssoUser) throws Exception {
 
         ScenePlus scenePlus = scenePlusService.getScenePlusByNum(param.getNum());
         if (scenePlus == null)
@@ -79,6 +81,71 @@ public class SceneEvidenceServiceImpl extends ServiceImpl<ISceneEvidenceMapper,
         SceneEditInfo sceneEditInfo = sceneEditInfoService.getByScenePlusId(scenePlus.getId());
         this.saveEvidenceToSceneEditInfo(param.getNum(), sceneEditInfo);
         sceneEditInfoService.updateById(sceneEditInfo);
+
+        //推送媒体库
+        this.batchPushMedia(param, ssoUser, scenePlus);
+
+    }
+
+    private void batchPushMedia(SaveEvidenceParamVO param, SSOUser ssoUser, ScenePlus scenePlus){
+        List<JSONObject> params = new ArrayList<>();
+        for (EvidenceParamVO evidenceParamVO : param.getDataList()) {
+            //media
+            JSONArray medias = evidenceParamVO.getData().getJSONArray("media");
+            if(CollUtil.isNotEmpty(medias)){
+                for (Object o : medias) {
+                    JSONObject media = (JSONObject) o;
+                    if(media.getIntValue("isAddMedia") != 1){
+                        continue;
+                    }
+                    String ossPath = String.format(UploadFilePath.USER_EDIT_PATH, param.getNum()) + media.getString("src");
+                    JSONObject item = new JSONObject();
+                    params.add(item);
+                    item.put("kno", scenePlus.getKNo());
+                    item.put("filePath", ossPath);
+                    item.put("fileName", media.getString("name"));
+                    item.put("fileSize", fYunFileServiceInterface.getSpace("4dkankan", ossPath));
+                    item.put("delSource", 0);
+                    item.put("toHaixin", 1);
+                    item.put("content", EvidenceBean.builder().
+                            title(evidenceParamVO.getData().getString("title"))
+                            .collectedTime(evidenceParamVO.getData().getString("collectedTime"))
+                            .collectionModeName(evidenceParamVO.getData().getString("collectionModeName"))
+                            .createAccount(ssoUser.getUserName())
+                            .feature(evidenceParamVO.getData().getString("feature"))
+                            .leftPosition(evidenceParamVO.getData().getString("leftPosition"))
+                            .status(evidenceParamVO.getData().getInteger("status")).build());
+                }
+            }
+
+            //bgm
+            JSONObject bgm = evidenceParamVO.getData().getJSONObject("bgm");
+            if(bgm.getIntValue("isAddMedia") == 1){
+                String ossPath = String.format(UploadFilePath.USER_EDIT_PATH, param.getNum()) + bgm.getString("src");
+                JSONObject item = new JSONObject();
+                params.add(item);
+                item.put("kno", scenePlus.getKNo());
+                item.put("filePath", ossPath);
+                item.put("fileName", bgm.getString("name"));
+                item.put("fileSize", fYunFileServiceInterface.getSpace("4dkankan", ossPath));
+                item.put("delSource", 0);
+                item.put("toHaixin", 1);
+                item.put("content", EvidenceBean.builder().
+                        title(evidenceParamVO.getData().getString("title"))
+                        .collectedTime(evidenceParamVO.getData().getString("collectedTime"))
+                        .collectionModeName(evidenceParamVO.getData().getString("collectionModeName"))
+                        .createAccount(ssoUser.getUserName())
+                        .feature(evidenceParamVO.getData().getString("feature"))
+                        .leftPosition(evidenceParamVO.getData().getString("leftPosition"))
+                        .status(evidenceParamVO.getData().getInteger("status")).build());
+            }
+        }
+
+        //调用案件系统接口,进行推送
+        if(CollUtil.isEmpty(params)){
+            return;
+        }
+        manageHttpClient.addMediaLibrarys(params);
     }
 
     private void addOrUpdateData(String num, List<EvidenceParamVO> dataList) throws Exception{
@@ -249,7 +316,7 @@ public class SceneEvidenceServiceImpl extends ServiceImpl<ISceneEvidenceMapper,
             return data;
         }).collect(Collectors.toList());
 
-        this.saveEvidence(param);
+        this.saveEvidence(param, null);
 
         return ResultData.ok(collect);
     }

+ 1 - 1
src/main/resources/mapper/scene/ISceneIconMapper.xml

@@ -1,5 +1,5 @@
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.fdkankan.scene.mapper.ISceneIconMapper">
 
 </mapper>