lyhzzz 7 maanden geleden
bovenliggende
commit
436a68fd32
25 gewijzigde bestanden met toevoegingen van 258 en 55 verwijderingen
  1. 10 1
      README.md
  2. 67 0
      doc/update-1.6.0.sql
  3. 4 1
      src/main/java/com/fdkankan/manage/common/ResultCode.java
  4. 26 8
      src/main/java/com/fdkankan/manage/controller/CaseController.java
  5. 5 2
      src/main/java/com/fdkankan/manage/controller/inner/InnerAPIController.java
  6. 3 0
      src/main/java/com/fdkankan/manage/entity/JyPlatform.java
  7. 3 0
      src/main/java/com/fdkankan/manage/entity/JyPlatformUserWait.java
  8. 3 0
      src/main/java/com/fdkankan/manage/entity/JyUser.java
  9. 32 0
      src/main/java/com/fdkankan/manage/exception/GlobalExceptionHandler.java
  10. 2 0
      src/main/java/com/fdkankan/manage/service/IJySceneAuthService.java
  11. 23 17
      src/main/java/com/fdkankan/manage/service/impl/CaseServiceImpl.java
  12. 1 1
      src/main/java/com/fdkankan/manage/service/impl/CommonServiceImpl.java
  13. 1 1
      src/main/java/com/fdkankan/manage/service/impl/DictFileServiceImpl.java
  14. 13 0
      src/main/java/com/fdkankan/manage/service/impl/JySceneAuthServiceImpl.java
  15. 16 2
      src/main/java/com/fdkankan/manage/service/impl/JySceneUserAuthServiceImpl.java
  16. 3 3
      src/main/java/com/fdkankan/manage/service/impl/JyUserServiceImpl.java
  17. 26 3
      src/main/java/com/fdkankan/manage/service/impl/SceneProServiceImpl.java
  18. 3 0
      src/main/java/com/fdkankan/manage/vo/JyUserPlatform.java
  19. 2 1
      src/main/java/com/fdkankan/manage/vo/request/CaseParam.java
  20. 1 0
      src/main/java/com/fdkankan/manage/vo/request/SceneParam.java
  21. 0 4
      src/main/resources/bootstrap-dev.yml
  22. 0 4
      src/main/resources/bootstrap-local-kj.yml
  23. 2 1
      src/main/resources/bootstrap.yml
  24. 1 1
      src/main/resources/mapper/manage/LaserMapper.xml
  25. 11 5
      src/main/resources/mapper/manage/SceneProMapper.xml

+ 10 - 1
README.md

@@ -23,4 +23,13 @@ __
 ~~~~
 1.场景列表添加返回 nickName 姓名
 2.
-~~~~
+~~~~
+
+server:
+    servlet:
+        multipart:
+            max-file-size: -1
+            max-request-size: -1
+
+laser:
+    web-site-pre: /mega/index.html?m=

+ 67 - 0
doc/update-1.6.0.sql

@@ -42,6 +42,73 @@ ALTER TABLE `4dkankan_v4`.`jy_scene_user_auth`
 
 UPDATE t_scene_plus_ext set thumb = '/oss/loading/thumb.jpg' WHERE thumb LIKE '%https://4dkk.4dage.com/loading/thumb.jpg%'
 
