通知管理,代码结构优化

pull/3/head
liuhanqing 2021-02-02 22:20:56 +08:00
parent f2fa18cdd6
commit 213785d89f
5 changed files with 49 additions and 49 deletions

View File

@ -41,7 +41,8 @@ public enum NoticeExceptionEnum implements AbstractExceptionEnum {
/**
*
*/
NOTICE_NOT_EXIST(RuleConstants.USER_OPERATION_ERROR_TYPE_CODE + SystemConstants.SYSTEM_EXCEPTION_STEP_CODE + "91", "通知不存在"),
NOTICE_NOT_EXIST(RuleConstants.USER_OPERATION_ERROR_TYPE_CODE + SystemConstants.SYSTEM_EXCEPTION_STEP_CODE + "91", "通知不存在id为{}"),
/**
*
*/

View File

@ -1,4 +1,4 @@
package cn.stylefeng.roses.kernel.system.pojo.notice;
package cn.stylefeng.roses.kernel.system.pojo.notice.request;
import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest;
import com.fasterxml.jackson.annotation.JsonFormat;

View File

@ -6,7 +6,7 @@ import cn.stylefeng.roses.kernel.resource.api.annotation.GetResource;
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.SuccessResponseData;
import cn.stylefeng.roses.kernel.system.pojo.notice.SysNoticeRequest;
import cn.stylefeng.roses.kernel.system.pojo.notice.request.SysNoticeRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestBody;
@ -20,10 +20,10 @@ import org.springframework.web.bind.annotation.RestController;
*/
@RestController
@ApiResource(name = "通知管理")
public class NoticeController {
public class SysNoticeController {
@Autowired
private SysNoticeService sysResourceService;
private SysNoticeService sysNoticeService;
/**
@ -34,7 +34,7 @@ public class NoticeController {
*/
@PostResource(name = "添加通知管理", path = "/sysNotice/add")
public ResponseData add(@RequestBody @Validated(SysNoticeRequest.add.class) SysNoticeRequest sysNoticeParam) {
sysResourceService.add(sysNoticeParam);
sysNoticeService.add(sysNoticeParam);
return new SuccessResponseData();
}
@ -46,7 +46,7 @@ public class NoticeController {
*/
@PostResource(name = "编辑通知管理", path = "/sysNotice/edit")
public ResponseData edit(@RequestBody @Validated(SysNoticeRequest.edit.class) SysNoticeRequest sysNoticeParam) {
sysResourceService.edit(sysNoticeParam);
sysNoticeService.edit(sysNoticeParam);
return new SuccessResponseData();
}
@ -59,7 +59,7 @@ public class NoticeController {
*/
@PostResource(name = "删除通知管理", path = "/sysNotice/delete")
public ResponseData delete(@RequestBody @Validated(SysNoticeRequest.delete.class) SysNoticeRequest sysNoticeParam) {
sysResourceService.delete(sysNoticeParam);
sysNoticeService.del(sysNoticeParam);
return new SuccessResponseData();
}
@ -71,7 +71,7 @@ public class NoticeController {
*/
@GetResource(name = "查看通知管理", path = "/sysNotice/detail")
public ResponseData detail(@Validated(SysNoticeRequest.detail.class) SysNoticeRequest sysNoticeParam) {
return new SuccessResponseData(sysResourceService.detail(sysNoticeParam));
return new SuccessResponseData(sysNoticeService.detail(sysNoticeParam));
}
/**
@ -82,7 +82,7 @@ public class NoticeController {
*/
@GetResource(name = "查询通知管理", path = "/sysNotice/page")
public ResponseData page(SysNoticeRequest sysNoticeParam) {
return new SuccessResponseData(sysResourceService.page(sysNoticeParam));
return new SuccessResponseData(sysNoticeService.findPage(sysNoticeParam));
}
/**
@ -93,6 +93,6 @@ public class NoticeController {
*/
@GetResource(name = "通知管理列表", path = "/sysNotice/list")
public ResponseData list(SysNoticeRequest sysNoticeParam) {
return new SuccessResponseData(sysResourceService.list(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.notice.modular.entity.SysNotice;
import cn.stylefeng.roses.kernel.system.NoticeServiceApi;
import cn.stylefeng.roses.kernel.system.pojo.notice.SysNoticeRequest;
import cn.stylefeng.roses.kernel.system.pojo.notice.request.SysNoticeRequest;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
@ -19,60 +19,60 @@ public interface SysNoticeService extends IService<SysNotice>, NoticeServiceApi
/**
*
*
* @param SysNoticeParam
* @param sysNoticeRequest
* @author liuhanqing
* @date 2021/1/9 14:57
*/
void add(SysNoticeRequest SysNoticeParam);
void add(SysNoticeRequest sysNoticeRequest);
/**
*
*
* @param SysNoticeParam
* @param sysNoticeRequest
* @author liuhanqing
* @date 2021/1/9 14:58
*/
void edit(SysNoticeRequest SysNoticeParam);
void edit(SysNoticeRequest sysNoticeRequest);
/**
*
*
* @param SysNoticeParam
* @param sysNoticeRequest
* @author liuhanqing
* @date 2021/1/9 14:57
*/
void delete(SysNoticeRequest SysNoticeParam);
void del(SysNoticeRequest sysNoticeRequest);
/**
*
*
* @param SysNoticeParam
* @param sysNoticeRequest
* @return
* @author liuhanqing
* @date 2021/1/9 14:56
*/
SysNotice detail(SysNoticeRequest SysNoticeParam);
SysNotice detail(SysNoticeRequest sysNoticeRequest);
/**
*
*
* @param SysNoticeParam
* @param sysNoticeRequest
* @return
* @author liuhanqing
* @date 2021/1/9 14:56
*/
PageResult<SysNotice> page(SysNoticeRequest SysNoticeParam);
PageResult<SysNotice> findPage(SysNoticeRequest sysNoticeRequest);
/**
*
*
* @param SysNoticeParam
* @param sysNoticeRequest
* @return
* @author liuhanqing
* @date 2021/1/9 14:56
*/
List<SysNotice> list(SysNoticeRequest SysNoticeParam);
List<SysNotice> findList(SysNoticeRequest sysNoticeRequest);
}

View File

@ -8,14 +8,14 @@ import cn.stylefeng.roses.kernel.db.api.factory.PageResultFactory;
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
import cn.stylefeng.roses.kernel.message.api.MessageApi;
import cn.stylefeng.roses.kernel.message.api.enums.MessageBusinessTypeEnum;
import cn.stylefeng.roses.kernel.message.api.pojo.MessageSendParam;
import cn.stylefeng.roses.kernel.message.api.pojo.request.MessageSendRequest;
import cn.stylefeng.roses.kernel.notice.modular.entity.SysNotice;
import cn.stylefeng.roses.kernel.notice.modular.mapper.SysNoticeMapper;
import cn.stylefeng.roses.kernel.notice.modular.service.SysNoticeService;
import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum;
import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException;
import cn.stylefeng.roses.kernel.system.exception.SystemModularException;
import cn.stylefeng.roses.kernel.system.exception.enums.NoticeExceptionEnum;
import cn.stylefeng.roses.kernel.system.pojo.notice.SysNoticeRequest;
import cn.stylefeng.roses.kernel.system.pojo.notice.request.SysNoticeRequest;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@ -45,7 +45,7 @@ public class SysNoticeServiceImpl extends ServiceImpl<SysNoticeMapper, SysNotice
private MessageApi messageApi;
private void sendMessage(SysNotice sysNotice) {
MessageSendParam message = new MessageSendParam();
MessageSendRequest message = new MessageSendRequest();
// 消息标题
message.setMessageTitle(sysNotice.getNoticeTitle());
// 消息内容
@ -78,17 +78,17 @@ public class SysNoticeServiceImpl extends ServiceImpl<SysNoticeMapper, SysNotice
@Override
public void edit(SysNoticeRequest sysNoticeRequest) {
SysNotice sysNotice = this.querySysNotice(sysNoticeRequest);
SysNotice sysNotice = this.querySysNoticeById(sysNoticeRequest);
String noticeScope = sysNotice.getNoticeScope();
if (StrUtil.isBlank(sysNoticeRequest.getNoticeScope())) {
sysNoticeRequest.setNoticeScope(NOTICE_SCOPE_ALL);
}
if (sysNoticeRequest.equals(sysNotice.getNoticeScope())) {
throw new ServiceException(NoticeExceptionEnum.NOTICE_SCOPE_NOT_EDIT);
// 通知范围不允许修改, 如果通知范围不同抛出异常
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)) {
@ -98,8 +98,8 @@ public class SysNoticeServiceImpl extends ServiceImpl<SysNoticeMapper, SysNotice
@Override
public void delete(SysNoticeRequest sysNoticeRequest) {
SysNotice sysNotice = this.querySysNotice(sysNoticeRequest);
public void del(SysNoticeRequest sysNoticeRequest) {
SysNotice sysNotice = this.querySysNoticeById(sysNoticeRequest);
// 逻辑删除
sysNotice.setDelFlag(YesOrNotEnum.Y.getCode());
this.updateById(sysNotice);
@ -107,18 +107,19 @@ public class SysNoticeServiceImpl extends ServiceImpl<SysNoticeMapper, SysNotice
@Override
public SysNotice detail(SysNoticeRequest sysNoticeRequest) {
return this.querySysNotice(sysNoticeRequest);
LambdaQueryWrapper<SysNotice> queryWrapper = this.createWrapper(sysNoticeRequest);
return this.getOne(queryWrapper, false);
}
@Override
public PageResult<SysNotice> page(SysNoticeRequest sysNoticeRequest) {
public PageResult<SysNotice> findPage(SysNoticeRequest sysNoticeRequest) {
LambdaQueryWrapper<SysNotice> wrapper = createWrapper(sysNoticeRequest);
Page<SysNotice> page = this.page(PageFactory.defaultPage(), wrapper);
return PageResultFactory.createPageResult(page);
}
@Override
public List<SysNotice> list(SysNoticeRequest sysNoticeRequest) {
public List<SysNotice> findList(SysNoticeRequest sysNoticeRequest) {
LambdaQueryWrapper<SysNotice> wrapper = createWrapper(sysNoticeRequest);
return this.list(wrapper);
}
@ -130,10 +131,10 @@ public class SysNoticeServiceImpl extends ServiceImpl<SysNoticeMapper, SysNotice
* @author liuhanqing
* @date 2021/1/9 16:56
*/
private SysNotice querySysNotice(SysNoticeRequest sysNoticeRequest) {
private SysNotice querySysNoticeById(SysNoticeRequest sysNoticeRequest) {
SysNotice sysNotice = this.getById(sysNoticeRequest.getNoticeId());
if (ObjectUtil.isNull(sysNotice)) {
throw new ServiceException(NoticeExceptionEnum.NOTICE_NOT_EXIST);
throw new SystemModularException(NoticeExceptionEnum.NOTICE_NOT_EXIST, sysNoticeRequest.getNoticeId());
}
return sysNotice;
}
@ -146,18 +147,16 @@ public class SysNoticeServiceImpl extends ServiceImpl<SysNoticeMapper, SysNotice
*/
private LambdaQueryWrapper<SysNotice> createWrapper(SysNoticeRequest sysNoticeRequest) {
LambdaQueryWrapper<SysNotice> queryWrapper = new LambdaQueryWrapper<>();
if (ObjectUtil.isNotNull(sysNoticeRequest)) {
// 根据id查询
if (ObjectUtil.isNotEmpty(sysNoticeRequest.getNoticeId())) {
queryWrapper.eq(SysNotice::getNoticeId, sysNoticeRequest.getNoticeId());
}
// 根据消息标题模糊查询
if (ObjectUtil.isNotEmpty(sysNoticeRequest.getNoticeTitle())) {
queryWrapper.like(SysNotice::getNoticeTitle, sysNoticeRequest.getNoticeTitle()).or().like(SysNotice::getNoticeSummary, sysNoticeRequest.getNoticeTitle()).or().like(SysNotice::getNoticeContent, sysNoticeRequest.getNoticeTitle());
}
// 通知id
Long noticeId = sysNoticeRequest.getNoticeId();
}
// 通知标题
String noticeTitle = sysNoticeRequest.getNoticeTitle();
// 拼接sql 条件
queryWrapper.like(ObjectUtil.isNotEmpty(noticeTitle), SysNotice::getNoticeTitle, noticeTitle);
queryWrapper.eq(ObjectUtil.isNotEmpty(noticeId), SysNotice::getNoticeId, noticeId);
// 查询未删除状态的
queryWrapper.eq(SysNotice::getDelFlag, YesOrNotEnum.N.getCode());