lyhzzz 3 周之前
父節點
當前提交
1b4be8b4b0
共有 44 個文件被更改,包括 780 次插入101 次删除
  1. 8 0
      README.md
  2. 2 1
      src/main/java/com/fdkankan/manage/config/ManageConfig.java
  3. 73 9
      src/main/java/com/fdkankan/manage/controller/CaseController.java
  4. 65 0
      src/main/java/com/fdkankan/manage/controller/CaseFusionController.java
  5. 1 1
      src/main/java/com/fdkankan/manage/controller/JyUserShareController.java
  6. 14 0
      src/main/java/com/fdkankan/manage/controller/SceneController.java
  7. 14 5
      src/main/java/com/fdkankan/manage/controller/inner/InnerAPIController.java
  8. 3 0
      src/main/java/com/fdkankan/manage/entity/Case.java
  9. 62 0
      src/main/java/com/fdkankan/manage/entity/CaseFusion.java
  10. 3 0
      src/main/java/com/fdkankan/manage/entity/JyUserShare.java
  11. 1 1
      src/main/java/com/fdkankan/manage/generate/AutoGenerate.java
  12. 4 0
      src/main/java/com/fdkankan/manage/httpClient/client/FdKKClient.java
  13. 9 0
      src/main/java/com/fdkankan/manage/httpClient/param/UploadSceneOrigParamVo.java
  14. 43 0
      src/main/java/com/fdkankan/manage/httpClient/service/FdkkService.java
  15. 23 0
      src/main/java/com/fdkankan/manage/mapper/ICaseFusionMapper.java
  16. 2 3
      src/main/java/com/fdkankan/manage/mapper/IScenePlusMapper.java
  17. 32 0
      src/main/java/com/fdkankan/manage/service/ICaseFusionService.java
  18. 3 0
      src/main/java/com/fdkankan/manage/service/ICaseNumService.java
  19. 2 0
      src/main/java/com/fdkankan/manage/service/ICaseOverviewService.java
  20. 4 0
      src/main/java/com/fdkankan/manage/service/ICaseService.java
  21. 2 0
      src/main/java/com/fdkankan/manage/service/ICaseTabulationService.java
  22. 1 0
      src/main/java/com/fdkankan/manage/service/IJySceneUserAuthService.java
  23. 1 1
      src/main/java/com/fdkankan/manage/service/IJyUserShareService.java
  24. 4 0
      src/main/java/com/fdkankan/manage/service/IScenePlusService.java
  25. 1 0
      src/main/java/com/fdkankan/manage/service/ISysRoleService.java
  26. 106 0
      src/main/java/com/fdkankan/manage/service/impl/CaseFusionServiceImpl.java
  27. 11 0
      src/main/java/com/fdkankan/manage/service/impl/CaseNumServiceImpl.java
  28. 9 0
      src/main/java/com/fdkankan/manage/service/impl/CaseOverviewServiceImpl.java
  29. 36 69
      src/main/java/com/fdkankan/manage/service/impl/CaseServiceImpl.java
  30. 9 0
      src/main/java/com/fdkankan/manage/service/impl/CaseTabulationServiceImpl.java
  31. 25 0
      src/main/java/com/fdkankan/manage/service/impl/JySceneUserAuthServiceImpl.java
  32. 6 5
      src/main/java/com/fdkankan/manage/service/impl/JyUserShareServiceImpl.java
  33. 6 4
      src/main/java/com/fdkankan/manage/service/impl/ScenePlusServiceImpl.java
  34. 11 1
      src/main/java/com/fdkankan/manage/service/impl/SysRoleServiceImpl.java
  35. 94 0
      src/main/java/com/fdkankan/manage/task/TaskService.java
  36. 1 0
      src/main/java/com/fdkankan/manage/vo/request/CaseParam.java
  37. 10 0
      src/main/java/com/fdkankan/manage/vo/request/CaseUserSceneParam.java
  38. 15 0
      src/main/java/com/fdkankan/manage/vo/request/FusionParam.java
  39. 1 1
      src/main/java/com/fdkankan/manage/vo/request/SysRoleParam.java
  40. 11 0
      src/main/java/com/fdkankan/manage/vo/response/CaseFusionVo.java
  41. 14 0
      src/main/java/com/fdkankan/manage/vo/response/SceneVoSimp.java
  42. 1 0
      src/main/java/com/fdkankan/manage/vo/response/UserShareVo.java
  43. 24 0
      src/main/resources/mapper/manage/CaseFusionMapper.xml
  44. 13 0
      src/main/resources/mapper/manage/ScenePlusMapper.xml

+ 8 - 0
README.md

@@ -36,3 +36,11 @@ manage:
   push-jm:
     url: abc
 ~~~~
+
+###**v2.0.0**
+~~~~
+1.人员共享
+    /service/manage/jy/userShare/add 接口增加参数shareType 0场景,1案件,2场景+案件 
+    修改接口相同
+    
+~~~~

+ 2 - 1
src/main/java/com/fdkankan/manage/config/ManageConfig.java

