diff --git a/src/main/java/com/jsl/oa/dao/ProjectDAO.java b/src/main/java/com/jsl/oa/dao/ProjectDAO.java index 31448eb..c541a3d 100644 --- a/src/main/java/com/jsl/oa/dao/ProjectDAO.java +++ b/src/main/java/com/jsl/oa/dao/ProjectDAO.java @@ -185,9 +185,6 @@ public class ProjectDAO { return projectMapper.getAllProject(); } - public ProjectModuleDO getProjectWorkerById(Long id) { - return projectMapper.getProjectWorkById(id); - } public List getProjectByPrincipalUser(Long uid) { log.info("\t> 执行 DAO 层 ProjectDAO.getProjectFromUser 方法"); diff --git a/src/main/java/com/jsl/oa/services/impl/MessageServiceImpl.java b/src/main/java/com/jsl/oa/services/impl/MessageServiceImpl.java index ef6f2dc..6acb433 100644 --- a/src/main/java/com/jsl/oa/services/impl/MessageServiceImpl.java +++ b/src/main/java/com/jsl/oa/services/impl/MessageServiceImpl.java @@ -188,7 +188,10 @@ public class MessageServiceImpl implements MessageService { // 获取项目名,负责人名 String projectName = projectMapper.tgetProjectById(pId).getName(); String senderName = userDAO.getUserById(Processing.getAuthHeaderToUserId(request)).getUsername(); - String systemName = projectMapper.getWorkById(systemId).getName(); + String systemName = null; + if (systemId != null && projectMapper.getWorkById(systemId) != null) { + systemName = projectMapper.getWorkById(systemId).getName(); + } // 添加消息 // 1:上传文档 2:修改状态 3:修改负责人 List uidList = projectMapper.getMemberByProjectId(pId); @@ -238,7 +241,7 @@ public class MessageServiceImpl implements MessageService { String senderName = userDAO.getUserById(Processing.getAuthHeaderToUserId(request)).getUsername(); String systemName = projectMapper.getWorkById(systmeId).getName(); String moddleName = null; - if (moddleId != null) { + if (moddleId != null && projectMapper.getModuleById(moddleId) != null) { moddleName = projectMapper.getModuleById(moddleId).getName(); } // 添加消息 diff --git a/src/main/java/com/jsl/oa/services/impl/ProjectServiceImpl.java b/src/main/java/com/jsl/oa/services/impl/ProjectServiceImpl.java index 3b4a3a3..acdc889 100644 --- a/src/main/java/com/jsl/oa/services/impl/ProjectServiceImpl.java +++ b/src/main/java/com/jsl/oa/services/impl/ProjectServiceImpl.java @@ -339,6 +339,10 @@ public class ProjectServiceImpl implements ProjectService { projectMapper.getPirIdbyId(projectMapper.getModuleById(id.intValue()).getProjectChildId()))) { return ResultUtil.error(ErrorCode.NOT_PERMISSION); } else { + ProjectModuleDO projectModuleDO = projectMapper.getModuleById(id.intValue()); + if (projectModuleDO == null) { + return ResultUtil.error(ErrorCode.MODULE_NOT_EXIST); + } HashMap descriptionMap = new HashMap<>(); descriptionMap.put("description", projectModuleEditVO.getDescription()); projectModuleEditVO.setDescription(gson.toJson(descriptionMap)); @@ -346,7 +350,6 @@ public class ProjectServiceImpl implements ProjectService { projectMapper.projectModuleEdit(projectModuleEditVO); } - return ResultUtil.success("修改成功"); } @@ -356,8 +359,12 @@ public class ProjectServiceImpl implements ProjectService { if (!Objects.equals(Processing.getAuthHeaderToUserId(request), projectMapper.getPirIdbyId(id))) { return ResultUtil.error(ErrorCode.NOT_PERMISSION); } else { + ProjectChildDO projectChildDO = projectMapper.getProjectChildById(id.intValue()); + if (projectChildDO == null) { + return ResultUtil.error(ErrorCode.PROJECT_CHILD_NOT_EXIST); + } JsonObject jsonObject = gson - .fromJson(projectMapper.getProjectChildById(id.intValue()).getDescription(), JsonObject.class); + .fromJson(projectChildDO.getDescription(), JsonObject.class); //改动简介发送消息 if (!Objects.equals(projectChildAddVO.getDescription(), "") && !projectChildAddVO.getDescription() @@ -365,11 +372,20 @@ public class ProjectServiceImpl implements ProjectService { messageService.messageAdd(projectMapper.getProjectIdBySysId(id) .intValue(), id.intValue(), null, 2, request); } // 改动周期或工作量发送消息 - if (projectChildAddVO.getCycle() != null || projectChildAddVO.getWorkLoad() != null) { + if ((projectChildAddVO.getCycle() != null + && projectChildDO.getCycle().equals(projectChildAddVO.getCycle())) + || (projectChildAddVO.getWorkLoad() != null + && projectChildDO.getWorkLoad().equals(projectChildAddVO.getWorkLoad())) + ) { messageService.messageAdd(projectMapper.getProjectIdBySysId(id) .intValue(), id.intValue(), null, 3, request); + } //改动负责人发送消息 + if (projectChildAddVO.getPrincipalId() != null + && !Objects.equals(projectChildAddVO.getPrincipalId(), + projectChildDO.getPrincipalId())) { + messageService.messageAdd(projectMapper.getProjectIdBySysId(id) + .intValue(), 3, id.intValue(), request); } - HashMap descriptionMap = new HashMap<>(); descriptionMap.put("description", projectChildAddVO.getDescription()); projectChildAddVO.setDescription(gson.toJson(descriptionMap)); @@ -378,7 +394,6 @@ public class ProjectServiceImpl implements ProjectService { projectMapper.projectChildEditAll(projectChildAddVO); } - return ResultUtil.success("修改成功"); } @@ -440,6 +455,11 @@ public class ProjectServiceImpl implements ProjectService { //判断项目是否存在 if (projectDAO.isExistProject(projectId)) { //更新数据 + ProjectDO projectDO = projectDAO.getProjectById(projectId); + //改变项目状态发送消息 + if (projectEdit.getStatus() != null && !projectDO.getStatus().equals(projectEdit.getStatus())) { + messageService.messageAdd(projectId.intValue(), 2, null, request); + } HashMap descriptionMap = new HashMap<>(); descriptionMap.put("description", projectEdit.getDescription()); projectEdit.setDescription(gson.toJson(descriptionMap));