xiewj 7 miesięcy temu
rodzic
commit
99e505bca1

+ 2 - 1
src/main/java/com/fdkankan/site/controller/UploadController.java

@@ -13,6 +13,7 @@ import com.fdkankan.site.common.util.JwtUtil;
 import com.fdkankan.site.common.util.UploadToOssUtil;
 import com.fdkankan.site.common.util.VUtils;
 import com.fdkankan.site.entity.ProjectBim;
+import com.fdkankan.site.enums.ProjectAction;
 import com.fdkankan.site.exception.BusinessException;
 import com.fdkankan.site.httpClient.bim.BimCallBackDTO;
 import com.fdkankan.site.httpClient.bim.BimFaceVO;
@@ -109,7 +110,7 @@ public class UploadController extends BaseController {
         projectBim.setBimName(bimName);
         projectBimService.save(projectBim);
         projectService.updateTime(projectId);
-        projectLogService.addLog(projectBim.getProjectId(),"新增BIM:"+projectBim.getBimName(),getToken(),null);
+        projectLogService.addLog(projectBim.getProjectId(), ProjectAction.ADD_BIM.getKey() + ":" +projectBim.getBimName(),getToken(),null);
 
         File localFile = null;
         try {

+ 1 - 0
src/main/java/com/fdkankan/site/entity/dto/RoleDTO.java

@@ -24,6 +24,7 @@ public class RoleDTO     {
    private Integer projectId;
    /** 角色名称 */
    private String roleName;
+   private String roleKey;
 
    /**
     * 备注

+ 2 - 0
src/main/java/com/fdkankan/site/entity/vo/RoleSelect.java

@@ -19,12 +19,14 @@ public class RoleSelect implements Serializable
 
     /** 节点名称 */
     private String roleName;
+    private String roleKey;
     private Integer RoleId;
 
 
 
     public RoleSelect(RoleDTO role)
     {
+        this.roleKey = role.getRoleKey();
         this.roleName = role.getRoleName();
         this.RoleId = role.getRoleId();
     }

+ 50 - 0
src/main/java/com/fdkankan/site/enums/ProjectAction.java

@@ -0,0 +1,50 @@
+package com.fdkankan.site.enums;
+
+/**
+ * @author Xiewj
+ * @date 2025/1/16
+ */public enum ProjectAction {
+    ADD_BIM("ADD_BIM", "新增BIM:"),
+    REMOVE_ANNOTATION("REMOVE_ANNOTATION", "删除标注:"),
+    REMOVE_PROJECT_BIM("REMOVE_PROJECT_BIM", "删除项目->删除BIM:"),
+    REMOVE_PROJECT_SCENE("REMOVE_PROJECT_SCENE", "删除项目->删除场景:"),
+    REMOVE_SCENE("REMOVE_SCENE", "删除场景"),
+    ADD_SCENE("ADD_SCENE", "添加场景"),
+    REMOVE_BIM_ONLY("REMOVE_BIM_ONLY", "删除BIM:"),
+    MODIFY_BIM_NAME("MODIFY_BIM_NAME", "修改BIM名称:"),
+    SYNC_BIM_POSITION("SYNC_BIM_POSITION", "同步BIM位置");
+
+    private final String key;
+    private final String description;
+
+    // 构造函数
+    ProjectAction(String key, String description) {
+        this.key = key;
+        this.description = description;
+    }
+
+    // 获取英文key
+    public String getKey() {
+        return key;
+    }
+
+    // 获取操作描述
+    public String getDescription() {
+        return description;
+    }
+
+    // 通过英文key查找枚举值
+    public static ProjectAction fromKey(String key) {
+        for (ProjectAction action : ProjectAction.values()) {
+            if (action.getKey().equalsIgnoreCase(key)) {
+                return action;
+            }
+        }
+        throw new IllegalArgumentException("没有找到对应的操作: " + key);
+    }
+
+    @Override
+    public String toString() {
+        return description;
+    }
+}

+ 2 - 1
src/main/java/com/fdkankan/site/service/impl/MarkingServiceImpl.java

@@ -15,6 +15,7 @@ import com.fdkankan.site.common.util.VUtils;
 import com.fdkankan.site.entity.*;
 import com.fdkankan.site.entity.dto.MarkingDTO;
 import com.fdkankan.site.entity.dto.UserDTO;
+import com.fdkankan.site.enums.ProjectAction;
 import com.fdkankan.site.mapper.IMarkingMapper;
 import com.fdkankan.site.request.MarkingParam;
 import com.fdkankan.site.request.MarkingSearchParam;
@@ -124,7 +125,7 @@ public class MarkingServiceImpl extends ServiceImpl<IMarkingMapper, Marking> imp
             LambdaUpdateWrapper<Marking> wrapper = new LambdaUpdateWrapper<>();
             wrapper.eq(Marking::getMarkingId, markingId);
             this.baseMapper.delete(wrapper);
-            projectLogService.addLog(marking.getProjectId(), "删除标注:" + marking.getMarkingTitle(), token, null);
+            projectLogService.addLog(marking.getProjectId(), ProjectAction.REMOVE_ANNOTATION.getKey() + marking.getMarkingTitle(), token, null);
         }
     }
 

+ 2 - 1
src/main/java/com/fdkankan/site/service/impl/ProjectBimServiceImpl.java

@@ -7,6 +7,7 @@ import com.fdkankan.site.common.util.VUtils;
 import com.fdkankan.site.entity.Project;
 import com.fdkankan.site.entity.ProjectBim;
 import com.fdkankan.site.entity.ProjectNum;
+import com.fdkankan.site.enums.ProjectAction;
 import com.fdkankan.site.mapper.IProjectBimMapper;
 import com.fdkankan.site.service.IProjectBimService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -61,6 +62,6 @@ public class ProjectBimServiceImpl extends ServiceImpl<IProjectBimMapper, Projec
             return;
         }
         this.remove(wrapper);
