消息推送功能

This commit is contained in:
yinjinlu-pc\尹金路
2023-03-08 11:12:56 +08:00
parent 2ae38c75a3
commit 55d5be8b79
20 changed files with 1345 additions and 20 deletions

View File

@@ -0,0 +1,293 @@
package com.ktg.system.domain;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ktg.common.annotation.Excel;
import com.ktg.common.core.domain.BaseEntity;
/**
* 消息对象 sys_message
*
* @author yinjinlu
* @date 2023-03-06
*/
public class SysMessage extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 附件ID */
private Long messageId;
/** 消息类型 */
@Excel(name = "消息类型")
private String messageType;
/** 消息级别 */
@Excel(name = "消息级别")
private String messageLevel;
/** 标题 */
@Excel(name = "标题")
private String messageTitle;
/** 内容 */
@Excel(name = "内容")
private String messageContent;
/** 发送人ID */
@Excel(name = "发送人ID")
private Long senderId;
/** 发送人名称 */
@Excel(name = "发送人名称")
private String senderName;
/** 发送人昵称 */
@Excel(name = "发送人昵称")
private String senderNick;
/** 接收人ID */
@Excel(name = "接收人ID")
private Long recipientId;
/** 接收人名称 */
@Excel(name = "接收人名称")
private String recipientName;
/** 接收人昵称 */
@Excel(name = "接收人昵称")
private String recipientNick;
/** 处理时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "处理时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date processTime;
/** 回调地址 */
@Excel(name = "回调地址")
private String callBack;
/** 状态 */
@Excel(name = "状态")
private String status;
/** 是否删除 */
@Excel(name = "是否删除")
private String deletedFlag;
/** 预留字段1 */
private String attr1;
/** 预留字段2 */
private String attr2;
/** 预留字段3 */
private Long attr3;
/** 预留字段4 */
private Long attr4;
public void setMessageId(Long messageId)
{
this.messageId = messageId;
}
public Long getMessageId()
{
return messageId;
}
public void setMessageType(String messageType)
{
this.messageType = messageType;
}
public String getMessageType()
{
return messageType;
}
public void setMessageLevel(String messageLevel)
{
this.messageLevel = messageLevel;
}
public String getMessageLevel()
{
return messageLevel;
}
public void setMessageTitle(String messageTitle)
{
this.messageTitle = messageTitle;
}
public String getMessageTitle()
{
return messageTitle;
}
public void setMessageContent(String messageContent)
{
this.messageContent = messageContent;
}
public String getMessageContent()
{
return messageContent;
}
public void setSenderId(Long senderId)
{
this.senderId = senderId;
}
public Long getSenderId()
{
return senderId;
}
public void setSenderName(String senderName)
{
this.senderName = senderName;
}
public String getSenderName()
{
return senderName;
}
public void setSenderNick(String senderNick)
{
this.senderNick = senderNick;
}
public String getSenderNick()
{
return senderNick;
}
public void setRecipientId(Long recipientId)
{
this.recipientId = recipientId;
}
public Long getRecipientId()
{
return recipientId;
}
public void setRecipientName(String recipientName)
{
this.recipientName = recipientName;
}
public String getRecipientName()
{
return recipientName;
}
public void setRecipientNick(String recipientNick)
{
this.recipientNick = recipientNick;
}
public String getRecipientNick()
{
return recipientNick;
}
public void setProcessTime(Date processTime)
{
this.processTime = processTime;
}
public Date getProcessTime()
{
return processTime;
}
public void setCallBack(String callBack)
{
this.callBack = callBack;
}
public String getCallBack()
{
return callBack;
}
public void setStatus(String status)
{
this.status = status;
}
public String getStatus()
{
return status;
}
public void setDeletedFlag(String deletedFlag)
{
this.deletedFlag = deletedFlag;
}
public String getDeletedFlag()
{
return deletedFlag;
}
public void setAttr1(String attr1)
{
this.attr1 = attr1;
}
public String getAttr1()
{
return attr1;
}
public void setAttr2(String attr2)
{
this.attr2 = attr2;
}
public String getAttr2()
{
return attr2;
}
public void setAttr3(Long attr3)
{
this.attr3 = attr3;
}
public Long getAttr3()
{
return attr3;
}
public void setAttr4(Long attr4)
{
this.attr4 = attr4;
}
public Long getAttr4()
{
return attr4;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("messageId", getMessageId())
.append("messageType", getMessageType())
.append("messageLevel", getMessageLevel())
.append("messageTitle", getMessageTitle())
.append("messageContent", getMessageContent())
.append("senderId", getSenderId())
.append("senderName", getSenderName())
.append("senderNick", getSenderNick())
.append("recipientId", getRecipientId())
.append("recipientName", getRecipientName())
.append("recipientNick", getRecipientNick())
.append("processTime", getProcessTime())
.append("callBack", getCallBack())
.append("status", getStatus())
.append("deletedFlag", getDeletedFlag())
.append("remark", getRemark())
.append("attr1", getAttr1())
.append("attr2", getAttr2())
.append("attr3", getAttr3())
.append("attr4", getAttr4())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.toString();
}
}

