【notice】更新notice模块

pull/3/head
fengshuonan 2021-02-08 19:35:53 +08:00
parent 43055858aa
commit 914e5bff2f
5 changed files with 84 additions and 74 deletions

View File

@ -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;

View File

@ -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
*/ */

View File

@ -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));
} }
}
}

View File

@ -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);
}
}

View File

@ -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);
}
}