From 4faa7eeae936bac0daa400f75efd1072c67ca766 Mon Sep 17 00:00:00 2001 From: gaoqr <13665037151@163.com> Date: Fri, 6 Dec 2024 10:53:48 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A6=85=E9=81=93#782=E3=80=81#890=E9=97=AE?= =?UTF-8?q?=E9=A2=98=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lib/ureport-core-2.3.0-SNAPSHOT.jar | Bin 929078 -> 929104 bytes .../mapper/template/ReportTemplateMapper.xml | 2 +- .../system/enums/ErrorCodeConstants.java | 1 + .../service/notice/NoticeServiceImpl.java | 23 +++++++++++++++++- 4 files changed, 24 insertions(+), 2 deletions(-) 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 3887f34f82a92dba914e1cd5e3829fc99ad596cb..a4b27a127adbd17bd6b4411b0f5fffdf5e5f6bd0 100644 GIT binary patch delta 44310 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 delta 44881 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 - 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); + } + } }