View File

@@ -0,0 +1,61 @@
package com.ktg.system.mapper;
import java.util.List;
import com.ktg.system.domain.SysMessage;
/**
* 消息Mapper接口
*
* @author yinjinlu
* @date 2023-03-06
*/
public interface SysMessageMapper
{
/**
* 查询消息
*
* @param messageId 消息主键
* @return 消息
*/
public SysMessage selectSysMessageByMessageId(Long messageId);
/**
* 查询消息列表
*
* @param sysMessage 消息
* @return 消息集合
*/
public List<SysMessage> selectSysMessageList(SysMessage sysMessage);
/**
* 新增消息
*
* @param sysMessage 消息
* @return 结果
*/
public int insertSysMessage(SysMessage sysMessage);
/**
* 修改消息
*
* @param sysMessage 消息
* @return 结果
*/
public int updateSysMessage(SysMessage sysMessage);
/**
* 删除消息
*
* @param messageId 消息主键
* @return 结果
*/
public int deleteSysMessageByMessageId(Long messageId);
/**
* 批量删除消息
*
* @param messageIds 需要删除的数据主键集合
* @return 结果
*/
public int deleteSysMessageByMessageIds(Long[] messageIds);
}

View File

@@ -0,0 +1,61 @@
package com.ktg.system.service;
import java.util.List;
import com.ktg.system.domain.SysMessage;
/**
* 消息Service接口
*
* @author yinjinlu
* @date 2023-03-06
*/
public interface ISysMessageService
{
/**
* 查询消息
*
* @param messageId 消息主键
* @return 消息
*/
public SysMessage selectSysMessageByMessageId(Long messageId);
/**
* 查询消息列表
*
* @param sysMessage 消息
* @return 消息集合
*/
public List<SysMessage> selectSysMessageList(SysMessage sysMessage);
/**
* 新增消息
*
* @param sysMessage 消息
* @return 结果
*/
public int insertSysMessage(SysMessage sysMessage);
/**
* 修改消息
*
* @param sysMessage 消息
* @return 结果
*/
public int updateSysMessage(SysMessage sysMessage);
/**
* 批量删除消息
*
* @param messageIds 需要删除的消息主键集合
* @return 结果
*/
public int deleteSysMessageByMessageIds(Long[] messageIds);
/**
* 删除消息信息
*
* @param messageId 消息主键
* @return 结果
*/
public int deleteSysMessageByMessageId(Long messageId);
}

View File

