From 0b459f932333ab6b67fe5aaac6b8bff871ada5f6 Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Thu, 16 Feb 2023 14:54:53 +0800 Subject: [PATCH] 运费模板指定省份不能重复 --- src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsService.java | 7 +++++++ src/main/resources/templates/febs/views/modules/goods/carriageRuleAdd.html | 11 +++++++---- src/main/resources/templates/febs/views/modules/goods/carriageRuleUpdate.html | 10 ++++++++-- src/main/java/cc/mrbird/febs/mall/vo/AdminMallCarriageRuleVo.java | 2 ++ 4 files changed, 24 insertions(+), 6 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsService.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsService.java index 94b3d3e..ee9826b 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsService.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsService.java @@ -672,6 +672,7 @@ List<MallCarriageRuleInfo> mallCarriageRuleInfos = mallCarriageRuleInfoMapper.selectMallCarriageRuleInfoByRuleIdAndAreaAddress(id,null); if(CollUtil.isNotEmpty(mallCarriageRuleInfos)){ + StringBuffer areaAddressStr = new StringBuffer(); List<AdminMallCarriageRuleInfoVo> adminCarriageRuleInfoVos = new ArrayList<>(); for(MallCarriageRuleInfo mallCarriageRuleInfo : mallCarriageRuleInfos){ if(StrUtil.isNotEmpty(mallCarriageRuleInfo.getAreaAddress())){ @@ -683,6 +684,8 @@ adminMallCarriageRuleInfoVo.setMoreCnt(mallCarriageRuleInfo.getMoreCnt()); adminMallCarriageRuleInfoVo.setMorePrice(mallCarriageRuleInfo.getMorePrice()); adminCarriageRuleInfoVos.add(adminMallCarriageRuleInfoVo); + + areaAddressStr.append(mallCarriageRuleInfo.getAreaAddress()); }else{ //默认规则 adminMallCarriageRuleVo.setBasicCntDefault(mallCarriageRuleInfo.getBasicCnt()); @@ -693,6 +696,7 @@ } } adminMallCarriageRuleVo.setAdminCarriageRuleInfoVos(adminCarriageRuleInfoVos); + adminMallCarriageRuleVo.setAreaAddressStr(areaAddressStr.toString()); } return adminMallCarriageRuleVo; } @@ -715,6 +719,9 @@ } return new FebsResponse().fail().message(goodsNameBuffer+"正在使用当前模板,请先下架商品"); } + + mallCarriageRule.setName(adminCarriageRuleUpdateDto.getRuleName()); + mallCarriageRuleMapper.updateById(mallCarriageRule); //删除现有的所有运费模板子表数据 List<MallCarriageRuleInfo> mallCarriageRuleInfos = mallCarriageRuleInfoMapper.selectMallCarriageRuleInfoByRuleIdAndAreaAddress(id, null); if(CollUtil.isNotEmpty(mallCarriageRuleInfos)){ diff --git a/src/main/java/cc/mrbird/febs/mall/vo/AdminMallCarriageRuleVo.java b/src/main/java/cc/mrbird/febs/mall/vo/AdminMallCarriageRuleVo.java index 0d563ae..6e3b185 100644 --- a/src/main/java/cc/mrbird/febs/mall/vo/AdminMallCarriageRuleVo.java +++ b/src/main/java/cc/mrbird/febs/mall/vo/AdminMallCarriageRuleVo.java @@ -26,4 +26,6 @@ private List<AdminMallCarriageRuleInfoVo> adminCarriageRuleInfoVos; + private String areaAddressStr; + } diff --git a/src/main/resources/templates/febs/views/modules/goods/carriageRuleAdd.html b/src/main/resources/templates/febs/views/modules/goods/carriageRuleAdd.html index 04413db..2991ed9 100644 --- a/src/main/resources/templates/febs/views/modules/goods/carriageRuleAdd.html +++ b/src/main/resources/templates/febs/views/modules/goods/carriageRuleAdd.html @@ -163,7 +163,7 @@ {name: '澳门特别行政区',value: 34,selected:false}, ], }) - + let provinceChoiceExist = ""; $('#test3').on('click', function (){ let provinceChoice = provinceSet.getValue('name'); if(provinceChoice == null || provinceChoice == ""){ @@ -171,12 +171,15 @@ return false; } let provinceChoiceStr = ""; - console.log(provinceChoice); for (let i = 0; i < provinceChoice.length; i++) { + //判断字符串是否出现过 =-1则没有出现 + if(provinceChoiceExist.indexOf(provinceChoice[i]) != -1){ + febs.alert.warn('['+provinceChoice[i]+'],指定省份不能重复'); + return false; + } provinceChoiceStr = provinceChoiceStr + provinceChoice[i]+","; + provinceChoiceExist = provinceChoiceExist + provinceChoiceStr; } - - console.log(provinceChoiceStr); let data = {}; data.areaAddress = provinceChoiceStr; data.basicCnt = 1; diff --git a/src/main/resources/templates/febs/views/modules/goods/carriageRuleUpdate.html b/src/main/resources/templates/febs/views/modules/goods/carriageRuleUpdate.html index 829a14f..8f43ec4 100644 --- a/src/main/resources/templates/febs/views/modules/goods/carriageRuleUpdate.html +++ b/src/main/resources/templates/febs/views/modules/goods/carriageRuleUpdate.html @@ -167,6 +167,7 @@ ], }) + let provinceChoiceExist = ""; $('#test3').on('click', function (){ let provinceChoice = provinceSet.getValue('name'); if(provinceChoice == null || provinceChoice == ""){ @@ -174,12 +175,16 @@ return false; } let provinceChoiceStr = ""; - console.log(provinceChoice); for (let i = 0; i < provinceChoice.length; i++) { + //判断字符串是否出现过 =-1则没有出现 + if(provinceChoiceExist.indexOf(provinceChoice[i]) != -1){ + febs.alert.warn('['+provinceChoice[i]+'],指定省份不能重复'); + return false; + } provinceChoiceStr = provinceChoiceStr + provinceChoice[i]+","; + provinceChoiceExist = provinceChoiceExist + provinceChoiceStr; } - console.log(provinceChoiceStr); let data = {}; data.areaAddress = provinceChoiceStr; data.basicCnt = 1; @@ -224,6 +229,7 @@ "moreCntDefault": carriageRule.moreCntDefault, "morePriceDefault": carriageRule.morePriceDefault }); + provinceChoiceExist = carriageRule.areaAddressStr; let carriageRuleInfos = carriageRule.adminCarriageRuleInfoVos; if(Array.isArray(carriageRuleInfos) && carriageRuleInfos.length){ for (let i = 0; i < carriageRuleInfos.length; i++) { -- Gitblit v1.9.1