-        projectLogService.addLog(projectId,"删除项目->删除BIM:"+list.get(0).getBimName(),token,null);
+        projectLogService.addLog(projectId, ProjectAction.REMOVE_PROJECT_BIM.getKey()+list.get(0).getBimName(),token,null);
     }
 }

+ 2 - 1
src/main/java/com/fdkankan/site/service/impl/ProjectNumServiceImpl.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.fdkankan.site.common.util.JwtUtil;
 import com.fdkankan.site.entity.ProjectNum;
 import com.fdkankan.site.entity.ProjectTeam;
+import com.fdkankan.site.enums.ProjectAction;
 import com.fdkankan.site.mapper.IProjectNumMapper;
 import com.fdkankan.site.request.AppGetSceneInfoParam;
 import com.fdkankan.site.service.IProjectLogService;
@@ -134,7 +135,7 @@ public class ProjectNumServiceImpl extends ServiceImpl<IProjectNumMapper, Projec
         }
         List<String> numList = list.stream().map(ProjectNum::getNum).collect(Collectors.toList());
         this.remove(wrapper);
-        projectLogService.addLog(projectId,"删除项目->删除场景:",token,numList);
+        projectLogService.addLog(projectId, ProjectAction.REMOVE_PROJECT_SCENE.getKey(), token,numList);
     }
 
     @Override

+ 7 - 6
src/main/java/com/fdkankan/site/service/impl/ProjectServiceImpl.java

@@ -14,6 +14,7 @@ import com.fdkankan.site.common.util.VUtils;
 import com.fdkankan.site.entity.*;
 import com.fdkankan.site.entity.dto.MarkingDTO;
 import com.fdkankan.site.entity.dto.ProjectTeamDTO;
+import com.fdkankan.site.enums.ProjectAction;
 import com.fdkankan.site.exception.BusinessException;
 import com.fdkankan.site.httpClient.bim.BusinessStatus;
 import com.fdkankan.site.mapper.IProjectMapper;
@@ -256,11 +257,11 @@ public class ProjectServiceImpl extends ServiceImpl<IProjectMapper, Project> imp
 
         if(delNumList.size() >0){
             projectNumService.delByNumList(param.getProjectId(),delNumList);
-            projectLogService.addLog(param.getProjectId(),"删除场景",param.getToken(),delNumList);
+            projectLogService.addLog(param.getProjectId(), ProjectAction.REMOVE_SCENE.getKey(),param.getToken(),delNumList);
         }
         if(addNumList.size() >0){
             projectNumService.addByNumList(param.getProjectId(),numType,addNumList);
-            projectLogService.addLog(param.getProjectId(),"添加场景",param.getToken(),addNumList);
+            projectLogService.addLog(param.getProjectId(), ProjectAction.ADD_SCENE.getKey(),param.getToken(),addNumList);
         }
         this.updateTime(project.getProjectId());
     }
