diff --git a/cf-module-report/cf-module-report-biz/src/main/resources/lib/ureport-core-2.3.0-SNAPSHOT.jar b/cf-module-report/cf-module-report-biz/src/main/resources/lib/ureport-core-2.3.0-SNAPSHOT.jar index 3887f34f8..a4b27a127 100644 Binary files a/cf-module-report/cf-module-report-biz/src/main/resources/lib/ureport-core-2.3.0-SNAPSHOT.jar and b/cf-module-report/cf-module-report-biz/src/main/resources/lib/ureport-core-2.3.0-SNAPSHOT.jar differ diff --git a/cf-module-report/cf-module-report-biz/src/main/resources/mapper/template/ReportTemplateMapper.xml b/cf-module-report/cf-module-report-biz/src/main/resources/mapper/template/ReportTemplateMapper.xml index a6bcd6fd5..e0323a43b 100644 --- a/cf-module-report/cf-module-report-biz/src/main/resources/mapper/template/ReportTemplateMapper.xml +++ b/cf-module-report/cf-module-report-biz/src/main/resources/mapper/template/ReportTemplateMapper.xml @@ -7,7 +7,7 @@ FROM report_template WHERE name = #{reqVO.name} - id != #{reqVO.id} + AND id != #{reqVO.id} AND type = #{type} diff --git a/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/enums/ErrorCodeConstants.java b/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/enums/ErrorCodeConstants.java index cecc0932c..05829fd6e 100644 --- a/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/enums/ErrorCodeConstants.java +++ b/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/enums/ErrorCodeConstants.java @@ -92,6 +92,7 @@ public class ErrorCodeConstants { // ========== 通知公告 1-002-008-000 ========== public static final ErrorCode NOTICE_NOT_FOUND = new ErrorCode(1_002_008_001, "当前通知公告不存在"); + public static final ErrorCode NOTICE_NAME_UNIQE_ERROR = new ErrorCode(1_002_008_002, "公告标题已存在,请编辑后重试"); // ========== 短信渠道 1-002-011-000 ========== public static final ErrorCode SMS_CHANNEL_NOT_EXISTS = new ErrorCode(1_002_011_000, "短信渠道不存在"); diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/notice/NoticeServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/notice/NoticeServiceImpl.java index c8c249efb..2e7accf72 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/notice/NoticeServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/notice/NoticeServiceImpl.java @@ -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 wrapper = new LambdaQueryWrapperX().eq(NoticeDO::getTitle, reqVO.getTitle()); + if (ObjectUtil.isNotNull(noticeId)) { + wrapper.ne(NoticeDO::getId, noticeId); + } + if (noticeMapper.exists(wrapper)) { + throw exception(NOTICE_NAME_UNIQE_ERROR); + } + } }