禅道#782、#890问题修复

This commit is contained in:
gaoqr
2024-12-06 11:00:19 +08:00
parent e1d6c7277c
commit 4faa7eeae9
4 changed files with 24 additions and 2 deletions
@@ -1,10 +1,11 @@
package com.cf.imes.module.system.service.notice;
import cn.hutool.core.util.ObjectUtil;
import com.cf.imes.framework.common.enums.CommonStatusEnum;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.cf.imes.framework.common.exception.util.ServiceExceptionUtil;
import com.cf.imes.framework.common.pojo.PageResult;
import com.cf.imes.framework.common.util.object.BeanUtils;
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.cf.imes.module.system.controller.admin.notice.vo.NoticePageReqVO;
import com.cf.imes.module.system.controller.admin.notice.vo.NoticeSaveReqVO;
import com.cf.imes.module.system.dal.dataobject.notice.NoticeDO;
@@ -16,6 +17,7 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.cf.imes.module.system.enums.ErrorCodeConstants.NOTICE_NAME_UNIQE_ERROR;
/**
* 通知公告 Service 实现类
@@ -30,6 +32,8 @@ public class NoticeServiceImpl implements NoticeService {
@Override
public Long createNotice(NoticeSaveReqVO createReqVO) {
// 标题唯一性校验
validateNameExists(createReqVO);
NoticeDO notice = BeanUtils.toBean(createReqVO, NoticeDO.class);
noticeMapper.insert(notice);
return notice.getId();
@@ -39,6 +43,8 @@ public class NoticeServiceImpl implements NoticeService {
public void updateNotice(NoticeSaveReqVO updateReqVO) {
// 校验是否存在
validateNoticeExists(updateReqVO.getId());
// 标题唯一性校验
validateNameExists(updateReqVO);
// 更新通知公告
NoticeDO updateObj = BeanUtils.toBean(updateReqVO, NoticeDO.class);
noticeMapper.updateById(updateObj);
@@ -73,4 +79,19 @@ public class NoticeServiceImpl implements NoticeService {
}
}
/**
* 校验公告标题唯一性
*
* @param reqVO
*/
public void validateNameExists(NoticeSaveReqVO reqVO) {
Long noticeId = reqVO.getId();
LambdaQueryWrapper<NoticeDO> wrapper = new LambdaQueryWrapperX<NoticeDO>().eq(NoticeDO::getTitle, reqVO.getTitle());
if (ObjectUtil.isNotNull(noticeId)) {
wrapper.ne(NoticeDO::getId, noticeId);
}
if (noticeMapper.exists(wrapper)) {
throw exception(NOTICE_NAME_UNIQE_ERROR);
}
}
}