@@ -274,7 +275,7 @@ public class ProjectServiceImpl extends ServiceImpl<IProjectMapper, Project> imp
 
         VUtils.isTure(StringUtils.isBlank(param.getNum())).throwMessage(ResultCode.PARAM_MISS);
         projectNumService.delByNumList(param.getProjectId(),Arrays.asList(param.getNum()));
-        projectLogService.addLog(param.getProjectId(),"删除场景",param.getToken(),Arrays.asList(param.getNum()));
+        projectLogService.addLog(param.getProjectId(),ProjectAction.REMOVE_SCENE.getKey(),param.getToken(),Arrays.asList(param.getNum()));
         this.updateTime(project.getProjectId());
 
         List<Marking> markings = markingService.findByProjectIdAndNum(project.getProjectId(),param.getNum());
@@ -289,7 +290,7 @@ public class ProjectServiceImpl extends ServiceImpl<IProjectMapper, Project> imp
         ProjectBim bim = projectBimService.getById(bimId);
         if(bim != null){
             checkTokenPer(token, bim.getProjectId());
-            projectLogService.addLog(bim.getProjectId(),"删除BIM:"+bim.getBimName(),token,null);
+            projectLogService.addLog(bim.getProjectId(),ProjectAction.REMOVE_BIM_ONLY.getKey()+bim.getBimName(),token,null);
             projectBimService.removeById(bimId);
             this.updateTime(bim.getProjectId());
         }
@@ -343,7 +344,7 @@ public class ProjectServiceImpl extends ServiceImpl<IProjectMapper, Project> imp
         checkTokenPer(token, bim.getProjectId());
         projectBimService.updateBimName(projectBim);
         this.updateTime(bim.getProjectId());
-        projectLogService.addLog(bim.getProjectId(),"修改BIM名称:"+projectBim.getBimName(),token,null);
+        projectLogService.addLog(bim.getProjectId(),ProjectAction.MODIFY_BIM_NAME.getKey()+projectBim.getBimName(),token,null);
 
     }
 
@@ -360,7 +361,7 @@ public class ProjectServiceImpl extends ServiceImpl<IProjectMapper, Project> imp
         }
         this.update(wrapper);
         this.updateTime(param.getProjectId());
-        projectLogService.addLog(param.getProjectId(),"同步BIM位置",token,null);
+        projectLogService.addLog(param.getProjectId(),ProjectAction.SYNC_BIM_POSITION.getKey(),token,null);
 
     }
 

+ 57 - 0
src/main/resources/application-asw-prod.yaml

@@ -0,0 +1,57 @@
+spring:
+  datasource:
+    type: com.zaxxer.hikari.HikariDataSource          # 数据源类型:HikariCP
+    driverClassName: com.mysql.cj.jdbc.Driver
+    url: jdbc:mysql://rm-wz90w10465iiwwv09.mysql.rds.aliyuncs.com:3306/fd_smart_site?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&allowMultiQueries=true
+    username: root
+    password: D2719bd0cae1a005
+    hikari:
+      connection-timeout: 30000         # 等待连接池分配连接的最大时长(毫秒),超过这个时长还没可用的连接则发生SQLException, 默认:30秒
+      minimum-idle: 5                   # 最小连接数
+      maximum-pool-size: 20             # 最大连接数
+      auto-commit: true                 # 事务自动提交
+      idle-timeout: 600000              # 连接超时的最大时长(毫秒),超时则被释放(retired),默认:10分钟
+      pool-name: DateSourceHikariCP     # 连接池名字
+      max-lifetime: 1800000             # 连接的生命时长(毫秒),超时而且没被使用则被释放(retired),默认:30分钟 1800000ms
+      connection-test-query: SELECT 1   # 连接测试语句
+  redis:
+    host: r-wz9owsphxqwi4ztqlf.redis.rds.aliyuncs.com   #官网正式环境
+    port: 6379
+    timeout: 6000ms
+    password: 3oo19bgh0cae2406&
+    jedis:
+      pool:
+        max-active: 10  #连接池最大连接数(使用负值表示没有限制)
+        max-idle: 10 # 连接池中的最大空闲连接
+        min-idle: 5 # 连接池中的最小空闲连接
+        max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制)
+    lettuce:
+      shutdown-timeout: 0ms
+
+4dkk:
+  fdService:
+    #官网生产环境:https://www.4dkankan.com      http://test.4dkankan.com
+    basePath: https://www.4dkankan.com
+    #basePath: http://192.168.0.38/4dkankan_v2
+  laserService:
+    #深时(激光)地址 生产环境:https://laser.4dkankan.com/
+    basePath: https://laser.4dkankan.com/backend
+  bimService:
+    #bim 服务
+    basePath: http://bim.4dkankan.com
+logging:
+  config: classpath:logback-spring.xml
+  file:
+    path: /home/backend/smart-site/logs
+  level:
+    com.fdkankan: DEBUG
+filestorage:
+  active: oss
+  oss:
+    endpoint: https://oss-cn-shenzhen.aliyuncs.com
+    internal-endpoint: https://oss-cn-shenzhen-internal.aliyuncs.com
+    access-key: LTAIUrvuHqj8pvry
+    access-key-secret: JLOVl0k8Ke0aaM8nLMMiUAZ3EiiqI4
+    bucket: 4dkankan
+    bucket-custom-domain:
+      4dkankan: https://4dkk.4dage.com/

