phpcjl
2024-12-05 cd1883b692ffdbd3fd3bb662d24979e41820ccc6
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java
@@ -14,6 +14,7 @@
import com.ruoyi.account.api.vo.PaymentUserCoupon;
import com.ruoyi.account.api.vo.PaymentUserCouponVo;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.security.service.TokenService;
import com.ruoyi.order.mapper.ShoppingCartMapper;
import com.ruoyi.order.model.Order;
@@ -36,6 +37,7 @@
import java.math.RoundingMode;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.stream.Collectors;
@@ -339,11 +341,14 @@
         return R.fail("修改数量不能小于等于0");
      }
      ShoppingCart shoppingCart = this.getById(setGoodsNumber.getId());
      Goods goods = goodsClient.getGoodsById(shoppingCart.getGoodsId()).getData();
      if(null != goods.getPurchaseLimit() && -1 != goods.getPurchaseLimit() && goods.getPurchaseLimit() < setGoodsNumber.getNumber()){
         return R.fail("修改数量不能大于限购数量");
      }
      if(null != shoppingCart){
         Goods goods = goodsClient.getGoodsById(shoppingCart.getGoodsId()).getData();
         if(null != goods.getPurchaseLimit() && -1 != goods.getPurchaseLimit() && goods.getPurchaseLimit() < setGoodsNumber.getNumber()){
            return R.fail("修改数量不能大于限购数量");
         }
         shoppingCart.setNumber(setGoodsNumber.getNumber());
         this.updateById(shoppingCart);
      }
@@ -395,7 +400,7 @@
         confirmOrderVo.setDiscountAmount(orderMoney.subtract(paymentMoney).setScale(2, RoundingMode.HALF_EVEN));
      }
      BaseSetting baseSetting = baseSettingClient.getBaseSetting(4).getData();
      confirmOrderVo.setUseSimultaneously(baseSetting.getContent().equals("1") ? true : false);
      confirmOrderVo.setUseSimultaneously(baseSetting.getContent().equals("1"));
      int earnPoint = goodsList.stream().mapToInt(MyShoppingCartVo::getEarnSpendingPoints).sum();
      confirmOrderVo.setEarnPoint(earnPoint);
      //支付金额,订单金额-订单优惠
@@ -792,6 +797,9 @@
      order.setPaymentAmount(paymentMoney);
      order.setPoint(orderPoint);
      order.setPayMethod(shoppingCartPayment.getPaymentType());
      if(StringUtils.isNotEmpty(shoppingCartPayment.getExpectedDeliveryTime())){
         order.setExpectedDeliveryTime(shoppingCartPayment.getExpectedDeliveryTime());
      }
      if(3 != shoppingCartPayment.getPaymentType() && (fullReductionAmount.compareTo(BigDecimal.ZERO) > 0 ||moneyAmount.compareTo(BigDecimal.ZERO) > 0 || discountAmount.compareTo(BigDecimal.ZERO) > 0)){
         order.setCouponJson(JSON.toJSONString(couponInfoVo));
      }