Explorar o código

满减bug修复

codingliang %!s(int64=2) %!d(string=hai) anos
pai
achega
b38976217f

+ 15 - 0
src/main/java/com/sqx/modules/goods/service/impl/GoodsShopServiceImpl.java

@@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.sqx.common.utils.PageUtils;
@@ -144,6 +145,9 @@ public class GoodsShopServiceImpl extends ServiceImpl<GoodsShopDao, GoodsShop> i
         if(goodsShop.getBannedFlag()==null){
             goodsShop.setBannedFlag(0);
         }
+        if(goodsShop.getCashDeposit()==null){
+            goodsShop.setCashDeposit(0.0);
+        }
         baseMapper.insert(goodsShop);
         UserEntity userEntity1 = userService.selectUserById(goodsShop.getUserId());
         SysUserShop sysUserShop = shopAdminDao.selectOne(new QueryWrapper<SysUserShop>().eq("user_id", userEntity1.getAdminUserId()));
@@ -260,6 +264,17 @@ public class GoodsShopServiceImpl extends ServiceImpl<GoodsShopDao, GoodsShop> i
             userService.sendMsg(goodsShop.getPhone(),"weigui");
         }
         baseMapper.updateById(goodsShop);
+        //snCode value
+        if(StringUtils.isEmpty(goodsShop.getSnCode())){
+            baseMapper.update(null, Wrappers.<GoodsShop>lambdaUpdate()
+                    .eq(GoodsShop::getSnCode, null)
+                    .set(GoodsShop::getShopId, goodsShop.getShopId()));
+        }
+        if(StringUtils.isEmpty(goodsShop.getValue())){
+            baseMapper.update(null, Wrappers.<GoodsShop>lambdaUpdate()
+                    .eq(GoodsShop::getValue, null)
+                    .set(GoodsShop::getShopId, goodsShop.getShopId()));
+        }
         return Result.success();
     }
 

+ 20 - 3
src/main/java/com/sqx/modules/order/service/impl/AppAppOrderServiceImpl.java

@@ -1054,8 +1054,18 @@ public class AppAppOrderServiceImpl extends ServiceImpl<AppOrderDao, TbOrder> im
 
         BigDecimal errandMoney = BigDecimal.ZERO;
         if (tbOrder.getOrderType() != 1) {
-            sumMoney = sumMoney.subtract(goodsShop.getErrandMoney());
-            errandMoney = goodsShop.getErrandMoney();
+            //判断是否达到商家满减  如果达到商家满减 跑腿费让商家承担
+            if(tbOrder.getAutoSendOrder()!=null && tbOrder.getAutoSendOrder()==0){
+                errandMoney = tbOrder.getErrandMoney();
+                /*if(!"本单已达到商家满减金额,跑腿费由商家承担".equals(tbOrder.getErrandMoneyIsShop())){
+                    sumMoney = sumMoney.subtract(tbOrder.getErrandMoney());
+                }*/
+                sumMoney = sumMoney.subtract(tbOrder.getErrandMoney());
+            }else{
+                sumMoney = sumMoney.subtract(tbOrder.getErrandMoney());
+                errandMoney = tbOrder.getErrandMoney();
+            }
+
         }
         BigDecimal shopMoney = sumMoney.multiply(shopRate);
 
@@ -1067,7 +1077,14 @@ public class AppAppOrderServiceImpl extends ServiceImpl<AppOrderDao, TbOrder> im
             shopMoney = shopMoney.subtract(couponMoney);
         }
         if(tbOrder.getAutoSendOrder()!=null && tbOrder.getAutoSendOrder()==1){
-            shopMoney=shopMoney.add(tbOrder.getErrandMoney());
+            //如果达到商家满减 则商家不加上配送费
+            if(!"本单已达到商家满减金额,跑腿费由商家承担".equals(tbOrder.getErrandMoneyIsShop())){
+                shopMoney=shopMoney.add(tbOrder.getErrandMoney());
+            }
+        }else{
+            /*if("本单已达到商家满减金额,跑腿费由商家承担".equals(tbOrder.getErrandMoneyIsShop())){
+                shopMoney=shopMoney.subtract(tbOrder.getErrandMoney());
+            }*/
         }
 
 

+ 6 - 0
src/main/java/com/sqx/modules/pay/service/impl/WxServiceImpl.java

@@ -201,6 +201,9 @@ public class WxServiceImpl implements WxService {
                 tbOrder2.setErrandMoneyIsShop("本单未达到商家满减金额,跑腿费由用户承担");
             }else{
                 tbOrder2.setErrandMoneyIsShop("本单已达到商家满减金额,跑腿费由商家承担");
+                if(goodsShop2.getAutoSendOrder()!=null && goodsShop2.getAutoSendOrder()==0){
+                    errandMoney=goodsShop2.getErrandMoney() == null ? BigDecimal.ZERO : goodsShop2.getErrandMoney();
+                }
             }
 
             tbOrder2.setErrandMoney(goodsShop2.getErrandMoney()==null?BigDecimal.ZERO:goodsShop2.getErrandMoney());
@@ -532,6 +535,9 @@ public class WxServiceImpl implements WxService {
                 tbOrder1.setErrandMoneyIsShop("本单未达到商家满减金额,跑腿费由用户承担");
             }else{
                 tbOrder1.setErrandMoneyIsShop("本单已达到商家满减金额,跑腿费由商家承担");
+                if(goodsShop2.getAutoSendOrder()!=null && goodsShop2.getAutoSendOrder()==0){
+                    errandMoney=goodsShop2.getErrandMoney() == null ? BigDecimal.ZERO : goodsShop2.getErrandMoney();
+                }
             }
             tbOrder2.setErrandMoney(goodsShop2.getErrandMoney()==null?BigDecimal.ZERO:goodsShop2.getErrandMoney());
             //判断订单金额是否大于最低起送金额