+ 62 - 0
src/main/resources/application-aws-test.yaml

@@ -0,0 +1,62 @@
+spring:
+  datasource:
+    type: com.zaxxer.hikari.HikariDataSource          # 数据源类型:HikariCP
+    driverClassName: com.mysql.cj.jdbc.Driver
+    url: jdbc:mysql://127.0.0.1:13306/fd_smart_site?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&allowMultiQueries=true
+    username: root
+    password: ENC(e8emcMZgaRX3rCnNasm+0RKyq/Il0y4i)
+    hikari:
+      connection-timeout: 30000         # 等待连接池分配连接的最大时长(毫秒),超过这个时长还没可用的连接则发生SQLException, 默认:30秒
+      minimum-idle: 5                   # 最小连接数
+      maximum-pool-size: 20             # 最大连接数
+      auto-commit: true                 # 事务自动提交
+      idle-timeout: 600000              # 连接超时的最大时长(毫秒),超时则被释放(retired),默认:10分钟
+      pool-name: DateSourceHikariCP     # 连接池名字
+      max-lifetime: 1800000             # 连接的生命时长(毫秒),超时而且没被使用则被释放(retired),默认:30分钟 1800000ms
+      connection-test-query: SELECT 1   # 连接测试语句
+  redis:
+    host: 127.0.0.1
+    port: 6379
+    timeout: 6000ms
+    password:
+    database: 0
+    jedis:
+      pool:
+        max-active: 10  #连接池最大连接数(使用负值表示没有限制)
+        max-idle: 10 # 连接池中的最大空闲连接
+        min-idle: 5 # 连接池中的最小空闲连接
+        max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制)
+    lettuce:
+      shutdown-timeout: 0ms
+
+4dkk:
+  fdService:
+    #官网生产环境:https://www.4dkankan.com      http://test.4dkankan.com
+    basePath: http://test-jp.4dkankan.com
+    port: 80
+    #basePath: http://192.168.0.38/4dkankan_v2
+    #port: 8080
+  laserService:
+    #深时(激光)地址 生产环境:https://laser.4dkankan.com/
+    basePath: https://testlaser-jp.4dkankan.com/backend
+    port: 80
+  bimService:
+    #bim 服务
+    basePath: http://test-bim-jp.4dkankan.com
+    port: 80
+logging:
+  config: classpath:logback-spring.xml
+  file:
+    path: /home/smart-site/logs
+  level:
+    com.fdkankan: DEBUG
+filestorage:
+  active: oss
+  oss:
+    endpoint: http://oss-ap-northeast-1.aliyuncs.com
+    internal-endpoint: http://oss-ap-northeast-1.aliyuncs.com
+    access-key: ENC(U8UeO6r+PVmJ1Vj33SZxlyo7G53Bza8BBgKfoS+MqM1xrtYWW1Fv2g==)
+    access-key-secret: ENC(/VkyDP4a7U7KBUKT3mJ1KME2JUtsxEtucMmM7wavfLq9WztylWgSWQ==)
+    bucket: geosign-4dkk
+    bucket-custom-domain:
+      geosign-4dkk: https://oss.4dkankan.jp