From 0dee2aa8aca8647ac6c4ff02f4a92b33eb0a4e30 Mon Sep 17 00:00:00 2001 From: chendt <18902722133@163.com> Date: Mon, 23 May 2022 10:20:16 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=9C=B0=E5=8C=BA=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../shop/admin/controller/AreaController.java | 25 ++++++++- .../com/yami/shop/admin/task/TestTask.java | 29 ---------- .../shop/api/controller/OrderController.java | 1 - .../shop/api/controller/ProdController.java | 2 +- .../yami/shop/bean/enums/AreaLevelEnum.java | 55 +++++++++++++++++++ 5 files changed, 79 insertions(+), 33 deletions(-) delete mode 100644 yami-shop-admin/src/main/java/com/yami/shop/admin/task/TestTask.java create mode 100644 yami-shop-bean/src/main/java/com/yami/shop/bean/enums/AreaLevelEnum.java diff --git a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/AreaController.java b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/AreaController.java index f6d8da2..85fb080 100644 --- a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/AreaController.java +++ b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/AreaController.java @@ -12,8 +12,10 @@ package com.yami.shop.admin.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.yami.shop.common.util.PageParam; +import com.yami.shop.bean.enums.AreaLevelEnum; import com.yami.shop.bean.model.Area; +import com.yami.shop.common.exception.YamiShopBindException; +import com.yami.shop.common.util.PageParam; import com.yami.shop.service.AreaService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; @@ -22,7 +24,7 @@ import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import java.util.List; -import java.util.Map; +import java.util.Objects; /** * @author lgh on 2018/10/26. @@ -95,6 +97,15 @@ public class AreaController { @PutMapping @PreAuthorize("@pms.hasPermission('admin:area:update')") public ResponseEntity update(@Valid @RequestBody Area area) { + Area areaDb = areaService.getById(area.getAreaId()); + // 判断当前省市区级别,如果是1级、2级则不能修改级别,不能修改成别人的下级 + if(Objects.equals(areaDb.getLevel(), AreaLevelEnum.FIRST_LEVEL.value()) && !Objects.equals(area.getLevel(),AreaLevelEnum.FIRST_LEVEL.value())){ + throw new YamiShopBindException("不能改变一级行政地区的级别"); + } + if(Objects.equals(areaDb.getLevel(),AreaLevelEnum.SECOND_LEVEL.value()) && !Objects.equals(area.getLevel(),AreaLevelEnum.SECOND_LEVEL.value())){ + throw new YamiShopBindException("不能改变二级行政地区的级别"); + } + hasSameName(area); areaService.updateById(area); areaService.removeAreaCacheByParentId(area.getParentId()); return ResponseEntity.ok().build(); @@ -112,4 +123,14 @@ public class AreaController { return ResponseEntity.ok().build(); } + private void hasSameName(Area area) { + int count = areaService.count(new LambdaQueryWrapper() + .eq(Area::getParentId, area.getParentId()) + .eq(Area::getAreaName, area.getAreaName()) + .ne(Objects.nonNull(area.getAreaId()) && !Objects.equals(area.getAreaId(), 0L), Area::getAreaId, area.getAreaId()) + ); + if (count > 0) { + throw new YamiShopBindException("该地区已存在"); + } + } } diff --git a/yami-shop-admin/src/main/java/com/yami/shop/admin/task/TestTask.java b/yami-shop-admin/src/main/java/com/yami/shop/admin/task/TestTask.java deleted file mode 100644 index 3c3050d..0000000 --- a/yami-shop-admin/src/main/java/com/yami/shop/admin/task/TestTask.java +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Copyright (c) 2018-2999 广州市蓝海创新科技有限公司 All rights reserved. - * - * https://www.mall4j.com/ - * - * 未经允许,不可做商业用途! - * - * 版权所有,侵权必究! - */ - -package com.yami.shop.admin.task; - -import cn.hutool.core.date.DateUtil; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Component; - -@Slf4j -@Component -public class TestTask { - - public void test1(){ - System.out.println(DateUtil.now() + ": test1 running................."); - - } - - public void test2(String param){ - System.out.println(DateUtil.now() + ": test2 running................."); - } -} diff --git a/yami-shop-api/src/main/java/com/yami/shop/api/controller/OrderController.java b/yami-shop-api/src/main/java/com/yami/shop/api/controller/OrderController.java index 9671c3c..aa32904 100644 --- a/yami-shop-api/src/main/java/com/yami/shop/api/controller/OrderController.java +++ b/yami-shop-api/src/main/java/com/yami/shop/api/controller/OrderController.java @@ -94,7 +94,6 @@ public class OrderController { double total = 0.0; int totalCount = 0; double orderReduce = 0.0; -// List coupons = new ArrayList<>(); for (ShopCartDto shopCart : shopCarts) { // 每个店铺的订单信息 diff --git a/yami-shop-api/src/main/java/com/yami/shop/api/controller/ProdController.java b/yami-shop-api/src/main/java/com/yami/shop/api/controller/ProdController.java index 1082ac4..fcb08ab 100644 --- a/yami-shop-api/src/main/java/com/yami/shop/api/controller/ProdController.java +++ b/yami-shop-api/src/main/java/com/yami/shop/api/controller/ProdController.java @@ -72,7 +72,7 @@ public class ProdController { Product product = prodService.getProductByProdId(prodId); if (product == null) { - return ResponseEntity.ok(null); + return ResponseEntity.ok().build(); } List skuList = skuService.listByProdId(prodId); diff --git a/yami-shop-bean/src/main/java/com/yami/shop/bean/enums/AreaLevelEnum.java b/yami-shop-bean/src/main/java/com/yami/shop/bean/enums/AreaLevelEnum.java new file mode 100644 index 0000000..cce7692 --- /dev/null +++ b/yami-shop-bean/src/main/java/com/yami/shop/bean/enums/AreaLevelEnum.java @@ -0,0 +1,55 @@ +/* + * Copyright (c) 2018-2999 广州市蓝海创新科技有限公司 All rights reserved. + * + * https://www.mall4j.com/ + * + * 未经允许,不可做商业用途! + * + * 版权所有,侵权必究! + */ +package com.yami.shop.bean.enums; + +/** + * 地区层级 + * @author cl + */ +public enum AreaLevelEnum { + + + /** + * 第一层 + */ + FIRST_LEVEL(1), + + /** + * 第二层 + */ + SECOND_LEVEL(2), + + /** + * 第三层 + */ + THIRD_LEVEL(3) + + ; + + private Integer num; + + public Integer value() { + return num; + } + + AreaLevelEnum(Integer num) { + this.num = num; + } + + public static AreaLevelEnum instance(Integer value) { + AreaLevelEnum[] enums = values(); + for (AreaLevelEnum statusEnum : enums) { + if (statusEnum.value().equals(value)) { + return statusEnum; + } + } + return null; + } +}