From 093f80bc79ec0cc30fc70eba53dd22e8671c339b Mon Sep 17 00:00:00 2001 From: linfso Date: Mon, 20 May 2024 20:05:45 +0800 Subject: [PATCH] md --- .../xdadan/erp/web/emis/EmisCountryController.java | 9 ++++++++- .../xdadan/erp/emis/mapper/EmisCountryMapper.java | 13 +++++++++++++ .../erp/emis/service/IEmisCountryService.java | 5 +++-- .../emis/service/impl/EmisCountryServiceImpl.java | 11 +++++++++-- 4 files changed, 33 insertions(+), 5 deletions(-) diff --git a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCountryController.java b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCountryController.java index 69caba096..9f186f6a3 100644 --- a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCountryController.java +++ b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCountryController.java @@ -16,6 +16,7 @@ import javax.servlet.http.HttpServletResponse; import com.xdadan.erp.common.annotation.filter.jackson.JacksonFilter; import com.xdadan.erp.emis.domain.EmisSite; +import com.xdadan.erp.emis.domain.exception.EmisBizError; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.GetMapping; @@ -104,7 +105,13 @@ public class EmisCountryController extends BaseController @PostMapping public AjaxResult add(@RequestBody EmisCountry emisCountry) { - return toAjax(emisCountryService.insertEmisCountry(emisCountry)); + // 判断国家是否有重复 + try { + return toAjax(emisCountryService.insertEmisCountry(emisCountry)); + } catch (EmisBizError emisBizError) { + emisBizError.printStackTrace(); + return AjaxResult.error(emisBizError.getMessage()); + } } /** diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisCountryMapper.java b/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisCountryMapper.java index 2be360bbd..7d505db21 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisCountryMapper.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisCountryMapper.java @@ -13,6 +13,9 @@ package com.xdadan.erp.emis.mapper; import java.util.List; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.xdadan.erp.emis.domain.EmisCountry; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + /** * @ClassName EmisCountryMapper * @Description

国家 Mapper 接口

@@ -21,6 +24,16 @@ import com.xdadan.erp.emis.domain.EmisCountry; */ public interface EmisCountryMapper extends BaseMapper { + + @Select("select count(1) from emis_country where name=${name} or name_en=${nameEn} or code ") + public int checkCountryIsExists(@Param("name") String name, + @Param("nameEn") String nameEn, + @Param("code") String code, + @Param("two_code") String twoCode, + @Param("three_code") String threeCode + + ); + /** * 主键查询 * @param id diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisCountryService.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisCountryService.java index 1fe6d854c..8112f9115 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisCountryService.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisCountryService.java @@ -11,8 +11,9 @@ package com.xdadan.erp.emis.service; import java.util.List; import com.xdadan.erp.emis.domain.EmisCountry; +import com.xdadan.erp.emis.domain.exception.EmisBizError; -/** + /** * @ClassName EmisCountryService * @Description 国家 * @author linfso @@ -41,7 +42,7 @@ public interface IEmisCountryService * @param emisCountry 国家 * @return 结果 */ - public int insertEmisCountry(EmisCountry emisCountry); + public int insertEmisCountry(EmisCountry emisCountry) throws EmisBizError; /** * 修改国家 diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisCountryServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisCountryServiceImpl.java index 6aa51feb4..54f0d615b 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisCountryServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisCountryServiceImpl.java @@ -11,6 +11,10 @@ package com.xdadan.erp.emis.service.impl; import java.util.List; + +import com.xdadan.erp.emis.domain.enumtype.EmisBizErrorType; +import com.xdadan.erp.emis.domain.exception.EmisBizError; +import org.apache.ibatis.annotations.Param; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.xdadan.erp.emis.domain.EmisCountry; @@ -60,8 +64,11 @@ public class EmisCountryServiceImpl implements IEmisCountryService * @return 结果 */ @Override - public int insertEmisCountry(EmisCountry emisCountry) - { + public int insertEmisCountry(EmisCountry emisCountry) throws EmisBizError { + int cnt=emisCountryMapper.checkCountryIsExists(emisCountry.getName(),emisCountry.getNameEn(),emisCountry.getCode(),emisCountry.getTwoCode(),emisCountry.getThreeCode()); + if(cnt>0){ + throw new EmisBizError(EmisBizErrorType.FAIL,"国家信息不能重复,请检查!"); + } return emisCountryMapper.insertEmisCountry(emisCountry); }