@@ -0,0 +1,96 @@
package com.ktg.system.service.impl;
import java.util.List;
import com.ktg.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ktg.system.mapper.SysMessageMapper;
import com.ktg.system.domain.SysMessage;
import com.ktg.system.service.ISysMessageService;
/**
* 消息Service业务层处理
*
* @author yinjinlu
* @date 2023-03-06
*/
@Service
public class SysMessageServiceImpl implements ISysMessageService
{
@Autowired
private SysMessageMapper sysMessageMapper;
/**
* 查询消息
*
* @param messageId 消息主键
* @return 消息
*/
@Override
public SysMessage selectSysMessageByMessageId(Long messageId)
{
return sysMessageMapper.selectSysMessageByMessageId(messageId);
}
/**
* 查询消息列表
*
* @param sysMessage 消息
* @return 消息
*/
@Override
public List<SysMessage> selectSysMessageList(SysMessage sysMessage)
{
return sysMessageMapper.selectSysMessageList(sysMessage);
}
/**
* 新增消息
*
* @param sysMessage 消息
* @return 结果
*/
@Override
public int insertSysMessage(SysMessage sysMessage)
{
sysMessage.setCreateTime(DateUtils.getNowDate());
return sysMessageMapper.insertSysMessage(sysMessage);
}
/**
* 修改消息
*
* @param sysMessage 消息
* @return 结果
*/
@Override
public int updateSysMessage(SysMessage sysMessage)
{
sysMessage.setUpdateTime(DateUtils.getNowDate());
return sysMessageMapper.updateSysMessage(sysMessage);
}
/**
* 批量删除消息
*
* @param messageIds 需要删除的消息主键
* @return 结果
*/
@Override
public int deleteSysMessageByMessageIds(Long[] messageIds)
{
return sysMessageMapper.deleteSysMessageByMessageIds(messageIds);
}
/**
* 删除消息信息
*
* @param messageId 消息主键
* @return 结果
*/
@Override
public int deleteSysMessageByMessageId(Long messageId)
{
return sysMessageMapper.deleteSysMessageByMessageId(messageId);
}
}

View File

@@ -0,0 +1,158 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ktg.system.mapper.SysMessageMapper">
<resultMap type="SysMessage" id="SysMessageResult">
<result property="messageId" column="message_id" />
<result property="messageType" column="message_type" />
<result property="messageLevel" column="message_level" />
<result property="messageTitle" column="message_title" />
<result property="messageContent" column="message_content" />
<result property="senderId" column="sender_id" />
<result property="senderName" column="sender_name" />
<result property="senderNick" column="sender_nick" />
<result property="recipientId" column="recipient_id" />
<result property="recipientName" column="recipient_name" />
<result property="recipientNick" column="recipient_nick" />
<result property="processTime" column="process_time" />
<result property="callBack" column="call_back" />
<result property="status" column="status" />
<result property="deletedFlag" column="deleted_flag" />
<result property="remark" column="remark" />
<result property="attr1" column="attr1" />
<result property="attr2" column="attr2" />
<result property="attr3" column="attr3" />
<result property="attr4" column="attr4" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
</resultMap>
<sql id="selectSysMessageVo">
select message_id, message_type, message_level, message_title, message_content, sender_id, sender_name, sender_nick, recipient_id, recipient_name, recipient_nick, process_time, call_back, status, deleted_flag, remark, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time from sys_message
</sql>
<select id="selectSysMessageList" parameterType="SysMessage" resultMap="SysMessageResult">
<include refid="selectSysMessageVo"/>
<where>
<if test="messageType != null and messageType != ''"> and message_type = #{messageType}</if>
<if test="messageLevel != null and messageLevel != ''"> and message_level = #{messageLevel}</if>
<if test="messageTitle != null and messageTitle != ''"> and message_title = #{messageTitle}</if>
<if test="messageContent != null and messageContent != ''"> and message_content = #{messageContent}</if>
<if test="senderId != null "> and sender_id = #{senderId}</if>
<if test="senderName != null and senderName != ''"> and sender_name like concat('%', #{senderName}, '%')</if>
<if test="senderNick != null and senderNick != ''"> and sender_nick = #{senderNick}</if>
<if test="recipientId != null "> and recipient_id = #{recipientId}</if>
<if test="recipientName != null and recipientName != ''"> and recipient_name like concat('%', #{recipientName}, '%')</if>
<if test="recipientNick != null and recipientNick != ''"> and recipient_nick = #{recipientNick}</if>
<if test="processTime != null "> and process_time = #{processTime}</if>
<if test="callBack != null and callBack != ''"> and call_back = #{callBack}</if>
<if test="status != null and status != ''"> and status = #{status}</if>
and deleted_flag = 'N'
</where>
order by create_time desc
</select>
<select id="selectSysMessageByMessageId" parameterType="Long" resultMap="SysMessageResult">
<include refid="selectSysMessageVo"/>
where message_id = #{messageId}
</select>
<insert id="insertSysMessage" parameterType="SysMessage" useGeneratedKeys="true" keyProperty="messageId">
insert into sys_message
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="messageType != null and messageType != ''">message_type,</if>
<if test="messageLevel != null and messageLevel != ''">message_level,</if>
<if test="messageTitle != null">message_title,</if>
<if test="messageContent != null">message_content,</if>
<if test="senderId != null">sender_id,</if>
<if test="senderName != null">sender_name,</if>
<if test="senderNick != null">sender_nick,</if>
<if test="recipientId != null">recipient_id,</if>
<if test="recipientName != null">recipient_name,</if>
<if test="recipientNick != null">recipient_nick,</if>
<if test="processTime != null">process_time,</if>
<if test="callBack != null">call_back,</if>
<if test="status != null and status != ''">status,</if>
<if test="deletedFlag != null and deletedFlag != ''">deleted_flag,</if>
<if test="remark != null">remark,</if>
<if test="attr1 != null">attr1,</if>
<if test="attr2 != null">attr2,</if>
<if test="attr3 != null">attr3,</if>
<if test="attr4 != null">attr4,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="messageType != null and messageType != ''">#{messageType},</if>
<if test="messageLevel != null and messageLevel != ''">#{messageLevel},</if>
<if test="messageTitle != null">#{messageTitle},</if>
<if test="messageContent != null">#{messageContent},</if>
<if test="senderId != null">#{senderId},</if>
<if test="senderName != null">#{senderName},</if>
<if test="senderNick != null">#{senderNick},</if>
<if test="recipientId != null">#{recipientId},</if>
<if test="recipientName != null">#{recipientName},</if>
<if test="recipientNick != null">#{recipientNick},</if>
<if test="processTime != null">#{processTime},</if>
<if test="callBack != null">#{callBack},</if>
<if test="status != null and status != ''">#{status},</if>
<if test="deletedFlag != null and deletedFlag != ''">#{deletedFlag},</if>
<if test="remark != null">#{remark},</if>
<if test="attr1 != null">#{attr1},</if>
<if test="attr2 != null">#{attr2},</if>
<if test="attr3 != null">#{attr3},</if>
<if test="attr4 != null">#{attr4},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
</trim>
</insert>
<update id="updateSysMessage" parameterType="SysMessage">
update sys_message
<trim prefix="SET" suffixOverrides=",">
<if test="messageType != null and messageType != ''">message_type = #{messageType},</if>
<if test="messageLevel != null and messageLevel != ''">message_level = #{messageLevel},</if>
<if test="messageTitle != null">message_title = #{messageTitle},</if>
<if test="messageContent != null">message_content = #{messageContent},</if>
<if test="senderId != null">sender_id = #{senderId},</if>
<if test="senderName != null">sender_name = #{senderName},</if>
<if test="senderNick != null">sender_nick = #{senderNick},</if>
<if test="recipientId != null">recipient_id = #{recipientId},</if>
<if test="recipientName != null">recipient_name = #{recipientName},</if>
<if test="recipientNick != null">recipient_nick = #{recipientNick},</if>
<if test="processTime != null">process_time = #{processTime},</if>
<if test="callBack != null">call_back = #{callBack},</if>
<if test="status != null and status != ''">status = #{status},</if>
<if test="deletedFlag != null and deletedFlag != ''">deleted_flag = #{deletedFlag},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="attr1 != null">attr1 = #{attr1},</if>
<if test="attr2 != null">attr2 = #{attr2},</if>
<if test="attr3 != null">attr3 = #{attr3},</if>
<if test="attr4 != null">attr4 = #{attr4},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
</trim>
where message_id = #{messageId}
</update>
<delete id="deleteSysMessageByMessageId" parameterType="Long">
delete from sys_message where message_id = #{messageId}
</delete>
<delete id="deleteSysMessageByMessageIds" parameterType="String">
delete from sys_message where message_id in
<foreach item="messageId" collection="array" open="(" separator="," close=")">
#{messageId}
</foreach>
</delete>
</mapper>