diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EnforcementInspectionProgramServiceImpl.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EnforcementInspectionProgramServiceImpl.java index bb98d114..c15ae2ea 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EnforcementInspectionProgramServiceImpl.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EnforcementInspectionProgramServiceImpl.java @@ -15,7 +15,9 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.dromara.common.satoken.utils.LoginHelper; +import org.dromara.common.translation.annotation.Translation; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import com.zdxt.enforcementcode.domain.bo.EnforcementInspectionProgramBo; import com.zdxt.enforcementcode.domain.vo.EnforcementInspectionProgramVo; import com.zdxt.enforcementcode.domain.EnforcementInspectionProgram; @@ -269,14 +271,22 @@ public class EnforcementInspectionProgramServiceImpl implements IEnforcementInsp * @return 是否新增成功 */ @Override + @Transactional(rollbackFor = Exception.class) public Boolean insertByBo(EnforcementInspectionProgramBo bo) { + Long userId = LoginHelper.getUserId(); + String username = LoginHelper.getUsername(); + + if (userId == null) { + throw new IllegalArgumentException("用户未登录或登录已过期"); + } + EnforcementInspectionProgram add = MapstructUtils.convert(bo, EnforcementInspectionProgram.class); add.setCreateTime(DateUtils.getNowDate()); add.setId(IdUtil.simpleUUID()); - add.setUserId(LoginHelper.getUserId() +""); + add.setUserId(userId.toString()); add.setDeptId(LoginHelper.getDeptId()); - add.setCreateBy(LoginHelper.getUserId()); - add.setCreateByName(LoginHelper.getUsername()); + add.setCreateBy(userId); + add.setCreateByName(username); validEntityBeforeSave(add); boolean flag = baseMapper.insert(add) > 0; if (flag && bo.getFileList() != null && !bo.getFileList().isEmpty()) { @@ -285,25 +295,26 @@ public class EnforcementInspectionProgramServiceImpl implements IEnforcementInsp ZdxtFile zdxtFile = new ZdxtFile(); zdxtFile.setGuid(IdUtil.simpleUUID()); zdxtFile.setBusinessId(add.getId()); - zdxtFile.setUploadPath(file.getUploadPath()); + + String uploadPath = file.getUploadPath(); + if (StringUtils.isBlank(uploadPath)) { + throw new IllegalArgumentException("文件上传路径不能为空"); + } + zdxtFile.setUploadPath(uploadPath); zdxtFile.setFileName(file.getFileName()); // 从文件路径中截取文件名称 - String fileUrl = file.getUploadPath(); String fileSaveName = null; - if (fileUrl != null && !fileUrl.isEmpty()) { - // 处理 URL 路径或文件路径 - int lastSlashIndex = Math.max(fileUrl.lastIndexOf("/"), fileUrl.lastIndexOf("\\")); - if (lastSlashIndex != -1 && lastSlashIndex < fileUrl.length() - 1) { - fileSaveName = fileUrl.substring(lastSlashIndex + 1); - } else { - fileSaveName = fileUrl; - } - // 去除 URL 参数(如果有) - int questionMarkIndex = fileSaveName.indexOf("?"); - if (questionMarkIndex != -1) { - fileSaveName = fileSaveName.substring(0, questionMarkIndex); - } + int lastSlashIndex = Math.max(uploadPath.lastIndexOf("/"), uploadPath.lastIndexOf("\\")); + if (lastSlashIndex != -1 && lastSlashIndex < uploadPath.length() - 1) { + fileSaveName = uploadPath.substring(lastSlashIndex + 1); + } else { + fileSaveName = uploadPath; + } + // 去除 URL 参数(如果有) + int questionMarkIndex = fileSaveName.indexOf("?"); + if (questionMarkIndex != -1) { + fileSaveName = fileSaveName.substring(0, questionMarkIndex); } zdxtFile.setFileSaveName(fileSaveName); @@ -316,11 +327,11 @@ public class EnforcementInspectionProgramServiceImpl implements IEnforcementInsp } // 设置上传人信息 - zdxtFile.setUploadPersonId(LoginHelper.getUserId().toString()); - zdxtFile.setUploadPersonName(LoginHelper.getUsername()); + zdxtFile.setUploadPersonId(userId.toString()); + zdxtFile.setUploadPersonName(username); zdxtFile.setUploadTime(DateUtils.getNowDate()); - zdxtFile.setCreateBy(LoginHelper.getUserId()); - zdxtFile.setUpdateBy(LoginHelper.getUserId()); + zdxtFile.setCreateBy(userId); + zdxtFile.setUpdateBy(userId); zdxtFile.setCreateTime(DateUtils.getNowDate()); zdxtFile.setUpdateTime(DateUtils.getNowDate());