From d0b043b8fa5f19d1295cac50fece0c65fceb3920 Mon Sep 17 00:00:00 2001
From: luodangjia <luodangjia>
Date: 星期五, 17 一月 2025 17:02:57 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsServiceImpl.java |   37 ++++++++++++++++++++++++++++---------
 1 files changed, 28 insertions(+), 9 deletions(-)

diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsServiceImpl.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsServiceImpl.java
index 71feab8..57eb8ab 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsServiceImpl.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsServiceImpl.java
@@ -92,6 +92,8 @@
 
 
 
+
+
     @Override
     public PageInfo<GoodsVO> goodsList(Goods search) {
         Integer vipId = 0;
@@ -127,13 +129,13 @@
                     @Override
                     public int compare(GoodsVO o1, GoodsVO o2) {
                         if(null != o1.getSellingPrice() && null != o2.getSellingPrice()){
-                            return o1.getSellingPrice().compareTo(o2.getSellingPrice()) * (StringUtils.isNotEmpty(search.getIsAsc()) ? -1 : 1);
+                            return o1.getSellingPrice().compareTo(o2.getSellingPrice()) * ("desc".equals(search.getIsAsc()) ? -1 : 1);
                         }
                         if(null == o1.getSellingPrice() && null != o2.getSellingPrice()){
-                            return BigDecimal.ZERO.compareTo(o2.getSellingPrice()) * (StringUtils.isNotEmpty(search.getIsAsc()) ? -1 : 1);
+                            return BigDecimal.ZERO.compareTo(o2.getSellingPrice()) * ("desc".equals(search.getIsAsc()) ? -1 : 1);
                         }
                         if(null != o1.getSellingPrice() && null == o2.getSellingPrice()){
-                            return o1.getSellingPrice().compareTo(BigDecimal.ZERO) * (StringUtils.isNotEmpty(search.getIsAsc()) ? -1 : 1);
+                            return o1.getSellingPrice().compareTo(BigDecimal.ZERO) * ("desc".equals(search.getIsAsc()) ? -1 : 1);
                         }
                         return 0;
                     }
@@ -144,13 +146,13 @@
                     @Override
                     public int compare(GoodsVO o1, GoodsVO o2) {
                         if(null != o1.getIntegral() && null != o2.getIntegral()){
-                            return o1.getIntegral().compareTo(o2.getIntegral()) * (StringUtils.isNotEmpty(search.getIsAsc()) ? -1 : 1);
+                            return o1.getIntegral().compareTo(o2.getIntegral()) * ("desc".equals(search.getIsAsc()) ? -1 : 1);
                         }
                         if(null == o1.getIntegral() && null != o2.getIntegral()){
-                            return Integer.valueOf(0).compareTo(o2.getIntegral()) * (StringUtils.isNotEmpty(search.getIsAsc()) ? -1 : 1);
+                            return Integer.valueOf(0).compareTo(o2.getIntegral()) * ("desc".equals(search.getIsAsc()) ? -1 : 1);
                         }
                         if(null != o1.getIntegral() && null == o2.getIntegral()){
-                            return o1.getIntegral().compareTo(Integer.valueOf(0)) * (StringUtils.isNotEmpty(search.getIsAsc()) ? -1 : 1);
+                            return o1.getIntegral().compareTo(Integer.valueOf(0)) * ("desc".equals(search.getIsAsc()) ? -1 : 1);
                         }
                         return 0;
                     }
@@ -160,7 +162,7 @@
                 list.sort(new Comparator<GoodsVO>() {
                     @Override
                     public int compare(GoodsVO o1, GoodsVO o2) {
-                        return o1.getSaleNum().compareTo(o2.getSaleNum()) * (StringUtils.isNotEmpty(search.getIsAsc()) ? -1 : 1);
+                        return o1.getSaleNum().compareTo(o2.getSaleNum()) * ("desc".equals(search.getIsAsc()) ? -1 : 1);
                     }
                 });
             }
@@ -589,12 +591,29 @@
                     queryWrapper.eq(GoodsArea::getProvinceCode, provinceCode);
                 }
                 if(StringUtils.isNotEmpty(cityCode)){
-                    queryWrapper.and(i -> i.eq(GoodsArea::getCityCode, cityCode).or().isNull(GoodsArea::getCityCode));
+                    queryWrapper.eq(GoodsArea::getCityCode, cityCode);
                 }
                 if(StringUtils.isNotEmpty(districtCode)){
-                    queryWrapper.and(i -> i.eq(GoodsArea::getDistrictsCode, districtCode).or().isNull(GoodsArea::getDistrictsCode));
+                    queryWrapper.eq(GoodsArea::getDistrictsCode, districtCode);
                 }
                 GoodsArea goodsArea = goodsAreaService.getOne(queryWrapper);
+                if(goodsArea == null){
+                    queryWrapper = new LambdaQueryWrapper<GoodsArea>().eq(GoodsArea::getGoodsId, goodsId).eq(GoodsArea::getVip, vip);
+                    if(StringUtils.isNotEmpty(provinceCode)){
+                        queryWrapper.eq(GoodsArea::getProvinceCode, provinceCode);
+                    }
+                    if(StringUtils.isNotEmpty(cityCode)){
+                        queryWrapper.eq(GoodsArea::getCityCode, cityCode);
+                    }
+                    goodsArea = goodsAreaService.getOne(queryWrapper);
+                }
+                if(goodsArea == null){
+                    queryWrapper = new LambdaQueryWrapper<GoodsArea>().eq(GoodsArea::getGoodsId, goodsId).eq(GoodsArea::getVip, vip);
+                    if(StringUtils.isNotEmpty(provinceCode)){
+                        queryWrapper.eq(GoodsArea::getProvinceCode, provinceCode);
+                    }
+                    goodsArea = goodsAreaService.getOne(queryWrapper);
+                }
                 if(null == goodsArea || (null == goodsArea.getCashPayment() && null == goodsArea.getPointPayment())){
                     //没有地区价格,则使用会员价格
                     GoodsVip goodsVip = goodsVipService.getOne(new LambdaQueryWrapper<GoodsVip>().eq(GoodsVip::getGoodsId, goodsId).eq(GoodsVip::getVip, vip));

--
Gitblit v1.7.1