+DROP TABLE IF EXISTS `t_common_upload`;
+CREATE TABLE `t_common_upload`  (
+                                    `id` int NOT NULL AUTO_INCREMENT,
+                                    `file_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
+                                    `file_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
+                                    `file_size` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
+                                    `new_file_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
+                                    `file_type_str` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
+                                    `file_format` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
+                                    `result_file_format` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
+                                    `rec_status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT 'A',
+                                    `create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
+                                    `update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+                                    `status` int NULL DEFAULT 0,
+                                    `unzip_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
+                                    `file_type` int NULL DEFAULT NULL,
+                                    `wgs84` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
+                                    `gcj02` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
+                                    PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 590 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Table structure for t_dict
+-- ----------------------------
+DROP TABLE IF EXISTS `t_dict`;
+CREATE TABLE `t_dict`  (
+                           `id` int NOT NULL AUTO_INCREMENT,
+                           `dict_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
+                           `dict_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
+                           `sort` int NULL DEFAULT 1,
+                           `rec_status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT 'A',
+                           `create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
+                           `update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+                           `sys_user_id` int NULL DEFAULT NULL,
+                           `parent_id` int NULL DEFAULT NULL,
+                           PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 115 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Table structure for t_dict_file
+-- ----------------------------
+DROP TABLE IF EXISTS `t_dict_file`;
+CREATE TABLE `t_dict_file`  (
+                                `id` int NOT NULL AUTO_INCREMENT,
+                                `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
+                                `type_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
+                                `dict_id` int NULL DEFAULT NULL,
+                                `rec_status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT 'A',
+                                `create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
+                                `update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+                                `sys_user_id` int NULL DEFAULT NULL,
+                                `upload_id` int NULL DEFAULT NULL,
+                                PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 585 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
+
+DROP TABLE IF EXISTS `jy_move_scene_log`;
+CREATE TABLE `jy_move_scene_log`  (
+                                      `id` int NOT NULL AUTO_INCREMENT,
+                                      `num` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
+                                      `new_user_id` int NULL DEFAULT NULL,
+                                      `old_user_id` int NULL DEFAULT NULL,
+                                      `sys_user_id` int NULL DEFAULT NULL,
+                                      `create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
+                                      `update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+                                      PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 32 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
+
 
 
 USE fdkk_laser;

+ 4 - 1
src/main/java/com/fdkankan/manage/common/ResultCode.java

@@ -22,7 +22,7 @@ public enum ResultCode  {
     SDK_DEL_ERROR(50005, "删除失败,请先下架在删除"),
     MAIL_TEMPLATE_ERROR(50006, "邮件发送模板不存在"),
     COMPANY_DEL_ERROR(50007, "删除失败,请先解绑设备"),
-    UPLOAD_FILE_ERROR(50008, "文件不存在"),
+    UPLOAD_FILE_ERROR(50008, "上传失败,请检查文件格式。"),
     V3_SCENE_REBUILD(50009, "V3场景请先升级在重算"),
     SCENE_NOT_EXIST(50010, "场景不存在"),
     FILE_NAME_EMPTY(50011, "文件名称为空,请输入文件名称!"),
@@ -104,6 +104,9 @@ public enum ResultCode  {
 
     CASE_NOT_EXIST(60029, "案件不存在"),
     NUM_IN_CASE(60030, "该场景已被纳入案件,请跳转到案件列表修改权限或将场景移出案件。"),
+    NUM_IN_CASE2(60031, "无法操作。该场景已被纳入案件“%s”,若需继续,请移出案件后再试。"),
+
+    upload_file_limit(60032, "大小超限制"),
 
     ;
 

+ 26 - 8
src/main/java/com/fdkankan/manage/controller/CaseController.java

@@ -61,17 +61,22 @@ public class CaseController {
             throw new BusinessException(ResultCode.JY_ID_NO_EXIST);
         }
         //过滤本平台的案件
+        param.setSysUserId(byId.getId());
         if(byId.getRoleId() == 45L || byId.getRoleId() == 48L){
             List<JyUser> userIds = jyUserService.getByUserPlatform(jyUser.getPlatformId());
             List<Long> sysUserIds = userIds.stream().map(JyUser::getSysUserId).collect(Collectors.toList());
-            param.setSysUserIds(sysUserIds);
+            param.setOhterUserIds(sysUserIds);
         }
-        if(byId.getRoleId() == 47L){
-            param.setSysUserIds(Arrays.asList(byId.getId()));
+        if(byId.getRoleId() == 47L ){
+            param.getOhterUserIds().add(byId.getId());
+        }
+        if(param.getIsShare() != 1 && byId.getRoleId() != 1L && param.getOhterUserIds().isEmpty()){
+            return ResultData.ok(PageInfo.PageInfo(new Page<>(param.getPageNum(),param.getPageSize())));
         }
 
         List<Integer> openCaseIds = null;
         List<Integer> authCaseIds = null;
+        List<Integer> openAuthCaseList =  null;
         HashMap<Integer,JySceneUserAuth> authHashMap = new HashMap<>();
         HashMap<Integer,JySceneUserAuth> openHashMap = new HashMap<>();
         if(param.getIsShare() == 1){
@@ -83,17 +88,27 @@ public class CaseController {
             jySceneUserAuths.stream().filter(e ->e.getCaseId() != null && e.getAuthType() == 0).forEach( e-> authHashMap.put(e.getCaseId(),e));
             jySceneUserAuths.stream().filter(e ->e.getCaseId() != null && e.getAuthType() == 1).forEach( e-> openHashMap.put(e.getCaseId(),e));
 
+            List<Integer> allAuthCaseIds = new ArrayList<>();
+            allAuthCaseIds.addAll(authHashMap.keySet());
+            allAuthCaseIds.addAll(openHashMap.keySet());
+            HashMap<Integer, JySceneAuth> authMap = jySceneAuthService.getByCaseIds(allAuthCaseIds);
+
             if(!authHashMap.isEmpty()){
-                List<Integer> finalOpenCaseIds = openCaseIds;
-                authCaseIds = authHashMap.keySet().stream().filter(e -> !finalOpenCaseIds.contains(e)).collect(Collectors.toList());
+                authCaseIds = authHashMap.keySet().stream().filter(e ->authMap.get(e)!=null && authMap.get(e).getAuthType() == 0).collect(Collectors.toList());
+                if(!authCaseIds.isEmpty()){
+                    caseIdAll.addAll(authCaseIds);
+                }
             }
-            if(authCaseIds != null && !authCaseIds.isEmpty()){
-                caseIdAll.addAll(authCaseIds);
+            if(!openHashMap.isEmpty()){
+                openAuthCaseList = openHashMap.keySet().stream().filter(e ->authMap.get(e)!=null && authMap.get(e).getAuthType() == 1).collect(Collectors.toList());
+                if(!openAuthCaseList.isEmpty()){
+                    caseIdAll.addAll(openAuthCaseList);
+                }
             }
-            param.setCaseIds(caseIdAll);
             if(caseIdAll.isEmpty()){
                 return ResultData.ok(PageInfo.PageInfo(new Page<>(param.getPageNum(),param.getPageSize())));
             }
+            param.setCaseIds(caseIdAll);
         }
         Page<Case> page = caseService.pageList(param);
         Date date = new Date();
@@ -104,6 +119,9 @@ public class CaseController {
             JySceneUserAuth jySceneUserAuth = null;
             if(openCaseIds != null && openCaseIds.contains(record.getCaseId())){
                 record.setIsOpen(true);
+            }
+            if(openAuthCaseList != null && openAuthCaseList.contains(record.getCaseId())){
+                record.setIsOpen(true);
                 jySceneUserAuth = openHashMap.get(record.getCaseId());
             }
             if(authCaseIds != null && authCaseIds.contains(record.getCaseId())){

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

@@ -104,7 +104,10 @@ public class InnerAPIController extends BaseController {
 
     @PostMapping("/delAuth")
     public ResultData delAuth(@RequestBody JySceneUserAuth param){
-        if(StringUtils.isBlank(param.getNum()) || param.getCaseId() == null || (StringUtils.isBlank(param.getRyId()) && StringUtils.isBlank(param.getRyNo()))){
+        if(StringUtils.isBlank(param.getRyId()) && StringUtils.isBlank(param.getRyNo())){
+            throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
+        }
+        if(StringUtils.isBlank(param.getNum()) && param.getCaseId() == null){
             throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
         }
         if(StringUtils.isNotBlank(param.getNum()) && param.getCaseId() != null){
@@ -167,7 +170,7 @@ public class InnerAPIController extends BaseController {
         if(StringUtils.isBlank(param.getRyId()) && StringUtils.isBlank(param.getRyNo())){
             throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
         }
-        if(StringUtils.isBlank(param.getNum()) || param.getCaseId() == null){
+        if(StringUtils.isBlank(param.getNum()) && param.getCaseId() == null){
             throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
         }
         if(StringUtils.isNotBlank(param.getNum()) && param.getCaseId() != null){

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

@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.*;
 
 import java.io.Serializable;
 import java.util.Date;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -63,6 +65,7 @@ public class JyPlatform implements Serializable {
     private String recStatus;
 
     @TableField("create_time")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
     private Date createTime;
 
     @TableField("update_time")

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

@@ -7,6 +7,8 @@ import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
 import java.io.Serializable;
 import java.util.Date;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -42,6 +44,7 @@ public class JyPlatformUserWait implements Serializable {
     private String recStatus;
 
     @TableField("create_time")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
     private Date createTime;
 
     @TableField("update_time")

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

@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.*;
 
 import java.io.Serializable;
 import java.util.Date;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -66,6 +68,7 @@ public class JyUser implements Serializable {
     private String recStatus;
 
     @TableField("create_time")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
     private Date createTime;
 
     @TableField("update_time")

+ 32 - 0
src/main/java/com/fdkankan/manage/exception/GlobalExceptionHandler.java

@@ -3,11 +3,13 @@ package com.fdkankan.manage.exception;
 import com.fdkankan.manage.common.ResultCode;
 import com.fdkankan.manage.common.ResultData;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.tomcat.util.http.fileupload.impl.SizeLimitExceededException;
 import org.springframework.dao.DataIntegrityViolationException;
 import org.springframework.dao.DuplicateKeyException;
 import org.springframework.web.bind.annotation.ExceptionHandler;
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.bind.annotation.RestControllerAdvice;
+import org.springframework.web.multipart.MaxUploadSizeExceededException;
 
 import java.sql.SQLIntegrityConstraintViolationException;
 
@@ -69,4 +71,34 @@ public class GlobalExceptionHandler {
         }
         return ResultData.error( 500, e.getCause().getMessage());
     }
+    /**
+     * 处理业务异常
+     */
+    @ResponseBody
+    @ExceptionHandler(value = IllegalStateException.class)
+    public ResultData IllegalStateExceptionExceptionException(IllegalStateException e) {
+        log.info("上传文件超限制-IllegalStateException:", e);
+        return ResultData.error(ResultCode.upload_file_limit.code(),ResultCode.upload_file_limit.message());
+
+    }
+    /**
+     * 处理业务异常
+     */
+    @ResponseBody
+    @ExceptionHandler(value = MaxUploadSizeExceededException.class)
+    public ResultData MaxUploadSizeExceededExceptionException(MaxUploadSizeExceededException e) {
+        log.info("上传文件超限制-MaxUploadSizeExceededException:", e);
+        return ResultData.error(ResultCode.upload_file_limit.code(),ResultCode.upload_file_limit.message());
+
+    }
+    /**
+     * 处理业务异常
+     */
+    @ResponseBody
+    @ExceptionHandler(value = SizeLimitExceededException.class)
+    public ResultData SizeLimitExceededExceptionException(SizeLimitExceededException e) {
+        log.info("上传文件超限制-SizeLimitExceededException:", e);
+        return ResultData.error(ResultCode.upload_file_limit.code(),ResultCode.upload_file_limit.message());
+
+    }
 }

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

@@ -34,4 +34,6 @@ public interface IJySceneAuthService extends IService<JySceneAuth> {
     List<Integer> getCaseIdListByPlatform(Integer platformId, Integer authType);
 
     void delByNumList(List<String> numList);
+
+    HashMap<Integer, JySceneAuth> getByCaseIds(List<Integer> allAuthCaseIds);
 }

+ 23 - 17
src/main/java/com/fdkankan/manage/service/impl/CaseServiceImpl.java

@@ -24,10 +24,7 @@ import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Set;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -54,14 +51,14 @@ public class CaseServiceImpl extends ServiceImpl<ICaseMapper, Case> implements I
         }
         if(param.getCaseIds() != null && !param.getCaseIds().isEmpty()){
             wrapper.in(Case::getCaseId,param.getCaseIds());
-            if(param.getSysUserIds() != null && !param.getSysUserIds().isEmpty()){
-                wrapper.notIn(Case::getSysUserId,param.getSysUserIds());
-            }
-        }else {
-            if(param.getSysUserIds() != null && !param.getSysUserIds().isEmpty()){
-                wrapper.in(Case::getSysUserId,param.getSysUserIds());
-            }
         }
+        if(param.getIsShare() == 1){
+            wrapper.notIn(Case::getSysUserId, Arrays.asList(param.getSysUserId()));
+        }
+        if(param.getIsShare() == 0 && !param.getOhterUserIds().isEmpty()){
+            wrapper.in(Case::getSysUserId, param.getOhterUserIds());
+        }
+
         wrapper.orderByDesc(Case::getCaseId);
         Page<Case> page = this.page(new Page<>(param.getPageNum(), param.getPageSize()), wrapper);
         return page;
@@ -81,7 +78,8 @@ public class CaseServiceImpl extends ServiceImpl<ICaseMapper, Case> implements I
     public void checkNumInCase(String num) {
         List<Case> caseByNum = getCaseByNum(num);
         if(!caseByNum.isEmpty()){
-            throw new BusinessException(ResultCode.USER_NOT_EXIST);
+            Case aCase = caseByNum.get(0);
+            throw new BusinessException(ResultCode.NUM_IN_CASE2.code(),String.format(ResultCode.NUM_IN_CASE2.message(),aCase.getCaseTitle()));
         }
     }
 
@@ -106,19 +104,27 @@ public class CaseServiceImpl extends ServiceImpl<ICaseMapper, Case> implements I
             caseNumService.delByCaseId(caseEntity.getCaseId());
             return;
         }
-        List<CaseNumType> newParam = new ArrayList<>();
+        HashMap<Integer,HashSet<String>> numTypeMap = new HashMap<>();
         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());
-                CaseNumType numType1 = new CaseNumType();
-                numType1.setType(type);
-                numType1.setNumList(numList);
-                newParam.add(numType1);
+                if(numTypeMap.get(type) != null){
+                    numTypeMap.get(type).addAll(numList);
+                }else {
+                    numTypeMap.put(type,new HashSet<>(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 {

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

@@ -167,7 +167,7 @@ public class CommonServiceImpl implements ICommonService {
         if(fileTypeEnum == null){
             throw new BusinessException(ResultCode.FILE_TYPE_ERROR2);
         }
-        Integer status = StringUtils.isNotBlank(url) ?1:0;
+        Integer status = StringUtils.isNotBlank(url) ?1:-1;
         CommonUpload commonUpload = commonUploadService.add(oldName,url, String.valueOf(tempFile.length()),
                 null, fileTypeEnum, modelFileFormat,resultFormat,status,unzipPath,dictId);
         tempFile.delete();

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

@@ -57,7 +57,7 @@ public class DictFileServiceImpl extends ServiceImpl<IDictFileMapper, DictFile>
 
     @Override
     public void addOrUpdate(DictFile dictFile) {
-        if(StringUtils.isBlank(dictFile.getName()) || StringUtils.isBlank(dictFile.getTypeKey())
+        if(StringUtils.isBlank(dictFile.getTypeKey())
                 || dictFile.getDictId() == null ){
             throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
         }

+ 13 - 0
src/main/java/com/fdkankan/manage/service/impl/JySceneAuthServiceImpl.java

@@ -49,6 +49,19 @@ public class JySceneAuthServiceImpl extends ServiceImpl<IJySceneAuthMapper, JySc
     }
 
     @Override
+    public HashMap<Integer, JySceneAuth> getByCaseIds(List<Integer> allAuthCaseIds) {
+        HashMap<Integer, JySceneAuth> map = new HashMap<>();
+        if(allAuthCaseIds.isEmpty()){
+            return map;
+        }
+        LambdaQueryWrapper<JySceneAuth> wrapper = new LambdaQueryWrapper<>();
+        wrapper.in(JySceneAuth::getCaseId,allAuthCaseIds);
+        List<JySceneAuth> list = this.list(wrapper);
+        list.forEach(e -> map.put(e.getCaseId(),e));
+        return map;
+    }
+
+    @Override
     public List<String> getOpenNumList() {
         LambdaQueryWrapper<JySceneAuth> wrapper = new LambdaQueryWrapper<>();
         wrapper.eq(JySceneAuth::getAuthType,1);

+ 16 - 2
src/main/java/com/fdkankan/manage/service/impl/JySceneUserAuthServiceImpl.java

@@ -212,6 +212,7 @@ public class JySceneUserAuthServiceImpl extends ServiceImpl<IJySceneUserAuthMapp
             param.setCaseId(null);
         }
         if(StringUtils.isNotBlank(param.getNum())){
+            caseService.checkNumInCase(param.getNum());
             ScenePlus plus = scenePlusService.getByNum(param.getNum());
             if( plus == null){
                 throw new BusinessException(ResultCode.SCENE_NOT_EXITS);
@@ -512,10 +513,12 @@ public class JySceneUserAuthServiceImpl extends ServiceImpl<IJySceneUserAuthMapp
         }
 
         List<Case> caseList = null;
+        HashMap<Integer,JySceneAuth> caseSceneAuthMap = new HashMap<>();
         if(StringUtils.isNotBlank(num)){
             caseList = caseService.getCaseByNum(num);
             for (Case aCase : caseList) {
                 JySceneAuth jySceneAuth1 = jySceneAuthService.getByCaseId(aCase.getCaseId());
+                caseSceneAuthMap.put(aCase.getCaseId(),jySceneAuth1);
                 if(jySceneAuth1!=null && jySceneAuth1.getAuthType() == 1){
                     sceneAuthVo.setViewAuth(true);
                     break;
@@ -561,12 +564,23 @@ public class JySceneUserAuthServiceImpl extends ServiceImpl<IJySceneUserAuthMapp
         if(byId.getRoleId() == 45L || byId.getRoleId() == 48L){
             Integer loginPlatformId = jyUserPlatformService.getLoginPlatformId();
             if(loginPlatformId != null){
-                List<Long> byUserIdPlatform = jyUserService.getByUserIdPlatform(loginPlatformId);
+                List<JyUser> userIds = jyUserService.getByUserPlatform(loginPlatformId);
+                List<Long> sysUserIds = userIds.stream().map(JyUser::getSysUserId).collect(Collectors.toList());
+
+                List<Long> byUserIdPlatform = userIds.stream().map(JyUser::getUserId).collect(Collectors.toList());
                 if(byUserIdPlatform.contains(sceneUserId)){
                     sceneAuthVo.setViewAuth(true);
                     sceneAuthVo.setEditAuth(true);
                     return sceneAuthVo;
                 }
+                if(caseList != null && !caseList.isEmpty()){
+                    for (Case aCase : caseList) {
+                        if(sysUserIds.contains(aCase.getSysUserId())){
+                            sceneAuthVo.setViewAuth(true);
+                            break;
+                        }
+                    }
+                }
             }
         }
         JyUser jyUser = jyUserService.getBySysId(byId.getId());
@@ -585,7 +599,7 @@ public class JySceneUserAuthServiceImpl extends ServiceImpl<IJySceneUserAuthMapp
         if(caseList != null && !caseList.isEmpty()){
             JySceneUserAuth jySceneUserAuth = null;
             for (Case aCase : caseList) {
-                JySceneAuth jySceneAuth1 = jySceneAuthService.getByCaseId(aCase.getCaseId());
+                JySceneAuth jySceneAuth1 = caseSceneAuthMap.get(aCase.getCaseId());
                 if(jySceneAuth1 != null){
                     jySceneUserAuth = jySceneUserAuthService.getByCaseIdAndJyUserId(jyUser.getId(), aCase.getCaseId(),jySceneAuth1.getAuthType());
                     setFlag(jySceneUserAuth,sceneAuthVo);

+ 3 - 3
src/main/java/com/fdkankan/manage/service/impl/JyUserServiceImpl.java

@@ -230,8 +230,8 @@ public class JyUserServiceImpl extends ServiceImpl<IJyUserMapper, JyUser> implem
         }
         List<ScenePlus> scenePluses = new ArrayList<>();
         List<JSONObject> laserSceneByDb = new ArrayList<>();
-        List<String> numList = caseNums.stream().filter(e -> e.getNumType() !=4 && e.getNumType()!=6).map(CaseNum::getNum).collect(Collectors.toList());
-        List<String> laserNumList = caseNums.stream().filter(e -> e.getNumType() ==4 || e.getNumType()==6).map(CaseNum::getNum).collect(Collectors.toList());
+        List<String> numList = caseNums.stream().filter(e -> e.getNumType() !=2 && e.getNumType()!=5).map(CaseNum::getNum).collect(Collectors.toList());
+        List<String> laserNumList = caseNums.stream().filter(e -> e.getNumType() ==2 || e.getNumType()==5).map(CaseNum::getNum).collect(Collectors.toList());
         if(!numList.isEmpty()){
             scenePluses = scenePlusService.getByNumList(numList);
         }
@@ -256,7 +256,7 @@ public class JyUserServiceImpl extends ServiceImpl<IJyUserMapper, JyUser> implem
                 continue;
             }
             UserAuthSceneVo vo = new UserAuthSceneVo();
-            if(caseNum.getNumType() == 4 || caseNum.getNumType() == 6){
+            if(caseNum.getNumType() == 2 || caseNum.getNumType() == 5){
                 JSONObject jsonObject = laerMap.get(caseNum.getNum());
                 if(jsonObject == null){
                     continue;

+ 26 - 3
src/main/java/com/fdkankan/manage/service/impl/SceneProServiceImpl.java

@@ -105,6 +105,8 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
     IJySceneUploadService jySceneUploadService;
     @Autowired
     ICaseNumService caseNumService;
+    @Autowired
+    ICaseService caseService;
 
 
     @Override
@@ -329,9 +331,11 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
         }
         List<String> openNums = null;
         List<String> authNumList = null;
+        List<String> openAuthNumList =  null;
         HashMap<String,JySceneUserAuth> authHashMap = new HashMap<>();
         HashMap<String,JySceneUserAuth> openHashMap = new HashMap<>();
         if(param.getSceneType() == 1){
+            param.setNotUserId(jyUser.getUserId());
             //List<String> openNums = jySceneAuthService.getOpenNumList();
             openNums = jySceneAuthService.getNumListByPlatform(param.getPlatformId(),1);
             if(!openNums.isEmpty()){
@@ -342,13 +346,23 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
             jySceneUserAuths.stream().filter(e ->e.getNum() != null && e.getAuthType() == 0).forEach( e-> authHashMap.put(e.getNum(),e));
             jySceneUserAuths.stream().filter(e ->e.getNum() != null && e.getAuthType() == 1).forEach( e-> openHashMap.put(e.getNum(),e));
 
+            List<String> allAuthNum = new ArrayList<>();
+            allAuthNum.addAll(authHashMap.keySet());
+            allAuthNum.addAll(openHashMap.keySet());
+            HashMap<String, JySceneAuth> authMap = jySceneAuthService.getByNumList(allAuthNum);
+
             if(!authHashMap.isEmpty()){
-                List<String> finalOpenNums = openNums;
-                authNumList = authHashMap.keySet().stream().filter(e -> !finalOpenNums.contains(e)).collect(Collectors.toList());
+                authNumList = authHashMap.keySet().stream().filter(e -> authMap.get(e)!=null && authMap.get(e).getAuthType() == 0).collect(Collectors.toList());
                 if(!authNumList.isEmpty()){
                     param.getAuthNumList().addAll(authNumList);
                 }
             }
+            if(!openHashMap.isEmpty()){
+                openAuthNumList = openHashMap.keySet().stream().filter(e -> authMap.get(e)!=null && authMap.get(e).getAuthType() == 1).collect(Collectors.toList());
+                if(!openAuthNumList.isEmpty()){
+                    param.getAuthNumList().addAll(openAuthNumList);
+                }
+            }
 
             List<JyUserShare> jyUserShares = jyUserShareService.getByJyUserId(jyUser.getId());
             List<Integer> mainUserIds = jyUserShares.stream().map(JyUserShare::getMainJyUserId).collect(Collectors.toList());
@@ -436,7 +450,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
             } else if(param.getAuthNumList().contains(record.getNum())) {
 
                 JySceneUserAuth jySceneUserAuth = null;
-                if(openNums != null && openNums.contains(record.getNum())){
+                if(openAuthNumList != null && openAuthNumList.contains(record.getNum())){
                     jySceneUserAuth = openHashMap.get(record.getNum());
                 }
                 if(authNumList != null && authNumList.contains(record.getNum())){
@@ -499,9 +513,16 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
         JyUser jyUser = jyUserService.getBySysId(byId.getId());
         LambdaQueryWrapper<ScenePlus> wrapper = new LambdaQueryWrapper<>();
         if(byId.getRoleId() != 1L ){
+            Integer loginPlatformId = jyUserPlatformService.getLoginPlatformId();
+
             if(jyUser == null){
                 throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
             }
+             List<String>  openNums = jySceneAuthService.getNumListByPlatform(loginPlatformId,1);
+            if(!openNums.isEmpty()){
+                return 1;
+            }
+
             if(byId.getRoleId() !=45L && byId.getRoleId() != 48L){
                 wrapper.eq(ScenePlus::getUserId,jyUser.getUserId());
             }
@@ -551,6 +572,8 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
         if(jyUser == null){
             throw new BusinessException(ResultCode.USER_NOT_EXIST);
         }
+        caseService.checkNumInCase(param.getNum());
+
         JySceneUpload jySceneUpload = jySceneUploadService.getByNum(param.getNum());
         if(jySceneUpload == null){
             jySceneUpload = new JySceneUpload();

+ 3 - 0
src/main/java/com/fdkankan/manage/vo/JyUserPlatform.java

@@ -7,6 +7,8 @@ import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
 import java.io.Serializable;
 import java.util.Date;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -49,6 +51,7 @@ public class JyUserPlatform implements Serializable {
 
     private String recStatus;
 
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
     private Date createTime;
 
     private Date updateTime;

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

@@ -26,7 +26,8 @@ public class CaseParam extends RequestBase{
     private Integer isShare =0;
 
     private List<Integer> caseIds;
-    private List<Long> sysUserIds;
+    private Long sysUserId;
+    private List<Long> ohterUserIds = new ArrayList<>();
 
     private String ryId;
 }

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

@@ -36,5 +36,6 @@ public class SceneParam extends RequestBase {
     private List<Integer> sceneSource;
     private Boolean threeCamType;
     private Boolean notThreeCamType;
+    private Long notUserId;
 
 }

+ 0 - 4
src/main/resources/bootstrap-dev.yml

@@ -16,10 +16,6 @@ spring:
             group: DEFAULT_GROUP
             refresh: true
 
-          - data-id: common-config.yaml
-            group: DEFAULT_GROUP
-            refresh: true
-
           - data-id: common-fyun-config.yaml
             group: DEFAULT_GROUP
             refresh: true

+ 0 - 4
src/main/resources/bootstrap-local-kj.yml

@@ -16,10 +16,6 @@ spring:
             group: DEFAULT_GROUP
             refresh: true
 
-          - data-id: common-config.yaml
-            group: DEFAULT_GROUP
-            refresh: true
-
           - data-id: common-fyun-config.yaml
             group: DEFAULT_GROUP
             refresh: true

+ 2 - 1
src/main/resources/bootstrap.yml

@@ -5,4 +5,5 @@ logging:
   config: classpath:logback-spring.xml
 mybatis-plus:
   configuration:
-    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #开启sql日志
+    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #开启sql日志
+

+ 1 - 1
src/main/resources/mapper/manage/LaserMapper.xml

@@ -4,7 +4,7 @@
 
     <select id="getSceneByDb" resultType="com.alibaba.fastjson.JSONObject">
         select * from fdkk_laser.t_scene
-                 where deleted = 0
+                 where deleted = 0 and status !=-1
             <if test="param.sceneCodes != null and param.sceneCodes.size >0">
                 and scene_code in
                  <foreach collection="param.sceneCodes" item="sceneCode" open="("  separator="," close=")">

+ 11 - 5
src/main/resources/mapper/manage/SceneProMapper.xml

@@ -131,7 +131,7 @@
 
     <select id="selectLaser" resultType="com.fdkankan.manage.vo.response.SceneVo">
         <include refid="selectLaser"></include>
-        order by create_time desc
+        order by shoot_time desc
     </select>
 
 
@@ -146,7 +146,7 @@
     <sql id="selectMesh">
         select s.id,'4dkankan' as sceneType,s.title as sceneName ,s.num,s.create_time,c.sn_code,e.space as sceneSize
              ,u.user_name,e.view_count,s.scene_status as status,s.pay_status,'v4' as scene_version,e.web_site , e.thumb
-             ,e.algorithm_time,s.user_id,jy.platform_id,s.scene_source,s.three_cam_type,e.is_obj,jy.ry_no as nickName
+             ,e.algorithm_time,s.user_id,jy.platform_id,s.scene_source,s.three_cam_type,e.is_obj,jy.ry_nick_name as nickName
         from t_scene_plus s
                  left join t_scene_plus_ext e on s.id = e.plus_id
                  left join t_user u on s.user_id = u.id
@@ -167,6 +167,9 @@
         <if test="param.userName != null and param.userName !='' ">
             and u.user_name like concat ('%',#{param.userName},'%')
         </if>
+        <if test="param.notUserId != null ">
+            and u.id != #{param.notUserId}
+        </if>
 
         <if test="param.sceneSource != null and param.sceneSource.size >0">
             and s.scene_source in
@@ -219,13 +222,13 @@
     </sql>
 
     <sql id="selectLaser">
-        SELECT s.id,'laser' as sceneType, s.title as sceneName,s.scene_code as num,s.create_time,s.sn_code,s.space as scennSize,s.user_name,s.view_count,s.status,
+        SELECT s.id,'laser' as sceneType, s.title as sceneName,s.scene_code as num,s.shoot_time as createTime,s.sn_code,s.space as scennSize,s.user_name,s.view_count,s.status,
                s.pay_status,'v4' as scene_version,s.web_site,s.init_pic as thumb,s.algorithm_time,s.user_id,jy.platform_id,s.scene_source,
-               null as asthree_cam_type ,null as is_obj,jy.ry_no as nickName
+               null as asthree_cam_type ,null as is_obj,jy.ry_nick_name as nickName
         from fdkk_laser.t_scene s
                  left join t_user u on s.user_id = u.id
                  left join jy_user jy on u.id = jy.user_id
-        WHERE s.deleted = 0 and s.scene_source in (4,5)
+        WHERE s.deleted = 0 and s.status !=-1 and s.scene_source in (4,5)
 
         <if test="param.sceneName != null and param.sceneName!='' ">
             and s.title like concat ('%',#{param.sceneName},'%')
@@ -239,6 +242,9 @@
         <if test="param.userName != null and param.userName !='' ">
             and s.user_name like concat ('%',#{param.userName},'%')
         </if>
+        <if test="param.notUserId != null ">
+            and u.id != #{param.notUserId}
+        </if>
 
         <if test="param.sceneSource != null and param.sceneSource.size >0">
             and s.scene_source in