mirror of https://gitee.com/stylefeng/roses
【8.0.5】【notice】更新编辑通知接口
parent
48d8bb464e
commit
84ed045a8b
|
@ -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", "通知已经发布,无法修改");
|
||||
|
||||
/**
|
||||
* 错误编码
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue