|
@ -17,6 +17,7 @@ |
|
|
|
|
|
|
|
|
package com.epmet.service.impl; |
|
|
package com.epmet.service.impl; |
|
|
|
|
|
|
|
|
|
|
|
import com.alibaba.fastjson.JSON; |
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; |
|
|
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; |
|
@ -48,6 +49,8 @@ import com.epmet.feign.*; |
|
|
import com.epmet.redis.ProjectRedis; |
|
|
import com.epmet.redis.ProjectRedis; |
|
|
import com.epmet.service.*; |
|
|
import com.epmet.service.*; |
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
|
|
|
import org.apache.logging.log4j.LogManager; |
|
|
|
|
|
import org.apache.logging.log4j.Logger; |
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
import org.springframework.beans.factory.annotation.Value; |
|
|
import org.springframework.beans.factory.annotation.Value; |
|
|
import org.springframework.stereotype.Service; |
|
|
import org.springframework.stereotype.Service; |
|
@ -65,7 +68,7 @@ import java.util.stream.Collectors; |
|
|
*/ |
|
|
*/ |
|
|
@Service |
|
|
@Service |
|
|
public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntity> implements ProjectService { |
|
|
public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntity> implements ProjectService { |
|
|
|
|
|
private Logger logger = LogManager.getLogger(ProjectServiceImpl.class); |
|
|
@Autowired |
|
|
@Autowired |
|
|
private ProjectRedis projectRedis; |
|
|
private ProjectRedis projectRedis; |
|
|
@Autowired |
|
|
@Autowired |
|
@ -86,6 +89,8 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit |
|
|
private ProjectRelatedPersonnelService projectRelatedPersonnelService; |
|
|
private ProjectRelatedPersonnelService projectRelatedPersonnelService; |
|
|
@Autowired |
|
|
@Autowired |
|
|
private EpmetUserOpenFeignClient epmetUserOpenFeignClient; |
|
|
private EpmetUserOpenFeignClient epmetUserOpenFeignClient; |
|
|
|
|
|
@Autowired |
|
|
|
|
|
private EpmetMessageOpenFeignClient epmetMessageOpenFeignClient; |
|
|
@Value("${openapi.scan.server.url}") |
|
|
@Value("${openapi.scan.server.url}") |
|
|
private String scanApiUrl; |
|
|
private String scanApiUrl; |
|
|
@Value("${openapi.scan.method.textSyncScan}") |
|
|
@Value("${openapi.scan.method.textSyncScan}") |
|
@ -382,6 +387,8 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit |
|
|
|
|
|
|
|
|
//通知
|
|
|
//通知
|
|
|
List<UserMessageFormDTO> msgList = new ArrayList<>(); |
|
|
List<UserMessageFormDTO> msgList = new ArrayList<>(); |
|
|
|
|
|
//2020.10.26 添加项目结案发送微信订阅消息操作 sun
|
|
|
|
|
|
List<WxSubscribeMessageFormDTO> wxmpMsgList = new ArrayList<>(); |
|
|
//通知项目相关人员
|
|
|
//通知项目相关人员
|
|
|
List<ProjectRelatedPersonnelDTO> personnelList = projectRelatedPersonnelService.getPersonnelListByProjectId(fromDTO.getProjectId()); |
|
|
List<ProjectRelatedPersonnelDTO> personnelList = projectRelatedPersonnelService.getPersonnelListByProjectId(fromDTO.getProjectId()); |
|
|
personnelList.forEach(p -> { |
|
|
personnelList.forEach(p -> { |
|
@ -394,6 +401,14 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit |
|
|
messageFormDTO.setMessageContent(String.format(UserMessageConstant.PROJECT_CLOSED_MSG, projectEntity.getTitle(), fromDTO.getPublicReply())); |
|
|
messageFormDTO.setMessageContent(String.format(UserMessageConstant.PROJECT_CLOSED_MSG, projectEntity.getTitle(), fromDTO.getPublicReply())); |
|
|
messageFormDTO.setReadFlag(Constant.UNREAD); |
|
|
messageFormDTO.setReadFlag(Constant.UNREAD); |
|
|
msgList.add(messageFormDTO); |
|
|
msgList.add(messageFormDTO); |
|
|
|
|
|
WxSubscribeMessageFormDTO msg = new WxSubscribeMessageFormDTO(); |
|
|
|
|
|
msg.setCustomerId(projectEntity.getCustomerId()); |
|
|
|
|
|
msg.setClientType(AppClientConstant.APP_GOV); |
|
|
|
|
|
msg.setUserId(p.getUserId()); |
|
|
|
|
|
msg.setBehaviorType("项目消息"); |
|
|
|
|
|
msg.setMessageContent(String.format(UserMessageConstant.PROJECT_CLOSED_MSG, projectEntity.getTitle(), fromDTO.getPublicReply())); |
|
|
|
|
|
msg.setMessageTime(new Date()); |
|
|
|
|
|
wxmpMsgList.add(msg); |
|
|
}); |
|
|
}); |
|
|
//通知项目关联的部门人员
|
|
|
//通知项目关联的部门人员
|
|
|
List<String> staffList = projectStaffService.getStaffsByProjectId(fromDTO.getProjectId()); |
|
|
List<String> staffList = projectStaffService.getStaffsByProjectId(fromDTO.getProjectId()); |
|
@ -408,8 +423,21 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit |
|
|
messageFormDTO.setMessageContent(String.format(UserMessageConstant.PROJECT_CLOSED_MSG, projectEntity.getTitle(), fromDTO.getPublicReply())); |
|
|
messageFormDTO.setMessageContent(String.format(UserMessageConstant.PROJECT_CLOSED_MSG, projectEntity.getTitle(), fromDTO.getPublicReply())); |
|
|
messageFormDTO.setReadFlag(Constant.UNREAD); |
|
|
messageFormDTO.setReadFlag(Constant.UNREAD); |
|
|
msgList.add(messageFormDTO); |
|
|
msgList.add(messageFormDTO); |
|
|
|
|
|
WxSubscribeMessageFormDTO msg = new WxSubscribeMessageFormDTO(); |
|
|
|
|
|
msg.setCustomerId(projectEntity.getCustomerId()); |
|
|
|
|
|
msg.setClientType(AppClientConstant.APP_GOV); |
|
|
|
|
|
msg.setUserId(s); |
|
|
|
|
|
msg.setBehaviorType("项目消息"); |
|
|
|
|
|
msg.setMessageContent(String.format(UserMessageConstant.PROJECT_CLOSED_MSG, projectEntity.getTitle(), fromDTO.getPublicReply())); |
|
|
|
|
|
msg.setMessageTime(new Date()); |
|
|
|
|
|
wxmpMsgList.add(msg); |
|
|
}); |
|
|
}); |
|
|
messageFeignClient.saveUserMessageList(msgList); |
|
|
messageFeignClient.saveUserMessageList(msgList); |
|
|
|
|
|
//发送微信订阅消息 sun
|
|
|
|
|
|
Result result = epmetMessageOpenFeignClient.sendWxSubscribeMessage(wxmpMsgList); |
|
|
|
|
|
if (!result.success()) { |
|
|
|
|
|
logger.error("项目结案成功,发送微信订阅消息失败" + JSON.toJSONString(result)); |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
@ -477,6 +505,21 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit |
|
|
messageFormDTO.setReadFlag(Constant.UNREAD); |
|
|
messageFormDTO.setReadFlag(Constant.UNREAD); |
|
|
msgList.add(messageFormDTO); |
|
|
msgList.add(messageFormDTO); |
|
|
messageFeignClient.saveUserMessageList(msgList); |
|
|
messageFeignClient.saveUserMessageList(msgList); |
|
|
|
|
|
//2020.10.26 添加项目退回给勾选人推送微信订阅消息 sun
|
|
|
|
|
|
List<WxSubscribeMessageFormDTO> wxmpMsgList = new ArrayList<>(); |
|
|
|
|
|
WxSubscribeMessageFormDTO msg = new WxSubscribeMessageFormDTO(); |
|
|
|
|
|
msg.setCustomerId(projectEntity.getCustomerId()); |
|
|
|
|
|
msg.setClientType(AppClientConstant.APP_GOV); |
|
|
|
|
|
msg.setUserId(projectStaffDTO.getStaffId()); |
|
|
|
|
|
msg.setBehaviorType("项目消息"); |
|
|
|
|
|
msg.setMessageContent(String.format(UserMessageConstant.PROJECT_RESOLVED_MSG, projectEntity.getTitle())); |
|
|
|
|
|
msg.setMessageTime(new Date()); |
|
|
|
|
|
wxmpMsgList.add(msg); |
|
|
|
|
|
//发送微信订阅消息 sun
|
|
|
|
|
|
Result result = epmetMessageOpenFeignClient.sendWxSubscribeMessage(wxmpMsgList); |
|
|
|
|
|
if (!result.success()) { |
|
|
|
|
|
logger.error("项目退回成功,发送微信订阅消息失败" + JSON.toJSONString(result)); |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|