From 284dea6a9821c5d9ef49efe5360d2cc89837f122 Mon Sep 17 00:00:00 2001 From: chenxudong Date: Mon, 21 Apr 2025 14:07:42 +0800 Subject: [PATCH 01/11] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=B8=8A=E4=BC=A0?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/serviceimpl/CommonService.java | 28 ++++++++++++------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/CommonService.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/CommonService.java index 53dc10d..f45a8ff 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/CommonService.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/CommonService.java @@ -594,13 +594,13 @@ public class CommonService { public ElectromagneticResult upload(String parentId, MultipartFile file, Integer strategy, int dataOwnCode) { - Assert.isTrue(FileRepeatEnum.contains(strategy), "解决重名文件参数错误"); + Assert.isTrue(contains(strategy), "解决重名文件参数错误"); String fileName = file.getOriginalFilename(); String mainName = FileUtil.mainName(fileName); String suffix = FileUtil.getSuffix(fileName); Assert.isTrue(StrUtil.isNotEmpty(suffix), "文件类型不能为空"); String destPath = getDbPathById(parentId); - String strategyStr = FileRepeatEnum.getDesc(strategy); + String strategyStr = getDesc(strategy); Assert.isTrue(!file.isEmpty(), StrFormatter.format("文件 {} 为空,文件上传到 {} 失败,同名同后缀的处理方式为 {}", fileName, destPath, strategyStr)); Assert.isTrue(EleCommonUtil.isFileNameValid(file.getOriginalFilename()), StrFormatter.format("文件 {} {},上传到 {} 失败,同名同后缀的处理方式为 {}", fileName, NAME_VALID_MSG, destPath, strategyStr)); // 查找下一层,看是否存在顶级定义相关文件,如果存在,则该层属于管理员层级定义的,不允许上传文件 @@ -620,7 +620,7 @@ public class CommonService { Assert.isTrue(dirCount == 0, "文件 {} 上传到 {} 失败,层级结构不允许上传文件,同名同后缀的处理方式为 {}", fileName, destPath, strategyStr); EdFileInfo newEdFileInfo = new EdFileInfo(); newEdFileInfo.newInit(); - EdFileInfo finalEdFileInfo; + EdFileInfo finalEdFileInfo = null; // 首先检查是否是同名文件 try { Assert.isTrue(EleCommonUtil.isFileNameValid(fileName), NAME_VALID_MSG); @@ -640,7 +640,7 @@ public class CommonService { String fileCode = createFileCode(codePathByDbPath, suffix, FILE_START_VERSION, newEdFileInfo.getFileTime()); newEdFileInfo.setParentId(parentId) .setFileCode(fileCode) - .setSaveStatus(EleDataSaveStatusEnum.SUCCESS.code) + .setSaveStatus(EleDataSaveStatusEnum.UPLOADING.code) .setDataOwn(dataOwnCode) .setFileName(mainName) .setFileContent(EleCommonUtil.parse(file.getInputStream(), suffix)) @@ -656,10 +656,16 @@ public class CommonService { FileUtil.writeFromStream(file.getInputStream(), fileDestPath); EleCommonUtil.encryptFile(fileDestPath, SecureUtil.aes(FILE_SEC_PASSWD.getBytes())); finalEdFileInfo = newEdFileInfo; + newEdFileInfo.setSaveStatus(EleDataSaveStatusEnum.SUCCESS.code); + edFileInfoMapper.insertOrUpdate(newEdFileInfo); } } catch (Exception e) { String info = StrFormatter.format("文件 {} 为上传到 {} 失败,原因 {},同名同后缀的处理方式为 {}", fileName, destPath, e.getMessage(), strategyStr); - newEdFileInfo.setParentId(parentId) + if (Objects.isNull(finalEdFileInfo)) { + log.error(info, e); + throw new BizException(info); + } + finalEdFileInfo.setParentId(parentId) .setFileName(mainName) .setSaveStatus(EleDataSaveStatusEnum.FAIL.code) .setFileType(suffix) @@ -670,18 +676,18 @@ public class CommonService { .setDataType(EleDataTypeEnum.FILE.code) .setDataStatus(PublishEnum.PUBLISHED.getCode()) .setEffectFlag(EffectFlagEnum.NOT_EFFECTIVE.code); - edFileInfoMapper.insertOrUpdate(newEdFileInfo); + edFileInfoMapper.insertOrUpdate(finalEdFileInfo); log.error(info, e); throw new BizException(info); } - UserThreadLocal.setSuccessInfo(Optional.ofNullable(finalEdFileInfo).map(EdFileInfo::getParentId).orElse(""), + UserThreadLocal.setSuccessInfo(parentId, Optional.ofNullable(finalEdFileInfo).map(EdFileInfo::getId).orElse(""), "文件 {} 为上传到 {} 成功,同名同后缀的处理方式为 {},存入的文件名为 {}", fileName, destPath, strategyStr, - Optional.ofNullable(finalEdFileInfo).map(EdFileInfo::getFileName).orElse(fileName) + "." + Optional.ofNullable(finalEdFileInfo).map(EdFileInfo::getFileType).orElse(suffix)); - return ElectromagneticResultUtil.success(newEdFileInfo.getId()); + fileName + "." + suffix); + return ElectromagneticResultUtil.success(Optional.ofNullable(finalEdFileInfo).map(EdFileInfo::getId).orElse("")); } @Transactional(rollbackFor = Exception.class) @@ -699,7 +705,7 @@ public class CommonService { .setFileSize(file.getSize()) .setDataType(EleDataTypeEnum.FILE.code) .setDataStatus(PublishEnum.PUBLISHED.getCode()) - .setSaveStatus(EleDataSaveStatusEnum.SUCCESS.code) + .setSaveStatus(EleDataSaveStatusEnum.UPLOADING.code) .setDataOwn(dataOwnCode) .setEffectFlag(EffectFlagEnum.EFFECT.code); if (strategy == REVERSION.code) { @@ -752,6 +758,8 @@ public class CommonService { String fileDestPath = getFileSysPath(newEdFileInfo.getId()); fileSystemService.save(file.getInputStream(), fileDestPath); EleCommonUtil.encryptFile(fileDestPath, SecureUtil.aes(FILE_SEC_PASSWD.getBytes())); + newEdFileInfo.setSaveStatus(EleDataSaveStatusEnum.SUCCESS.code); + edFileInfoMapper.insertOrUpdate(newEdFileInfo); return newEdFileInfo; } From 2d43880a5104fff8524cae6654fa25c75d50cd64 Mon Sep 17 00:00:00 2001 From: chenxudong Date: Mon, 21 Apr 2025 14:31:57 +0800 Subject: [PATCH 02/11] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/serviceimpl/CommonService.java | 3 +-- .../software/common/enums/EffectFlagEnum.java | 3 --- .../software/common/enums/FileRepeatEnum.java | 25 ++++++++++--------- 3 files changed, 14 insertions(+), 17 deletions(-) diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/CommonService.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/CommonService.java index f45a8ff..e9ec4b2 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/CommonService.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/CommonService.java @@ -690,8 +690,7 @@ public class CommonService { return ElectromagneticResultUtil.success(Optional.ofNullable(finalEdFileInfo).map(EdFileInfo::getId).orElse("")); } - @Transactional(rollbackFor = Exception.class) - public EdFileInfo handUploadRepeatFile(String parentId, MultipartFile file, Integer strategy, int dataOwnCode) throws IOException { + private EdFileInfo handUploadRepeatFile(String parentId, MultipartFile file, Integer strategy, int dataOwnCode) throws IOException { String fileName = file.getOriginalFilename(); String mainName = FileUtil.mainName(fileName); String suffix = FileUtil.getSuffix(fileName); diff --git a/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/enums/EffectFlagEnum.java b/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/enums/EffectFlagEnum.java index 164baef..0d512a0 100644 --- a/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/enums/EffectFlagEnum.java +++ b/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/enums/EffectFlagEnum.java @@ -4,9 +4,6 @@ import lombok.AllArgsConstructor; /** * 是否删除枚举 - * - * @author zhangxiong.pt - * @version $Id: EffectFlagEnum.java, v 0.1 2024-08-01 18:18 */ @AllArgsConstructor public enum EffectFlagEnum { diff --git a/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/enums/FileRepeatEnum.java b/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/enums/FileRepeatEnum.java index a9a9db2..1418b79 100644 --- a/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/enums/FileRepeatEnum.java +++ b/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/enums/FileRepeatEnum.java @@ -2,6 +2,10 @@ package com.electromagnetic.industry.software.common.enums; import lombok.AllArgsConstructor; +import java.util.HashMap; +import java.util.Map; +import java.util.Optional; + @AllArgsConstructor public enum FileRepeatEnum { @@ -12,22 +16,19 @@ public enum FileRepeatEnum { public int code; public String desc; - public static String getDesc(int code) { + private static final Map MAP = new HashMap<>(); + static { for (FileRepeatEnum e : FileRepeatEnum.values()) { - if (e.code == code) { - return e.desc; - } + MAP.put(e.code, e); } - return ""; + } + + public static String getDesc(int code) { + return Optional.ofNullable(MAP.get(code)).map(e -> e.desc).orElse(""); } public static boolean contains(int code) { - for (FileRepeatEnum e : FileRepeatEnum.values()) { - if (e.code == code) { - return true; - } - } - return false; + return MAP.containsKey(code); } -} +} \ No newline at end of file From a6cb01bfdba36a5ee864f20c207deab1a69d63d6 Mon Sep 17 00:00:00 2001 From: chenxudong Date: Mon, 21 Apr 2025 14:39:31 +0800 Subject: [PATCH 03/11] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../industry/software/common/enums/FileBackupSource.java | 4 ++-- .../industry/software/common/enums/FileRepeatEnum.java | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/enums/FileBackupSource.java b/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/enums/FileBackupSource.java index 4d414c2..e8a8505 100644 --- a/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/enums/FileBackupSource.java +++ b/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/enums/FileBackupSource.java @@ -9,7 +9,7 @@ public enum FileBackupSource { REMOVE(1, "删除文件"), SQL(2, "sql文件"); - public int code; - public String desc; + public final int code; + public final String desc; } diff --git a/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/enums/FileRepeatEnum.java b/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/enums/FileRepeatEnum.java index 1418b79..b8f3545 100644 --- a/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/enums/FileRepeatEnum.java +++ b/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/enums/FileRepeatEnum.java @@ -13,8 +13,8 @@ public enum FileRepeatEnum { REVERSION(2, "所有冲突文件版本更新"), NEW(3, "重命名所有冲突文件, 文件后加“_1”"); - public int code; - public String desc; + public final int code; + public final String desc; private static final Map MAP = new HashMap<>(); static { From 34c51c775e32f58fc624722273979e6d55f27529 Mon Sep 17 00:00:00 2001 From: chenxudong Date: Mon, 21 Apr 2025 15:50:27 +0800 Subject: [PATCH 04/11] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manage/service/serviceimpl/CommonService.java | 9 +++------ .../service/serviceimpl/FileBackLogServiceImpl.java | 10 ++++------ .../industry/software/common/util/EleCommonUtil.java | 4 ++++ .../industry/software/common/util/SignUtils.java | 5 ++++- 4 files changed, 15 insertions(+), 13 deletions(-) diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/CommonService.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/CommonService.java index e9ec4b2..a86a7b7 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/CommonService.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/CommonService.java @@ -198,12 +198,9 @@ public class CommonService { StringBuilder path = new StringBuilder(); for (String id : ids) { EdFileInfo fileInfo = map.get(id); - String tmp; - if (fileInfo.getDataType().equals(EleDataTypeEnum.FILE.code)) { - tmp = fileInfo.getFileName() + "." + fileInfo.getFileType(); - } else { - tmp = fileInfo.getFileName() + File.separator; - } + String tmp = EleCommonUtil.simpleTrueFalse(Objects.equals(fileInfo.getDataType(), EleDataTypeEnum.FILE.code), + fileInfo.getFileName() + "." + fileInfo.getFileType(), + fileInfo.getFileName() + File.separator); path.append(tmp); } return path.toString(); diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/FileBackLogServiceImpl.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/FileBackLogServiceImpl.java index 4eb1d01..ddc7688 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/FileBackLogServiceImpl.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/FileBackLogServiceImpl.java @@ -13,6 +13,7 @@ import com.electromagnetic.industry.software.common.enums.EleDataTypeEnum; import com.electromagnetic.industry.software.common.enums.FileBackupSource; import com.electromagnetic.industry.software.common.pojo.RespPageVO; import com.electromagnetic.industry.software.common.resp.ElectromagneticResult; +import com.electromagnetic.industry.software.common.util.EleCommonUtil; import com.electromagnetic.industry.software.common.util.ElectromagneticResultUtil; import com.electromagnetic.industry.software.common.util.UserThreadLocal; import com.electromagnetic.industry.software.manage.mapper.EdFileInfoMapper; @@ -87,12 +88,9 @@ public class FileBackLogServiceImpl extends ServiceImpl restoreFilePaths = new ArrayList<>(); for (EdFileInfo edFileInfo : edFileInfos) { - String destPath; - if (DataOwnEnum.isUserCode(edFileInfo.getDataOwn())) { - destPath = commonService.getPrjRootPath1(edFileInfo.getDataOwn()) + File.separator + edFileInfo.getCreatedBy() + File.separator + edFileInfo.getId(); - } else { - destPath = commonService.getPrjRootPath1(edFileInfo.getDataOwn()) + File.separator + edFileInfo.getId(); - } + String destPath = EleCommonUtil.simpleTrueFalse(DataOwnEnum.isUserCode(edFileInfo.getDataOwn()), + commonService.getPrjRootPath1(edFileInfo.getDataOwn()) + File.separator + edFileInfo.getCreatedBy() + File.separator + edFileInfo.getId(), + commonService.getPrjRootPath1(edFileInfo.getDataOwn()) + File.separator + edFileInfo.getId()); destPath = destPath.replace("//", "/"); log.info("back up file path is {}", destPath); if (!FileUtil.exist(destPath)) { diff --git a/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/util/EleCommonUtil.java b/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/util/EleCommonUtil.java index dd628e2..c8dfd63 100644 --- a/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/util/EleCommonUtil.java +++ b/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/util/EleCommonUtil.java @@ -133,4 +133,8 @@ public final class EleCommonUtil { } } + public static T simpleTrueFalse(Boolean match, T t1, T t2) { + return match ? t1 : t2; + } + } diff --git a/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/util/SignUtils.java b/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/util/SignUtils.java index 6c769c3..693cb92 100644 --- a/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/util/SignUtils.java +++ b/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/util/SignUtils.java @@ -1,7 +1,10 @@ package com.electromagnetic.industry.software.common.util; +import lombok.extern.slf4j.Slf4j; + import java.security.MessageDigest; +@Slf4j public class SignUtils { /** @@ -26,7 +29,7 @@ public class SignUtils { } return md5StrBuff.toString(); } catch (Exception e) { - e.printStackTrace(); + log.error(e.getMessage(), e); return null; } } From 832ed737bf704b17fa1640c2ed805168512c9f33 Mon Sep 17 00:00:00 2001 From: chenxudong Date: Tue, 22 Apr 2025 09:26:36 +0800 Subject: [PATCH 05/11] reformat code --- .../manage/config/LoginInterceptor.java | 6 ------ .../software/manage/mapper/UserMapper.java | 2 -- .../software/manage/pojo/models/User.java | 6 +++--- .../software/manage/pojo/models/UserRole.java | 2 +- .../manage/pojo/other/SingleUserResponse.java | 2 -- .../service/serviceimpl/ChatService.java | 3 +-- .../service/serviceimpl/UserServiceImpl.java | 21 +++++++++++++------ 7 files changed, 20 insertions(+), 22 deletions(-) diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/config/LoginInterceptor.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/config/LoginInterceptor.java index 9405527..cfbebaf 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/config/LoginInterceptor.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/config/LoginInterceptor.java @@ -27,7 +27,6 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; import org.springframework.web.method.HandlerMethod; import org.springframework.web.servlet.HandlerInterceptor; -import org.springframework.web.servlet.ModelAndView; import java.util.Date; import java.util.List; @@ -130,11 +129,6 @@ public class LoginInterceptor implements HandlerInterceptor { } } - @Override - public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { - - } - @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/mapper/UserMapper.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/mapper/UserMapper.java index f0afc3c..e0d7210 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/mapper/UserMapper.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/mapper/UserMapper.java @@ -2,9 +2,7 @@ package com.electromagnetic.industry.software.manage.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.electromagnetic.industry.software.manage.pojo.models.User; -import com.electromagnetic.industry.software.manage.pojo.other.PublishParam; import com.electromagnetic.industry.software.manage.pojo.other.SearchKeyWords; -import com.electromagnetic.industry.software.manage.pojo.other.UserDeleteKeyWords; import org.apache.ibatis.annotations.Mapper; import java.util.List; diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/User.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/User.java index 2eff60a..bd343c9 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/User.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/User.java @@ -13,13 +13,13 @@ import java.util.Date; @TableName("ed_users") @Data -public class User extends BaseModel{ +public class User extends BaseModel { /** * 主键ID */ private String id; - + /** * 用户姓名 */ @@ -89,7 +89,7 @@ public class User extends BaseModel{ * 盐 */ private String salt; - + public void newInit() { String id = IdWorker.getSnowFlakeIdString(); String userId = UserThreadLocal.getUserId(); diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/UserRole.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/UserRole.java index f390a50..fb7b65a 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/UserRole.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/UserRole.java @@ -11,7 +11,7 @@ import java.util.Date; @Data @TableName("ed_user_role") -public class UserRole extends BaseModel{ +public class UserRole extends BaseModel { /** * 主键ID diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/other/SingleUserResponse.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/other/SingleUserResponse.java index 41aa98d..a7f2906 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/other/SingleUserResponse.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/other/SingleUserResponse.java @@ -1,7 +1,5 @@ package com.electromagnetic.industry.software.manage.pojo.other; -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.TableField; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Data; 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 1955f32..0cab5ad 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 @@ -3,7 +3,6 @@ package com.electromagnetic.industry.software.manage.service.serviceimpl; import cn.hutool.core.io.FileUtil; import cn.hutool.core.text.StrFormatter; import cn.hutool.core.util.IdUtil; -import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.crypto.digest.DigestUtil; import com.baomidou.mybatisplus.core.toolkit.Wrappers; @@ -73,7 +72,7 @@ public class ChatService { .map(AiFileUploadRecord::getVectorId) .toList(); Optional delete = vectorStore.delete(vectorIds); - if (delete.isPresent() && ObjectUtil.equals(delete.get(), true)) { + if (null != delete && delete.isPresent() && delete.get()) { aiFileUploadRecordMapper.update(Wrappers.lambdaUpdate(AiFileUploadRecord.class) .in(AiFileUploadRecord::getId, ids) .set(AiFileUploadRecord::getEffectFlag, EffectFlagEnum.NOT_EFFECTIVE.code)); 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 6cd4b55..bc69976 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 @@ -4,9 +4,7 @@ import cn.hutool.core.date.DateTime; import cn.hutool.core.date.SystemClock; import cn.hutool.core.lang.Assert; import cn.hutool.core.text.StrFormatter; -import cn.hutool.core.util.RandomUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -17,13 +15,21 @@ import com.electromagnetic.industry.software.common.enums.PublishEnum; import com.electromagnetic.industry.software.common.exception.BizException; import com.electromagnetic.industry.software.common.pojo.UserLoginInfo; import com.electromagnetic.industry.software.common.resp.ElectromagneticResult; -import com.electromagnetic.industry.software.common.util.*; -import com.electromagnetic.industry.software.manage.mapper.*; -import com.electromagnetic.industry.software.manage.pojo.models.*; +import com.electromagnetic.industry.software.common.util.AESUtils; +import com.electromagnetic.industry.software.common.util.ElectromagneticResultUtil; +import com.electromagnetic.industry.software.common.util.SignUtils; +import com.electromagnetic.industry.software.common.util.UserThreadLocal; +import com.electromagnetic.industry.software.manage.mapper.RoleMapper; +import com.electromagnetic.industry.software.manage.mapper.TokenMapper; +import com.electromagnetic.industry.software.manage.mapper.UserMapper; +import com.electromagnetic.industry.software.manage.mapper.UserMappers; +import com.electromagnetic.industry.software.manage.pojo.models.Role; +import com.electromagnetic.industry.software.manage.pojo.models.Token; +import com.electromagnetic.industry.software.manage.pojo.models.User; +import com.electromagnetic.industry.software.manage.pojo.models.UserRole; import com.electromagnetic.industry.software.manage.pojo.other.PublishParam; import com.electromagnetic.industry.software.manage.pojo.other.SearchKeyWords; import com.electromagnetic.industry.software.manage.pojo.other.SingleUserResponse; -import com.electromagnetic.industry.software.manage.pojo.other.UserDeleteKeyWords; import com.electromagnetic.industry.software.manage.pojo.req.*; import com.electromagnetic.industry.software.manage.pojo.resp.UserLoginResponse; import com.electromagnetic.industry.software.manage.pojo.resp.UserSearchResponse; @@ -64,6 +70,9 @@ public class UserServiceImpl extends ServiceImpl implements Us UserLoginInfo info = UserMappers.INSTANCE.getUserLoginRequestToModel(loginRequest); String decodePwd = AESUtils.decrypt(info.getUserPwd(), UserConstants.SECRET_KEY); User user = userMapper.selectUserByWorkNumber(info.getWorkNumber()); + if (Objects.isNull(user)) { + return ElectromagneticResultUtil.fail("500", "用户不存在/密码错误"); + } info.setUserId(user.getId()); info.setUsername(user.getUserName()); info.setAdminType(user.getAdminType()); From 881e5bf5c9b2a158c487e3a03205d8f420916175 Mon Sep 17 00:00:00 2001 From: chenxudong Date: Tue, 22 Apr 2025 10:02:19 +0800 Subject: [PATCH 06/11] =?UTF-8?q?=E5=B0=86AI=E4=B8=AD=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E7=9A=84=E6=96=87=E4=BB=B6=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E8=BD=AC=E7=A7=BB=E5=88=B0=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../software/manage/config/ElePropertyConfig.java | 9 +++++++++ .../software/manage/service/serviceimpl/ChatService.java | 3 +-- .../src/main/resources/application.properties | 1 + 3 files changed, 11 insertions(+), 2 deletions(-) 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 4fdacd5..944b81c 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 @@ -6,6 +6,8 @@ import lombok.Getter; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; +import java.util.List; + @Component public class ElePropertyConfig { @@ -73,6 +75,13 @@ public class ElePropertyConfig { @Value("${prjRootPath}") private String prjRootPath; + @Value("${allow.upload.file.types}") + private String allowUploadFileTypes; + + public List getAiAllowUploadFileTypes() { + return List.of(allowUploadFileTypes.split(",")); + } + public String getEleTmpPath() { if (EleCommonUtil.isWinOs()) { return winPrefix + prjRootPath + eleTmpPath; 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 0cab5ad..4d14872 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 @@ -49,7 +49,6 @@ import java.util.*; @Service public class ChatService { - private static final List ALLOWS_FILE_TYPES = List.of("doc", "docx", "txt", "csv", "xls", "xlsx", "pdf", "ppt", "pptx"); @Resource private VectorStore vectorStore; @Resource @@ -90,7 +89,7 @@ public class ChatService { } String fileType = FileUtil.extName(file.getOriginalFilename()); - if (!ALLOWS_FILE_TYPES.contains(fileType)) { + if (!elePropertyConfig.getAiAllowUploadFileTypes().contains(fileType)) { return ElectromagneticResultUtil.fail("-1", StrFormatter.format("当前格式 {} 不支持", fileType)); } diff --git a/electrmangnetic/src/main/resources/application.properties b/electrmangnetic/src/main/resources/application.properties index 4822c69..815d69f 100644 --- a/electrmangnetic/src/main/resources/application.properties +++ b/electrmangnetic/src/main/resources/application.properties @@ -24,6 +24,7 @@ spring.ai.vectorstore.elasticsearch.initialize-schema=true spring.ai.vectorstore.elasticsearch.index-name=rag spring.ai.vectorstore.elasticsearch.dimensions=768 spring.ai.vectorstore.elasticsearch.similarity=cosine +allow.upload.file.types=doc, docx, txt, csv, xls, xlsx, pdf, ppt", pptx # mybatis mybatis-plus.mapper-locations=classpath:sqlmapper/*.xml mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl From 98baf35bb125ad8c9dc27f18d188909a59901c5d Mon Sep 17 00:00:00 2001 From: chenxudong Date: Tue, 22 Apr 2025 10:05:15 +0800 Subject: [PATCH 07/11] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- electrmangnetic/src/main/resources/application.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/electrmangnetic/src/main/resources/application.properties b/electrmangnetic/src/main/resources/application.properties index 815d69f..75b412f 100644 --- a/electrmangnetic/src/main/resources/application.properties +++ b/electrmangnetic/src/main/resources/application.properties @@ -24,7 +24,7 @@ spring.ai.vectorstore.elasticsearch.initialize-schema=true spring.ai.vectorstore.elasticsearch.index-name=rag spring.ai.vectorstore.elasticsearch.dimensions=768 spring.ai.vectorstore.elasticsearch.similarity=cosine -allow.upload.file.types=doc, docx, txt, csv, xls, xlsx, pdf, ppt", pptx +allow.upload.file.types=doc, docx, txt, csv, xls, xlsx, pdf, ppt, pptx # mybatis mybatis-plus.mapper-locations=classpath:sqlmapper/*.xml mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl From 1fec7792ff7488d56be430c98ad626adb3892fdc Mon Sep 17 00:00:00 2001 From: chenxudong Date: Tue, 22 Apr 2025 11:06:12 +0800 Subject: [PATCH 08/11] =?UTF-8?q?=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/application.properties | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/electrmangnetic/src/main/resources/application.properties b/electrmangnetic/src/main/resources/application.properties index 75b412f..cfedcd9 100644 --- a/electrmangnetic/src/main/resources/application.properties +++ b/electrmangnetic/src/main/resources/application.properties @@ -7,7 +7,7 @@ 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.password=123456 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.type=com.alibaba.druid.pool.DruidDataSource # es @@ -33,20 +33,21 @@ pagehelper.reasonable=false # app server.port=12396 winPrefix:D:/tmp -data.ele.tmp.path=/szsd/data/ele/prj/dev/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 From 16a256ced8287897de225e7d0924c4e7a4edcc1c Mon Sep 17 00:00:00 2001 From: chenxudong Date: Tue, 22 Apr 2025 11:31:02 +0800 Subject: [PATCH 09/11] =?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 --- .../industry/software/manage/config/ElePropertyConfig.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 944b81c..7bb192c 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 @@ -79,7 +79,7 @@ public class ElePropertyConfig { private String allowUploadFileTypes; public List getAiAllowUploadFileTypes() { - return List.of(allowUploadFileTypes.split(",")); + return List.of(allowUploadFileTypes.replace(" ", "").split(",")); } public String getEleTmpPath() { From 3fe8c1498fe3cbfe037dabac8095ddbf96f60445 Mon Sep 17 00:00:00 2001 From: chenxudong Date: Tue, 22 Apr 2025 15:31:12 +0800 Subject: [PATCH 10/11] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=EF=BC=8C=E4=BF=AE=E5=A4=8D=E5=B7=B2=E7=9F=A5=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manage/service/serviceimpl/CommonService.java | 12 ++---------- .../service/serviceimpl/EdFileInfoServiceImpl.java | 2 -- .../manage/service/serviceimpl/EdPrjServiceImpl.java | 11 ----------- 3 files changed, 2 insertions(+), 23 deletions(-) diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/CommonService.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/CommonService.java index a86a7b7..4fab197 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/CommonService.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/CommonService.java @@ -251,9 +251,8 @@ public class CommonService { .eq(EdFileInfo::getId, parentId); EdFileInfo edFileInfo = edFileInfoMapper.selectOne(queryWrapper); String currentPath = edFileInfo.getFilePath(); - List paths = CollUtil.newArrayList(edFileInfo.getFilePath().split(MYSQL_FILE_PATH_SPLIT)); if (maxLengthCheck) { - if (paths.size() >= elePropertyConfig.getPrjFolderMaxLength()) { + if (StrUtil.count(currentPath, MYSQL_FILE_PATH_SPLIT) >= elePropertyConfig.getPrjFolderMaxLength() - 1) { String info = StrFormatter.format("当前子集已达到最大层级,禁止创建子集,{} 创建失败。", folderName); log.error(info); return ElectromagneticResultUtil.fail("-1", info); @@ -297,19 +296,12 @@ public class CommonService { } /** - * 1.询管理员从层级定义处查。2.用户从数据库管理界面查询。 - * - * @param querySource 0:询管理员从层级定义处查。 2.用户从数据库管理界面查询。 + * @param querySource 管理员从层级定义处查询,用户从数据库管理界面查询。 * @param accessibleIds * @param returnType * @return */ public Map> querySysPrjTree(int querySource, List accessibleIds, Object returnType) { - - /** - * querySource=SYS_PRJ(从层级定义处查询) querySource=SYS_DB(从数据库界面处查询) - */ - Map> map = new HashMap<>(); try { // 首先查出所有的工程id 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 eb58c41..5e8fc3f 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 @@ -346,8 +346,6 @@ public class EdFileInfoServiceImpl extends ServiceImpl this.baseMapper.update(new EdFileInfo(), Wrappers.lambdaUpdate(EdFileInfo.class) .eq(EdFileInfo::getId, prjId) .set(EdFileInfo::getFileName, newPrjName)); - - String prjPath; - DataOwnEnum enumByCode = DataOwnEnum.getEnumByCode(dataOwnCode); - switch (Objects.requireNonNull(enumByCode)) { - case USER_PRJ, USER_FILE -> - prjPath = commonService.getPrjRootPath1(dataOwnCode) + File.separator + UserThreadLocal.getUserId() + File.separator; - case REPO_PRJ, REPO_FILE, SYS_PRJ, SYS_FILE -> - prjPath = commonService.getPrjRootPath1(dataOwnCode) + File.separator; - default -> throw new BizException("参数错误"); - } - fileSystemService.renameFile(prjPath, oldPrjName, newPrjName); UserThreadLocal.setSuccessInfo("", prjId, "修改工层名 {} 为 {} 成功。", oldPrjName, newPrjName); } catch (Exception e) { String info = StrFormatter.format("修改工程名异常--->{},{}", newPrjName, e.getMessage()); From 0b74ec12fd7729b24024b20862d414c62727b473 Mon Sep 17 00:00:00 2001 From: chenxudong Date: Tue, 22 Apr 2025 15:41:47 +0800 Subject: [PATCH 11/11] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manage/service/serviceimpl/EdFileInfoServiceImpl.java | 1 - 1 file changed, 1 deletion(-) 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 5e8fc3f..973253c 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 @@ -340,7 +340,6 @@ public class EdFileInfoServiceImpl extends ServiceImpl