|
@@ -9,7 +9,6 @@ import cn.hutool.core.util.RandomUtil;
|
|
|
import cn.hutool.extra.spring.SpringUtil;
|
|
|
import cn.newfeifan.mall.framework.common.core.KeyValue;
|
|
|
import cn.newfeifan.mall.framework.common.enums.UserTypeEnum;
|
|
|
-import cn.newfeifan.mall.framework.common.pojo.CommonResult;
|
|
|
import cn.newfeifan.mall.framework.common.util.json.JsonUtils;
|
|
|
import cn.newfeifan.mall.framework.common.util.number.MoneyUtils;
|
|
|
import cn.newfeifan.mall.module.distri.constant.DistriConstants;
|
|
@@ -20,8 +19,6 @@ import cn.newfeifan.mall.module.member.api.address.dto.MemberAddressRespDTO;
|
|
|
import cn.newfeifan.mall.module.pay.api.order.PayOrderApi;
|
|
|
import cn.newfeifan.mall.module.pay.api.order.dto.PayOrderCreateReqDTO;
|
|
|
import cn.newfeifan.mall.module.pay.api.order.dto.PayOrderRespDTO;
|
|
|
-import cn.newfeifan.mall.module.pay.controller.admin.order.vo.PayOrderRespVO;
|
|
|
-import cn.newfeifan.mall.module.pay.convert.order.PayOrderConvert;
|
|
|
import cn.newfeifan.mall.module.pay.dal.dataobject.order.PayOrderDO;
|
|
|
import cn.newfeifan.mall.module.pay.dal.mysql.order.PayOrderMapper;
|
|
|
import cn.newfeifan.mall.module.pay.enums.order.PayOrderStatusEnum;
|
|
@@ -62,22 +59,17 @@ import cn.newfeifan.mall.module.trade.service.price.TradePriceService;
|
|
|
import cn.newfeifan.mall.module.trade.service.price.bo.TradePriceCalculateReqBO;
|
|
|
import cn.newfeifan.mall.module.trade.service.price.bo.TradePriceCalculateRespBO;
|
|
|
import cn.newfeifan.mall.module.trade.service.price.calculator.TradePriceCalculatorHelper;
|
|
|
-import io.swagger.v3.oas.annotations.Operation;
|
|
|
-import io.swagger.v3.oas.annotations.Parameter;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.jetbrains.annotations.NotNull;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
-import org.springframework.web.bind.annotation.GetMapping;
|
|
|
-import org.springframework.web.bind.annotation.RequestParam;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.util.*;
|
|
|
|
|
|
import static cn.newfeifan.mall.framework.common.exception.util.ServiceExceptionUtil.exception;
|
|
|
-import static cn.newfeifan.mall.framework.common.pojo.CommonResult.success;
|
|
|
import static cn.newfeifan.mall.framework.common.util.collection.CollectionUtils.*;
|
|
|
import static cn.newfeifan.mall.framework.common.util.date.LocalDateTimeUtils.minusTime;
|
|
|
import static cn.newfeifan.mall.framework.common.util.servlet.ServletUtils.getClientIP;
|
|
@@ -565,7 +557,15 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService {
|
|
|
BeanUtils.copyProperties(firstOrder, virtualOrder);
|
|
|
virtualOrder.setPayPrice(allShopPayRMB);
|
|
|
virtualOrder.setPayRmb(allShopPayRMB);
|
|
|
- virtualOrder.setId(0l);//为了让payOrder中的tradeOrderId为0;
|
|
|
+
|
|
|
+ Integer shopCount = shopSkuIds.keySet().size();//订单对应的店铺数目
|
|
|
+ if(shopCount>1) {//如果多店铺拆分订单,则支付订单的商户订单id为0
|
|
|
+ virtualOrder.setId(0l);//为了让payOrder中的tradeOrderId为0;
|
|
|
+ } else if (shopCount==1) {
|
|
|
+ virtualOrder.setId(firstOrder.getId());//为了指定payOrder中的tradeOrderId;
|
|
|
+ }else{
|
|
|
+ throw new RuntimeException("订单id"+firstOrder.getId()+",对应一间店铺都没");
|
|
|
+ }
|
|
|
|
|
|
// 3. 生成预支付:生成支付订单记录
|
|
|
Long payOrderId = createPayOrder(virtualOrder, firstOrderItems);
|