mirror of https://gitee.com/stylefeng/roses
【notice】更新notice模块
parent
43055858aa
commit
914e5bff2f
|
@ -1,4 +1,4 @@
|
||||||
package cn.stylefeng.roses.kernel.system.exception.enums;
|
package cn.stylefeng.roses.kernel.system.exception.enums.notice;
|
||||||
|
|
||||||
import cn.stylefeng.roses.kernel.rule.constants.RuleConstants;
|
import cn.stylefeng.roses.kernel.rule.constants.RuleConstants;
|
||||||
import cn.stylefeng.roses.kernel.rule.exception.AbstractExceptionEnum;
|
import cn.stylefeng.roses.kernel.rule.exception.AbstractExceptionEnum;
|
|
@ -1,4 +1,4 @@
|
||||||
package cn.stylefeng.roses.kernel.system.pojo;
|
package cn.stylefeng.roses.kernel.system.pojo.notice;
|
||||||
|
|
||||||
import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest;
|
import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest;
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
@ -19,7 +19,6 @@ import java.util.Date;
|
||||||
@Data
|
@Data
|
||||||
public class SysNoticeRequest extends BaseRequest {
|
public class SysNoticeRequest extends BaseRequest {
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 通知id
|
* 通知id
|
||||||
*/
|
*/
|
|
@ -6,12 +6,13 @@ import cn.stylefeng.roses.kernel.resource.api.annotation.GetResource;
|
||||||
import cn.stylefeng.roses.kernel.resource.api.annotation.PostResource;
|
import cn.stylefeng.roses.kernel.resource.api.annotation.PostResource;
|
||||||
import cn.stylefeng.roses.kernel.rule.pojo.response.ResponseData;
|
import cn.stylefeng.roses.kernel.rule.pojo.response.ResponseData;
|
||||||
import cn.stylefeng.roses.kernel.rule.pojo.response.SuccessResponseData;
|
import cn.stylefeng.roses.kernel.rule.pojo.response.SuccessResponseData;
|
||||||
import cn.stylefeng.roses.kernel.system.pojo.SysNoticeRequest;
|
import cn.stylefeng.roses.kernel.system.pojo.notice.SysNoticeRequest;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 通知管理控制器
|
* 通知管理控制器
|
||||||
*
|
*
|
||||||
|
@ -22,10 +23,9 @@ import org.springframework.web.bind.annotation.RestController;
|
||||||
@ApiResource(name = "通知管理")
|
@ApiResource(name = "通知管理")
|
||||||
public class SysNoticeController {
|
public class SysNoticeController {
|
||||||
|
|
||||||
@Autowired
|
@Resource
|
||||||
private SysNoticeService sysNoticeService;
|
private SysNoticeService sysNoticeService;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 添加通知管理
|
* 添加通知管理
|
||||||
*
|
*
|
||||||
|
@ -50,7 +50,6 @@ public class SysNoticeController {
|
||||||
return new SuccessResponseData();
|
return new SuccessResponseData();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除通知管理
|
* 删除通知管理
|
||||||
*
|
*
|
||||||
|
@ -95,4 +94,5 @@ public class SysNoticeController {
|
||||||
public ResponseData list(SysNoticeRequest sysNoticeParam) {
|
public ResponseData list(SysNoticeRequest sysNoticeParam) {
|
||||||
return new SuccessResponseData(sysNoticeService.findList(sysNoticeParam));
|
return new SuccessResponseData(sysNoticeService.findList(sysNoticeParam));
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
}
|
||||||
|
|
|
@ -3,7 +3,7 @@ package cn.stylefeng.roses.kernel.notice.modular.service;
|
||||||
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
|
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
|
||||||
import cn.stylefeng.roses.kernel.notice.modular.entity.SysNotice;
|
import cn.stylefeng.roses.kernel.notice.modular.entity.SysNotice;
|
||||||
import cn.stylefeng.roses.kernel.system.NoticeServiceApi;
|
import cn.stylefeng.roses.kernel.system.NoticeServiceApi;
|
||||||
import cn.stylefeng.roses.kernel.system.pojo.SysNoticeRequest;
|
import cn.stylefeng.roses.kernel.system.pojo.notice.SysNoticeRequest;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -25,16 +25,6 @@ public interface SysNoticeService extends IService<SysNotice>, NoticeServiceApi
|
||||||
*/
|
*/
|
||||||
void add(SysNoticeRequest sysNoticeRequest);
|
void add(SysNoticeRequest sysNoticeRequest);
|
||||||
|
|
||||||
/**
|
|
||||||
* 编辑系统应用
|
|
||||||
*
|
|
||||||
* @param sysNoticeRequest 编辑参数
|
|
||||||
* @author liuhanqing
|
|
||||||
* @date 2021/1/9 14:58
|
|
||||||
*/
|
|
||||||
void edit(SysNoticeRequest sysNoticeRequest);
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除系统应用
|
* 删除系统应用
|
||||||
*
|
*
|
||||||
|
@ -44,6 +34,15 @@ public interface SysNoticeService extends IService<SysNotice>, NoticeServiceApi
|
||||||
*/
|
*/
|
||||||
void del(SysNoticeRequest sysNoticeRequest);
|
void del(SysNoticeRequest sysNoticeRequest);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 编辑系统应用
|
||||||
|
*
|
||||||
|
* @param sysNoticeRequest 编辑参数
|
||||||
|
* @author liuhanqing
|
||||||
|
* @date 2021/1/9 14:58
|
||||||
|
*/
|
||||||
|
void edit(SysNoticeRequest sysNoticeRequest);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查看系统应用
|
* 查看系统应用
|
||||||
*
|
*
|
||||||
|
@ -74,5 +73,4 @@ public interface SysNoticeService extends IService<SysNotice>, NoticeServiceApi
|
||||||
*/
|
*/
|
||||||
List<SysNotice> findList(SysNoticeRequest sysNoticeRequest);
|
List<SysNotice> findList(SysNoticeRequest sysNoticeRequest);
|
||||||
|
|
||||||
|
}
|
||||||
}
|
|
||||||
|
|
|
@ -14,8 +14,8 @@ import cn.stylefeng.roses.kernel.notice.modular.mapper.SysNoticeMapper;
|
||||||
import cn.stylefeng.roses.kernel.notice.modular.service.SysNoticeService;
|
import cn.stylefeng.roses.kernel.notice.modular.service.SysNoticeService;
|
||||||
import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum;
|
import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum;
|
||||||
import cn.stylefeng.roses.kernel.system.exception.SystemModularException;
|
import cn.stylefeng.roses.kernel.system.exception.SystemModularException;
|
||||||
import cn.stylefeng.roses.kernel.system.exception.enums.NoticeExceptionEnum;
|
import cn.stylefeng.roses.kernel.system.exception.enums.notice.NoticeExceptionEnum;
|
||||||
import cn.stylefeng.roses.kernel.system.pojo.SysNoticeRequest;
|
import cn.stylefeng.roses.kernel.system.pojo.notice.SysNoticeRequest;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
@ -34,33 +34,11 @@ import java.util.List;
|
||||||
@Service
|
@Service
|
||||||
public class SysNoticeServiceImpl extends ServiceImpl<SysNoticeMapper, SysNotice> implements SysNoticeService {
|
public class SysNoticeServiceImpl extends ServiceImpl<SysNoticeMapper, SysNotice> implements SysNoticeService {
|
||||||
|
|
||||||
|
private static final String NOTICE_SCOPE_ALL = "all";
|
||||||
|
|
||||||
private static String NOTICE_SCOPE_ALL = "all";
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 系统消息api
|
|
||||||
*/
|
|
||||||
@Resource
|
@Resource
|
||||||
private MessageApi messageApi;
|
private MessageApi messageApi;
|
||||||
|
|
||||||
private void sendMessage(SysNotice sysNotice) {
|
|
||||||
MessageSendRequest message = new MessageSendRequest();
|
|
||||||
// 消息标题
|
|
||||||
message.setMessageTitle(sysNotice.getNoticeTitle());
|
|
||||||
// 消息内容
|
|
||||||
message.setMessageContent(sysNotice.getNoticeSummary());
|
|
||||||
// 消息优先级
|
|
||||||
message.setPriorityLevel(sysNotice.getPriorityLevel());
|
|
||||||
// 消息发送范围
|
|
||||||
message.setReceiveUserIds(sysNotice.getNoticeScope());
|
|
||||||
// 消息业务类型
|
|
||||||
message.setBusinessType(MessageBusinessTypeEnum.SYS_NOTICE.getCode());
|
|
||||||
message.setBusinessId(sysNotice.getNoticeId());
|
|
||||||
message.setMessageSendTime(new Date());
|
|
||||||
messageApi.sendMessage(message);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void add(SysNoticeRequest sysNoticeRequest) {
|
public void add(SysNoticeRequest sysNoticeRequest) {
|
||||||
SysNotice sysNotice = new SysNotice();
|
SysNotice sysNotice = new SysNotice();
|
||||||
|
@ -75,28 +53,6 @@ public class SysNoticeServiceImpl extends ServiceImpl<SysNoticeMapper, SysNotice
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void edit(SysNoticeRequest sysNoticeRequest) {
|
|
||||||
|
|
||||||
SysNotice sysNotice = this.querySysNoticeById(sysNoticeRequest);
|
|
||||||
String noticeScope = sysNotice.getNoticeScope();
|
|
||||||
if (StrUtil.isBlank(sysNoticeRequest.getNoticeScope())) {
|
|
||||||
sysNoticeRequest.setNoticeScope(NOTICE_SCOPE_ALL);
|
|
||||||
}
|
|
||||||
// 通知范围不允许修改, 如果通知范围不同抛出异常
|
|
||||||
if (!sysNoticeRequest.getNoticeScope().equals(sysNotice.getNoticeScope())) {
|
|
||||||
throw new SystemModularException(NoticeExceptionEnum.NOTICE_SCOPE_NOT_EDIT);
|
|
||||||
}
|
|
||||||
BeanUtil.copyProperties(sysNoticeRequest, sysNotice);
|
|
||||||
|
|
||||||
sysNotice.setNoticeScope(noticeScope);
|
|
||||||
|
|
||||||
if (this.updateById(sysNotice)) {
|
|
||||||
sendMessage(sysNotice);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void del(SysNoticeRequest sysNoticeRequest) {
|
public void del(SysNoticeRequest sysNoticeRequest) {
|
||||||
SysNotice sysNotice = this.querySysNoticeById(sysNoticeRequest);
|
SysNotice sysNotice = this.querySysNoticeById(sysNoticeRequest);
|
||||||
|
@ -105,6 +61,30 @@ public class SysNoticeServiceImpl extends ServiceImpl<SysNoticeMapper, SysNotice
|
||||||
this.updateById(sysNotice);
|
this.updateById(sysNotice);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void edit(SysNoticeRequest sysNoticeRequest) {
|
||||||
|
SysNotice sysNotice = this.querySysNoticeById(sysNoticeRequest);
|
||||||
|
|
||||||
|
// 通知范围不允许修改, 如果通知范围不同抛出异常
|
||||||
|
if (!sysNoticeRequest.getNoticeScope().equals(sysNotice.getNoticeScope())) {
|
||||||
|
throw new SystemModularException(NoticeExceptionEnum.NOTICE_SCOPE_NOT_EDIT);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取通知范围,如果为空则设置为all
|
||||||
|
String noticeScope = sysNotice.getNoticeScope();
|
||||||
|
if (StrUtil.isBlank(noticeScope)) {
|
||||||
|
sysNoticeRequest.setNoticeScope(NOTICE_SCOPE_ALL);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新属性
|
||||||
|
BeanUtil.copyProperties(sysNoticeRequest, sysNotice);
|
||||||
|
|
||||||
|
// 修改成功后发送信息
|
||||||
|
if (this.updateById(sysNotice)) {
|
||||||
|
sendMessage(sysNotice);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public SysNotice detail(SysNoticeRequest sysNoticeRequest) {
|
public SysNotice detail(SysNoticeRequest sysNoticeRequest) {
|
||||||
LambdaQueryWrapper<SysNotice> queryWrapper = this.createWrapper(sysNoticeRequest);
|
LambdaQueryWrapper<SysNotice> queryWrapper = this.createWrapper(sysNoticeRequest);
|
||||||
|
@ -124,7 +104,6 @@ public class SysNoticeServiceImpl extends ServiceImpl<SysNoticeMapper, SysNotice
|
||||||
return this.list(wrapper);
|
return this.list(wrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取通知管理
|
* 获取通知管理
|
||||||
*
|
*
|
||||||
|
@ -148,6 +127,13 @@ public class SysNoticeServiceImpl extends ServiceImpl<SysNoticeMapper, SysNotice
|
||||||
private LambdaQueryWrapper<SysNotice> createWrapper(SysNoticeRequest sysNoticeRequest) {
|
private LambdaQueryWrapper<SysNotice> createWrapper(SysNoticeRequest sysNoticeRequest) {
|
||||||
LambdaQueryWrapper<SysNotice> queryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<SysNotice> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
|
||||||
|
// 查询未删除状态的
|
||||||
|
queryWrapper.eq(SysNotice::getDelFlag, YesOrNotEnum.N.getCode());
|
||||||
|
|
||||||
|
if (ObjectUtil.isEmpty(sysNoticeRequest)) {
|
||||||
|
return queryWrapper;
|
||||||
|
}
|
||||||
|
|
||||||
// 通知id
|
// 通知id
|
||||||
Long noticeId = sysNoticeRequest.getNoticeId();
|
Long noticeId = sysNoticeRequest.getNoticeId();
|
||||||
|
|
||||||
|
@ -158,10 +144,37 @@ public class SysNoticeServiceImpl extends ServiceImpl<SysNoticeMapper, SysNotice
|
||||||
queryWrapper.like(ObjectUtil.isNotEmpty(noticeTitle), SysNotice::getNoticeTitle, noticeTitle);
|
queryWrapper.like(ObjectUtil.isNotEmpty(noticeTitle), SysNotice::getNoticeTitle, noticeTitle);
|
||||||
queryWrapper.eq(ObjectUtil.isNotEmpty(noticeId), SysNotice::getNoticeId, noticeId);
|
queryWrapper.eq(ObjectUtil.isNotEmpty(noticeId), SysNotice::getNoticeId, noticeId);
|
||||||
|
|
||||||
// 查询未删除状态的
|
|
||||||
queryWrapper.eq(SysNotice::getDelFlag, YesOrNotEnum.N.getCode());
|
|
||||||
|
|
||||||
return queryWrapper;
|
return queryWrapper;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
/**
|
||||||
|
* 发送消息
|
||||||
|
*
|
||||||
|
* @author fengshuonan
|
||||||
|
* @date 2021/2/8 19:30
|
||||||
|
*/
|
||||||
|
private void sendMessage(SysNotice sysNotice) {
|
||||||
|
MessageSendRequest message = new MessageSendRequest();
|
||||||
|
|
||||||
|
// 消息标题
|
||||||
|
message.setMessageTitle(sysNotice.getNoticeTitle());
|
||||||
|
|
||||||
|
// 消息内容
|
||||||
|
message.setMessageContent(sysNotice.getNoticeSummary());
|
||||||
|
|
||||||
|
// 消息优先级
|
||||||
|
message.setPriorityLevel(sysNotice.getPriorityLevel());
|
||||||
|
|
||||||
|
// 消息发送范围
|
||||||
|
message.setReceiveUserIds(sysNotice.getNoticeScope());
|
||||||
|
|
||||||
|
// 消息业务类型
|
||||||
|
message.setBusinessType(MessageBusinessTypeEnum.SYS_NOTICE.getCode());
|
||||||
|
|
||||||
|
message.setBusinessId(sysNotice.getNoticeId());
|
||||||
|
message.setMessageSendTime(new Date());
|
||||||
|
|
||||||
|
messageApi.sendMessage(message);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue