Commit 6b03df8c authored by 王琮's avatar 王琮

消息中心相关代码

parent 687f0034
package org.rcisoft.sys.messageinstance.controller;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.rcisoft.core.anno.CyOpeLogAnno;
import org.rcisoft.core.operlog.enums.CyLogTypeEnum;
import org.springframework.validation.BindingResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.rcisoft.core.result.CyResult;
import org.rcisoft.core.util.CyResultGenUtil;
import org.rcisoft.core.model.CyPersistModel;
import org.rcisoft.core.constant.CyMessCons;
import org.rcisoft.core.controller.CyPaginationController;
import org.rcisoft.core.model.CyGridModel;
import javax.validation.Valid;
import org.rcisoft.sys.messageinstance.entity.MessageInstance;
import org.rcisoft.sys.messageinstance.service.MessageInstanceService;
/**
* Created by cy on 2022年11月16日 下午4:37:10.
*/
@RestController
@RequestMapping("/messageinstance")
public class MessageInstanceController extends CyPaginationController<MessageInstance> {
@Autowired
private MessageInstanceService messageInstanceServiceImpl;
//@PreAuthorize("@cyPerm.hasPerm('sys:sageInstance:add')")
@CyOpeLogAnno(title = "system-用户消息表管理-新增用户消息表", businessType = CyLogTypeEnum.INSERT)
@ApiOperation(value="添加用户消息表", notes="添加用户消息表")
@PostMapping(value = "/add")
public CyResult add(@Valid MessageInstance messageInstance, BindingResult bindingResult) {
CyPersistModel data = messageInstanceServiceImpl.persist(messageInstance);
return CyResultGenUtil.builder(data,
CyMessCons.MESSAGE_ALERT_SUCCESS,
CyMessCons.MESSAGE_ALERT_ERROR,
messageInstance);
}
//@PreAuthorize("@cyPerm.hasPerm('sys:sageInstance:delete')")
@CyOpeLogAnno(title = "system-用户消息表管理-删除用户消息表", businessType = CyLogTypeEnum.DELETE)
@ApiOperation(value="逻辑删除用户消息表", notes="逻辑删除用户消息表")
@ApiImplicitParams({@ApiImplicitParam(name = "businessId", value = "businessId", required = true, dataType = "varchar")})
@DeleteMapping("/deleteLogical/{businessId:\\w+}")
public CyResult deleteLogical(@PathVariable int businessId,MessageInstance messageInstance) {
messageInstance.setBusinessId(businessId);
CyPersistModel data = messageInstanceServiceImpl.removeLogical(messageInstance);
return CyResultGenUtil.builder(data,
CyMessCons.MESSAGE_ALERT_SUCCESS,
CyMessCons.MESSAGE_ALERT_ERROR,
businessId);
}
//@PreAuthorize("@cyPerm.hasPerm('sys:sageInstance:delete')")
@CyOpeLogAnno(title = "system-用户消息表管理-删除用户消息表", businessType = CyLogTypeEnum.DELETE)
@ApiOperation(value="删除用户消息表", notes="删除用户消息表")
@ApiImplicitParams({@ApiImplicitParam(name = "businessId", value = "businessId", required = true, dataType = "varchar")})
@DeleteMapping("/delete/{businessId:\\w+}")
public CyResult delete(@PathVariable int businessId,MessageInstance messageInstance) {
messageInstance.setBusinessId(businessId);
CyPersistModel data = messageInstanceServiceImpl.remove(messageInstance);
return CyResultGenUtil.builder(data,
CyMessCons.MESSAGE_ALERT_SUCCESS,
CyMessCons.MESSAGE_ALERT_ERROR,
businessId);
}
//@PreAuthorize("@cyPerm.hasPerm('sys:sageInstance:update')")
@CyOpeLogAnno(title = "system-用户消息表管理-修改用户消息表", businessType = CyLogTypeEnum.UPDATE)
@ApiOperation(value="修改用户消息表", notes="修改用户消息表")
@ApiImplicitParams({@ApiImplicitParam(name = "businessId", value = "businessId", required = false, dataType = "varchar")})
@PutMapping("/update/{businessId:\\w+}")
public CyResult update(@PathVariable int businessId, @Valid MessageInstance messageInstance, BindingResult bindingResult) {
messageInstance.setBusinessId(businessId);
CyPersistModel data = messageInstanceServiceImpl.merge(messageInstance);
return CyResultGenUtil.builder(data,
CyMessCons.MESSAGE_ALERT_SUCCESS,
CyMessCons.MESSAGE_ALERT_ERROR,
messageInstance);
}
//@PreAuthorize("@cyPerm.hasPerm('sys:sageInstance:query')")
@CyOpeLogAnno(title = "system-用户消息表管理-查询用户消息表", businessType = CyLogTypeEnum.QUERY)
@ApiOperation(value="查询单一用户消息表", notes="查询单一用户消息表")
@ApiImplicitParams({@ApiImplicitParam(name = "businessId", value = "businessId", required = true, dataType = "varchar")})
@GetMapping("/detail/{businessId:\\w+}")
public CyResult detail(@PathVariable int businessId) {
return CyResultGenUtil.builder(new CyPersistModel(1),
CyMessCons.MESSAGE_ALERT_SUCCESS,
CyMessCons.MESSAGE_ALERT_ERROR,
messageInstanceServiceImpl.findById(businessId));
}
//@PreAuthorize("@cyPerm.hasPerm('sys:sageInstance:list')")
@CyOpeLogAnno(title = "system-用户消息表管理-查询用户消息表", businessType = CyLogTypeEnum.QUERY)
@ApiOperation(value="查询用户消息表集合", notes="查询用户消息表集合")
@GetMapping(value = "/queryMessageInstances")
public CyResult queryMessageInstances(MessageInstance messageInstance) {
return CyResultGenUtil.builder(new CyPersistModel(1),
CyMessCons.MESSAGE_ALERT_SUCCESS,
CyMessCons.MESSAGE_ALERT_ERROR,
messageInstanceServiceImpl.findAll(messageInstance));
}
//@PreAuthorize("@cyPerm.hasPerm('sys:sageInstance:list')")
@CyOpeLogAnno(title = "system-用户消息表管理-查询用户消息表", businessType = CyLogTypeEnum.QUERY)
@ApiOperation(value="分页查询用户消息表集合", notes="分页查询用户消息表集合")
@GetMapping(value = "/queryMessageInstanceByPagination")
public CyGridModel listByPagination(MessageInstance messageInstance) {
messageInstanceServiceImpl.findAllByPagination(getPaginationUtility(), messageInstance);
return getGridModelResponse();
}
}
package org.rcisoft.sys.messageinstance.dao;
import org.rcisoft.core.mapper.CyBaseMapper;
import org.rcisoft.sys.messageinstance.entity.MessageInstance;
import org.apache.ibatis.annotations.ResultMap;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;
import org.rcisoft.core.model.CyPageInfo;
import org.apache.ibatis.annotations.Param;
import com.baomidou.mybatisplus.core.metadata.IPage;
import java.util.List;
/**
* Created with cy on 2022年11月16日 下午4:37:10.
*/
public interface MessageInstanceRepository extends CyBaseMapper<MessageInstance> {
List<MessageInstance> queryMessageInstances(@Param("entity") MessageInstance messageInstance);
/**
* 分页查询 messageInstance
*
*/
IPage<MessageInstance> queryMessageInstancesPaged(CyPageInfo cyPageInfo,@Param("entity") MessageInstance messageInstance);
}
package org.rcisoft.sys.messageinstance.entity;
import cn.afterturn.easypoi.excel.annotation.Excel;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;
import org.rcisoft.core.entity.CyIdIncreEntity;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* Created with cy on 2022年11月16日 下午4:37:10.
*/
@Data
@TableName("message_instance")
public class MessageInstance extends CyIdIncreEntity<MessageInstance> {
/**
* @desc 消息标题(不能超过30个字符)
* @column title
* @default
*/
@Excel(name = "消息标题(不能超过30个字符)", orderNum = "0", width = 20)
private String title;
/**
* @desc 消息内容(不能超过300个字符)
* @column content
* @default
*/
@Excel(name = "消息内容(不能超过300个字符)", orderNum = "1", width = 20)
private String content;
/**
* @desc 消息模板id
* @column template_id
* @default
*/
@Excel(name = "消息模板id", orderNum = "2", width = 20)
private BigInteger templateId;
/**
* @desc 收件人id
* @column recipient_id
* @default
*/
@Excel(name = "收件人id", orderNum = "3", width = 20)
private BigInteger recipientId;
/**
* @desc 发布日期
* @column push_time
* @default
*/
@Excel(name = "发布日期", orderNum = "4", width = 20)
private Date pushTime;
/**
* @desc 状态(0未发布 ,1已发布)
* @column status
* @default
*/
@Excel(name = "状态(0未发布 ,1已发布)", orderNum = "5", width = 20)
private String status;
/**
* @desc 已读状态(0未读 1已读)已读时更新updatetime
* @column read_flag
* @default
*/
@Excel(name = "已读状态(0未读 1已读)已读时更新updatetime", orderNum = "6", width = 20)
private String readFlag;
/**
* @desc 创建日期
* @column create_time
* @default
*/
@Excel(name = "创建日期", orderNum = "7", width = 20)
private Date createTime;
/**
* @desc 修改日期
* @column update_time
* @default
*/
@Excel(name = "修改日期", orderNum = "8", width = 20)
private Date updateTime;
/**
* @desc 0:系统推送,1:后台发布
* @column type
* @default
*/
@Excel(name = "0:系统推送,1:后台发布", orderNum = "9", width = 20)
private String type;
}
<?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="org.rcisoft.sys.messageinstance.dao.MessageInstanceRepository">
<resultMap id="BaseResultMap" type="org.rcisoft.sys.messageinstance.entity.MessageInstance">
<id column="business_id" jdbcType="BIGINT" property="businessId"/>
<result column="title" jdbcType="VARCHAR" property="title"/>
<result column="content" jdbcType="LONGVARCHAR" property="content"/>
<result column="template_id" jdbcType="BIGINT" property="templateId"/>
<result column="recipient_id" jdbcType="BIGINT" property="recipientId"/>
<result column="push_time" jdbcType="TIMESTAMP" property="pushTime"/>
<result column="status" jdbcType="CHAR" property="status"/>
<result column="read_flag" jdbcType="CHAR" property="readFlag"/>
<result column="del_flag" jdbcType="CHAR" property="delFlag"/>
<result column="create_by" jdbcType="VARCHAR" property="createBy"/>
<result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
<result column="update_by" jdbcType="VARCHAR" property="updateBy"/>
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
<result column="type" jdbcType="VARCHAR" property="type"/>
</resultMap>
<!--<cache type="${corePackag!}.util.RedisCache"/>-->
<select id="queryMessageInstances" resultMap="BaseResultMap">
select * from message_instance
where 1=1
<if test="entity.recipientId !=null">
and recipient_id = #{entity.recipientId}
</if>
<if test="entity.delFlag !=null and entity.delFlag != '' ">
and del_flag = #{entity.delFlag}
</if>
<if test="entity.flag !=null and entity.flag != '' ">
and read_flag = #{entity.flag}
</if>
</select>
<select id="queryMessageInstancesPaged" resultMap="BaseResultMap">
select * from message_instance
where 1=1
<if test="entity.recipientId !=null">
and recipient_id = #{entity.recipientId}
</if>
<if test="entity.delFlag !=null and entity.delFlag != '' ">
and del_flag = #{entity.delFlag}
</if>
<if test="entity.flag !=null and entity.flag != '' ">
and read_flag = #{entity.flag}
</if>
</select>
</mapper>
package org.rcisoft.sys.messageinstance.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.rcisoft.sys.messageinstance.entity.MessageInstance;
import org.rcisoft.core.model.CyPersistModel;
import org.rcisoft.core.aop.CyPageUtilAsp;
import org.rcisoft.core.model.CyPageInfo;
import java.util.List;
/**
* Created by cy on 2022年11月16日 下午4:37:10.
*/
public interface MessageInstanceService {
/**
* 保存 用户消息表
* @param messageInstance
* @return
*/
CyPersistModel persist(MessageInstance messageInstance);
/**
* 删除 用户消息表
* @param messageInstance
* @return
*/
CyPersistModel remove(MessageInstance messageInstance);
/**
* 逻辑删除 用户消息表
* @param messageInstance
* @return
*/
CyPersistModel removeLogical(MessageInstance messageInstance);
/**
* 修改 用户消息表
* @param messageInstance
* @return
*/
CyPersistModel merge(MessageInstance messageInstance);
/**
* 根据id查询 用户消息表
* @param id
* @return
*/
MessageInstance findById(int id);
/**
* 分页查询 用户消息表
* @param messageInstance
* @return
*/
IPage<MessageInstance> findAllByPagination(CyPageInfo<MessageInstance> paginationUtility,
MessageInstance messageInstance);
/**
* 查询list 用户消息表
* @param messageInstance
* @return
*/
List<MessageInstance> findAll(MessageInstance messageInstance);
}
package org.rcisoft.sys.messageinstance.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.rcisoft.core.util.CyUserUtil;
import org.rcisoft.core.model.CyPersistModel;
import org.rcisoft.sys.messageinstance.dao.MessageInstanceRepository;
import org.rcisoft.sys.messageinstance.entity.MessageInstance;
import org.rcisoft.sys.messageinstance.service.MessageInstanceService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Isolation;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import org.rcisoft.core.model.CyPageInfo;
import java.util.List;
import lombok.extern.slf4j.Slf4j;
/**
* Created by cy on 2022年11月16日 下午4:37:10.
*/
@Service
@Transactional(readOnly = true,propagation = Propagation.NOT_SUPPORTED)
@Slf4j
public class MessageInstanceServiceImpl extends ServiceImpl<MessageInstanceRepository,MessageInstance> implements MessageInstanceService {
/**
* 保存 用户消息表
* @param messageInstance
* @return
*/
@Transactional(propagation = Propagation.REQUIRED,isolation = Isolation.DEFAULT)
@Override
public CyPersistModel persist(MessageInstance messageInstance){
//增加操作
int line = baseMapper.insert(messageInstance);
log.debug(CyUserUtil.getAuthenUsername()+"新增了ID为"+
messageInstance.getBusinessId()+"的用户消息表信息");
return new CyPersistModel(line);
}
/**
* 删除 用户消息表
* @param messageInstance
* @return
*/
@Transactional(propagation = Propagation.REQUIRED,isolation = Isolation.DEFAULT)
@Override
public CyPersistModel remove(MessageInstance messageInstance){
int line = baseMapper.realDelete(messageInstance);
log.debug(CyUserUtil.getAuthenUsername()+"删除了ID为"+
messageInstance.getBusinessId()+"的用户消息表信息");
return new CyPersistModel(line);
}
/**
* 逻辑删除 用户消息表
* @param messageInstance
* @return
*/
@Transactional(propagation = Propagation.REQUIRED,isolation = Isolation.DEFAULT)
@Override
public CyPersistModel removeLogical(MessageInstance messageInstance){
messageInstance.setDeleted();
int line = baseMapper.deleteById(messageInstance);
log.debug(CyUserUtil.getAuthenUsername()+"逻辑删除了ID为"+
messageInstance.getBusinessId()+"的用户消息表信息");
return new CyPersistModel(line);
}
/**
* 修改 用户消息表
* @param messageInstance
* @return
*/
@Transactional(propagation = Propagation.REQUIRED,isolation = Isolation.DEFAULT)
@Override
public CyPersistModel merge(MessageInstance messageInstance){
int line = baseMapper.updateById(messageInstance);
log.debug(CyUserUtil.getAuthenUsername()+"修改了ID为"+ messageInstance.getBusinessId()+"的用户消息表信息");
return new CyPersistModel(line);
}
/**
* 根据id查询 用户消息表
* @param id
* @return
*/
@Override
public MessageInstance findById(int id){
return baseMapper.selectById(id);
}
/**
* 分页查询 用户消息表
* @param messageInstance
* @return
*/
@Override
public IPage<MessageInstance> findAllByPagination(CyPageInfo<MessageInstance> paginationUtility,
MessageInstance messageInstance){
return baseMapper.queryMessageInstancesPaged(paginationUtility,messageInstance);
}
/**
* 查询list 用户消息表
* @param messageInstance
* @return
*/
@Override
public List<MessageInstance> findAll(MessageInstance messageInstance){
return baseMapper.queryMessageInstances(messageInstance);
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment