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 6904374..bcc736e 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 @@ -2,7 +2,6 @@ package com.electromagnetic.industry.software.manage.config; import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.SystemClock; -import cn.hutool.json.JSONUtil; import com.electromagnetic.industry.software.common.annotations.UserOperation; import com.electromagnetic.industry.software.common.cons.UserConstants; import com.electromagnetic.industry.software.common.enums.AdminTypeEnum; @@ -13,7 +12,6 @@ import com.electromagnetic.industry.software.common.util.TokenUtil; import com.electromagnetic.industry.software.common.util.UserThreadLocal; import com.electromagnetic.industry.software.manage.mapper.TokenMapper; import com.electromagnetic.industry.software.manage.mapper.UserAccessLogMapper; -import org.springframework.web.util.WebUtils; import com.electromagnetic.industry.software.manage.pojo.models.Token; import com.electromagnetic.industry.software.manage.pojo.models.UserAccessLog; import io.jsonwebtoken.Claims; diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/ProjectController.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/ProjectController.java index 89f1023..6e6f46c 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/ProjectController.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/ProjectController.java @@ -2,7 +2,6 @@ package com.electromagnetic.industry.software.manage.controller; import com.electromagnetic.industry.software.common.annotations.UserOperation; import com.electromagnetic.industry.software.common.enums.DataOwnEnum; -import com.electromagnetic.industry.software.common.enums.EleDataStatusEnum; import com.electromagnetic.industry.software.common.enums.UserOperationModuleEnum; import com.electromagnetic.industry.software.common.resp.ElectromagneticResult; import com.electromagnetic.industry.software.manage.pojo.req.FolderResortDTO; @@ -36,55 +35,55 @@ public class ProjectController { return edPrjService.delete(prjId, DataOwnEnum.SYS_PRJ.code); } - @UserOperation(value = "修改了工程名", modelName = UserOperationModuleEnum.PRJ_SETTING) + @UserOperation(value = "修改工程名", modelName = UserOperationModuleEnum.PRJ_SETTING) @RequestMapping("modify") public ElectromagneticResult modifyPrjName(@RequestParam String newPrjName, @RequestParam String prjId) { return edPrjService.modifyPrjName(prjId, newPrjName, DataOwnEnum.SYS_PRJ.code); } - @UserOperation(value = "查询了所有工程", modelName = UserOperationModuleEnum.PRJ_SETTING) + @UserOperation(value = "查询所有工程", modelName = UserOperationModuleEnum.PRJ_SETTING) @RequestMapping("queryAll") public ElectromagneticResult queryAll() { return edPrjService.queryAllPrjInfo(DataOwnEnum.SYS_PRJ.code); } - @UserOperation(value = "添加了子集", modelName = UserOperationModuleEnum.PRJ_SETTING) + @UserOperation(value = "添加子集", modelName = UserOperationModuleEnum.PRJ_SETTING) @RequestMapping("addFolder") public ElectromagneticResult addFolder(@RequestParam String folderName, @RequestParam String parentId) { return edPrjService.addFolder(parentId, folderName, DataOwnEnum.SYS_PRJ.code); } - @UserOperation(value = "修改了子集名称", modelName = UserOperationModuleEnum.PRJ_SETTING) + @UserOperation(value = "修改子集名称", modelName = UserOperationModuleEnum.PRJ_SETTING) @RequestMapping("modifyFolder") public ElectromagneticResult modifyFolder(@RequestParam String newFolderName, @RequestParam String id) { return edPrjService.modifyFolder(id, newFolderName, DataOwnEnum.SYS_PRJ.code); } - @UserOperation(value = "废除了子集", modelName = UserOperationModuleEnum.PRJ_SETTING) + @UserOperation(value = "废除子集", modelName = UserOperationModuleEnum.PRJ_SETTING) @RequestMapping("deleteFolder") public ElectromagneticResult deleteFolder(@RequestParam String id) { return edPrjService.deleteFolder(id, DataOwnEnum.SYS_PRJ.code); } - @UserOperation(value = "更改了层级顺序", modelName = UserOperationModuleEnum.PRJ_SETTING) + @UserOperation(value = "更改层级顺序", modelName = UserOperationModuleEnum.PRJ_SETTING) @RequestMapping("folderResort") public ElectromagneticResult folderResort(@RequestBody List folderResortDTOList) { return edPrjService.folderResort(folderResortDTOList); } - @UserOperation(value = "发布了工程", modelName = UserOperationModuleEnum.PRJ_SETTING) + @UserOperation(value = "发布工程", modelName = UserOperationModuleEnum.PRJ_SETTING) @RequestMapping("publish") public ElectromagneticResult publish(@RequestParam String prjId) { return edPrjService.publish(prjId, DataOwnEnum.SYS_PRJ.code); } - @UserOperation(value = "引用了工程", modelName = UserOperationModuleEnum.PRJ_SETTING) + @UserOperation(value = "引用工程", modelName = UserOperationModuleEnum.PRJ_SETTING) @RequestMapping("follow") public ElectromagneticResult follow(@RequestParam String sourceId, @RequestParam String targetId) { return edPrjService.follow(sourceId, targetId, DataOwnEnum.SYS_PRJ.code); } - @UserOperation(value = "查询了工程发布状态", modelName = UserOperationModuleEnum.PRJ_SETTING) + @UserOperation(value = "查询工程发布状态", modelName = UserOperationModuleEnum.PRJ_SETTING) @RequestMapping("publishStatus") public ElectromagneticResult publishStatus(@RequestBody QueryPublishStatus queryPublishStatus) { return edPrjService.publishStatus(queryPublishStatus, DataOwnEnum.SYS_PRJ.code); diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/UserPrjController.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/UserPrjController.java index 8e2015b..4777c21 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/UserPrjController.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/UserPrjController.java @@ -22,67 +22,67 @@ public class UserPrjController { @Resource private EdPrjService edPrjService; - @UserOperation(value = "创建了工程", modelName = UserOperationModuleEnum.PRJ_SETTING) + @UserOperation(value = "创建工程", modelName = UserOperationModuleEnum.USER_PRJ) @RequestMapping("create") public ElectromagneticResult create(@RequestParam String prjName) { return edPrjService.createNewPrj(prjName, DataOwnEnum.USER_PRJ.code); } - @UserOperation(value = "删除工程", modelName = UserOperationModuleEnum.PRJ_SETTING) + @UserOperation(value = "删除工程", modelName = UserOperationModuleEnum.USER_PRJ) @RequestMapping("delete") public ElectromagneticResult delete(@RequestParam String prjId) { return edPrjService.delete(prjId, DataOwnEnum.USER_PRJ.code); } - @UserOperation(value = "修改了工程名", modelName = UserOperationModuleEnum.PRJ_SETTING) + @UserOperation(value = "修改工程名", modelName = UserOperationModuleEnum.USER_PRJ) @RequestMapping("modify") public ElectromagneticResult modifyPrjName(@RequestParam String newPrjName, @RequestParam String prjId) { return edPrjService.modifyPrjName(prjId, newPrjName, DataOwnEnum.USER_PRJ.code); } - @UserOperation(value = "查询了所有工程", modelName = UserOperationModuleEnum.PRJ_SETTING) + @UserOperation(value = "查询所有工程", modelName = UserOperationModuleEnum.USER_PRJ) @RequestMapping("queryAll") public ElectromagneticResult queryAll() { return edPrjService.queryAllPrjInfo(DataOwnEnum.USER_PRJ.code); } - @UserOperation(value = "添加了子集", modelName = UserOperationModuleEnum.PRJ_SETTING) + @UserOperation(value = "添加子集", modelName = UserOperationModuleEnum.USER_PRJ) @RequestMapping("addFolder") public ElectromagneticResult addFolder(@RequestParam String folderName, @RequestParam String parentId) { return edPrjService.addFolder(parentId, folderName, DataOwnEnum.USER_PRJ.code); } - @UserOperation(value = "修改了子集名称", modelName = UserOperationModuleEnum.PRJ_SETTING) + @UserOperation(value = "修改子集名称", modelName = UserOperationModuleEnum.USER_PRJ) @RequestMapping("modifyFolder") public ElectromagneticResult modifyFolder(@RequestParam String newFolderName, @RequestParam String id) { return edPrjService.modifyFolder(id, newFolderName, DataOwnEnum.USER_PRJ.code); } - @UserOperation(value = "废除了子集", modelName = UserOperationModuleEnum.PRJ_SETTING) + @UserOperation(value = "废除子集", modelName = UserOperationModuleEnum.USER_PRJ) @RequestMapping("deleteFolder") public ElectromagneticResult deleteFolder(@RequestParam String id) { return edPrjService.deleteFolder(id, DataOwnEnum.USER_PRJ.code); } - @UserOperation(value = "更改了层级顺序", modelName = UserOperationModuleEnum.PRJ_SETTING) + @UserOperation(value = "更改层级顺序", modelName = UserOperationModuleEnum.USER_PRJ) @RequestMapping("folderResort") public ElectromagneticResult folderResort(@RequestBody List folderResortDTOList) { return edPrjService.folderResort(folderResortDTOList); } - @UserOperation(value = "发布了工程", modelName = UserOperationModuleEnum.PRJ_SETTING) + @UserOperation(value = "发布工程", modelName = UserOperationModuleEnum.USER_PRJ) @RequestMapping("publish") public ElectromagneticResult publish(@RequestParam String prjId) { return edPrjService.publish(prjId, DataOwnEnum.USER_PRJ.code); } - @UserOperation(value = "引用了工程", modelName = UserOperationModuleEnum.PRJ_SETTING) + @UserOperation(value = "引用工程", modelName = UserOperationModuleEnum.USER_PRJ) @RequestMapping("follow") public ElectromagneticResult follow(@RequestParam String sourceId, @RequestParam String targetId) { return edPrjService.follow(sourceId, targetId, DataOwnEnum.USER_PRJ.code); } - @UserOperation(value = "查询了工程发布状态", modelName = UserOperationModuleEnum.PRJ_SETTING) + @UserOperation(value = "查询工程发布状态", modelName = UserOperationModuleEnum.USER_PRJ) @RequestMapping("publishStatus") public ElectromagneticResult publishStatus(@RequestBody QueryPublishStatus queryPublishStatus) { return edPrjService.publishStatus(queryPublishStatus, DataOwnEnum.USER_PRJ.code); diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/UserAccessLog.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/UserAccessLog.java index 70f4461..2000b75 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/UserAccessLog.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/UserAccessLog.java @@ -52,4 +52,7 @@ public class UserAccessLog { // 操作对象 private String operationModule; + // 数据id + private String dataId; + } diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdPrjServiceImpl.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdPrjServiceImpl.java index aed72a6..4ff7576 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdPrjServiceImpl.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdPrjServiceImpl.java @@ -18,6 +18,7 @@ import com.electromagnetic.industry.software.common.util.ElectromagneticResultUt import com.electromagnetic.industry.software.common.util.UserThreadLocal; import com.electromagnetic.industry.software.manage.mapper.EdFileInfoMapper; import com.electromagnetic.industry.software.manage.pojo.models.EdFileInfo; +import com.electromagnetic.industry.software.manage.pojo.models.User; import com.electromagnetic.industry.software.manage.pojo.req.FolderResortDTO; import com.electromagnetic.industry.software.manage.pojo.req.QueryPublishStatus; import com.electromagnetic.industry.software.manage.pojo.resp.ProjectVO; @@ -57,10 +58,8 @@ public class EdPrjServiceImpl extends ServiceImpl @Transactional(rollbackFor = Exception.class) public ElectromagneticResult createNewPrj(String prjName, int dataOwnCode) { - Assert.isTrue(EleCommonUtil.isFileNameValid(prjName), NAME_VALID_MSG); - if (!EleCommonUtil.isFileNameValid(prjName)) { - String info = StrFormatter.format("{} {}", prjName, NAME_VALID_MSG); + String info = StrFormatter.format("{} {},项目创建失败。", prjName, NAME_VALID_MSG); log.info(info); return ElectromagneticResultUtil.fail("-1", info); } @@ -68,6 +67,7 @@ public class EdPrjServiceImpl extends ServiceImpl // 首先检查工程是否存在 Long count = this.baseMapper.selectCount(Wrappers.lambdaQuery(EdFileInfo.class) .eq(EdFileInfo::getParentId, PRJ_PARENT_ID) + .eq(EdFileInfo::getEffectFlag, true) .eq(EdFileInfo::getDataOwn, dataOwnCode) .eq(EdFileInfo::getFileName, prjName)); @@ -109,10 +109,11 @@ public class EdPrjServiceImpl extends ServiceImpl this.save(fileInfo); // 保存到文件系统 fileSystemService.createDirectory(commonService.getEleDataPath(dataOwnCode) + File.separator + prjName); + UserThreadLocal.setSuccessInfo(newPrjId, "创建 {} 项目成功。", prjName); } catch (Exception e) { String info = StrFormatter.format("工程创建失败,具体为--->{}", e.getMessage()); log.error(info, e); - return ElectromagneticResultUtil.fail("-1", info); + throw new BizException(info, e); } return ElectromagneticResultUtil.success(true); } @@ -127,23 +128,23 @@ public class EdPrjServiceImpl extends ServiceImpl @Override @Transactional(rollbackFor = Exception.class) public ElectromagneticResult modifyPrjName(String prjId, String newPrjName, int dataOwnCode) { - Assert.isTrue(EleCommonUtil.isFileNameValid(newPrjName), NAME_VALID_MSG); + + EdFileInfo fileInfo = this.baseMapper.selectOne(Wrappers.lambdaQuery(EdFileInfo.class) + .select(EdFileInfo::getFileName) + .eq(EdFileInfo::getId, prjId)); + String oldPrjName = fileInfo.getFileName(); try { Long count = this.baseMapper.selectCount(Wrappers.lambdaQuery(EdFileInfo.class) .eq(EdFileInfo::getParentId, PRJ_PARENT_ID) .eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code) .eq(EdFileInfo::getFileName, newPrjName)); - + Assert.isTrue(EleCommonUtil.isFileNameValid(newPrjName), StrFormatter.format("{} {},{} 修改失败。", newPrjName, NAME_VALID_MSG, oldPrjName)); if (count > 0) { - String info = StrFormatter.format("{} 项目已经存在", newPrjName); + String info = StrFormatter.format("{} 项目已经存在,{} 修改失败。", newPrjName, oldPrjName); log.info(info); return ElectromagneticResultUtil.fail("-1", info); } - EdFileInfo fileInfo = this.baseMapper.selectOne(Wrappers.lambdaQuery(EdFileInfo.class) - .select(EdFileInfo::getFileName) - .eq(EdFileInfo::getId, prjId)); - String oldPrjName = fileInfo.getFileName(); String newPath = commonService.getEleDataPath(dataOwnCode) + File.separator + newPrjName; if (fileSystemService.checkFolderExist(newPath)) { String tmpPath = newPrjName + "_" + IdUtil.fastSimpleUUID() + DELETE_FLAG; @@ -155,10 +156,11 @@ public class EdPrjServiceImpl extends ServiceImpl .set(EdFileInfo::getUpdatedBy, UserThreadLocal.getUserId()) .set(EdFileInfo::getUpdatedTime, new Date())); fileSystemService.renameFile(commonService.getEleDataPath(dataOwnCode), oldPrjName, newPrjName); + UserThreadLocal.setSuccessInfo(prjId, "修改工层名 {} 为 {} 成功。", oldPrjName, newPrjName); } catch (Exception e) { String info = StrFormatter.format("修改工程名异常--->{},{}", newPrjName, e.getMessage()); log.error(info, e); - throw new BizException(info); + throw new BizException(info, e); } return ElectromagneticResultUtil.success(true); } @@ -180,7 +182,7 @@ public class EdPrjServiceImpl extends ServiceImpl .likeRight(EdFileInfo::getFilePath, prjId + MYSQL_FILE_PATH_SPLIT)); if (count > 0) { - String info = StrFormatter.format("禁止删除非空项目"); + String info = StrFormatter.format("禁止废除非空项目,废除失败。"); log.info(info); ElectromagneticResultUtil.fail("-1", info); } @@ -195,11 +197,12 @@ public class EdPrjServiceImpl extends ServiceImpl // 对原文件进行处理 EdFileInfo prjFile = this.getById(prjId); fileSystemService.renameFile(commonService.getFileSysPath(prjId, dataOwnCode), prjFile + "_" + IdUtil.fastSimpleUUID() + DELETE_FLAG); + UserThreadLocal.setSuccessInfo(prjId, "废除 {} 项目成功。", prjFile.getFileName()); return ElectromagneticResultUtil.success(true); } catch (Exception e) { - String info = "删除项目失败"; + String info = "废除项目失败"; log.error(info, e); - throw new BizException(info); + throw new BizException(info, e); } } @@ -220,7 +223,7 @@ public class EdPrjServiceImpl extends ServiceImpl .eq(EdFileInfo::getDataOwn, dataOwnCode) .eq(EdFileInfo::getParentId, parentId) .eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code)); - Assert.isTrue(count == 0, "该层级目录下存在文件,不允许再定义层级目录"); + Assert.isTrue(count == 0, StrFormatter.format("该层级目录下存在文件,不允许再定义层级目录。父目录id {},子集名称 {}", parentId, folderName)); int id = Integer.parseInt(this.baseMapper.maxPrjId()); String folderId = String.valueOf(id + 1); return commonService.addFolder(parentId, folderName, true, folderId, null, dataOwnCode); @@ -240,6 +243,7 @@ public class EdPrjServiceImpl extends ServiceImpl projectVOS.add(projectVO); }); projectVOS.sort(Comparator.comparing(ProjectVO::getSort)); + UserThreadLocal.setSuccessInfo("", "查询了所有工程"); return ElectromagneticResultUtil.success(projectVOS); } @@ -263,11 +267,12 @@ public class EdPrjServiceImpl extends ServiceImpl .eq(EdFileInfo::getId, folderResortDTO.getId()); this.update(updateWrapper); } + UserThreadLocal.setSuccessInfo("", "子集重排序成功"); return ElectromagneticResultUtil.success(true); } catch (Exception e) { String info = "子集重排序异常"; log.error(info, e); - throw new BizException(info); + throw new BizException(info, e); } } @@ -280,11 +285,13 @@ public class EdPrjServiceImpl extends ServiceImpl @Override @Transactional(rollbackFor = Exception.class) public ElectromagneticResult publish(String prjId, int dataOwnCode) { + + EdFileInfo fileInfo = this.baseMapper.selectById(prjId); + try { Date now = new Date(); String currentUserId = UserThreadLocal.getUserId(); // 将已经处于删除状态设置成逻辑删除 - LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(EdFileInfo.class) .select(EdFileInfo::getId, EdFileInfo::getFilePath) .eq(EdFileInfo::getDataStatus, EleDataStatusEnum.DELETED.code) @@ -311,11 +318,12 @@ public class EdPrjServiceImpl extends ServiceImpl .likeRight(EdFileInfo::getFilePath, prjId); this.update(updateWrapper); commonService.deletePrjSysDir(fileSysPaths); + UserThreadLocal.setSuccessInfo(prjId, "项目 {} 发布成功", fileInfo.getFileName()); return ElectromagneticResultUtil.success(true); } catch (Exception e) { - String info = "项目发布异常"; + String info = StrFormatter.format("项目 {} 发布异常", fileInfo.getFileName()); log.error(info, e); - throw new BizException(info); + throw new BizException(info, e); } } diff --git a/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/pojo/UserLoginInfo.java b/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/pojo/UserLoginInfo.java index a390f81..a2a2c16 100644 --- a/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/pojo/UserLoginInfo.java +++ b/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/pojo/UserLoginInfo.java @@ -50,4 +50,11 @@ public class UserLoginInfo { private String exceptionDetail; + private String dataId; + + public void setSuccessInfo(String successMsg, String dataId) { + this.successMsg = successMsg; + this.dataId = dataId; + } + } diff --git a/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/util/UserThreadLocal.java b/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/util/UserThreadLocal.java index ce4f544..08b7984 100644 --- a/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/util/UserThreadLocal.java +++ b/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/util/UserThreadLocal.java @@ -50,8 +50,9 @@ public class UserThreadLocal { return userThread.get().getReqArgs(); } - public static void setSuccessMsg(String successMsg) { - userThread.get().setSuccessMsg(successMsg); + public static void setSuccessInfo(String dataId, String strPattern, Object... argArray) { + String successMsg = String.format(strPattern, argArray); + userThread.get().setSuccessInfo(successMsg, dataId); } public static void setExceptionDetail(String exceptionDetail) {