@@ -17,7 +17,8 @@ public class ManageConfig {
 
     @Value("${manage.share.scene:xx}")
     private String shareScenes;
-
+    @Value("${fyun.host}")
+    private String queryPath;
     public List<String> getNumList(){
         if(StringUtils.isNotBlank(this.shareScenes)){
             String[] split = shareScenes.split(",");

+ 73 - 9
src/main/java/com/fdkankan/manage/controller/CaseController.java

@@ -9,10 +9,12 @@ import com.fdkankan.manage.common.ResultData;
 import com.fdkankan.manage.entity.*;
 import com.fdkankan.manage.exception.BusinessException;
 import com.fdkankan.manage.service.*;
-import com.fdkankan.manage.vo.request.CaseNumType;
-import com.fdkankan.manage.vo.request.CaseParam;
+import com.fdkankan.manage.vo.request.*;
+import com.fdkankan.manage.vo.response.SceneVo;
+import com.fdkankan.manage.vo.response.SceneVoSimp;
 import com.sun.corba.se.spi.oa.OADestroyed;
 import io.netty.util.internal.UnstableApi;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -49,6 +51,10 @@ public class CaseController {
     ISysUserService sysUserService;
     @Autowired
     IJyPlatformService jyPlatformService;
+    @Autowired
+    ISysRoleService sysRoleService;
+    @Autowired
+    ICaseFusionService caseFusionService;
 
     @PostMapping("/list")
     public ResultData pageList(@RequestBody CaseParam param){
@@ -174,14 +180,7 @@ public class CaseController {
     @PostMapping("/addOrUpdate")
     public ResultData addOrUpdate(@RequestBody CaseParam param){
 
-        List<String> numList = new ArrayList<>();
-        for (CaseNumType caseNumType : param.getSceneNumParam()) {
-            if(!caseNumType.getNumList().isEmpty()){
-                numList.addAll(caseNumType.getNumList());
-            }
-        }
         caseService.addOrUpdate(param);
-        jySceneAuthService.delByNumList(numList);
         return ResultData.ok();
     }
 
@@ -198,5 +197,70 @@ public class CaseController {
         caseService.removeById(param.getCaseId());
         return ResultData.ok();
     }
+
+    @PostMapping("/getNotAuthScene")
+    public ResultData getNotAuthScene(@RequestBody CaseUserSceneParam param){
+        if(StringUtils.isBlank(param.getRyId()) || param.getCaseId() == null || param.getAuthType() == null){
+            throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
+        }
+        JyUser jyUser = jyUserService.getByRyId(param.getRyId());
+        if(jyUser == null){
+            throw new BusinessException(ResultCode.USER_NOT_EXIST);
+        }
+        SysUser sysUser = sysUserService.getById(jyUser.getSysUserId());
+        if(sysUser == null){
+            throw new BusinessException(ResultCode.USER_NOT_EXIST);
+        }
+        Long roleId = sysUser.getRoleId();
+        Boolean admin = sysRoleService.isAdmin(roleId);
+
+        List<CaseNum> caseNums = caseNumService.getByCaseId(param.getCaseId());
+        if(caseNums.isEmpty()){
+            return ResultData.ok( );
+        }
+        List<String> numList = caseNums.stream().map(CaseNum::getNum).collect(Collectors.toList());
+
+        List<String> hanAuthList = new ArrayList<>();
+
+        List<SceneVoSimp> voByNumList = scenePlusService.getVoByNumList(numList);
+        List<SceneVoSimp> notVoList = new ArrayList<>();
+
+        for (SceneVoSimp sceneVoSimp : voByNumList) {
+            if(admin && sceneVoSimp.getPlatformId().equals(jyUser.getPlatformId())){
+                hanAuthList.add(sceneVoSimp.getNum());
+            }
+        }
+
+        HashMap<String, JySceneAuth> authHashMap = jySceneAuthService.getByNumList(numList);
+        for (JySceneAuth value : authHashMap.values()) {
+            if(value.getAuthType() == 1){ //公开
+                hanAuthList.add(value.getNum());
+            }
+        }
+        HashMap<String, List<JySceneUserAuth>> map  = jySceneUserAuthService.getByNumList(numList,jyUser.getId());
+
+        for (String num : numList) {
+            List<JySceneUserAuth> userAuths = map.get(num+"_"+1);
+            if(userAuths == null || userAuths.isEmpty()){
+                continue;
+            }
+            for (JySceneUserAuth userAuth : userAuths) {
+                if(jySceneUserAuthService.checkAuth(userAuth, param.getAuthType())){
+                    hanAuthList.add(num);
+                    break;
+                }
+            }
+        }
+
+        for (SceneVoSimp voSimp : voByNumList) {
+            if(!hanAuthList.contains(voSimp.getNum())){
+                notVoList.add(voSimp);
+            }
+        }
+
+        return ResultData.ok(notVoList );
+    }
+
+
 }
 

+ 65 - 0
src/main/java/com/fdkankan/manage/controller/CaseFusionController.java

@@ -0,0 +1,65 @@
+package com.fdkankan.manage.controller;
+
+
+import com.fdkankan.manage.common.ResultCode;
+import com.fdkankan.manage.common.ResultData;
+import com.fdkankan.manage.entity.JyUser;
+import com.fdkankan.manage.exception.BusinessException;
+import com.fdkankan.manage.service.ICaseFusionService;
+import com.fdkankan.manage.service.IJyUserService;
+import com.fdkankan.manage.vo.request.FusionParam;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2025-07-21
+ */
+@RestController
+@RequestMapping("/service/manage/caseFusion")
+public class CaseFusionController {
+
+    @Autowired
+    ICaseFusionService caseFusionService;
+    @Autowired
+    IJyUserService jyUserService;
+
+
+    @PostMapping("/list")
+    public ResultData list(@RequestBody FusionParam param){
+
+        return ResultData.ok(caseFusionService.pageList(param));
+    }
+
+    @PostMapping("/move")
+    public ResultData move(@RequestBody FusionParam param){
+        if(StringUtils.isBlank(param.getRyId()) || param.getFusionId() == null){
+            throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
+        }
+        JyUser jyUser = jyUserService.getByRyId(param.getRyId());
+        if(jyUser == null || jyUser.getStatus() == 0){
+            throw new BusinessException(ResultCode.USER_NOT_EXIST);
+        }
+        param.setSysUserId(jyUser.getSysUserId());
+        param.setPlatformId(jyUser.getPlatformId());
+        caseFusionService.move(param);
+        return ResultData.ok();
+    }
+
+    @PostMapping("/del")
+    public ResultData del(@RequestBody FusionParam param){
+        caseFusionService.del(param);
+        return ResultData.ok();
+    }
+}
+
+

+ 1 - 1
src/main/java/com/fdkankan/manage/controller/JyUserShareController.java

@@ -38,7 +38,7 @@ public class JyUserShareController {
         if(param.getId() == null){
             throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
         }
-        jyUserShareService.add(param.getId());
+        jyUserShareService.add(param.getId(),param.getShareType());
         return ResultData.ok();
     }
 

+ 14 - 0
src/main/java/com/fdkankan/manage/controller/SceneController.java

@@ -10,6 +10,8 @@ import com.fdkankan.manage.common.ResultData;
 import com.fdkankan.manage.httpClient.client.FdKKClient;
 import com.fdkankan.manage.httpClient.client.LaserClient;
 import com.fdkankan.manage.httpClient.param.LaserSceneParam;
+import com.fdkankan.manage.httpClient.param.UploadSceneOrigParamVo;
+import com.fdkankan.manage.httpClient.service.FdkkService;
 import com.fdkankan.manage.httpClient.vo.FdkkResponse;
 import com.fdkankan.manage.service.*;
 import com.fdkankan.manage.vo.request.SceneParam;
@@ -51,6 +53,8 @@ public class SceneController {
    @Autowired
    ISceneCopyLogService sceneCopyLogService;
 
+    @Autowired
+    FdkkService fdkkService;
     @PostMapping("/list")
     public ResultData list(@RequestBody SceneParam param){
         return ResultData.ok(sceneProService.pageList(param));
@@ -205,5 +209,15 @@ public class SceneController {
     public ResultData getSceneBuildLog(@PathVariable String num){
         return ResultData.ok(scenePlusService.getSceneBuildLog(num));
     }
+
+
+    @PostMapping("/uploadSceneOrig")
+    public ResultData uploadSceneOrig(@RequestBody UploadSceneOrigParamVo paramVo){
+        if(StringUtils.isBlank(paramVo.getFilePath()) || !paramVo.getFilePath().contains(".zip")){
+            throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
+        }
+        fdkkService.uploadSceneOrig(paramVo);
+        return ResultData.ok();
+    }
 }
 

+ 14 - 5
src/main/java/com/fdkankan/manage/controller/inner/InnerAPIController.java

@@ -318,15 +318,24 @@ public class InnerAPIController extends BaseController {
         Page<UserAuthSceneVo> page= jyUserShareService.sceneAuthVoList(shareParam);
         List<String> numList = page.getRecords().stream().map(UserAuthSceneVo::getNum).collect(Collectors.toList());
         HashMap<String, List<JySceneUserAuth>> map  = jySceneUserAuthService.getByNumList(numList,jyUser.getId());
+        HashMap<Integer,JyUser> userHashMap = new HashMap<>();
+
         for (UserAuthSceneVo record : page.getRecords()) {
             List<JySceneUserAuth> userAuths = map.get(record.getNum()+"_"+record.getAuthType());
             if(userAuths != null && !userAuths.isEmpty()){
                 for (JySceneUserAuth userAuth : userAuths) {
-                    JyUser jyUser1 = jyUserService.getById(userAuth.getJyUserId());
-                    if(jyUser1 != null){
-                        userAuth.setRyId(jyUser1.getRyId());
-                        userAuth.setRyNo(jyUser1.getRyNo());
-                        userAuth.setRyNickName(jyUser1.getRyNickName());
+                    JyUser jyUser2 = userHashMap.get(userAuth.getJyUserId());
+                    if(jyUser2 == null){
+                        JyUser jyUser1 = jyUserService.getById(userAuth.getJyUserId());
+                        if(jyUser1 != null){
+                            userHashMap.put(jyUser1.getId(),jyUser1);
+                        }
+                    }
+                    jyUser2 = userHashMap.get(userAuth.getJyUserId());
+                    if(jyUser2 != null){
+                        userAuth.setRyId(jyUser2.getRyId());
+                        userAuth.setRyNo(jyUser2.getRyNo());
+                        userAuth.setRyNickName(jyUser2.getRyNickName());
                     }
                 }
                 record.setAuthList(userAuths);

+ 3 - 0
src/main/java/com/fdkankan/manage/entity/Case.java

@@ -43,6 +43,9 @@ public class Case implements Serializable {
     @TableField("sys_user_id")
     private Long sysUserId;
 
+    @TableField("platform_id")
+    private Integer platformId;
+
     @TableField("tb_status")
     @TableLogic
     private Integer tbStatus;

+ 62 - 0
src/main/java/com/fdkankan/manage/entity/CaseFusion.java

@@ -0,0 +1,62 @@
+package com.fdkankan.manage.entity;
+
+import com.baomidou.mybatisplus.annotation.*;
+
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 
+ * @since 2025-07-21
+ */
+@Getter
+@Setter
+@TableName("t_case_fusion")
+public class CaseFusion implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 多元融合
+     */
+    @TableId(value = "fusion_id", type = IdType.AUTO)
+    private Integer fusionId;
+
+    /**
+     * 融合标题
+     */
+    @TableField("fusion_title")
+    private String fusionTitle;
+
+    /**
+     * 案件id
+     */
+    @TableField("case_id")
+    private Integer caseId;
+
+    @TableField("platform_id")
+    private Integer platformId;
+
+    @TableField("sys_user_id")
+    private Integer sysUserId;
+
+    @TableField("lat_and_long")
+    private String latAndLong;
+
+    @TableLogic
+    private Integer tbStatus;
+
+    @TableField("create_time")
+    private Date createTime;
+
+    @TableField("update_time")
+    private Date updateTime;
+
+
+}

+ 3 - 0
src/main/java/com/fdkankan/manage/entity/JyUserShare.java

@@ -34,6 +34,9 @@ public class JyUserShare implements Serializable {
     @TableField("main_jy_user_id")
     private Integer mainJyUserId;
 
+    @TableField("share_type")
+    private Integer shareType;
+
     @TableField("rec_status")
     @TableLogic(value = "A",delval = "I")
     private String recStatus;

+ 1 - 1
src/main/java/com/fdkankan/manage/generate/AutoGenerate.java

@@ -18,7 +18,7 @@ public class AutoGenerate {
         String path =System.getProperty("user.dir");
 
         generate(path,"manage", getTables(new String[]{
-                "t_overview_num"
+                "t_case_fusion"
         }));
 
 //        generate(path,"goods", getTables(new String[]{

+ 4 - 0
src/main/java/com/fdkankan/manage/httpClient/client/FdKKClient.java

@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.dtflys.forest.annotation.*;
 import com.fdkankan.manage.common.ResultData;
 import com.fdkankan.manage.httpClient.address.FdkkAddressSource;
+import com.fdkankan.manage.httpClient.param.UploadSceneOrigParamVo;
 import com.fdkankan.manage.vo.request.CaseParam;
 
 import java.util.HashMap;
@@ -23,4 +24,7 @@ public interface FdKKClient {
 
     @Post("/fusion/case/addScene")
     ResultData addScene(@JSONBody CaseParam caseParam, @Header("token") String token);
+
+    @Post("/api/scene/file/jmga/uploadSceneOrig")
+    ResultData uploadSceneOrig(@JSONBody UploadSceneOrigParamVo param, @Header("token") String token);
 }

+ 9 - 0
src/main/java/com/fdkankan/manage/httpClient/param/UploadSceneOrigParamVo.java

@@ -0,0 +1,9 @@
+package com.fdkankan.manage.httpClient.param;
+
+import lombok.Data;
+
+@Data
+public class UploadSceneOrigParamVo {
+    private String filePath;
+    private Long userId;
+}

+ 43 - 0
src/main/java/com/fdkankan/manage/httpClient/service/FdkkService.java

@@ -0,0 +1,43 @@
+package com.fdkankan.manage.httpClient.service;
+
+import cn.dev33.satoken.stp.StpUtil;
+import com.fdkankan.fyun.face.FYunFileServiceInterface;
+import com.fdkankan.manage.common.ResultCode;
+import com.fdkankan.manage.common.ResultData;
+import com.fdkankan.manage.config.ManageConfig;
+import com.fdkankan.manage.entity.JyUser;
+import com.fdkankan.manage.exception.BusinessException;
+import com.fdkankan.manage.httpClient.client.FdKKClient;
+import com.fdkankan.manage.httpClient.param.UploadSceneOrigParamVo;
+import com.fdkankan.manage.service.IJyUserService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+
+@Service
+@Slf4j
+public class FdkkService {
+
+    @Autowired
+    FdKKClient fdKKClient;
+    @Autowired
+    IJyUserService jyUserService;
+    @Autowired
+    ManageConfig manageConfig;
+
+    public void uploadSceneOrig(UploadSceneOrigParamVo paramVo){
+        try {
+            JyUser jyUser = jyUserService.getBySysId(StpUtil.getLoginId());
+            paramVo.setUserId(jyUser.getUserId());
+            paramVo.setFilePath(paramVo.getFilePath().replace(manageConfig.getQueryPath(),""));
+            ResultData resultData = fdKKClient.uploadSceneOrig(paramVo, StpUtil.getTokenValue());
+            if(resultData.getCode() != 0){
+                throw new BusinessException(resultData.getCode(),resultData.getMessage());
+            }
+        }catch (Exception e){
+            log.info("uploadSceneOrig:{}",e);
+            throw new BusinessException(ResultCode.UPLOAD_ERROR);
+        }
+    }
+}

+ 23 - 0
src/main/java/com/fdkankan/manage/mapper/ICaseFusionMapper.java

@@ -0,0 +1,23 @@
+package com.fdkankan.manage.mapper;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fdkankan.manage.entity.CaseFusion;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fdkankan.manage.vo.request.FusionParam;
+import com.fdkankan.manage.vo.response.CaseFusionVo;
+import com.fdkankan.manage.vo.response.OrderVo;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2025-07-21
+ */
+@Mapper
+public interface ICaseFusionMapper extends BaseMapper<CaseFusion> {
+
+    Page<CaseFusionVo> pageList(Page<CaseFusionVo> page, FusionParam param);
+}

+ 2 - 3
src/main/java/com/fdkankan/manage/mapper/IScenePlusMapper.java

@@ -7,9 +7,7 @@ import com.fdkankan.manage.entity.ScenePlus;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.fdkankan.manage.entity.UserShareParam;
 import com.fdkankan.manage.vo.request.AllShareParam;
-import com.fdkankan.manage.vo.response.GroupByCount;
-import com.fdkankan.manage.vo.response.UserAuthSceneVo;
-import com.fdkankan.manage.vo.response.UserShareSceneVo;
+import com.fdkankan.manage.vo.response.*;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -37,4 +35,5 @@ public interface IScenePlusMapper extends BaseMapper<ScenePlus> {
 
     Page<UserAuthSceneVo> sceneAuthVoPageList(Page<UserShareSceneVo> objectPage, UserShareParam param);
 
+    List<SceneVoSimp> getVoByNumList(@Param("numList") List<String> numList);
 }

+ 32 - 0
src/main/java/com/fdkankan/manage/service/ICaseFusionService.java

@@ -0,0 +1,32 @@
+package com.fdkankan.manage.service;
+
+import com.fdkankan.manage.entity.CaseFusion;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.manage.vo.request.FusionParam;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 
+ * @since 2025-07-21
+ */
+public interface ICaseFusionService extends IService<CaseFusion> {
+
+    Object pageList(FusionParam param);
+
+    void updatePlatformIdByCase(Integer caseId, Long sysUserId, Integer platformId);
+
+    void move(FusionParam param);
+
+    void del(FusionParam param);
+
+    void updateCaseFusionLat(Integer caseId, String latAndLong);
+
+    List<CaseFusion> getByCaseId(Integer caseId);
+
+    void updateCaseFusionTitle(Integer caseId, String caseTitle);
+}

+ 3 - 0
src/main/java/com/fdkankan/manage/service/ICaseNumService.java

@@ -33,4 +33,7 @@ public interface ICaseNumService extends IService<CaseNum> {
     List<CaseNum> getByNumList(List<String> numList);
 
     HashMap<String, Case> getMapByNumList(List<String> list);
+
+
+    void add(Integer caseId, CaseNumType caseNumType);
 }

+ 2 - 0
src/main/java/com/fdkankan/manage/service/ICaseOverviewService.java

@@ -21,4 +21,6 @@ public interface ICaseOverviewService extends IService<CaseOverview> {
     void rename(Integer overviewId, String newTitle);
 
     void del(Integer overviewId);
+
+    void updatePlatformIdByCase(Integer caseId, Long sysUserId, Integer platformId);
 }

+ 4 - 0
src/main/java/com/fdkankan/manage/service/ICaseService.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fdkankan.manage.entity.Case;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.fdkankan.manage.vo.request.CaseParam;
+import com.fdkankan.manage.vo.request.CaseUserSceneParam;
 
 import java.util.HashMap;
 import java.util.List;
@@ -29,4 +30,7 @@ public interface ICaseService extends IService<Case> {
     void checkNumInCase(String num);
 
     HashMap<Integer, Case> getMapByCaseIds(List<Integer> caseIds);
+
+    void updatePlatformIdById(Integer caseId, Integer platformId);
+
 }

+ 2 - 0
src/main/java/com/fdkankan/manage/service/ICaseTabulationService.java

@@ -27,4 +27,6 @@ public interface ICaseTabulationService extends IService<CaseTabulation> {
     void rename(Integer tabulationId, String newTitle);
 
     void del(Integer tabulationId);
+
+    void updatePlatformIdByCase(Integer caseId, Long sysUserId, Integer platformId);
 }

+ 1 - 0
src/main/java/com/fdkankan/manage/service/IJySceneUserAuthService.java

@@ -55,4 +55,5 @@ public interface IJySceneUserAuthService extends IService<JySceneUserAuth> {
 
     JySceneUserAuth getByCaseIdAndRyNo(Integer caseId, String ryNo);
 
+     Boolean checkAuth(JySceneUserAuth userAuth,Integer authType);
 }

+ 1 - 1
src/main/java/com/fdkankan/manage/service/IJyUserShareService.java

@@ -22,7 +22,7 @@ public interface IJyUserShareService extends IService<JyUserShare> {
 
     Object pageList(UserShareParam param);
 
-    void add(Integer jyUserId);
+    void add(Integer jyUserId,Integer shareType);
 
     JyUserShare getByMainUserIdAndUserId(Integer sysUserId, Integer jyUserId);
 

+ 4 - 0
src/main/java/com/fdkankan/manage/service/IScenePlusService.java

@@ -7,6 +7,8 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.fdkankan.manage.entity.UserShareParam;
 import com.fdkankan.manage.vo.request.AllShareParam;
 import com.fdkankan.manage.vo.request.SceneParam;
+import com.fdkankan.manage.vo.response.SceneVo;
+import com.fdkankan.manage.vo.response.SceneVoSimp;
 import com.fdkankan.manage.vo.response.UserAuthSceneVo;
 import com.fdkankan.manage.vo.response.UserShareSceneVo;
 
@@ -42,4 +44,6 @@ public interface IScenePlusService extends IService<ScenePlus> {
     String getSceneBuildLog(String num);
 
     List<String> getNumListBySceneName(String sceneName);
+
+    List<SceneVoSimp> getVoByNumList(List<String> notAuthList);
 }

+ 1 - 0
src/main/java/com/fdkankan/manage/service/ISysRoleService.java

@@ -25,4 +25,5 @@ public interface ISysRoleService extends IService<SysRole> {
     void giveMenu(SysRoleMenuParam param);
 
     Boolean isAdmin();
+    Boolean isAdmin(Long roleId);
 }

+ 106 - 0
src/main/java/com/fdkankan/manage/service/impl/CaseFusionServiceImpl.java

@@ -0,0 +1,106 @@
+package com.fdkankan.manage.service.impl;
+
+import cn.dev33.satoken.stp.StpUtil;
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fdkankan.manage.common.PageInfo;
+import com.fdkankan.manage.common.ResultCode;
+import com.fdkankan.manage.entity.CaseFusion;
+import com.fdkankan.manage.entity.CaseOverview;
+import com.fdkankan.manage.exception.BusinessException;
+import com.fdkankan.manage.mapper.ICaseFusionMapper;
+import com.fdkankan.manage.service.ICaseFusionService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.manage.service.IJyUserPlatformService;
+import com.fdkankan.manage.service.ISysRoleService;
+import com.fdkankan.manage.vo.request.FusionParam;
+import com.fdkankan.manage.vo.response.CaseFusionVo;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2025-07-21
+ */
+@Service
+@DS("db2")
+public class CaseFusionServiceImpl extends ServiceImpl<ICaseFusionMapper, CaseFusion> implements ICaseFusionService {
+
+    @Autowired
+    IJyUserPlatformService jyUserPlatformService;
+    @Autowired
+    ISysRoleService sysRoleService;
+
+    @Override
+    public Object pageList(FusionParam param) {
+        Long sysUserId = Long.valueOf(StpUtil.getLoginId().toString());
+        Integer loginPlatformId = jyUserPlatformService.getLoginPlatformId();
+        Boolean flag = sysRoleService.isAdmin();
+
+        param.setPlatformId(loginPlatformId);
+        if(!flag){
+            param.setSysUserId(sysUserId);
+        }
+        Page<CaseFusionVo> page = this.getBaseMapper().pageList(new Page<>(param.getPageNum(),param.getPageSize()),param);
+
+        return PageInfo.PageInfo(page);
+    }
+
+    @Override
+    public void updatePlatformIdByCase(Integer caseId, Long sysUserId, Integer platformId) {
+        LambdaUpdateWrapper<CaseFusion> wrapper = new LambdaUpdateWrapper<>();
+        wrapper.eq(CaseFusion::getCaseId,caseId);
+        wrapper.set(CaseFusion::getSysUserId,sysUserId);
+        wrapper.set(CaseFusion::getPlatformId,platformId);
+        this.update(wrapper);
+    }
+
+    @Override
+    public void updateCaseFusionLat(Integer caseId, String latAndLong) {
+        LambdaUpdateWrapper<CaseFusion> wrapper = new LambdaUpdateWrapper<>();
+        wrapper.eq(CaseFusion::getCaseId,caseId);
+        wrapper.set(CaseFusion::getLatAndLong,latAndLong);
+        this.update(wrapper);
+    }
+
+    @Override
+    public void updateCaseFusionTitle(Integer caseId, String caseTitle) {
+        LambdaUpdateWrapper<CaseFusion> wrapper = new LambdaUpdateWrapper<>();
+        wrapper.eq(CaseFusion::getCaseId,caseId);
+        wrapper.set(CaseFusion::getFusionTitle,caseTitle);
+        this.update(wrapper);
+    }
+
+    @Override
+    public void move(FusionParam param) {
+        LambdaUpdateWrapper<CaseFusion> wrapper = new LambdaUpdateWrapper<>();
+        wrapper.eq(CaseFusion::getFusionId,param.getFusionId());
+        wrapper.set(CaseFusion::getSysUserId,param.getSysUserId());
+        wrapper.set(CaseFusion::getPlatformId,param.getPlatformId());
+        this.update(wrapper);
+    }
+
+    @Override
+    public void del(FusionParam param) {
+        if(param.getFusionId() == null){
+            throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
+        }
+        this.removeById(param.getFusionId());
+    }
+
+    @Override
+    public List<CaseFusion> getByCaseId(Integer caseId) {
+        LambdaQueryWrapper<CaseFusion> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(CaseFusion::getCaseId,caseId);
+        return this.list(wrapper);
+    }
+}

+ 11 - 0
src/main/java/com/fdkankan/manage/service/impl/CaseNumServiceImpl.java

@@ -134,4 +134,15 @@ public class CaseNumServiceImpl extends ServiceImpl<ICaseNumMapper, CaseNum> imp
         }
         return map;
     }
+
+    @Override
+    public void add(Integer caseId, CaseNumType caseNumType) {
+        for (String num : caseNumType.getNumList()) {
+            CaseNum caseNum = new CaseNum();
+            caseNum.setCaseId(caseId);
+            caseNum.setNum(num);
+            caseNum.setNumType(caseNumType.getType());
+            this.save(caseNum);
+        }
+    }
 }

+ 9 - 0
src/main/java/com/fdkankan/manage/service/impl/CaseOverviewServiceImpl.java

@@ -168,4 +168,13 @@ public class CaseOverviewServiceImpl extends ServiceImpl<ICaseOverviewMapper, Ca
         wrapper.and(e -> e.eq(CaseOverview::getListCover,listCover).or().eq(CaseOverview::getKankanCover,listCover));
         return this.list(wrapper);
     }
+
+    @Override
+    public void updatePlatformIdByCase(Integer caseId, Long sysUserId, Integer platformId) {
+        LambdaUpdateWrapper<CaseOverview> wrapper = new LambdaUpdateWrapper<>();
+        wrapper.eq(CaseOverview::getCaseId,caseId);
+        wrapper.set(CaseOverview::getSysUserId,sysUserId);
+        wrapper.set(CaseOverview::getPlatformId,platformId);
+        this.update(wrapper);
+    }
 }

+ 36 - 69
src/main/java/com/fdkankan/manage/service/impl/CaseServiceImpl.java

@@ -3,7 +3,9 @@ package com.fdkankan.manage.service.impl;
 import cn.dev33.satoken.stp.StpUtil;
 import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fdkankan.common.util.SecurityUtil;
 import com.fdkankan.manage.common.PageInfo;
 import com.fdkankan.manage.common.ResultCode;
 import com.fdkankan.manage.common.ResultData;
@@ -16,8 +18,8 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fdkankan.manage.util.CaseNumTypeUtil;
 import com.fdkankan.manage.vo.request.CaseNumType;
 import com.fdkankan.manage.vo.request.CaseParam;
-import com.fdkankan.manage.vo.response.SceneAuthVo;
-import com.fdkankan.manage.vo.response.UserAuthSceneVo;
+import com.fdkankan.manage.vo.request.CaseUserSceneParam;
+import com.fdkankan.manage.vo.response.*;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.bouncycastle.jcajce.provider.asymmetric.rsa.AlgorithmParametersSpi;
@@ -43,6 +45,16 @@ public class CaseServiceImpl extends ServiceImpl<ICaseMapper, Case> implements I
 
     @Autowired
     ICaseNumService caseNumService;
+    @Autowired
+    IJyUserService jyUserService;
+    @Autowired
+    IJySceneAuthService jySceneAuthService;
+    @Autowired
+    IJySceneUserAuthService jySceneUserAuthService;
+    @Autowired
+    IScenePlusService scenePlusService;
+    @Autowired
+    ICaseFusionService caseFusionService;
 
 
     @Override
@@ -90,78 +102,23 @@ public class CaseServiceImpl extends ServiceImpl<ICaseMapper, Case> implements I
 
     @Override
     public void addOrUpdate(CaseParam param) {
-        Case  caseEntity;
-        if(param.getCaseId() == null){
-            caseEntity = new Case();
-            caseEntity.setSysUserId(Long.valueOf(StpUtil.getLoginId().toString()));
-            caseEntity.setUserName((String)StpUtil.getExtra("userName"));
-        }else {
-            caseEntity = this.getById(param.getCaseId());
+        if(param.getCaseId() != null){
+            throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
         }
-        caseEntity.setCaseTitle(param.getCaseTitle());
-        caseEntity.setUpdateTime(null);
-        this.saveOrUpdate(caseEntity);
-
-        HashMap<Integer,HashSet<String>> numTypeMap = new HashMap<>();
-        for (Integer type : CaseNumTypeUtil.getNumType()) {
-            numTypeMap.put(type,new HashSet<>());
+        JyUser jyUser = jyUserService.getBySysId(StpUtil.getLoginId());
+        if(jyUser == null){
+            throw new BusinessException(ResultCode.USER_NOT_EXIST);
         }
+        Case  caseEntity = new Case();
+        caseEntity.setSysUserId(Long.valueOf(StpUtil.getLoginId().toString()));
+        caseEntity.setPlatformId(jyUser.getPlatformId());
+        caseEntity.setUserName((String)StpUtil.getExtra("userName"));
+        caseEntity.setCaseTitle(param.getCaseTitle());
+        this.save(caseEntity);
 
         for (CaseNumType caseNumType : param.getSceneNumParam()) {
-            List<Integer> numType = CaseNumTypeUtil.getNumType(caseNumType.getType());
-            for (Integer type : numType) {
-                List<String> numList = caseNumType.getNumList().stream().filter(e ->StringUtils.isNotBlank(e) && CaseNumTypeUtil.getCaseNumType(e, caseNumType.getType()) != null
-                        && CaseNumTypeUtil.getCaseNumType(e, caseNumType.getType()).equals(type)).collect(Collectors.toList());
-                if(numTypeMap.get(type) != null){
-                    numTypeMap.get(type).addAll(numList);
-                }
-            }
-        }
-        List<CaseNumType> newParam = new ArrayList<>();
-        for (Integer type : numTypeMap.keySet()) {
-            CaseNumType numType1 = new CaseNumType();
-            numType1.setType(type);
-            numType1.setNumList(new ArrayList<>(numTypeMap.get(type)));
-            newParam.add(numType1);
-        }
-        param.setSceneNumParam(newParam);
-        param.setCaseId(caseEntity.getCaseId());
-        try {
-            ResultData resultData = fdKKClient.addScene(param, StpUtil.getTokenValue());
-            if(resultData.getCode() !=0){
-                throw new BusinessException(resultData.getCode(),resultData.getMessage());
-            }
-        }catch (BusinessException e){
-            throw e;
-        }catch (Exception e){
-            log.info("error:{}",e);
-            throw new BusinessException(ResultCode.SYSTEM_ERROR);
+            caseNumService.add(caseEntity.getCaseId(),caseNumType);
         }
-
-
-
-//        HashMap<Integer,CaseNumType> map = caseNumService.getCaseNumTypeByCaseId(caseEntity.getCaseId());
-//        List<Integer> typeKes = param.getSceneNumParam().stream().map(CaseNumType::getType).collect(Collectors.toList());
-//        for (Integer key : map.keySet()) {
-//            if(!typeKes.contains(key)){
-//                caseNumService.delByCaseIdAndNumList(caseEntity.getCaseId(),map.get(key).getNumList(),key);
-//            }
-//        }
-//
-//        for (CaseNumType paramType : param.getSceneNumParam()) {
-//            CaseNumType dbType = map.get(paramType.getType());
-//            if(dbType == null || dbType.getNumList().isEmpty()){
-//                caseNumService.saveByCaseIdAndNumList(caseEntity.getCaseId(),paramType.getNumList(),paramType.getType());
-//                continue;
-//            }
-//
-//            List<String> delNums = dbType.getNumList().stream().filter(e -> !paramType.getNumList().contains(e)).collect(Collectors.toList());
-//            caseNumService.delByCaseIdAndNumList(caseEntity.getCaseId(),delNums,paramType.getType());
-//
-//            List<String> addNums = paramType.getNumList().stream().filter(e -> !dbType.getNumList().contains(e)).collect(Collectors.toList());
-//            caseNumService.saveByCaseIdAndNumList(caseEntity.getCaseId(),addNums,paramType.getType());
-//        }
-
     }
 
     @Override
@@ -175,4 +132,14 @@ public class CaseServiceImpl extends ServiceImpl<ICaseMapper, Case> implements I
 
         return map;
     }
+
+    @Override
+    public void updatePlatformIdById(Integer caseId, Integer platformId) {
+        LambdaUpdateWrapper<Case> wrapper = new LambdaUpdateWrapper<>();
+        wrapper.eq(Case::getCaseId,caseId);
+        wrapper.set(Case::getPlatformId,platformId);
+        this.update(wrapper);
+    }
+
+
 }

+ 9 - 0
src/main/java/com/fdkankan/manage/service/impl/CaseTabulationServiceImpl.java

@@ -167,4 +167,13 @@ public class CaseTabulationServiceImpl extends ServiceImpl<ICaseTabulationMapper
         wrapper.and(e -> e.eq(CaseTabulation::getListCover,listCover).or().eq(CaseTabulation::getMapUrl,listCover).or().like(CaseTabulation::getCover,listCover));
         return this.list(wrapper);
     }
+
+    @Override
+    public void updatePlatformIdByCase(Integer caseId, Long sysUserId, Integer platformId) {
+        LambdaUpdateWrapper<CaseTabulation> wrapper = new LambdaUpdateWrapper<>();
+        wrapper.eq(CaseTabulation::getCaseId,caseId);
+        wrapper.set(CaseTabulation::getSysUserId,sysUserId);
+        wrapper.set(CaseTabulation::getPlatformId,platformId);
+        this.update(wrapper);
+    }
 }

+ 25 - 0
src/main/java/com/fdkankan/manage/service/impl/JySceneUserAuthServiceImpl.java

@@ -735,4 +735,29 @@ public class JySceneUserAuthServiceImpl extends ServiceImpl<IJySceneUserAuthMapp
         }
         return map;
     }
+
+
+    @Override
+
+    public Boolean checkAuth(JySceneUserAuth userAuth,Integer authType){
+        if(authType == 0){
+            if(userAuth.getLookAuth() == 1){
+                return true;
+            }
+            if(userAuth.getLookAuth() == 2 && new Date().getTime() < userAuth.getLookEndTime().getTime()){
+                return true;
+            }
+        }
+
+        if(authType == 1){
+            if(userAuth.getEditAuth() == 1){
+                return true;
+            }
+            if(userAuth.getEditAuth() == 2 && new Date().getTime() < userAuth.getEditEndTime().getTime()){
+                return true;
+            }
+        }
+
+        return false;
+    }
 }

+ 6 - 5
src/main/java/com/fdkankan/manage/service/impl/JyUserShareServiceImpl.java

@@ -75,7 +75,7 @@ public class JyUserShareServiceImpl extends ServiceImpl<IJyUserShareMapper, JyUs
     }
 
     @Override
-    public void add(Integer jyUserId) {
+    public void add(Integer jyUserId,Integer shareType) {
         JyUser jyUser = jyUserService.getById(jyUserId);
         if(jyUser == null || jyUser.getStatus() != 1){
             throw new BusinessException(ResultCode.USER_NOT_EXIST);
@@ -88,13 +88,14 @@ public class JyUserShareServiceImpl extends ServiceImpl<IJyUserShareMapper, JyUs
             throw new BusinessException(ResultCode.SHARE_ERROR);
         }
         JyUserShare jyUserShare = this.getByMainUserIdAndUserId(mainUser.getId(),jyUserId);
-        if(jyUserShare != null){
-            throw new BusinessException(ResultCode.SHARE_USER_ERROR);
+        if(jyUserShare == null){
+            jyUserShare = new JyUserShare();
         }
-        jyUserShare = new JyUserShare();
         jyUserShare.setJyUserId(jyUserId);
         jyUserShare.setMainJyUserId(mainUser.getId());
-        this.save(jyUserShare);
+        jyUserShare.setShareType(shareType);
+        jyUserShare.setUpdateTime(null);
+        this.saveOrUpdate(jyUserShare);
 
     }
 

+ 6 - 4
src/main/java/com/fdkankan/manage/service/impl/ScenePlusServiceImpl.java

@@ -20,10 +20,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fdkankan.manage.util.ShellUtil;
 import com.fdkankan.manage.vo.request.AllShareParam;
 import com.fdkankan.manage.vo.request.SceneParam;
-import com.fdkankan.manage.vo.response.AgentNewLogVo;
-import com.fdkankan.manage.vo.response.GroupByCount;
-import com.fdkankan.manage.vo.response.UserAuthSceneVo;
-import com.fdkankan.manage.vo.response.UserShareSceneVo;
+import com.fdkankan.manage.vo.response.*;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -194,4 +191,9 @@ public class ScenePlusServiceImpl extends ServiceImpl<IScenePlusMapper, ScenePlu
         wrapper.like(ScenePlus::getTitle,sceneName);
         return this.list(wrapper).stream().map(ScenePlus::getNum).collect(Collectors.toList());
     }
+
+    @Override
+    public List<SceneVoSimp> getVoByNumList(List<String> notAuthList) {
+        return this.getBaseMapper().getVoByNumList(notAuthList);
+    }
 }

+ 11 - 1
src/main/java/com/fdkankan/manage/service/impl/SysRoleServiceImpl.java

@@ -91,7 +91,17 @@ public class SysRoleServiceImpl extends ServiceImpl<ISysRoleMapper, SysRole> imp
     @Override
     public Boolean isAdmin() {
         List<String> roleList = StpUtil.getRoleList();
-        if(roleList.contains("admin")){
+        for (String roleType : roleList) {
+            if(roleType.contains("admin")){
+                return true;
+            }
+        }
+        return false;
+    }
+    @Override
+    public Boolean isAdmin(Long roleId) {
+        SysRole byId = this.getById(roleId);
+        if(byId != null && byId.getRoleType().contains("admin")){
             return true;
         }
         return false;

+ 94 - 0
src/main/java/com/fdkankan/manage/task/TaskService.java

@@ -0,0 +1,94 @@
+package com.fdkankan.manage.task;
+
+import com.fdkankan.manage.entity.*;
+import com.fdkankan.manage.service.*;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.PostConstruct;
+import java.util.List;
+import java.util.stream.Collectors;
+
+@Service
+public class TaskService {
+    @Autowired
+    IJyUserService jyUserService;
+    @Autowired
+    ICaseService caseService;
+    @Autowired
+    ICaseOverviewService caseOverviewService;
+    @Autowired
+    ICaseTabulationService caseTabulationService;
+    @Autowired
+    ICaseFusionService caseFusionService;
+
+    @PostConstruct
+    public void task(){
+        updateCasePlatformId();
+        updateCaseOverviewPlatformId();
+        updateCaseTabulationPlatformId();
+        updateCaseFusionPlatformId();
+        updateCaseFusionLat();
+        updateCaseFusionTitle();
+    }
+
+
+
+
+    private void updateCasePlatformId() {
+        List<Case> list = caseService.list();
+        for (Case aCase : list) {
+            if(aCase.getPlatformId() == null){
+                JyUser jyUser = jyUserService.getBySysId(aCase.getSysUserId());
+                if(jyUser != null && jyUser.getPlatformId() != null){
+                    caseService.updatePlatformIdById(aCase.getCaseId(),jyUser.getPlatformId());
+                }
+            }
+        }
+    }
+
+
+    private void updateCaseOverviewPlatformId() {
+        List<CaseOverview> list = caseOverviewService.list();
+        List<Integer> caseIds = list.stream().filter(e->e.getSysUserId()== null).map(CaseOverview::getCaseId).collect(Collectors.toList());
+        List<Case> cases = caseService.listByIds(caseIds);
+        for (Case aCase : cases) {
+            caseOverviewService.updatePlatformIdByCase(aCase.getCaseId(),aCase.getSysUserId(),aCase.getPlatformId());
+        }
+    }
+
+    private void updateCaseTabulationPlatformId() {
+        List<CaseTabulation> list = caseTabulationService.list();
+        List<Integer> caseIds = list.stream().filter(e->e.getSysUserId()== null).map(CaseTabulation::getCaseId).collect(Collectors.toList());
+        List<Case> cases = caseService.listByIds(caseIds);
+        for (Case aCase : cases) {
+            caseTabulationService.updatePlatformIdByCase(aCase.getCaseId(),aCase.getSysUserId(),aCase.getPlatformId());
+        }
+    }
+
+    private void updateCaseFusionPlatformId() {
+        List<CaseFusion> list = caseFusionService.list();
+        List<Integer> caseIds = list.stream().filter(e->e.getSysUserId()== null).map(CaseFusion::getCaseId).collect(Collectors.toList());
+        List<Case> cases = caseService.listByIds(caseIds);
+        for (Case aCase : cases) {
+            caseFusionService.updatePlatformIdByCase(aCase.getCaseId(),aCase.getSysUserId(),aCase.getPlatformId());
+        }
+    }
+
+    private void updateCaseFusionLat() {
+        List<CaseFusion> list = caseFusionService.list();
+        List<Integer> caseIds = list.stream().filter(e->e.getLatAndLong()== null).map(CaseFusion::getCaseId).collect(Collectors.toList());
+        List<Case> cases = caseService.listByIds(caseIds);
+        for (Case aCase : cases) {
+            caseFusionService.updateCaseFusionLat(aCase.getCaseId(),aCase.getLatAndLong());
+        }
+    }
+    private void updateCaseFusionTitle() {
+        List<CaseFusion> list = caseFusionService.list();
+        List<Integer> caseIds = list.stream().filter(e->e.getFusionTitle()== null).map(CaseFusion::getCaseId).collect(Collectors.toList());
+        List<Case> cases = caseService.listByIds(caseIds);
+        for (Case aCase : cases) {
+            caseFusionService.updateCaseFusionTitle(aCase.getCaseId(),aCase.getCaseTitle());
+        }
+    }
+}

+ 1 - 0
src/main/java/com/fdkankan/manage/vo/request/CaseParam.java

@@ -30,4 +30,5 @@ public class CaseParam extends RequestBase{
     private List<Long> ohterUserIds = new ArrayList<>();
 
     private String ryId;
+
 }

+ 10 - 0
src/main/java/com/fdkankan/manage/vo/request/CaseUserSceneParam.java

@@ -0,0 +1,10 @@
+package com.fdkankan.manage.vo.request;
+
+import lombok.Data;
+
+@Data
+public class CaseUserSceneParam {
+    private Integer caseId;
+    private String ryId;
+    private Integer authType;
+}

+ 15 - 0
src/main/java/com/fdkankan/manage/vo/request/FusionParam.java

@@ -0,0 +1,15 @@
+package com.fdkankan.manage.vo.request;
+
+import lombok.Data;
+
+@Data
+public class FusionParam extends RequestBase {
+    private Integer fusionId;
+    private String fusionTitle;
+    private String caseTitle;
+
+    private Integer platformId;
+    private Long sysUserId;
+
+    private String ryId;
+}

+ 1 - 1
src/main/java/com/fdkankan/manage/vo/request/SysRoleParam.java

@@ -7,7 +7,7 @@ import lombok.Data;
 public class SysRoleParam extends RequestBase {
     private Long id;
     private String roleName;
-    private String roleType ="manage";
+    private String roleType ;
     private String description;
     private Long createUserId;
     private Integer status;

+ 11 - 0
src/main/java/com/fdkankan/manage/vo/response/CaseFusionVo.java

@@ -0,0 +1,11 @@
+package com.fdkankan.manage.vo.response;
+
+import com.fdkankan.manage.entity.CaseFusion;
+import lombok.Data;
+
+@Data
+public class CaseFusionVo extends CaseFusion {
+    private String caseTitle;
+    private String ryId;
+    private String ryNickName;
+}

+ 14 - 0
src/main/java/com/fdkankan/manage/vo/response/SceneVoSimp.java

@@ -0,0 +1,14 @@
+package com.fdkankan.manage.vo.response;
+
+import lombok.Data;
+
+@Data
+public class SceneVoSimp {
+    private Long id;
+    private String title;
+    private String webSite;
+    private String ryNickName;
+    private Integer jyUserId;
+    private Integer platformId;
+    private String num;
+}

+ 1 - 0
src/main/java/com/fdkankan/manage/vo/response/UserShareVo.java

@@ -10,4 +10,5 @@ public class UserShareVo {
     private Integer status;
     private Long userId;
     private Long sceneCount;
+    private Integer shareType;
 }

+ 24 - 0
src/main/resources/mapper/manage/CaseFusionMapper.xml

@@ -0,0 +1,24 @@
+<?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.manage.mapper.ICaseFusionMapper">
+
+    <select id="pageList" resultType="com.fdkankan.manage.vo.response.CaseFusionVo">
+        select f.*,c.case_title,u.ry_id,u.ry_nick_name from fd_fusion.t_case_fusion f
+            left join fd_fusion.t_case c on f.case_id = c.case_id
+            left join 4dkankan_v4.jy_user u on f.sys_user_id = u.sys_user_id
+            where f.tb_status = 0
+        <if test="param.platformId != null">
+            and f.platform_id = #{param.platformId}
+        </if>
+        <if test="param.sysUserId != null">
+            and f.sys_user_id = #{param.sysUserId}
+        </if>
+        <if test="param.fusionTitle != null and param.fusionTitle != ''">
+            and f.fusion_title like  concat ('%',#{param.fusionTitle},'%')
+        </if>
+        <if test="param.caseTitle != null and param.caseTitle != ''">
+            and c.case_title like  concat ('%',#{param.caseTitle},'%')
+        </if>
+        order by f.fusion_id desc
+    </select>
+</mapper>

+ 13 - 0
src/main/resources/mapper/manage/ScenePlusMapper.xml

@@ -121,4 +121,17 @@
 
     </select>
 
+
+    <select id="getVoByNumList" resultType="com.fdkankan.manage.vo.response.SceneVoSimp">
+        select s.id, title,web_site,ry_nick_name ,u.id as jyUserId,u.platform_id ,num from t_scene_plus s
+            left join t_scene_plus_ext e on s.id = e.plus_id
+            left join jy_user u on s.user_id = u.user_id
+        where s.rec_status = 'A'
+        and s.num in
+            <foreach collection="numList"  item="num" open="(" separator="," close=")">
+                #{num}
+            </foreach>
+    </select>
+
+
 </mapper>