From 6c31cd0c4247562212a962f4da661eac0db64f32 Mon Sep 17 00:00:00 2001 From: chenxudong Date: Thu, 17 Apr 2025 17:13:28 +0800 Subject: [PATCH 1/8] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=AF=BC=E5=87=BA?= =?UTF-8?q?=E5=B7=A5=E7=A8=8B=E6=97=B6=E7=94=A8=E6=88=B7=E5=88=9B=E5=BB=BA?= =?UTF-8?q?=E7=9A=84=E7=A9=BA=E6=96=87=E4=BB=B6=E5=A4=B9=E6=A0=A1=E9=AA=8C?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../software/manage/pojo/models/FileTagRelation.java | 2 ++ .../service/serviceimpl/EdFileInfoServiceImpl.java | 11 +++++++++++ 2 files changed, 13 insertions(+) diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/FileTagRelation.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/FileTagRelation.java index bfc55d9..543c01b 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/FileTagRelation.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/FileTagRelation.java @@ -4,7 +4,9 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; +import lombok.EqualsAndHashCode; +@EqualsAndHashCode(callSuper = true) @Data @TableName("file_tag_relations") public class FileTagRelation extends BaseModel { diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileInfoServiceImpl.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileInfoServiceImpl.java index a3ffcb7..eb58c41 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileInfoServiceImpl.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileInfoServiceImpl.java @@ -873,6 +873,7 @@ public class EdFileInfoServiceImpl extends ServiceImpl resFiles = new HashSet<>(maps.values()); + String prjId = resFiles.stream().findFirst().get().getFilePath().split(MYSQL_FILE_PATH_SPLIT)[0]; List prjFolders = this.baseMapper.selectList(Wrappers.lambdaQuery(EdFileInfo.class) .likeRight(EdFileInfo::getFilePath, prjId + MYSQL_FILE_PATH_SPLIT) @@ -886,12 +887,22 @@ public class EdFileInfoServiceImpl extends ServiceImpl files = resFiles.stream().filter(e -> e.getDataType().equals(EleDataTypeEnum.FILE.code)).toList(); for (EdFileInfo edFileInfo : files) { String filePath = commonService.getFileSysPath(edFileInfo.getId()); // file String destPath = userDownloadDataDir + File.separator + EXPORT_PRJ_NAME + "_" + nowTimeStr + File.separator + EXPORT_PRJ_NAME + File.separator + edFileInfo.getId(); fileSystemService.copyFile(filePath, destPath); } + // 去除用户创建的空文件夹 + List userFolders = resFiles.stream().filter(e -> + e.getDataType().equals(EleDataTypeEnum.FOLDER.code) && DataOwnEnum.isFileCode(e.getDataOwn()) + ).toList(); + List userFolderIds = userFolders.stream().map(EdFileInfo::getId).collect(Collectors.toList()); + List fileParentIds = files.stream().map(EdFileInfo::getParentId).toList(); + userFolderIds.removeAll(fileParentIds); + resFiles = resFiles.stream().filter(e -> !userFolderIds.contains(e.getId())).collect(Collectors.toSet()); + String json = JSONUtil.toJsonStr(resFiles); String mysqlFilePath = userDownloadDataDir + File.separator + EXPORT_PRJ_NAME + "_" + nowTimeStr + File.separator + PRJ_INFO + ".json"; fileSystemService.writeStringToFile(mysqlFilePath, json); From 48ca408ef34ee8647b53a95f81be80b54e69cab5 Mon Sep 17 00:00:00 2001 From: chenxudong Date: Thu, 17 Apr 2025 17:20:19 +0800 Subject: [PATCH 2/8] =?UTF-8?q?=E7=BC=96=E8=AF=91=E9=80=9A=E8=BF=87?= =?UTF-8?q?=EF=BC=8C=E6=A0=BC=E5=BC=8F=E5=8C=96=E4=BB=A3=E7=A0=81=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../industry/software/manage/pojo/models/Role.java | 8 ++++++-- .../software/manage/pojo/models/RolePermission.java | 4 +++- .../service/serviceimpl/RolePermissionServiceImpl.java | 4 ++-- .../manage/service/serviceimpl/RoleServiceImpl.java | 4 ++-- .../manage/service/serviceimpl/UserServiceImpl.java | 4 ++-- .../src/main/resources/sqlmapper/RolePermissionMapper.xml | 2 +- .../src/main/resources/sqlmapper/UserMapper.xml | 2 +- 7 files changed, 17 insertions(+), 11 deletions(-) diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/Role.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/Role.java index a531f2d..d4d4320 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/Role.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/Role.java @@ -1,16 +1,20 @@ package com.electromagnetic.industry.software.manage.pojo.models; -import com.baomidou.mybatisplus.annotation.*; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; import com.electromagnetic.industry.software.common.enums.EffectFlagEnum; import com.electromagnetic.industry.software.common.util.IdWorker; import com.electromagnetic.industry.software.common.util.UserThreadLocal; import lombok.Data; +import lombok.EqualsAndHashCode; import java.util.Date; +@EqualsAndHashCode(callSuper = true) @Data @TableName("ed_role") // 指定表名 -public class Role extends BaseModel{ +public class Role extends BaseModel { @TableId(value = "id") private String id; diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/RolePermission.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/RolePermission.java index f2881d3..7d60b03 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/RolePermission.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/RolePermission.java @@ -7,12 +7,14 @@ import com.electromagnetic.industry.software.common.enums.EffectFlagEnum; import com.electromagnetic.industry.software.common.util.IdWorker; import com.electromagnetic.industry.software.common.util.UserThreadLocal; import lombok.Data; +import lombok.EqualsAndHashCode; import java.util.Date; +@EqualsAndHashCode(callSuper = true) @Data @TableName("ed_role_permission") -public class RolePermission extends BaseModel{ +public class RolePermission extends BaseModel { /** * 主键id diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/RolePermissionServiceImpl.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/RolePermissionServiceImpl.java index 1380787..b582427 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/RolePermissionServiceImpl.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/RolePermissionServiceImpl.java @@ -75,7 +75,7 @@ public class RolePermissionServiceImpl extends ServiceImpl() .set(RolePermission::getEffectFlag, EffectFlagEnum.NOT_EFFECTIVE.code) .in(RolePermission::getId, idsToDisable)); - } + } } /** @@ -90,7 +90,7 @@ public class RolePermissionServiceImpl extends ServiceImpl() .eq(RolePermission::getFileId, rp.getFileId()) - .eq(RolePermission::getRoleId,rp.getRoleId()) + .eq(RolePermission::getRoleId, rp.getRoleId()) .eq(RolePermission::getPermissionCode, rp.getPermissionCode())); if (exist != null) { rp.setId(exist.getId()); // 赋值已有 ID,避免重复插入 diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/RoleServiceImpl.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/RoleServiceImpl.java index 016e2a6..62efa95 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/RoleServiceImpl.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/RoleServiceImpl.java @@ -399,7 +399,7 @@ public class RoleServiceImpl extends ServiceImpl implements Ro /** * 失效角色权限关系 */ - private void disableRolePermission (String roleId) { + private void disableRolePermission(String roleId) { // 失效旧权限信息 LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(RolePermission::getRoleId, roleId); @@ -410,7 +410,7 @@ public class RoleServiceImpl extends ServiceImpl implements Ro /** * 失效角色用户关系 */ - private void disableUserRole (String roleId) { + private void disableUserRole(String roleId) { } } diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/UserServiceImpl.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/UserServiceImpl.java index d061230..4728738 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/UserServiceImpl.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/UserServiceImpl.java @@ -345,9 +345,9 @@ public class UserServiceImpl implements UserService { if (roleNames != null) { for (String roleName : roleNames) { LambdaQueryWrapper roleQueryWrapper = new LambdaQueryWrapper<>(); - roleQueryWrapper.select(Role::getRoleId) + roleQueryWrapper.select(Role::getId) .eq(Role::getRoleName, roleName); - String roleId = roleMapper.selectOne(roleQueryWrapper).getRoleId(); + String roleId = roleMapper.selectOne(roleQueryWrapper).getId(); UserRole userRole = new UserRole(); userRole.setUserId(userId); diff --git a/electrmangnetic/src/main/resources/sqlmapper/RolePermissionMapper.xml b/electrmangnetic/src/main/resources/sqlmapper/RolePermissionMapper.xml index 2746d9e..fcce56d 100644 --- a/electrmangnetic/src/main/resources/sqlmapper/RolePermissionMapper.xml +++ b/electrmangnetic/src/main/resources/sqlmapper/RolePermissionMapper.xml @@ -14,7 +14,7 @@ resultMap="RolePermissionMap"> SELECT f.parent_id as file_id, rp.permission_code, rp.role_id FROM ed_role_permission rp - JOIN ed_file_info f ON rp.file_id = f.id AND rp.effect_flag = #{effectFlag} + JOIN ed_file_info f ON rp.file_id = f.id AND rp.effect_flag = #{effectFlag} WHERE f.parent_id = #{fileId} AND f.data_status = #{dataStatus} AND f.effect_flag = #{effectFlag} diff --git a/electrmangnetic/src/main/resources/sqlmapper/UserMapper.xml b/electrmangnetic/src/main/resources/sqlmapper/UserMapper.xml index 0864be4..a21d996 100644 --- a/electrmangnetic/src/main/resources/sqlmapper/UserMapper.xml +++ b/electrmangnetic/src/main/resources/sqlmapper/UserMapper.xml @@ -262,7 +262,7 @@ \ No newline at end of file From 0749e8e543ff4bd99694e207f9b04ed540efb3d2 Mon Sep 17 00:00:00 2001 From: chenxudong Date: Fri, 18 Apr 2025 15:24:32 +0800 Subject: [PATCH 7/8] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../industry/software/manage/aop/AopUtil.java | 3 +- .../manage/config/ElePropertyConfig.java | 43 ++++++++++--------- .../src/main/resources/application.properties | 35 +++++++-------- 3 files changed, 42 insertions(+), 39 deletions(-) diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/aop/AopUtil.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/aop/AopUtil.java index 855f837..c2acf25 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/aop/AopUtil.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/aop/AopUtil.java @@ -26,8 +26,7 @@ public class AopUtil { } else if (value instanceof ServletResponse) { log.info("参数中有response"); map.put(name, "response"); - } else if (value instanceof MultipartFile) { - MultipartFile file = (MultipartFile) value; + } else if (value instanceof MultipartFile file) { Map pars = new HashMap<>(); pars.put("fileName", file.getOriginalFilename()); pars.put("fileSize", file.getSize()); diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/config/ElePropertyConfig.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/config/ElePropertyConfig.java index c0ec576..4fdacd5 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/config/ElePropertyConfig.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/config/ElePropertyConfig.java @@ -70,74 +70,77 @@ public class ElePropertyConfig { @Value("${prj.folder.max.length}") private Integer prjFolderMaxLength; + @Value("${prjRootPath}") + private String prjRootPath; + public String getEleTmpPath() { if (EleCommonUtil.isWinOs()) { - return winPrefix + eleTmpPath; + return winPrefix + prjRootPath + eleTmpPath; } - return eleTmpPath; + return prjRootPath + eleTmpPath; } public String getSysPrjPath() { if (EleCommonUtil.isWinOs()) { - return winPrefix + sysPrjPath; + return winPrefix + prjRootPath + sysPrjPath; } - return sysPrjPath; + return prjRootPath + sysPrjPath; } public String getSysUploadPath() { if (EleCommonUtil.isWinOs()) { - return winPrefix + sysUploadPath; + return winPrefix + prjRootPath + sysUploadPath; } - return sysUploadPath; + return prjRootPath + sysUploadPath; } public String getSysDownloadPath() { if (EleCommonUtil.isWinOs()) { - return winPrefix + sysDownloadPath; + return winPrefix + prjRootPath + sysDownloadPath; } - return sysDownloadPath; + return prjRootPath + sysDownloadPath; } public String getUserPrjPath() { if (EleCommonUtil.isWinOs()) { - return winPrefix + userPrjPath; + return winPrefix + prjRootPath + userPrjPath; } - return userPrjPath; + return prjRootPath + userPrjPath; } public String getUserUploadPath() { if (EleCommonUtil.isWinOs()) { - return winPrefix + userUploadPath; + return winPrefix + prjRootPath + userUploadPath; } - return userUploadPath; + return prjRootPath + userUploadPath; } public String getUserDownloadPath() { if (EleCommonUtil.isWinOs()) { - return winPrefix + userDownloadPath; + return winPrefix + prjRootPath + userDownloadPath; } - return userDownloadPath; + return prjRootPath + userDownloadPath; } public String getRepoPrjPath() { if (EleCommonUtil.isWinOs()) { - return winPrefix + repoPrjPath; + return winPrefix + prjRootPath + repoPrjPath; } - return repoPrjPath; + return prjRootPath + repoPrjPath; } public String getRepoUploadPath() { if (EleCommonUtil.isWinOs()) { - return winPrefix + repoUploadPath; + return winPrefix + prjRootPath + repoUploadPath; } - return repoUploadPath; + return prjRootPath + repoUploadPath; } public String getRepoDownloadPath() { if (EleCommonUtil.isWinOs()) { - return winPrefix + repoDownloadPath; + return winPrefix + prjRootPath + repoDownloadPath; } - return repoDownloadPath; + return prjRootPath + repoDownloadPath; } public String getUploadDataDir(int dataOwnCode) { diff --git a/electrmangnetic/src/main/resources/application.properties b/electrmangnetic/src/main/resources/application.properties index 4822c69..cef2545 100644 --- a/electrmangnetic/src/main/resources/application.properties +++ b/electrmangnetic/src/main/resources/application.properties @@ -5,15 +5,15 @@ spring.servlet.multipart.max-file-size=500MB spring.servlet.multipart.max-request-size=500MB spring.mvc.async.request-timeout=3600000 #mysql -spring.datasource.url=jdbc:mysql://139.196.179.195:3306/em_data_dev?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=GMT%2B8&allowMultiQueries=true&rewriteBatchedStatements=true -spring.datasource.username=em_user_dev -spring.datasource.password=Szsd#2O25$dev +spring.datasource.url=jdbc:mysql://127.0.0.1:3306/em_data_dev?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=GMT%2B8&allowMultiQueries=true&rewriteBatchedStatements=true +spring.datasource.username=aaa +spring.datasource.password=12345 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.type=com.alibaba.druid.pool.DruidDataSource # es -spring.elasticsearch.password=123456 +spring.elasticsearch.password=12345 spring.elasticsearch.username=elastic -spring.elasticsearch.uris=http://139.196.179.195:9200 +spring.elasticsearch.uris=http://127.0.0.1:9200 #ai spring.ai.ollama.base-url=http://localhost:11434 spring.ai.ollama.chat.options.model=gemma3:latest @@ -31,25 +31,26 @@ pagehelper.helperDialect=mysql pagehelper.reasonable=false # app server.port=12396 -winPrefix:D:/tmp -data.ele.tmp.path=/szsd/data/ele/prj/dev/tmp +winPrefix=D:/tmp +prjRootPath=/szsd/data/ele/prj/dev/ +data.ele.tmp.path=tmp/ ai.store.max.docs=200 # sys path -data.sys.prj.path=/szsd/data/ele/prj/dev/sys_project/ -data.sys.upload.path=/szsd/data/ele/prj/dev/sys_upload/ -data.sys.download.path=/szsd/data/ele/prj/dev/sys_download/ +data.sys.prj.path=sys_project/ +data.sys.upload.path=sys_upload/ +data.sys.download.path=sys_download/ # user path -data.user.prj.path=/szsd/data/ele/prj/dev/user_project/ -data.user.upload.path=/szsd/data/ele/prj/dev/user_upload/ -data.user.download.path=/szsd/data/ele/prj/dev/user_download/ +data.user.prj.path=user_project/ +data.user.upload.path=user_upload/ +data.user.download.path=user_download/ # repo path -data.repo.prj.path=/szsd/data/ele/prj/dev/repo_project/ -data.repo.upload.path=/szsd/data/ele/prj/dev/repo_upload/ -data.repo.download.path=/szsd/data/ele/prj/dev/repo_download/ +data.repo.prj.path=repo_project/ +data.repo.upload.path=repo_upload/ +data.repo.download.path=repo_download/ prj.folder.max.length=6 # backupFiles tmp.file.store.hour=48 backup.remote.host=127.0.0.1 -backup.remote.port=1111 +backup.remote.port=12491 backup.mysql.path=/workspace/mysqlbak/test backup.mysql.script.path=/workspace/mysqlbak/back_dev.sh \ No newline at end of file From 98dd3e1938524f69769c087cb090d7d6c87a64b5 Mon Sep 17 00:00:00 2001 From: chenxudong Date: Mon, 21 Apr 2025 09:03:09 +0800 Subject: [PATCH 8/8] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=B7=B2=E7=9F=A5?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../software/manage/service/serviceimpl/ChatService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/ChatService.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/ChatService.java index 7ada349..1955f32 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/ChatService.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/ChatService.java @@ -191,8 +191,8 @@ public class ChatService { UserLoginInfo userLoginInfo = new UserLoginInfo(); userLoginInfo.setUserId(queryDTO.getUserId()); UserThreadLocal.set(userLoginInfo); - UserThreadLocal.remove(); aiQuestionRecordMapper.insert(record); + UserThreadLocal.remove(); return ChatClient.builder(model) .defaultSystem("必须用中文回答") .defaultAdvisors(messageChatMemoryAdvisor, questionAnswerAdvisor)