diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/Constant.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/Constant.java index 6fc8b3b948..c2aaddf70c 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/Constant.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/Constant.java @@ -118,5 +118,13 @@ public interface Constant { * 否 */ String NO="no"; + /** + * 已读 + */ + String READ = "read"; + /** + * 未读 + */ + String UNREAD = "unread"; } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java index 67ececc8f7..c75452d03a 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java @@ -101,4 +101,12 @@ public interface ProjectConstant { * 查询项目表数据失败 */ String SELECT_PROJECT_EXCEPTION = "获取项目数据失败"; + /** + * 居民端 + */ + String RESI = "resi"; + /** + * 政府端 + */ + String GOV = "gov"; } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectStaffDao.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectStaffDao.java index 27b5165246..e65e670f12 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectStaffDao.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectStaffDao.java @@ -54,4 +54,13 @@ public interface ProjectStaffDao extends BaseDao { */ ProjectStaffDTO selectProjectStaffInfo(@Param("processId") String processId); + /** + * 获取项目关联的工作人员ID + * @author zhaoqifeng + * @date 2020/5/20 14:32 + * @param projectId + * @return java.util.List + */ + List selectStaffsByProjectId(@Param("projectId") String projectId); + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectRelatedPersonnelService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectRelatedPersonnelService.java index 1017db8e66..282fdd2718 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectRelatedPersonnelService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectRelatedPersonnelService.java @@ -92,4 +92,13 @@ public interface ProjectRelatedPersonnelService extends BaseService + */ + List getPersonnelListByProjectId(String projectId); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectStaffService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectStaffService.java index 6457dc7749..349068ce2c 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectStaffService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectStaffService.java @@ -122,4 +122,13 @@ public interface ProjectStaffService extends BaseService { * @Description 项目跟踪-部门人员选择 **/ DepartmentStaffListResultDTO departmentStaffList(DepartmentStaffListFormDTO formDTO); + + /** + * 获取项目关联的工作人员ID + * @author zhaoqifeng + * @date 2020/5/20 14:36 + * @param projectId + * @return java.util.List + */ + List getStaffsByProjectId(String projectId); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectRelatedPersonnelServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectRelatedPersonnelServiceImpl.java index eada922662..a4b06bb1ed 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectRelatedPersonnelServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectRelatedPersonnelServiceImpl.java @@ -101,4 +101,9 @@ public class ProjectRelatedPersonnelServiceImpl extends BaseServiceImpl getPersonnelListByProjectId(String projectId) { + return baseDao.selectPersonnelListByProjectId(projectId); + } + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java index 459bf5de8e..d4e4595363 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java @@ -21,6 +21,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.AppClientConstant; +import com.epmet.commons.tools.constant.Constant; import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.exception.EpmetErrorCode; @@ -30,6 +31,7 @@ import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.constant.ParameterKeyConstant; import com.epmet.constant.ProjectConstant; +import com.epmet.constant.UserMessageConstant; import com.epmet.dao.ProjectDao; import com.epmet.dto.*; import com.epmet.dto.form.*; @@ -41,6 +43,7 @@ import com.epmet.entity.ProjectStaffEntity; import com.epmet.feign.CommonFeignClient; import com.epmet.feign.EpmetUserFeignClient; import com.epmet.feign.GovOrgFeignClient; +import com.epmet.feign.MessageFeignClient; import com.epmet.redis.ProjectRedis; import com.epmet.service.*; import org.apache.commons.lang3.StringUtils; @@ -76,6 +79,8 @@ public class ProjectServiceImpl extends BaseServiceImpl msgList = new ArrayList<>(); + //通知项目相关人员 + List personnelList = projectRelatedPersonnelService.getPersonnelListByProjectId(fromDTO.getProjectId()); + personnelList.forEach(p -> { + UserMessageFormDTO messageFormDTO = new UserMessageFormDTO(); + messageFormDTO.setCustomerId(projectEntity.getCustomerId()); + messageFormDTO.setApp(p.getApp()); + messageFormDTO.setGridId(p.getGridId()); + messageFormDTO.setUserId(p.getUserId()); + messageFormDTO.setTitle(UserMessageConstant.PROJECT_TITLE); + messageFormDTO.setMessageContent(String.format(UserMessageConstant.PROJECT_CLOSED_MSG, projectEntity.getTitle(), fromDTO.getPublicReply())); + messageFormDTO.setReadFlag(Constant.UNREAD); + msgList.add(messageFormDTO); + }); + //通知项目关联的部门人员 + List staffList = projectStaffService.getStaffsByProjectId(fromDTO.getProjectId()); + staffList.add(projectEntity.getCreatedBy()); + staffList.stream().distinct().forEach(s -> { + UserMessageFormDTO messageFormDTO = new UserMessageFormDTO(); + messageFormDTO.setCustomerId(projectEntity.getCustomerId()); + messageFormDTO.setApp(ProjectConstant.GOV); + messageFormDTO.setGridId("*"); + messageFormDTO.setUserId(s); + messageFormDTO.setTitle(UserMessageConstant.PROJECT_TITLE); + messageFormDTO.setMessageContent(String.format(UserMessageConstant.PROJECT_CLOSED_MSG, projectEntity.getTitle(), fromDTO.getPublicReply())); + messageFormDTO.setReadFlag(Constant.UNREAD); + msgList.add(messageFormDTO); + }); + messageFeignClient.saveUserMessageList(msgList); } @Override @@ -347,7 +383,18 @@ public class ProjectServiceImpl extends BaseServiceImpl msgList = new ArrayList<>(); + UserMessageFormDTO messageFormDTO = new UserMessageFormDTO(); + messageFormDTO.setCustomerId(projectEntity.getCustomerId()); + messageFormDTO.setApp(ProjectConstant.GOV); + messageFormDTO.setGridId("*"); + messageFormDTO.setUserId(projectStaffDTO.getStaffId()); + messageFormDTO.setTitle(UserMessageConstant.PROJECT_TITLE); + messageFormDTO.setMessageContent(String.format(UserMessageConstant.PROJECT_RESOLVED_MSG, projectEntity.getTitle())); + messageFormDTO.setReadFlag(Constant.UNREAD); + msgList.add(messageFormDTO); + messageFeignClient.saveUserMessageList(msgList); } @Override diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectStaffServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectStaffServiceImpl.java index 340fe15393..425179c4e6 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectStaffServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectStaffServiceImpl.java @@ -146,4 +146,9 @@ public class ProjectStaffServiceImpl extends BaseServiceImpl getStaffsByProjectId(String projectId) { + return baseDao.selectStaffsByProjectId(projectId); + } + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml index 2d7bf24fed..1325b8cff3 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml @@ -40,6 +40,9 @@ AND pp.ID = #{processId} LIMIT 1 + \ No newline at end of file