From c014190d15b41704085d2e96b3fb51d39d8c2016 Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Wed, 12 Feb 2025 13:39:07 +0800
Subject: [PATCH] refactor(mall): 优化订单商品名称的显示格式

---
 src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsService.java |   58 +++++++++++++++++++++++++++++++++-------------------------
 1 files changed, 33 insertions(+), 25 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 66b9a5d..81b862c 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
@@ -2,6 +2,7 @@
 
 import cc.mrbird.febs.common.entity.FebsResponse;
 import cc.mrbird.febs.common.entity.QueryRequest;
+import cc.mrbird.febs.common.utils.MallUtils;
 import cc.mrbird.febs.mall.conversion.MallGoodsConversion;
 import cc.mrbird.febs.mall.dto.*;
 import cc.mrbird.febs.mall.entity.*;
@@ -64,7 +65,8 @@
         if (mallGoodsByGoodsName > 0) {
             return new FebsResponse().fail().message("商品名称不能重复");
         }
-        String goodsNo = addMallGoodsDto.getGoodsNo();
+        String goodsNo = MallUtils.getOrderNum("PT");
+        addMallGoodsDto.setGoodsNo(goodsNo);
         if (StrUtil.isEmpty(goodsNo)) {
             return new FebsResponse().fail().message("商品编号不能为空");
         }
@@ -852,11 +854,13 @@
     @Override
     public FebsResponse couponRuleAdd(CouponRuleAddDto couponRuleAddDto) {
         String name = couponRuleAddDto.getName();
-        QueryWrapper<MallGoodsCoupon> objectQueryWrapper = new QueryWrapper<>();
-        objectQueryWrapper.eq("name",name);
-        List<MallGoodsCoupon> mallGoodsCoupons = mallGoodsCouponMapper.selectList(objectQueryWrapper);
+        List<MallGoodsCoupon> mallGoodsCoupons = mallGoodsCouponMapper.selectList(
+                new LambdaQueryWrapper<MallGoodsCoupon>()
+                        .select(MallGoodsCoupon::getId)
+                        .eq(MallGoodsCoupon::getName,name)
+        );
         if(CollUtil.isNotEmpty(mallGoodsCoupons)){
-            return new FebsResponse().fail().message("名称不能重复");
+            return new FebsResponse().fail().message("优惠卷名称重复了");
         }
 
         MallGoodsCoupon mallGoodsCoupon = new MallGoodsCoupon();
@@ -868,17 +872,18 @@
         mallGoodsCouponMapper.insert(mallGoodsCoupon);
 
         Long couponId = mallGoodsCoupon.getId();
-        QueryWrapper<CouponGoods> objectQueryWrapperCoupon = new QueryWrapper<>();
-        objectQueryWrapperCoupon.eq("coupon_id",couponId);
-        List<CouponGoods> couponGoodsList = couponGoodsMapper.selectList(objectQueryWrapperCoupon);
-        if(CollUtil.isNotEmpty(couponGoodsList)){
-            for(CouponGoods couponGoods : couponGoodsList){
-                couponGoodsMapper.deleteById(couponGoods);
-            }
+        // 先判断是否存在关联商品,再进行查询和删除
+        if (CollUtil.isNotEmpty(couponGoodsMapper.selectList(
+                new LambdaQueryWrapper<CouponGoods>()
+                        .select(CouponGoods::getId)
+                        .eq(CouponGoods::getCouponId, couponId)))) {
+            couponGoodsMapper.delete(new LambdaQueryWrapper<CouponGoods>().eq(CouponGoods::getCouponId, couponId));
         }
-        if(CollUtil.isNotEmpty(couponRuleAddDto.getGoodsIds())){
-            List<Long> goodsIds = couponRuleAddDto.getGoodsIds();
-            for(Long goodsId : goodsIds){
+
+        // 处理 goodsIds 为 null 或空的情况
+        List<Long> goodsIds = couponRuleAddDto.getGoodsIds();
+        if (CollUtil.isNotEmpty(goodsIds)) {
+            for (Long goodsId : goodsIds) {
                 CouponGoods couponGoods = new CouponGoods();
                 couponGoods.setGoodsId(goodsId);
                 couponGoods.setCouponId(couponId);
@@ -951,17 +956,18 @@
         mallGoodsCouponMapper.updateById(mallGoodsCoupon);
 
         Long couponId = mallGoodsCoupon.getId();
-        QueryWrapper<CouponGoods> objectQueryWrapperCoupon = new QueryWrapper<>();
-        objectQueryWrapperCoupon.eq("coupon_id",couponId);
-        List<CouponGoods> couponGoodsList = couponGoodsMapper.selectList(objectQueryWrapperCoupon);
-        if(CollUtil.isNotEmpty(couponGoodsList)){
-            for(CouponGoods couponGoods : couponGoodsList){
-                couponGoodsMapper.deleteById(couponGoods);
-            }
+        // 先判断是否存在关联商品,再进行查询和删除
+        if (CollUtil.isNotEmpty(couponGoodsMapper.selectList(
+                new LambdaQueryWrapper<CouponGoods>()
+                        .select(CouponGoods::getId)
+                        .eq(CouponGoods::getCouponId, couponId)))) {
+            couponGoodsMapper.delete(new LambdaQueryWrapper<CouponGoods>().eq(CouponGoods::getCouponId, couponId));
         }
-        if(CollUtil.isNotEmpty(adminMallGoodsCouponVo.getGoodsIds())){
-            List<Long> goodsIds = adminMallGoodsCouponVo.getGoodsIds();
-            for(Long goodsId : goodsIds){
+
+        // 处理 goodsIds 为 null 或空的情况
+        List<Long> goodsIds = adminMallGoodsCouponVo.getGoodsIds();
+        if (CollUtil.isNotEmpty(goodsIds)) {
+            for (Long goodsId : goodsIds) {
                 CouponGoods couponGoods = new CouponGoods();
                 couponGoods.setGoodsId(goodsId);
                 couponGoods.setCouponId(couponId);
@@ -1013,6 +1019,8 @@
                 new LambdaQueryWrapper<MallGoods>()
                         .select(MallGoods::getId, MallGoods::getGoodsName)
                         .eq(MallGoods::getIsSale, MallGoods.ISSALE_STATUS_ENABLE)
+                        .eq(MallGoods::getGoodsType, MallGoods.ISSALE_STATUS_ENABLE)
+                        .eq(MallGoods::getIsNormal, MallGoods.ISSALE_STATUS_ENABLE)
         );
 
         List<AdminMallGoodsCouponTreeListVo> objects = new ArrayList<>();

--
Gitblit v1.9.1