|
|
@ -79,137 +79,56 @@ public class MessageServiceImpl implements MessageService { |
|
|
|
if (StringUtils.isBlank(registerAuditResultDto.getWxFormId())) { |
|
|
|
return new Result().error("没有可用的wxFormId,下发审核通知失败"); |
|
|
|
} |
|
|
|
String auditState = registerAuditResultDto.getState(); |
|
|
|
if (AppUserAuditStateEnum.AUDIT_SUCCESS.value().equals(auditState)) { |
|
|
|
this.sendRegisterSuccessMaMsg(registerAuditResultDto); |
|
|
|
this.deleteWxFormId(registerAuditResultDto.getWxFormIdId()); |
|
|
|
} else if (AppUserAuditStateEnum.AUDIT_FAILURE.value().equals(auditState)) { |
|
|
|
this.sendRegisterFailureMaMsg(registerAuditResultDto); |
|
|
|
this.deleteWxFormId(registerAuditResultDto.getWxFormIdId()); |
|
|
|
// 校验审核状态
|
|
|
|
AppUserAuditStateEnum auditStateEnum = AppUserAuditStateEnum.getEnumByValue(registerAuditResultDto.getState()); |
|
|
|
if (null == auditStateEnum || AppUserAuditStateEnum.UNDER_AUDIT.value().equals(auditStateEnum.value())) { |
|
|
|
return new Result().error("审核状态无效,下发审核通知失败"); |
|
|
|
} |
|
|
|
return new Result(); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 删除用过的wxFormId |
|
|
|
* |
|
|
|
* @param id 存放formId的数据库表主键 |
|
|
|
* @return void |
|
|
|
* @author work@yujt.net.cn |
|
|
|
* @date 2019/9/27 09:33 |
|
|
|
*/ |
|
|
|
private void deleteWxFormId(String id) { |
|
|
|
EpdcDeleteWxFormIdFormDTO dto = new EpdcDeleteWxFormIdFormDTO(); |
|
|
|
dto.setId(id); |
|
|
|
userFeignClient.deleteWxFormIdById(dto); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 注册失败的小程序服务消息 |
|
|
|
* |
|
|
|
* @param registerAuditResultDto |
|
|
|
* @return void |
|
|
|
* @author work@yujt.net.cn |
|
|
|
* @date 2019/9/26 17:26 |
|
|
|
*/ |
|
|
|
private void sendRegisterFailureMaMsg(EpdcUserRegisterAuditMsgResultDTO registerAuditResultDto) { |
|
|
|
/*姓名,手机号,申请时间,审核时间,不通过原因,审核结果 jL6UPR2ZBcZT8Qu2UijcApvUI2xa3K68paDl8ZZV7as*/ |
|
|
|
|
|
|
|
List<WxMaTemplateData> dataList = this.getWxMaTemplateData(registerAuditResultDto); |
|
|
|
|
|
|
|
WxMaTemplateData templateData = new WxMaTemplateData(); |
|
|
|
templateData.setName("keyword5"); |
|
|
|
templateData.setValue(registerAuditResultDto.getRemark()); |
|
|
|
boolean success = true; |
|
|
|
if (AppUserAuditStateEnum.AUDIT_FAILURE.value().equals(auditStateEnum.value())) { |
|
|
|
success = false; |
|
|
|
} |
|
|
|
// 组装发送服务消息的参数
|
|
|
|
List<WxMaTemplateData> dataList = Lists.newArrayList(); |
|
|
|
WxMaTemplateData templateData = new WxMaTemplateData("keyword1", registerAuditResultDto.getRealName()); |
|
|
|
dataList.add(templateData); |
|
|
|
|
|
|
|
templateData = new WxMaTemplateData(); |
|
|
|
templateData.setName("keyword6"); |
|
|
|
templateData.setValue("注册失败"); |
|
|
|
templateData = new WxMaTemplateData("keyword2", registerAuditResultDto.getMobile()); |
|
|
|
dataList.add(templateData); |
|
|
|
|
|
|
|
WxMaUniformMessage message = WxMaUniformMessage.builder() |
|
|
|
.isMpTemplateMsg(false) |
|
|
|
.toUser(registerAuditResultDto.getWxOpenId()) |
|
|
|
.formId(registerAuditResultDto.getWxFormId()) |
|
|
|
.templateId(FAILURE_TEMPLATE_ID) |
|
|
|
.page(MA_PAGE) |
|
|
|
.data(dataList) |
|
|
|
.emphasisKeyword("keyword6.DATA") |
|
|
|
.build(); |
|
|
|
try { |
|
|
|
wxMaService.getMsgService().sendUniformMsg(message); |
|
|
|
} catch (WxErrorException e) { |
|
|
|
log.error("->sendRegisterFailureMaMsg::发送小程序服务通知失败::userId::{}::errorMsg::{}", |
|
|
|
registerAuditResultDto.getUserId(), e.getMessage()); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 注册成功的小程序服务消息 |
|
|
|
* |
|
|
|
* @param registerAuditResultDto |
|
|
|
* @return void |
|
|
|
* @author work@yujt.net.cn |
|
|
|
* @date 2019/9/26 17:26 |
|
|
|
*/ |
|
|
|
private void sendRegisterSuccessMaMsg(EpdcUserRegisterAuditMsgResultDTO registerAuditResultDto) { |
|
|
|
/*姓名,手机号,申请时间,审核时间,审核结果 jL6UPR2ZBcZT8Qu2UijcAoGddYg70BGAyFZXyr4XBSY*/ |
|
|
|
|
|
|
|
List<WxMaTemplateData> dataList = this.getWxMaTemplateData(registerAuditResultDto); |
|
|
|
|
|
|
|
WxMaTemplateData templateData = new WxMaTemplateData(); |
|
|
|
templateData.setName("keyword5"); |
|
|
|
templateData.setValue("注册成功"); |
|
|
|
templateData = new WxMaTemplateData("keyword3", registerAuditResultDto.getCreatedTime()); |
|
|
|
dataList.add(templateData); |
|
|
|
|
|
|
|
templateData = new WxMaTemplateData("keyword4", registerAuditResultDto.getRegisterTime()); |
|
|
|
dataList.add(templateData); |
|
|
|
if (success) { |
|
|
|
templateData = new WxMaTemplateData("keyword5", "注册成功"); |
|
|
|
dataList.add(templateData); |
|
|
|
} else { |
|
|
|
templateData = new WxMaTemplateData("keyword5", registerAuditResultDto.getRemark()); |
|
|
|
dataList.add(templateData); |
|
|
|
templateData = new WxMaTemplateData("keyword6", "注册失败"); |
|
|
|
dataList.add(templateData); |
|
|
|
} |
|
|
|
// 组装服务消息对象
|
|
|
|
WxMaUniformMessage message = WxMaUniformMessage.builder() |
|
|
|
.isMpTemplateMsg(false) |
|
|
|
.toUser(registerAuditResultDto.getWxOpenId()) |
|
|
|
.formId(registerAuditResultDto.getWxFormId()) |
|
|
|
.templateId(SUCCESS_TEMPLATE_ID) |
|
|
|
.templateId(success ? SUCCESS_TEMPLATE_ID : FAILURE_TEMPLATE_ID) |
|
|
|
.page(MA_PAGE) |
|
|
|
.data(dataList) |
|
|
|
.emphasisKeyword("keyword5.DATA") |
|
|
|
.emphasisKeyword(success ? "keyword5.DATA" : "keyword6.DATA") |
|
|
|
.build(); |
|
|
|
try { |
|
|
|
wxMaService.getMsgService().sendUniformMsg(message); |
|
|
|
} catch (WxErrorException e) { |
|
|
|
log.error("->sendRegisterSuccessMaMsg::发送小程序服务通知失败::userId::{}::errorMsg::{}", |
|
|
|
registerAuditResultDto.getUserId(), e.getMessage()); |
|
|
|
log.error("->sendRegisterResult::发送注册{}服务消息失败::userId::{}::errorMsg::{}", |
|
|
|
success ? "成功" : "失败", registerAuditResultDto.getUserId(), e.getMessage()); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 因为注册审核的两个模版消息的前四项关键词是一样的,所以抽出了方法 |
|
|
|
* |
|
|
|
* @param registerAuditResultDto |
|
|
|
* @return java.util.List<cn.binarywang.wx.miniapp.bean.WxMaTemplateData> |
|
|
|
* @author work@yujt.net.cn |
|
|
|
* @date 2019/9/26 17:24 |
|
|
|
*/ |
|
|
|
private List<WxMaTemplateData> getWxMaTemplateData(EpdcUserRegisterAuditMsgResultDTO registerAuditResultDto) { |
|
|
|
List<WxMaTemplateData> dataList = Lists.newArrayList(); |
|
|
|
|
|
|
|
WxMaTemplateData templateData = new WxMaTemplateData(); |
|
|
|
templateData.setName("keyword1"); |
|
|
|
templateData.setValue(registerAuditResultDto.getRealName()); |
|
|
|
dataList.add(templateData); |
|
|
|
|
|
|
|
templateData = new WxMaTemplateData(); |
|
|
|
templateData.setName("keyword2"); |
|
|
|
templateData.setValue(registerAuditResultDto.getMobile()); |
|
|
|
dataList.add(templateData); |
|
|
|
|
|
|
|
templateData = new WxMaTemplateData(); |
|
|
|
templateData.setName("keyword3"); |
|
|
|
templateData.setValue(registerAuditResultDto.getCreatedTime()); |
|
|
|
dataList.add(templateData); |
|
|
|
|
|
|
|
templateData = new WxMaTemplateData(); |
|
|
|
templateData.setName("keyword4"); |
|
|
|
templateData.setValue(registerAuditResultDto.getRegisterTime()); |
|
|
|
dataList.add(templateData); |
|
|
|
// 删除已使用的formId
|
|
|
|
EpdcDeleteWxFormIdFormDTO dto = new EpdcDeleteWxFormIdFormDTO(); |
|
|
|
dto.setId(registerAuditResultDto.getWxFormIdId()); |
|
|
|
userFeignClient.deleteWxFormIdById(dto); |
|
|
|
|
|
|
|
return dataList; |
|
|
|
return new Result(); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|