From 187a4cbcd2a0254d607058f93b13b456a997d38a Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期三, 15 一月 2025 14:30:38 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsServiceImpl.java |   39 +++++++++++++++++++++++++++++----------
 1 files changed, 29 insertions(+), 10 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 68927ec..2f33fca 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;
                     }
@@ -291,9 +293,9 @@
     @Override
     public List<Goods> getGoodsListByShopId(PageInfo<Goods> pageInfo, Integer shopId) {
         Integer vipId = 0;
-        String provinceCode = null;
-        String cityCode = null;
-        String districtCode = null;
+        String provinceCode = "0";
+        String cityCode = "0";
+        String districtCode = "0";
         String token = SecurityUtils.getToken(ServletUtils.getRequest());
         if(StringUtils.isNotEmpty(token)){
             Long userid = tokenService.getLoginUserApplet().getUserid();
@@ -589,16 +591,33 @@
                     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(null == goodsArea){
+                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));
-                    if(null == goodsVip){
+                    if(null == goodsVip || (null == goodsVip.getCashPayment() && null == goodsVip.getPointPayment())){
                         //没有配置价格,直接使用原始基础价格
                         return null;
                     }else{

--
Gitblit v1.7.1