Browse Source

项目流转和爱心互助报名审核通过驳回加发送微信消息

master
sunyuchao 5 years ago
parent
commit
0ad1c3df8b
  1. 1
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/constant/ActMessageConstant.java
  2. 36
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/WorkActUserServiceImpl.java
  3. 4
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java
  4. 5
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/UserMessageConstant.java
  5. 38
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java

1
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/constant/ActMessageConstant.java

@ -8,6 +8,7 @@ package com.epmet.constant;
*/
public interface ActMessageConstant {
String TITLE="您有一条活动消息";
String WXMP_TITLE="活动消息";
/**
* 报名审核成功给居民端用户发送消息
*/

36
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/WorkActUserServiceImpl.java

@ -19,6 +19,7 @@ import com.epmet.dto.ActUserLogDTO;
import com.epmet.dto.ActUserRelationDTO;
import com.epmet.dto.HeartUserInfoDTO;
import com.epmet.dto.form.UserMessageFormDTO;
import com.epmet.dto.form.WxSubscribeMessageFormDTO;
import com.epmet.dto.form.work.AactUserDetailFormDTO;
import com.epmet.dto.form.work.ActIdFormDTO;
import com.epmet.dto.form.work.AuditUserFormDTO;
@ -464,6 +465,8 @@ public class WorkActUserServiceImpl implements WorkActUserService {
actUserLogDao.insert(actUserLogEntity);
//给居民发消息
this.saveUserMessage(actUserRelationEntity,ActConstant.ACT_USER_STATUS_PASSED,actInfo);
//给居民发送微信订阅消息
this.saveWxmpMessage(actUserRelationEntity,ActConstant.ACT_USER_STATUS_PASSED,actInfo);
}
/**
@ -511,6 +514,8 @@ public class WorkActUserServiceImpl implements WorkActUserService {
actUserLogDao.insert(actUserLogEntity);
//给居民发消息
this.saveUserMessage(actUserRelationEntity,ActConstant.ACT_USER_STATUS_REFUSED,actInfo);
//给居民发送微信订阅消息
this.saveWxmpMessage(actUserRelationEntity,ActConstant.ACT_USER_STATUS_REFUSED,actInfo);
}
/**
@ -645,6 +650,37 @@ public class WorkActUserServiceImpl implements WorkActUserService {
}
}
/**
* @param actUserRelationEntity type actInfo
* @author sun
* @description 报名审核--给报名申请人发送微信订阅消息
**/
private void saveWxmpMessage(ActUserRelationEntity actUserRelationEntity, String type, ActInfoEntity actInfo) {
List<WxSubscribeMessageFormDTO> list = new ArrayList<>();
try {
WxSubscribeMessageFormDTO msg = new WxSubscribeMessageFormDTO();
msg.setCustomerId(actInfo.getCustomerId());
msg.setClientType(AppClientConstant.APP_RESI);
msg.setUserId(actUserRelationEntity.getUserId());
msg.setBehaviorType(ActMessageConstant.WXMP_TITLE);
msg.setMessageTime(new Date());
if (ActConstant.ACT_USER_STATUS_PASSED.equals(type)) {
msg.setMessageContent(String.format(ActMessageConstant.AUDIT_PASSED, actInfo.getTitle()));
} else if (ActConstant.ACT_USER_STATUS_REFUSED.equals(type)) {
msg.setMessageContent(String.format(ActMessageConstant.AUDIT_REFUSED, actInfo.getTitle(), actUserRelationEntity.getFailureReason()));
}
list.add(msg);
Result result = epmetMessageOpenFeignClient.sendWxSubscribeMessage(list);
if (result.success()) {
logger.info("审核成功,已成功发送微信订阅消息");
} else {
logger.error("审核成功,发送微信订阅消息失败" + JSON.toJSONString(result));
}
} catch (Exception e) {
logger.error("审核结果,发送微信订阅消息异常", e.getMessage());
}
}
/**
* @return com.epmet.dto.result.work.HistoricalActInfo
* @param userId

4
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java

@ -105,6 +105,10 @@ public interface ProjectConstant {
* 调用user-message服务失败
*/
String SAVE_MSG_EXCEPTION = "发送消息失败";
/**
* 调用user-message服务失败
*/
String SAVE_WXMP_MSG_EXCEPTION = "发送微信订阅消息失败";
/**
* 查询项目表数据失败
*/

5
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/UserMessageConstant.java

@ -11,6 +11,11 @@ public interface UserMessageConstant {
*/
String PROJECT_TITLE = "您有一条项目消息";
/**
* 微信订阅消息部分标题
*/
String WXMP_PROJECT_TITLE = "您有一条项目消息";
/**
* 议题转项目项目流转项目退回消息模板
*/

38
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java

@ -43,6 +43,7 @@ import com.epmet.dto.result.*;
import com.epmet.entity.ProjectEntity;
import com.epmet.entity.ProjectProcessEntity;
import com.epmet.entity.ProjectStaffEntity;
import com.epmet.feign.EpmetMessageOpenFeignClient;
import com.epmet.feign.EpmetUserFeignClient;
import com.epmet.feign.GovOrgFeignClient;
import com.epmet.redis.ProjectProcessRedis;
@ -87,6 +88,8 @@ public class ProjectProcessServiceImpl extends BaseServiceImpl<ProjectProcessDao
private String scanApiUrl;
@Value("${openapi.scan.method.textSyncScan}")
private String textSyncScanMethod;
@Autowired
private EpmetMessageOpenFeignClient epmetMessageOpenFeignClient;
@Override
public PageData<ProjectProcessDTO> page(Map<String, Object> params) {
@ -280,8 +283,12 @@ public class ProjectProcessServiceImpl extends BaseServiceImpl<ProjectProcessDao
if (!transferMessage(formDTO).success()) {
throw new RenException(ProjectConstant.SAVE_MSG_EXCEPTION);
}
}
//5:调用epmet-message服务,给项目流转过程中的工作人员发送订阅的微信消息
if (!transferWxmpMessage(formDTO).success()) {
throw new RenException(ProjectConstant.SAVE_WXMP_MSG_EXCEPTION);
}
}
/**
* @Description 项目流转给流转工作人员推送消息
* @author sun
@ -312,6 +319,35 @@ public class ProjectProcessServiceImpl extends BaseServiceImpl<ProjectProcessDao
});
return messageFeignClient.saveUserMessageList(msgList);
}
/**
* @Description 项目流转给流转工作人员推送订阅的微信消息
* @author sun
*/
private Result transferWxmpMessage(TransferFormDTO formDTO) {
List<WxSubscribeMessageFormDTO> msgList = new ArrayList<>();
ProjectEntity projectEntity = projectService.selectById(formDTO.getProjectId());
if (null == projectEntity) {
throw new RenException(ProjectConstant.SELECT_PROJECT_EXCEPTION);
}
//3:创建项目工作人员消息对象
//所选人员如果即在部门下又在网格下则只发一条消息
Map<String,String> map = new HashMap<>();
String projectStaffMessage = String.format(UserMessageConstant.PROJECT_RESOLVED_MSG, projectEntity.getTitle());
formDTO.getStaffList().forEach(staff->{
if(!map.containsKey(staff.getStaffId())){
WxSubscribeMessageFormDTO msg = new WxSubscribeMessageFormDTO();
msg.setCustomerId(projectEntity.getCustomerId());
msg.setClientType(ProjectConstant.GOV);
msg.setUserId(staff.getStaffId());
msg.setBehaviorType(UserMessageConstant.WXMP_PROJECT_TITLE);
msg.setMessageContent(projectStaffMessage);
msg.setMessageTime(new Date());
msgList.add(msg);
map.put(staff.getStaffId(),staff.getStaffId());
}
});
return epmetMessageOpenFeignClient.sendWxSubscribeMessage(msgList);
}
/**
* @Description 议题处理进展已转项目

Loading…
Cancel
Save