消息修改

This commit is contained in:
liangqitao
2021-12-17 11:05:32 +08:00
parent 47c9581ca8
commit 9532c033bc
4 changed files with 175 additions and 4 deletions
@@ -105,6 +105,13 @@ public class HuaWeiSmsUtil {
templateId = "ac6749d4a3134c39997b4342695ddc01";
templateParas = "[" + randomNumber +"]";
break;
case "3":
// 中汽中心标准所-注册
sender = "8821092414481";
signature = "中汽中心标准所";
templateId = "98a9d61b7d41423aa7a7d4ac969c4e6a";
templateParas = "[" + randomNumber +"]";
break;
default:
throw new JeroBootException("codeType flase.");
}
@@ -142,6 +142,39 @@ public class ProjectCommon {
* 系统通知
*/
public final static String ALERT12 = "12";
/**
* 缴费提醒(会员)
*/
public final static String ALERT13 = "13";
/**
* 证书缴费(会员)
*/
public final static String ALERT14 = "14";
/**
* 会员到期提醒(会员)
*/
public final static String ALERT15 = "15";
/**
* 证书(会员)
*/
public final static String ALERT16 = "16";
/**
* 开票信息(会员)
*/
public final static String ALERT17 = "17";
/**
* 会员注册(会员)
*/
public final static String ALERT18 = "18";
/**
* 变更联系人(会员)
*/
public final static String ALERT19 = "19";
/**
* 单位名称变更(会员)
*/
public final static String ALERT20 = "20";
/**
* 1短信 2邮件 3系统
*/
@@ -0,0 +1,126 @@
package com.jero.system.controller;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.jero.common.api.vo.Result;
import com.jero.common.aspect.annotation.AutoLog;
import com.jero.common.common.ProjectCommon;
import com.jero.common.constant.CommonConstant;
import com.jero.common.constant.WebsocketConst;
import com.jero.common.util.PasswordUtil;
import com.jero.company.entity.PayContactsManagement;
import com.jero.company.service.IPayContactsManagementService;
import com.jero.modules.message.websocket.WebSocket;
import com.jero.modules.system.entity.SysAnnouncement;
import com.jero.modules.system.entity.SysAnnouncementSend;
import com.jero.modules.system.service.ISysAnnouncementSendService;
import com.jero.modules.system.service.ISysAnnouncementService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Objects;
/**
* @ClassName MemberMessageSyncController
* @Description 会员系统消息同步
* @Author lqt
* @Date 2021/12/16 17:50
* @Version 1.0
*/
@Api(tags="会员系统消息同步")
@RestController
@RequestMapping("/sync/message")
@Slf4j
public class MemberMessageSyncController {
@Resource
private ISysAnnouncementSendService sysAnnouncementSendService;
@Resource
private WebSocket webSocket;
@Resource
private ISysAnnouncementService sysAnnouncementService;
@Resource
private IPayContactsManagementService payContactsManagementService;
/**
* 会员系统消息同步
*
* @return
*/
@AutoLog(value = "会员系统消息同步",operateType = 2)
@ApiOperation(value="会员系统消息同步", notes="会员系统消息同步")
@PostMapping(value = "/memberMessageSync")
@Transactional
public Result<?> memberMessageSync(@RequestBody SysAnnouncement announcement) {
try {
// 1.缴费提醒 2.证书缴费 3.会员到期提醒 4.证书 5.开票信息 6.会员注册 7.变更联系人 8.单位名称变更
String alert = "";
if(Objects.equals(announcement.getTitile(),"缴费提醒")){
alert = ProjectCommon.ALERT13;
}else if(Objects.equals(announcement.getTitile(),"证书缴费")){
alert = ProjectCommon.ALERT14;
}else if(Objects.equals(announcement.getTitile(),"会员到期提醒")){
alert = ProjectCommon.ALERT15;
}else if(Objects.equals(announcement.getTitile(),"证书")){
alert = ProjectCommon.ALERT16;
}else if(Objects.equals(announcement.getTitile(),"开票信息")){
alert = ProjectCommon.ALERT17;
}else if(Objects.equals(announcement.getTitile(),"会员注册")){
alert = ProjectCommon.ALERT18;
}else if(Objects.equals(announcement.getTitile(),"变更联系人")){
alert = ProjectCommon.ALERT19;
}else if(Objects.equals(announcement.getTitile(),"单位名称变更")){
alert = ProjectCommon.ALERT20;
}
if(StringUtils.isBlank(alert)){
log.info("会员同步来款消息发送失败,消息标题不存在!");
}
announcement.setTitile(alert);
announcement.setPriority(CommonConstant.PRIORITY_M);
announcement.setMsgType(CommonConstant.MSG_TYPE_UESR);
announcement.setSendStatus(CommonConstant.HAS_SEND);
announcement.setSendTime(new Date());
announcement.setMsgCategory(CommonConstant.MSG_CATEGORY_2);
announcement.setDelFlag(String.valueOf(CommonConstant.DEL_FLAG_0));
sysAnnouncementService.save(announcement);
// 2.插入用户通告阅读标记表记录
LambdaQueryWrapper<PayContactsManagement> queryPayContactsManagement = new LambdaQueryWrapper<>();
queryPayContactsManagement.in(PayContactsManagement::getPhone, Arrays.asList(announcement.getPhones().split(",")));
List<PayContactsManagement> listPayContactsManagement = payContactsManagementService.list(queryPayContactsManagement);
String anntId = announcement.getId();
if(!CollectionUtils.isEmpty(listPayContactsManagement)){
String finalAlert = alert;
listPayContactsManagement.forEach(p->{
SysAnnouncementSend announcementSend = new SysAnnouncementSend();
announcementSend.setAnntId(anntId);
announcementSend.setUserId(PasswordUtil.decrypt(p.getPhone()));
announcementSend.setReadFlag(CommonConstant.NO_READ_FLAG);
sysAnnouncementSendService.save(announcementSend);
JSONObject obj = new JSONObject();
obj.put(WebsocketConst.MSG_CMD, WebsocketConst.CMD_USER);
obj.put(WebsocketConst.MSG_USER_ID, PasswordUtil.decrypt(p.getPhone()));
obj.put(WebsocketConst.MSG_ID, announcement.getId());
obj.put(WebsocketConst.MSG_TXT, finalAlert);
webSocket.sendMessage(PasswordUtil.decrypt(p.getPhone()), obj.toJSONString());
});
}else{
log.info("会员同步来款消息发送失败,用户不存在!");
}
}catch (Exception e){
log.error("发送消息异常",e);
}
return Result.OK("操作成功");
}
}
@@ -1,17 +1,17 @@
package com.jero.modules.system.entity;
import java.io.Serializable;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jero.common.aspect.annotation.Dict;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
/**
* @Description: 系统通告表
* @Author: jero-boot
@@ -149,4 +149,9 @@ public class SysAnnouncement implements Serializable {
* 模板编码
*/
private String templateCode;
/**
* 手机号
*/
@TableField(exist = false)
private String phones;
}