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);
+ }
+ }
}