通知管理,代码结构优化

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 cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest;
import com.fasterxml.jackson.annotation.JsonFormat; 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.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.notice.SysNoticeRequest; import cn.stylefeng.roses.kernel.system.pojo.notice.request.SysNoticeRequest;
import org.springframework.beans.factory.annotation.Autowired; 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;
@ -20,10 +20,10 @@ import org.springframework.web.bind.annotation.RestController;
*/ */
@RestController @RestController
@ApiResource(name = "通知管理") @ApiResource(name = "通知管理")
public class NoticeController { public class SysNoticeController {
@Autowired @Autowired
private SysNoticeService sysResourceService; private SysNoticeService sysNoticeService;
/** /**
@ -34,7 +34,7 @@ public class NoticeController {
*/ */
@PostResource(name = "添加通知管理", path = "/sysNotice/add") @PostResource(name = "添加通知管理", path = "/sysNotice/add")
public ResponseData add(@RequestBody @Validated(SysNoticeRequest.add.class) SysNoticeRequest sysNoticeParam) { public ResponseData add(@RequestBody @Validated(SysNoticeRequest.add.class) SysNoticeRequest sysNoticeParam) {
sysResourceService.add(sysNoticeParam); sysNoticeService.add(sysNoticeParam);
return new SuccessResponseData(); return new SuccessResponseData();
} }
@ -46,7 +46,7 @@ public class NoticeController {
*/ */
@PostResource(name = "编辑通知管理", path = "/sysNotice/edit") @PostResource(name = "编辑通知管理", path = "/sysNotice/edit")
public ResponseData edit(@RequestBody @Validated(SysNoticeRequest.edit.class) SysNoticeRequest sysNoticeParam) { public ResponseData edit(@RequestBody @Validated(SysNoticeRequest.edit.class) SysNoticeRequest sysNoticeParam) {
sysResourceService.edit(sysNoticeParam); sysNoticeService.edit(sysNoticeParam);
return new SuccessResponseData(); return new SuccessResponseData();
} }
@ -59,7 +59,7 @@ public class NoticeController {
*/ */
@PostResource(name = "删除通知管理", path = "/sysNotice/delete") @PostResource(name = "删除通知管理", path = "/sysNotice/delete")
public ResponseData delete(@RequestBody @Validated(SysNoticeRequest.delete.class) SysNoticeRequest sysNoticeParam) { public ResponseData delete(@RequestBody @Validated(SysNoticeRequest.delete.class) SysNoticeRequest sysNoticeParam) {
sysResourceService.delete(sysNoticeParam); sysNoticeService.del(sysNoticeParam);
return new SuccessResponseData(); return new SuccessResponseData();
} }
@ -71,7 +71,7 @@ public class NoticeController {
*/ */
@GetResource(name = "查看通知管理", path = "/sysNotice/detail") @GetResource(name = "查看通知管理", path = "/sysNotice/detail")
public ResponseData detail(@Validated(SysNoticeRequest.detail.class) SysNoticeRequest sysNoticeParam) { 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") @GetResource(name = "查询通知管理", path = "/sysNotice/page")
public ResponseData page(SysNoticeRequest sysNoticeParam) { 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") @GetResource(name = "通知管理列表", path = "/sysNotice/list")
public ResponseData list(SysNoticeRequest sysNoticeParam) { 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.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.notice.SysNoticeRequest; import cn.stylefeng.roses.kernel.system.pojo.notice.request.SysNoticeRequest;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List; import java.util.List;
@ -19,60 +19,60 @@ public interface SysNoticeService extends IService<SysNotice>, NoticeServiceApi
/** /**
* *
* *
* @param SysNoticeParam * @param sysNoticeRequest
* @author liuhanqing * @author liuhanqing
* @date 2021/1/9 14:57 * @date 2021/1/9 14:57
*/ */
void add(SysNoticeRequest SysNoticeParam); void add(SysNoticeRequest sysNoticeRequest);
/** /**
* *
* *
* @param SysNoticeParam * @param sysNoticeRequest
* @author liuhanqing * @author liuhanqing
* @date 2021/1/9 14:58 * @date 2021/1/9 14:58
*/ */
void edit(SysNoticeRequest SysNoticeParam); void edit(SysNoticeRequest sysNoticeRequest);
/** /**
* *
* *
* @param SysNoticeParam * @param sysNoticeRequest
* @author liuhanqing * @author liuhanqing
* @date 2021/1/9 14:57 * @date 2021/1/9 14:57
*/ */
void delete(SysNoticeRequest SysNoticeParam); void del(SysNoticeRequest sysNoticeRequest);
/** /**
* *
* *
* @param SysNoticeParam * @param sysNoticeRequest
* @return * @return
* @author liuhanqing * @author liuhanqing
* @date 2021/1/9 14:56 * @date 2021/1/9 14:56
*/ */
SysNotice detail(SysNoticeRequest SysNoticeParam); SysNotice detail(SysNoticeRequest sysNoticeRequest);
/** /**
* *
* *
* @param SysNoticeParam * @param sysNoticeRequest
* @return * @return
* @author liuhanqing * @author liuhanqing
* @date 2021/1/9 14:56 * @date 2021/1/9 14:56
*/ */
PageResult<SysNotice> page(SysNoticeRequest SysNoticeParam); PageResult<SysNotice> findPage(SysNoticeRequest sysNoticeRequest);
/** /**
* *
* *
* @param SysNoticeParam * @param sysNoticeRequest
* @return * @return
* @author liuhanqing * @author liuhanqing
* @date 2021/1/9 14:56 * @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.db.api.pojo.page.PageResult;
import cn.stylefeng.roses.kernel.message.api.MessageApi; import cn.stylefeng.roses.kernel.message.api.MessageApi;
import cn.stylefeng.roses.kernel.message.api.enums.MessageBusinessTypeEnum; 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.entity.SysNotice;
import cn.stylefeng.roses.kernel.notice.modular.mapper.SysNoticeMapper; 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.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.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.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;
@ -45,7 +45,7 @@ public class SysNoticeServiceImpl extends ServiceImpl<SysNoticeMapper, SysNotice
private MessageApi messageApi; private MessageApi messageApi;
private void sendMessage(SysNotice sysNotice) { private void sendMessage(SysNotice sysNotice) {
MessageSendParam message = new MessageSendParam(); MessageSendRequest message = new MessageSendRequest();
// 消息标题 // 消息标题
message.setMessageTitle(sysNotice.getNoticeTitle()); message.setMessageTitle(sysNotice.getNoticeTitle());
// 消息内容 // 消息内容
@ -78,17 +78,17 @@ public class SysNoticeServiceImpl extends ServiceImpl<SysNoticeMapper, SysNotice
@Override @Override
public void edit(SysNoticeRequest sysNoticeRequest) { public void edit(SysNoticeRequest sysNoticeRequest) {
SysNotice sysNotice = this.querySysNotice(sysNoticeRequest); SysNotice sysNotice = this.querySysNoticeById(sysNoticeRequest);
String noticeScope = sysNotice.getNoticeScope(); String noticeScope = sysNotice.getNoticeScope();
if (StrUtil.isBlank(sysNoticeRequest.getNoticeScope())) { if (StrUtil.isBlank(sysNoticeRequest.getNoticeScope())) {
sysNoticeRequest.setNoticeScope(NOTICE_SCOPE_ALL); 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); BeanUtil.copyProperties(sysNoticeRequest, sysNotice);
// 通知范围不允许修改
sysNotice.setNoticeScope(noticeScope); sysNotice.setNoticeScope(noticeScope);
if (this.updateById(sysNotice)) { if (this.updateById(sysNotice)) {
@ -98,8 +98,8 @@ public class SysNoticeServiceImpl extends ServiceImpl<SysNoticeMapper, SysNotice
@Override @Override
public void delete(SysNoticeRequest sysNoticeRequest) { public void del(SysNoticeRequest sysNoticeRequest) {
SysNotice sysNotice = this.querySysNotice(sysNoticeRequest); SysNotice sysNotice = this.querySysNoticeById(sysNoticeRequest);
// 逻辑删除 // 逻辑删除
sysNotice.setDelFlag(YesOrNotEnum.Y.getCode()); sysNotice.setDelFlag(YesOrNotEnum.Y.getCode());
this.updateById(sysNotice); this.updateById(sysNotice);
@ -107,18 +107,19 @@ public class SysNoticeServiceImpl extends ServiceImpl<SysNoticeMapper, SysNotice
@Override @Override
public SysNotice detail(SysNoticeRequest sysNoticeRequest) { public SysNotice detail(SysNoticeRequest sysNoticeRequest) {
return this.querySysNotice(sysNoticeRequest); LambdaQueryWrapper<SysNotice> queryWrapper = this.createWrapper(sysNoticeRequest);
return this.getOne(queryWrapper, false);
} }
@Override @Override
public PageResult<SysNotice> page(SysNoticeRequest sysNoticeRequest) { public PageResult<SysNotice> findPage(SysNoticeRequest sysNoticeRequest) {
LambdaQueryWrapper<SysNotice> wrapper = createWrapper(sysNoticeRequest); LambdaQueryWrapper<SysNotice> wrapper = createWrapper(sysNoticeRequest);
Page<SysNotice> page = this.page(PageFactory.defaultPage(), wrapper); Page<SysNotice> page = this.page(PageFactory.defaultPage(), wrapper);
return PageResultFactory.createPageResult(page); return PageResultFactory.createPageResult(page);
} }
@Override @Override
public List<SysNotice> list(SysNoticeRequest sysNoticeRequest) { public List<SysNotice> findList(SysNoticeRequest sysNoticeRequest) {
LambdaQueryWrapper<SysNotice> wrapper = createWrapper(sysNoticeRequest); LambdaQueryWrapper<SysNotice> wrapper = createWrapper(sysNoticeRequest);
return this.list(wrapper); return this.list(wrapper);
} }
@ -130,10 +131,10 @@ public class SysNoticeServiceImpl extends ServiceImpl<SysNoticeMapper, SysNotice
* @author liuhanqing * @author liuhanqing
* @date 2021/1/9 16:56 * @date 2021/1/9 16:56
*/ */
private SysNotice querySysNotice(SysNoticeRequest sysNoticeRequest) { private SysNotice querySysNoticeById(SysNoticeRequest sysNoticeRequest) {
SysNotice sysNotice = this.getById(sysNoticeRequest.getNoticeId()); SysNotice sysNotice = this.getById(sysNoticeRequest.getNoticeId());
if (ObjectUtil.isNull(sysNotice)) { if (ObjectUtil.isNull(sysNotice)) {
throw new ServiceException(NoticeExceptionEnum.NOTICE_NOT_EXIST); throw new SystemModularException(NoticeExceptionEnum.NOTICE_NOT_EXIST, sysNoticeRequest.getNoticeId());
} }
return sysNotice; return sysNotice;
} }
@ -146,18 +147,16 @@ 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<>();
if (ObjectUtil.isNotNull(sysNoticeRequest)) {
// 根据id查询
if (ObjectUtil.isNotEmpty(sysNoticeRequest.getNoticeId())) {
queryWrapper.eq(SysNotice::getNoticeId, sysNoticeRequest.getNoticeId());
}
// 根据消息标题模糊查询 // 通知id
if (ObjectUtil.isNotEmpty(sysNoticeRequest.getNoticeTitle())) { Long noticeId = sysNoticeRequest.getNoticeId();
queryWrapper.like(SysNotice::getNoticeTitle, sysNoticeRequest.getNoticeTitle()).or().like(SysNotice::getNoticeSummary, sysNoticeRequest.getNoticeTitle()).or().like(SysNotice::getNoticeContent, sysNoticeRequest.getNoticeTitle());
}
} // 通知标题
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()); queryWrapper.eq(SysNotice::getDelFlag, YesOrNotEnum.N.getCode());