【8.0.5】【notice】更新编辑通知接口

pull/60/head
fengshuonan 2024-01-12 17:04:07 +08:00
parent 48d8bb464e
commit 84ed045a8b
2 changed files with 42 additions and 13 deletions

View File

@ -16,12 +16,17 @@ public enum SysNoticeExceptionEnum implements AbstractExceptionEnum {
/**
*
*/
SYS_NOTICE_NOT_EXISTED(RuleConstants.USER_OPERATION_ERROR_TYPE_CODE + "10001", "查询结果不存在"),
SYS_NOTICE_NOT_EXISTED(RuleConstants.USER_OPERATION_ERROR_TYPE_CODE + "10001", "通知不存在"),
/**
*
*/
SYS_NOTICE_SCOPE_EMPTY(RuleConstants.USER_OPERATION_ERROR_TYPE_CODE + "10002", "通知范围不能为空");
SYS_NOTICE_SCOPE_EMPTY(RuleConstants.USER_OPERATION_ERROR_TYPE_CODE + "10002", "通知范围不能为空"),
/**
*
*/
SYS_NOTICE_CANT_EDIT(RuleConstants.USER_OPERATION_ERROR_TYPE_CODE + "10003", "通知已经发布,无法修改");
/**
*

View File

@ -35,18 +35,10 @@ public class SysNoticeServiceImpl extends ServiceImpl<SysNoticeMapper, SysNotice
@Transactional(rollbackFor = Exception.class)
public void add(SysNoticeRequest sysNoticeRequest) {
// 1. 判断通知人员范围不能为空
NoticeUserScope noticeUserScope = sysNoticeRequest.getNoticeUserScope();
if (noticeUserScope == null) {
throw new ServiceException(SysNoticeExceptionEnum.SYS_NOTICE_SCOPE_EMPTY);
}
// 1. 校验通知的人员范围是否为空
this.validateUserScope(sysNoticeRequest);
// 2. 通知的人员和部门不能同时为空
if (ObjectUtil.isEmpty(noticeUserScope.getPointOrgList()) && ObjectUtil.isEmpty(noticeUserScope.getPointUserList())) {
throw new ServiceException(SysNoticeExceptionEnum.SYS_NOTICE_SCOPE_EMPTY);
}
// 3. 存储基础信息
// 2. 存储基础信息
SysNotice sysNotice = new SysNotice();
BeanUtil.copyProperties(sysNoticeRequest, sysNotice);
@ -70,7 +62,20 @@ public class SysNoticeServiceImpl extends ServiceImpl<SysNoticeMapper, SysNotice
@Override
public void edit(SysNoticeRequest sysNoticeRequest) {
// 1. 校验通知的人员范围是否为空
this.validateUserScope(sysNoticeRequest);
// 2. 如果当前的通知是已经发布了,则不允许修改
SysNotice sysNotice = this.querySysNotice(sysNoticeRequest);
if (sysNotice == null) {
throw new ServiceException(SysNoticeExceptionEnum.SYS_NOTICE_NOT_EXISTED);
}
if (NoticePublishStatusEnum.ALREADY.getCode().equals(sysNotice.getPublishStatus())) {
throw new ServiceException(SysNoticeExceptionEnum.SYS_NOTICE_CANT_EDIT);
}
// 3. 修改通知信息
BeanUtil.copyProperties(sysNoticeRequest, sysNotice);
this.updateById(sysNotice);
}
@ -142,4 +147,23 @@ public class SysNoticeServiceImpl extends ServiceImpl<SysNoticeMapper, SysNotice
return queryWrapper;
}
/**
*
*
* @author fengshuonan
* @since 2024-01-12 17:03
*/
private void validateUserScope(SysNoticeRequest sysNoticeRequest) {
// 1. 判断通知人员范围不能为空
NoticeUserScope noticeUserScope = sysNoticeRequest.getNoticeUserScope();
if (noticeUserScope == null) {
throw new ServiceException(SysNoticeExceptionEnum.SYS_NOTICE_SCOPE_EMPTY);
}
// 2. 通知的人员和部门不能同时为空
if (ObjectUtil.isEmpty(noticeUserScope.getPointOrgList()) && ObjectUtil.isEmpty(noticeUserScope.getPointUserList())) {
throw new ServiceException(SysNoticeExceptionEnum.SYS_NOTICE_SCOPE_EMPTY);
}
}
}