Kaynağa Gözat

Merge branch 'dev' into 'mp-server-test'

Dev

See merge request quanshu/mp-server!842
jiang hao 2 yıl önce
ebeveyn
işleme
acb262b110

+ 6 - 2
mp-admin/src/main/java/com/qs/mp/web/controller/api/user/UserDeliverOrderController.java

@@ -260,6 +260,9 @@ public class UserDeliverOrderController extends BaseApiController {
         orderSettleVO.setPayAmt(orderAmt + freightAmt);
         orderSettleVO.setPrizeList(prizeStorageList);
 
+        AppSourceEnum appSourceEnum = AppSourceEnum.getByValue(param.getAppSource());
+        orderSettleVO.setAppId(appSourceEnum.getAppId());
+
         // 缓存订单结算对象
         redisCache.setCacheObject(RedisKey.build(RedisKey.USER_DELIVER_ORDER_KEY, userId), orderSettleVO, 10,
             TimeUnit.MINUTES);
@@ -332,12 +335,13 @@ public class UserDeliverOrderController extends BaseApiController {
         try {
             if (param.getPayType() == 1) {
                 // 支付宝支付
-                jsonObject = walletService.directAliPay(BizTypeEnum.DELIVER_ORDER, param.getOrderId(), sysUser.getAliuserId(),
+                jsonObject = walletService.directAliPay(BizTypeEnum.DELIVER_ORDER, param.getOrderId(),
+                    sysUser.getAliuserId(),
                     deliverOrder.getPayAmt(), "盲票--提货订单");
             } else {
                 // 微信支付
                 jsonObject = walletService.pay(BizTypeEnum.TICKET_ORDER, param.getOrderId(), sysUser.getOpenId(),
-                    deliverOrder.getPayAmt(), "盲票--提货订单");
+                    deliverOrder.getPayAmt(), "盲票--提货订单", param.getAppSource());
             }
         } catch (ServiceException e) {
             LogUtil.error(logger, e, "根据提货单创建支付单失败。userId:{0},orderId:{1}", new Object[]{userId, param.getOrderId()});

+ 5 - 1
mp-admin/src/main/java/com/qs/mp/web/controller/api/user/UserTicketOrderController.java

@@ -13,6 +13,7 @@ import com.qs.mp.channel.domain.param.OrderPayParam;
 import com.qs.mp.common.core.domain.AjaxResult;
 import com.qs.mp.common.core.page.TableDataInfo;
 import com.qs.mp.common.core.redis.RedisCache;
+import com.qs.mp.common.enums.AppSourceEnum;
 import com.qs.mp.common.enums.BizTypeEnum;
 import com.qs.mp.common.enums.ErrorCodeEnum;
 import com.qs.mp.common.enums.MqTopicType;
@@ -155,6 +156,9 @@ public class UserTicketOrderController extends BaseApiController {
         orderSettleVO.setPicUrl(ticketBox.getPicUrl());
         orderSettleVO.setTitle(ticketBox.getTitle());
 
+        AppSourceEnum appSourceEnum = AppSourceEnum.getByValue(param.getAppSource());
+        orderSettleVO.setAppId(appSourceEnum.getAppId());
+
         // 缓存订单结算对象
         redisCache.setCacheObject(RedisKey.build(RedisKey.USER_TICKET_ORDER_KEY, userId), orderSettleVO, 10,
             TimeUnit.MINUTES);
@@ -230,7 +234,7 @@ public class UserTicketOrderController extends BaseApiController {
             } else {
                 // 微信支付
                 jsonObject = walletService.pay(BizTypeEnum.TICKET_ORDER, param.getOrderId(), sysUser.getOpenId(),
-                    ticketOrder.getPayAmt(), ticketOrder.getTitle());
+                    ticketOrder.getPayAmt(), ticketOrder.getTitle(), param.getAppSource());
             }
         } catch (ServiceException e) {
             LogUtil.error(logger, e, "根据盲票购买订单创建支付单失败。userId:{0},orderId:{1}",

+ 2 - 0
mp-admin/src/main/resources/application.yml

@@ -155,6 +155,8 @@ pay:
   user-sign: 614140724fb74085be8aef8bebc538ed
   channel-shopNo: 1647504328218
   channel-sign: 0e0c00555fee4549b1a88af4d988415b
+  msdq-shopNo: 1657242588900
+  msdq-sign: e39069383c6944a18abc0b03a4ad0217
 
 #幸运数字加密密钥对
 rsa:

+ 6 - 1
mp-common/src/main/java/com/qs/mp/common/enums/AppSourceEnum.java

@@ -18,7 +18,12 @@ public enum AppSourceEnum implements IEnum<Integer> {
     /**
      * 马上兑券AppId
      */
-    MSDQ(2,"wxffb4598e70b9f871", "1c7ba0eed8c0287b8800b089e3c9d102");
+    MSDQ(2,"wxffb4598e70b9f871", "1c7ba0eed8c0287b8800b089e3c9d102"),
+
+    /**
+     * 支付宝盲票AppID
+     */
+    ALI_MP(3, "2021003127607930", null);
 
     private Integer value;
 

+ 3 - 0
mp-service/src/main/java/com/qs/mp/channel/domain/param/OrderPayParam.java

@@ -21,4 +21,7 @@ public class OrderPayParam {
 
 	@ApiModelProperty(value = "用户openID",required=true)
 	private String openId;
+
+	@ApiModelProperty("小程序,1盲票,2码上兑券,3支付宝盲票")
+	private Integer appSource;
 }

+ 2 - 1
mp-service/src/main/java/com/qs/mp/pay/service/IWalletService.java

@@ -43,10 +43,11 @@ public interface IWalletService {
    * @param openId
    * @param money
    * @param orderRemark
+   * @param appSource
    * @return
    */
   JSONObject pay(BizTypeEnum bizType, String bizId, String openId, int money,
-      String orderRemark);
+      String orderRemark, Integer appSource);
 
 
   /**

+ 20 - 4
mp-service/src/main/java/com/qs/mp/pay/service/impl/WalletServiceImpl.java

@@ -10,6 +10,7 @@ import com.alipay.api.response.AlipayTradeCreateResponse;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.qs.mp.channel.service.IChannelOrderService;
+import com.qs.mp.common.enums.AppSourceEnum;
 import com.qs.mp.common.enums.AsyncTaskTypeEnum;
 import com.qs.mp.common.enums.BizTypeEnum;
 import com.qs.mp.common.enums.MqTopicType;
@@ -90,6 +91,12 @@ public class WalletServiceImpl implements IWalletService {
   @Value("${pay.user-sign}")
   private String userPaySign;  //用户端商户签名
 
+  @Value("${pay.msdq-shopNo}")
+  private String msdqPayShopNo;
+
+  @Value("${pay.msdq-shopNo}")
+  private String msdqPaySign;
+
   @Value("${pay.channel-shopNo}")
   private String channelPayShopNo;  //渠道端商户号
   @Value("${pay.channel-sign}")
@@ -223,15 +230,24 @@ public class WalletServiceImpl implements IWalletService {
 
   @Override
   public JSONObject pay(BizTypeEnum bizType, String bizId, String openId, int money,
-      String orderRemark) {
+      String orderRemark, Integer appSource) {
     String reqUrl = baseUrl + "/pay/payMoneyCTB";
     String appId = channelAppId;
     String payShopNo = channelPayShopNo;
     String paySign = channelPaySign;
+
+    AppSourceEnum appSourceEnum = AppSourceEnum.getByValue(appSource);
     if (bizType == BizTypeEnum.TICKET_ORDER || bizType == BizTypeEnum.DELIVER_ORDER) {
-      appId = userAppId;
-      payShopNo = userPayShopNo;
-      paySign = userPaySign;
+      appId = appSourceEnum.getAppId();
+      // 区分微信小程序
+      if (AppSourceEnum.MSDQ.equals(appSourceEnum)) {
+        payShopNo = msdqPayShopNo;
+        paySign = msdqPaySign;
+      } else {
+        payShopNo = userPayShopNo;
+        paySign = userPaySign;
+      }
+
     }
     JSONObject params = buildPayOrderReqData(payShopNo, paySign, money, openId, appId, orderRemark, PAY_RESOURCE, PAY_RESOURCE_TYPE);
     String result = OkHttpUtil.postJsonParams(reqUrl, params.toJSONString());

+ 1 - 1
mp-service/src/main/java/com/qs/mp/system/domain/vo/WxLoginParams.java

@@ -32,7 +32,7 @@ public class WxLoginParams {
     private int identity;
 
 
-    @ApiModelProperty("小程序,1盲票,2码上兑券")
+    @ApiModelProperty("小程序,1盲票,2码上兑券,3支付宝盲票")
     private Integer appSource;
 
 }

+ 8 - 0
mp-service/src/main/java/com/qs/mp/user/domain/UserDeliverOrder.java

@@ -134,6 +134,14 @@ public class UserDeliverOrder implements Serializable {
   @ApiModelProperty("确认收货时间")
   private Date confirmTime;
 
+  @ApiModelProperty("来源小程序id")
+  @TableField("app_id")
+  private String appId;
+
+  @ApiModelProperty("支付类型1支付宝,2微信,10支付宝直连")
+  @TableField("pay_type")
+  private String payType;
+
   @ApiModelProperty("支付时间")
   @TableField("pay_time")
   private Date payTime;

+ 9 - 0
mp-service/src/main/java/com/qs/mp/user/domain/UserTicketOrder.java

@@ -147,6 +147,15 @@ public class UserTicketOrder implements Serializable {
   @TableField("channel_id")
   private Long channelId;
 
+
+  @ApiModelProperty("来源小程序id")
+  @TableField("app_id")
+  private String appId;
+
+  @ApiModelProperty("支付类型1支付宝,2微信,10支付宝直连")
+  @TableField("pay_type")
+  private String payType;
+
   @ApiModelProperty("支付时间")
   @TableField("pay_time")
   private Date payTime;

+ 16 - 13
mp-service/src/main/java/com/qs/mp/user/domain/param/DeliverOrderParam.java

@@ -7,25 +7,28 @@ import java.util.List;
 import javax.validation.constraints.NotEmpty;
 import lombok.Data;
 
-@ApiModel(value= "提货订单参数")
+@ApiModel(value = "提货订单参数")
 @Data
 public class DeliverOrderParam {
 
-	@ApiModelProperty("订单来源:1提货订单,2现金购买")
-	private DeliverOrderResourceEnum resource;
+    @ApiModelProperty("订单来源:1提货订单,2现金购买")
+    private DeliverOrderResourceEnum resource;
 
-	@ApiModelProperty("商品id")
-	private Long goodsId;
+    @ApiModelProperty("商品id")
+    private Long goodsId;
 
-	@ApiModelProperty("sku Id")
-	private Long skuId;
+    @ApiModelProperty("sku Id")
+    private Long skuId;
 
-	@ApiModelProperty("商品数量")
-	private Integer num;
+    @ApiModelProperty("商品数量")
+    private Integer num;
 
-	@ApiModelProperty(value = "奖品库IDs",required=true)
-	private List<String> ids;
+    @ApiModelProperty(value = "奖品库IDs", required = true)
+    private List<String> ids;
 
-	@ApiModelProperty(value = "地址ID",required=false)
-	private Long addrId;
+    @ApiModelProperty(value = "地址ID", required = false)
+    private Long addrId;
+
+    @ApiModelProperty("小程序,1盲票,2码上兑券,3支付宝盲票")
+    private Integer appSource;
 }

+ 3 - 0
mp-service/src/main/java/com/qs/mp/user/domain/param/TicketOrderParam.java

@@ -23,4 +23,7 @@ public class TicketOrderParam {
 
 	@ApiModelProperty(value = "系统自动选择优惠券,1代表系统自动选择,忽略couponIds,首次请求时传1;0代表以传入的couponIds为准",required=false)
 	private Integer autoCoupon;
+
+	@ApiModelProperty("小程序,1盲票,2码上兑券,3支付宝盲票")
+	private Integer appSource;
 }

+ 30 - 28
mp-service/src/main/java/com/qs/mp/user/domain/vo/DeliverOrderSettleVO.java

@@ -19,41 +19,43 @@ import lombok.Data;
 @ApiModel("用户提货订单结算出参类")
 public class DeliverOrderSettleVO {
 
-  @ApiModelProperty("订单来源:1提货订单,2现金购买")
-  private Integer resource;
+    @ApiModelProperty("订单来源:1提货订单,2现金购买")
+    private Integer resource;
 
 
-  @ApiModelProperty("用户配送地址")
-  private UserAddr addr;
+    @ApiModelProperty("用户配送地址")
+    private UserAddr addr;
 
-  /**
-   * 订单金额
-   */
-  @ApiModelProperty("订单金额")
-  private Integer orderAmt = 0;
+    /**
+     * 订单金额
+     */
+    @ApiModelProperty("订单金额")
+    private Integer orderAmt = 0;
 
-  /**
-   * 运费
-   */
-  @ApiModelProperty("运费")
-  private Integer freightAmt = 0;
+    /**
+     * 运费
+     */
+    @ApiModelProperty("运费")
+    private Integer freightAmt = 0;
 
-  @ApiModelProperty("运费模板类型 1发货,2不发货")
-  private Integer freightType;
+    @ApiModelProperty("运费模板类型 1发货,2不发货")
+    private Integer freightType;
 
-  @ApiModelProperty("运费备注")
-  private String freightRemark;
+    @ApiModelProperty("运费备注")
+    private String freightRemark;
 
-  /**
-   * 实付金额
-   */
-  @ApiModelProperty("实付金额")
-  private Integer payAmt = 0;
+    /**
+     * 实付金额
+     */
+    @ApiModelProperty("实付金额")
+    private Integer payAmt = 0;
 
-  /**
-   * 奖品库列表
-   */
-  @ApiModelProperty("奖品库列表")
-  List<UserPrizeStorage> prizeList = new ArrayList<>();
+    /**
+     * 奖品库列表
+     */
+    @ApiModelProperty("奖品库列表")
+    List<UserPrizeStorage> prizeList = new ArrayList<>();
 
+    @ApiModelProperty("小程序Id")
+    private String appId;
 }

+ 60 - 44
mp-service/src/main/java/com/qs/mp/user/domain/vo/TicketOrderSettleVO.java

@@ -1,5 +1,7 @@
 package com.qs.mp.user.domain.vo;
 
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 import java.util.ArrayList;
 import java.util.List;
 import lombok.Data;
@@ -9,51 +11,65 @@ import lombok.Data;
  * @Date 2022/3/3
  */
 @Data
+@ApiModel("盲票订单结算出参类")
 public class TicketOrderSettleVO {
 
-  /**
-   * 订单金额
-   */
-  private Integer orderAmt = 0;
-
-  /**
-   * 优惠金额
-   */
-  private Integer discountAmt = 0;
-
-  /**
-   * 实付金额
-   */
-  private Integer payAmt = 0;
-
-  /**
-   * 票组ID
-   */
-  private String boxId;
-
-  /**
-   * 订购数量
-   */
-  private Integer orderNum;
-
-  /**
-   * 盲票ID
-   */
-  private String ticketId;
-
-  /**
-   * 盲票图片
-   */
-  private String picUrl;
-
-  /**
-   * 盲票标题
-   */
-  private String title;
-
-  /**
-   * 使用优惠券列表
-   */
-  List<UserCoupon4OrderVO> couponList = new ArrayList<>();
+    /**
+     * 订单金额
+     */
+    @ApiModelProperty("订单金额")
+    private Integer orderAmt = 0;
+
+    /**
+     * 优惠金额
+     */
+    @ApiModelProperty("优惠金额")
+    private Integer discountAmt = 0;
+
+    /**
+     * 实付金额
+     */
+    @ApiModelProperty("实付金额")
+    private Integer payAmt = 0;
+
+    /**
+     * 票组ID
+     */
+    @ApiModelProperty("票组id")
+    private String boxId;
+
+    /**
+     * 订购数量
+     */
+    @ApiModelProperty("订购数量")
+    private Integer orderNum;
+
+    /**
+     * 盲票ID
+     */
+    @ApiModelProperty("盲票id")
+    private String ticketId;
+
+    /**
+     * 盲票图片
+     */
+    @ApiModelProperty("盲票图片")
+    private String picUrl;
+
+    /**
+     * 盲票标题
+     */
+    @ApiModelProperty("盲票图片")
+    private String title;
+
+
+    @ApiModelProperty("小程序appId")
+    private String appId;
+
+    /**
+     * 使用优惠券列表
+     */
+    @ApiModelProperty("使用优惠券列表")
+    List<UserCoupon4OrderVO> couponList = new ArrayList<>();
 
 }

+ 18 - 10
mp-service/src/main/java/com/qs/mp/user/domain/vo/UserCoupon4OrderVO.java

@@ -6,6 +6,8 @@ import com.qs.mp.common.enums.CouponDiscountTypeEnum;
 import com.qs.mp.common.enums.CouponTypeEnum;
 import com.qs.mp.common.enums.CouponUseAreaEnum;
 import com.qs.mp.user.domain.UserCoupon;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 /**
@@ -14,20 +16,26 @@ import lombok.Data;
  * @create 2022-03-07 20:45:43
  */
 @Data
+@ApiModel("盲票购买时的优惠券")
 public class UserCoupon4OrderVO {
-  private String id;
 
-  private String title;
+    @ApiModelProperty("id")
+    private String id;
 
-  /**
-   * 图片
-   */
-  private String picUrl;
+    @ApiModelProperty("标题")
+    private String title;
 
-  /**
-   * 优惠金额(比例)
-   */
-  private Integer discount;
+    /**
+     * 图片
+     */
+    @ApiModelProperty("图片")
+    private String picUrl;
+
+    /**
+     * 优惠金额(比例)
+     */
+    @ApiModelProperty("优惠金额(比例)")
+    private Integer discount;
 
 
 }

+ 212 - 204
mp-service/src/main/java/com/qs/mp/user/service/impl/UserDeliverOrderServiceImpl.java

@@ -54,140 +54,144 @@ import org.springframework.util.Assert;
  * @since 2022-03-07
  */
 @Service
-public class UserDeliverOrderServiceImpl extends ServiceImpl<UserDeliverOrderMapper, UserDeliverOrder> implements IUserDeliverOrderService {
+public class UserDeliverOrderServiceImpl extends ServiceImpl<UserDeliverOrderMapper, UserDeliverOrder> implements
+    IUserDeliverOrderService {
 
-  protected final Logger logger = LoggerFactory.getLogger(this.getClass());
+    protected final Logger logger = LoggerFactory.getLogger(this.getClass());
 
-  @Autowired
-  private BizIdGenerator bizIdGenerator;
+    @Autowired
+    private BizIdGenerator bizIdGenerator;
 
-  @Autowired
-  private IUserDeliverOrderService userDeliverOrderService;
+    @Autowired
+    private IUserDeliverOrderService userDeliverOrderService;
 
-  @Autowired
-  private IUserDeliverOrderItemService userDeliverOrderItemService;
+    @Autowired
+    private IUserDeliverOrderItemService userDeliverOrderItemService;
 
-  @Autowired
-  private IUserPrizeStorageService userPrizeStorageService;
+    @Autowired
+    private IUserPrizeStorageService userPrizeStorageService;
 
-  @Autowired
-  private IGoodsService goodsService;
+    @Autowired
+    private IGoodsService goodsService;
 
-  @Autowired
-  private IGoodsSkuService goodsSkuService;
+    @Autowired
+    private IGoodsSkuService goodsSkuService;
 
-  @Autowired
-  private IDeliveryCompanyService deliveryCompanyService;
+    @Autowired
+    private IDeliveryCompanyService deliveryCompanyService;
 
-  @Override
-  @Transactional
-  public String submitOrder(Long userId, String memo, DeliverOrderSettleVO orderSettleVO) {
-
-
-
-
-    UserDeliverOrder userDeliverOrder = new UserDeliverOrder();
-    userDeliverOrder.setOrderId(bizIdGenerator.newIdWithUidSharding(String.valueOf(userId)));
-    userDeliverOrder.setUserId(userId);
-    userDeliverOrder.setResource(DeliverOrderResourceEnum.getByValue(orderSettleVO.getResource()));
-    UserAddr userAddr = orderSettleVO.getAddr();
-    userDeliverOrder.setReceiver(userAddr.getReceiver());
-    userDeliverOrder.setTel(userAddr.getMobile());
-    userDeliverOrder.setProvince(userAddr.getProvince());
-    userDeliverOrder.setCity(userAddr.getCity());
-    userDeliverOrder.setArea(userAddr.getArea());
-    userDeliverOrder.setAddress(userAddr.getAddr());
-    userDeliverOrder.setOrderNum(orderSettleVO.getPrizeList().stream().mapToInt(UserPrizeStorage::getGoodsNum).sum());
-    userDeliverOrder.setPayAmt(orderSettleVO.getPayAmt());
-    userDeliverOrder.setFreightAmt(orderSettleVO.getFreightAmt());
-    userDeliverOrder.setMemo(memo);
-    if (orderSettleVO.getPayAmt() > 0) {
-      userDeliverOrder.setStatus(DeliverOrderStatusEnum.NOT_PAY);
-    } else {
-      userDeliverOrder.setStatus(DeliverOrderStatusEnum.NOT_DELIVER);
-    }
-    save(userDeliverOrder);
-
-    for (UserPrizeStorage prizeStorage : orderSettleVO.getPrizeList()) {
-      UserDeliverOrderItem orderItem = new UserDeliverOrderItem();
-      orderItem.setItemId(bizIdGenerator.newIdWithUidSharding(String.valueOf(userId)));
-      orderItem.setOrderId(userDeliverOrder.getOrderId());
-      orderItem.setStorageId(prizeStorage.getStorageId());
-      orderItem.setGoodsId(prizeStorage.getGoodsId());
-      orderItem.setSkuId(prizeStorage.getSkuId());
-      orderItem.setProperties(prizeStorage.getProperties());
-      orderItem.setTitle(prizeStorage.getTitle());
-      orderItem.setPicUrl(prizeStorage.getPicUrl());
-      orderItem.setGoodsNum(prizeStorage.getGoodsNum());
-      // 设置供应商id和采购链接
-      Goods goods = goodsService.getById(prizeStorage.getGoodsId());
-      orderItem.setSupplierId(goods.getSupplierId());
-      orderItem.setShoppingLink(goods.getShoppingLink());
-
-      userDeliverOrderItemService.save(orderItem);
-        if (DeliverOrderResourceEnum.PAYMENT.getValue().equals(orderSettleVO.getResource())) {
-            // 现金购买需要校验和锁库存
-            if (Objects.nonNull(prizeStorage.getSkuId()) && prizeStorage.getSkuId() != 0) {
-                GoodsSku goodsSku = goodsSkuService.getById(prizeStorage.getSkuId());
-                if (goodsSku.getQuantity() < prizeStorage.getGoodsNum()) {
-                    throw new ServiceException(prizeStorage.getTitle() + "库存不足,请重新下单");
-                }
+    @Override
+    @Transactional
+    public String submitOrder(Long userId, String memo, DeliverOrderSettleVO orderSettleVO) {
+
+        UserDeliverOrder userDeliverOrder = new UserDeliverOrder();
+        userDeliverOrder.setOrderId(bizIdGenerator.newIdWithUidSharding(String.valueOf(userId)));
+        userDeliverOrder.setUserId(userId);
+        userDeliverOrder.setResource(DeliverOrderResourceEnum.getByValue(orderSettleVO.getResource()));
+        UserAddr userAddr = orderSettleVO.getAddr();
+        userDeliverOrder.setReceiver(userAddr.getReceiver());
+        userDeliverOrder.setTel(userAddr.getMobile());
+        userDeliverOrder.setProvince(userAddr.getProvince());
+        userDeliverOrder.setCity(userAddr.getCity());
+        userDeliverOrder.setArea(userAddr.getArea());
+        userDeliverOrder.setAddress(userAddr.getAddr());
+        userDeliverOrder.setOrderNum(
+            orderSettleVO.getPrizeList().stream().mapToInt(UserPrizeStorage::getGoodsNum).sum());
+        userDeliverOrder.setPayAmt(orderSettleVO.getPayAmt());
+        userDeliverOrder.setFreightAmt(orderSettleVO.getFreightAmt());
+        userDeliverOrder.setAppId(orderSettleVO.getAppId());
+        userDeliverOrder.setMemo(memo);
+        if (orderSettleVO.getPayAmt() > 0) {
+            userDeliverOrder.setStatus(DeliverOrderStatusEnum.NOT_PAY);
+        } else {
+            userDeliverOrder.setStatus(DeliverOrderStatusEnum.NOT_DELIVER);
+        }
+        save(userDeliverOrder);
+
+        for (UserPrizeStorage prizeStorage : orderSettleVO.getPrizeList()) {
+            UserDeliverOrderItem orderItem = new UserDeliverOrderItem();
+            orderItem.setItemId(bizIdGenerator.newIdWithUidSharding(String.valueOf(userId)));
+            orderItem.setOrderId(userDeliverOrder.getOrderId());
+            orderItem.setStorageId(prizeStorage.getStorageId());
+            orderItem.setGoodsId(prizeStorage.getGoodsId());
+            orderItem.setSkuId(prizeStorage.getSkuId());
+            orderItem.setProperties(prizeStorage.getProperties());
+            orderItem.setTitle(prizeStorage.getTitle());
+            orderItem.setPicUrl(prizeStorage.getPicUrl());
+            orderItem.setGoodsNum(prizeStorage.getGoodsNum());
+            // 设置供应商id和采购链接
+            Goods goods = goodsService.getById(prizeStorage.getGoodsId());
+            orderItem.setSupplierId(goods.getSupplierId());
+            orderItem.setShoppingLink(goods.getShoppingLink());
+
+            userDeliverOrderItemService.save(orderItem);
+            if (DeliverOrderResourceEnum.PAYMENT.getValue().equals(orderSettleVO.getResource())) {
+                // 现金购买需要校验和锁库存
+                if (Objects.nonNull(prizeStorage.getSkuId()) && prizeStorage.getSkuId() != 0) {
+                    GoodsSku goodsSku = goodsSkuService.getById(prizeStorage.getSkuId());
+                    if (goodsSku.getQuantity() < prizeStorage.getGoodsNum()) {
+                        throw new ServiceException(prizeStorage.getTitle() + "库存不足,请重新下单");
+                    }
 
-                // 更新库存
-                boolean updateSku = goodsSkuService.update(new LambdaUpdateWrapper<GoodsSku>()
+                    // 更新库存
+                    boolean updateSku = goodsSkuService.update(new LambdaUpdateWrapper<GoodsSku>()
                         .set(GoodsSku::getQuantity, goodsSku.getQuantity() - prizeStorage.getGoodsNum())
                         .set(GoodsSku::getSoldQty, goodsSku.getSoldQty() + prizeStorage.getGoodsNum())
                         .eq(GoodsSku::getSkuId, goodsSku.getSkuId())
                         .eq(GoodsSku::getQuantity, goodsSku.getQuantity())
                         .eq(GoodsSku::getSoldQty, goodsSku.getSoldQty()));
-                Assert.isTrue(updateSku, "现金购买商品更新SKU库存失败。goodsId:" + goodsSku.getGoodsId() + ",skuId:" + goodsSku.getSkuId());
+                    Assert.isTrue(updateSku,
+                        "现金购买商品更新SKU库存失败。goodsId:" + goodsSku.getGoodsId() + ",skuId:" + goodsSku.getSkuId());
 
-            } else {
-                if (goods.getQuantity() < prizeStorage.getGoodsNum()) {
-                    throw new ServiceException(prizeStorage.getTitle() + "库存不足,请重新下单");
-                }
-                // 更新库存
-                boolean updateGoods = goodsService.update(new LambdaUpdateWrapper<Goods>()
-                        .set(goods.getQuantity() - prizeStorage.getGoodsNum() == 0, Goods::getStatus, GoodsStatusEnum.PUT_OFF)
+                } else {
+                    if (goods.getQuantity() < prizeStorage.getGoodsNum()) {
+                        throw new ServiceException(prizeStorage.getTitle() + "库存不足,请重新下单");
+                    }
+                    // 更新库存
+                    boolean updateGoods = goodsService.update(new LambdaUpdateWrapper<Goods>()
+                        .set(goods.getQuantity() - prizeStorage.getGoodsNum() == 0, Goods::getStatus,
+                            GoodsStatusEnum.PUT_OFF)
                         .set(Goods::getQuantity, goods.getQuantity() - prizeStorage.getGoodsNum())
                         .set(Goods::getExchangedQty, goods.getExchangedQty() + prizeStorage.getGoodsNum())
-                        .eq(Goods::getGoodsId, goods.getGoodsId()).eq(Goods::getQuantity, goods.getQuantity()).eq(Goods::getExchangedQty, goods.getExchangedQty()));
-                Assert.isTrue(updateGoods, "现金购买商品更新GOODS库存失败。goodsId:" + goods.getGoodsId() );
-            }
+                        .eq(Goods::getGoodsId, goods.getGoodsId()).eq(Goods::getQuantity, goods.getQuantity())
+                        .eq(Goods::getExchangedQty, goods.getExchangedQty()));
+                    Assert.isTrue(updateGoods, "现金购买商品更新GOODS库存失败。goodsId:" + goods.getGoodsId());
+                }
 
-        } else {
-            boolean rtn = userPrizeStorageService.update(new LambdaUpdateWrapper<UserPrizeStorage>()
+            } else {
+                boolean rtn = userPrizeStorageService.update(new LambdaUpdateWrapper<UserPrizeStorage>()
                     .set(UserPrizeStorage::getStatus, PrizeStorageStatusEnum.HAS_DISTRIBUTED)
                     .eq(UserPrizeStorage::getStorageId, prizeStorage.getStorageId()));
 
-            Assert.isTrue(rtn, "提交提货订单时,更新状态失败。userDeliverOrder:" + JSONObject.toJSONString(userDeliverOrder));
+                Assert.isTrue(rtn, "提交提货订单时,更新状态失败。userDeliverOrder:" + JSONObject.toJSONString(userDeliverOrder));
+
+            }
 
         }
 
+        return userDeliverOrder.getOrderId();
     }
 
-    return userDeliverOrder.getOrderId();
-  }
-
 
     @Override
-  @Transactional(rollbackFor = Exception.class)
-  public boolean cancelOrder(String orderId) {
-    UserDeliverOrder userDeliverOrder = getById(orderId);
-    if (userDeliverOrder.getStatus() != DeliverOrderStatusEnum.NOT_PAY) {
-      LogUtil.warn(logger, "取消提货订单时,订单状态不是待支付,忽略。orderId:{0}, status:{1}",
-          orderId, userDeliverOrder.getStatus());
-      return false;
-    }
-    List<UserDeliverOrderItem> orderItemList = userDeliverOrderItemService.list(new LambdaQueryWrapper<UserDeliverOrderItem>()
-            .eq(UserDeliverOrderItem::getOrderId, userDeliverOrder.getOrderId()));
-    if (DeliverOrderResourceEnum.PAYMENT.equals(userDeliverOrder.getResource())) {
-        // 恢复商品库存状态
-        for (UserDeliverOrderItem orderItem : orderItemList) {
-            if (Objects.nonNull(orderItem.getSkuId()) && orderItem.getSkuId() != 0) {
-                GoodsSku goodsSku = goodsSkuService.getById(orderItem.getSkuId());
-                if (Objects.nonNull(goodsSku)) {
-                    boolean updateSku = goodsSkuService.update(new LambdaUpdateWrapper<GoodsSku>()
+    @Transactional(rollbackFor = Exception.class)
+    public boolean cancelOrder(String orderId) {
+        UserDeliverOrder userDeliverOrder = getById(orderId);
+        if (userDeliverOrder.getStatus() != DeliverOrderStatusEnum.NOT_PAY) {
+            LogUtil.warn(logger, "取消提货订单时,订单状态不是待支付,忽略。orderId:{0}, status:{1}",
+                orderId, userDeliverOrder.getStatus());
+            return false;
+        }
+        List<UserDeliverOrderItem> orderItemList = userDeliverOrderItemService.list(
+            new LambdaQueryWrapper<UserDeliverOrderItem>()
+                .eq(UserDeliverOrderItem::getOrderId, userDeliverOrder.getOrderId()));
+        if (DeliverOrderResourceEnum.PAYMENT.equals(userDeliverOrder.getResource())) {
+            // 恢复商品库存状态
+            for (UserDeliverOrderItem orderItem : orderItemList) {
+                if (Objects.nonNull(orderItem.getSkuId()) && orderItem.getSkuId() != 0) {
+                    GoodsSku goodsSku = goodsSkuService.getById(orderItem.getSkuId());
+                    if (Objects.nonNull(goodsSku)) {
+                        boolean updateSku = goodsSkuService.update(new LambdaUpdateWrapper<GoodsSku>()
                             .set(GoodsSku::getQuantity, goodsSku.getQuantity() + orderItem.getGoodsNum())
                             .set(GoodsSku::getSoldQty, goodsSku.getSoldQty() - orderItem.getGoodsNum())
                             .eq(GoodsSku::getSkuId, goodsSku.getSkuId())
@@ -195,79 +199,80 @@ public class UserDeliverOrderServiceImpl extends ServiceImpl<UserDeliverOrderMap
                             .eq(GoodsSku::getQuantity, goodsSku.getQuantity())
                             .eq(GoodsSku::getSoldQty, goodsSku.getSoldQty()));
 
-                    Assert.isTrue(updateSku, "现金购买商品取消订单更新SKU库存失败。goodsId:" + goodsSku.getGoodsId() + ",skuId:" + goodsSku.getSkuId());
-                }
-            } else {
-                Goods goods = goodsService.getById(orderItem.getGoodsId());
-                // 更新库存
-                boolean updateGoods = goodsService.update(new LambdaUpdateWrapper<Goods>()
+                        Assert.isTrue(updateSku,
+                            "现金购买商品取消订单更新SKU库存失败。goodsId:" + goodsSku.getGoodsId() + ",skuId:" + goodsSku.getSkuId());
+                    }
+                } else {
+                    Goods goods = goodsService.getById(orderItem.getGoodsId());
+                    // 更新库存
+                    boolean updateGoods = goodsService.update(new LambdaUpdateWrapper<Goods>()
                         .set(Goods::getStatus, GoodsStatusEnum.PUT_ON)
                         .set(Goods::getQuantity, goods.getQuantity() + orderItem.getGoodsNum())
                         .set(Goods::getExchangedQty, goods.getExchangedQty() - orderItem.getGoodsNum())
                         .eq(Goods::getGoodsId, goods.getGoodsId())
                         .eq(Goods::getQuantity, goods.getQuantity())
                         .eq(Goods::getExchangedQty, goods.getExchangedQty()));
-                Assert.isTrue(updateGoods, "现金购买商品取消订单更新GOODS库存失败。goodsId:" + goods.getGoodsId() );
+                    Assert.isTrue(updateGoods, "现金购买商品取消订单更新GOODS库存失败。goodsId:" + goods.getGoodsId());
+                }
             }
-        }
-    }else {
-        // 恢复奖品库状态
-        for (UserDeliverOrderItem orderItem : orderItemList) {
-            boolean rtn = userPrizeStorageService.update(new LambdaUpdateWrapper<UserPrizeStorage>()
+        } else {
+            // 恢复奖品库状态
+            for (UserDeliverOrderItem orderItem : orderItemList) {
+                boolean rtn = userPrizeStorageService.update(new LambdaUpdateWrapper<UserPrizeStorage>()
                     .set(UserPrizeStorage::getStatus, PrizeStorageStatusEnum.NOT_DISTRIBUTED)
                     .eq(UserPrizeStorage::getStorageId, orderItem.getStorageId())
                     .eq(UserPrizeStorage::getStatus, PrizeStorageStatusEnum.HAS_DISTRIBUTED));
-            Assert.isTrue(rtn, "取消提货订单时,更新奖品库里奖品状态失败。orderItem:" + JSONObject.toJSONString(orderItem));
+                Assert.isTrue(rtn, "取消提货订单时,更新奖品库里奖品状态失败。orderItem:" + JSONObject.toJSONString(orderItem));
+            }
         }
+        userDeliverOrder.setStatus(DeliverOrderStatusEnum.CANCELED);
+        boolean updateRst = updateById(userDeliverOrder);
+        Assert.isTrue(updateRst, "取消提货订单时,更新提货订单状态失败。userDeliverOrder:" + JSONObject.toJSONString(userDeliverOrder));
+
+        return true;
     }
-    userDeliverOrder.setStatus(DeliverOrderStatusEnum.CANCELED);
-    boolean updateRst = updateById(userDeliverOrder);
-    Assert.isTrue(updateRst, "取消提货订单时,更新提货订单状态失败。userDeliverOrder:" + JSONObject.toJSONString(userDeliverOrder));
-
-
-    return true;
-  }
-
-  @Override
-  @Transactional
-  public boolean paySuccess(PayOrder payOrder) {
-    UserDeliverOrder deliverOrder = getById(payOrder.getBizId());
-    if (null == deliverOrder || deliverOrder.getStatus() != DeliverOrderStatusEnum.NOT_PAY) {
-      LogUtil.error(logger, "支付回调用户提货订单处理,订单状态异常,不是待支付。payOrder:{0}, deliverOrder:{1}",
-          JSONObject.toJSONString(payOrder), JSONObject.toJSONString(deliverOrder));
-      throw new ServiceException("支付回调用户提货订单处理,订单状态异常,不是待支付。orderId:" + payOrder.getBizId());
+
+    @Override
+    @Transactional
+    public boolean paySuccess(PayOrder payOrder) {
+        UserDeliverOrder deliverOrder = getById(payOrder.getBizId());
+        if (null == deliverOrder || deliverOrder.getStatus() != DeliverOrderStatusEnum.NOT_PAY) {
+            LogUtil.error(logger, "支付回调用户提货订单处理,订单状态异常,不是待支付。payOrder:{0}, deliverOrder:{1}",
+                JSONObject.toJSONString(payOrder), JSONObject.toJSONString(deliverOrder));
+            throw new ServiceException("支付回调用户提货订单处理,订单状态异常,不是待支付。orderId:" + payOrder.getBizId());
+        }
+        deliverOrder.setStatus(DeliverOrderStatusEnum.NOT_DELIVER);
+        deliverOrder.setPayTime(DateUtils.parseDate(payOrder.getCompleteDate()));
+        deliverOrder.setPayType(payOrder.getPayResource());
+        boolean rst = updateById(deliverOrder);
+        Assert.isTrue(rst, "支付回调用户提货订单处理,更新订单状态失败,orderId:" + deliverOrder.getOrderId());
+        return false;
     }
-    deliverOrder.setStatus(DeliverOrderStatusEnum.NOT_DELIVER);
-      deliverOrder.setPayTime(DateUtils.parseDate(payOrder.getCompleteDate()));
-    boolean rst = updateById(deliverOrder);
-    Assert.isTrue(rst, "支付回调用户提货订单处理,更新订单状态失败,orderId:" + deliverOrder.getOrderId());
-    return false;
-  }
-
-	@Override
-	public List<UserDeliverOrderVO> selectUserDeliverOrderVoList(Wrapper<UserDeliverOrder> wrapper) {
-		return getBaseMapper().selectUserDeliverOrderVoList(wrapper);
-	}
-
-	@Override
-	public int selectUserDeliverOrderCount(Wrapper<UserDeliverOrder> wrapper) {
-		return getBaseMapper().selectUserDeliverOrderCount(wrapper);
-	}
-
-	@Override
-	@Transactional(rollbackFor = Exception.class)
-	public boolean userDeliverOrderShip(String orderId, List<UserDeliverOrderItem> itemList) {
-		boolean res = userDeliverOrderItemService.updateBatchById(itemList);
-		if(res) {
-			// 检测订单是否全部提货完成
-			LambdaQueryWrapper<UserDeliverOrderItem> queryWrapper = new LambdaQueryWrapper<UserDeliverOrderItem>();
-			queryWrapper.eq(UserDeliverOrderItem::getOrderId, orderId);
-			queryWrapper.isNull(UserDeliverOrderItem::getDeliveryTime);
-			int noShipCnt = userDeliverOrderItemService.count(queryWrapper);
-			// 部分发货是订单状态仍保留待发货状态, 全部发完的时候再修改订单状态为待收货
-			LambdaUpdateWrapper<UserDeliverOrder> updateWrapper = new LambdaUpdateWrapper<UserDeliverOrder>();
-			updateWrapper.eq(UserDeliverOrder::getOrderId, orderId);
-			if(noShipCnt == 0) {
+
+    @Override
+    public List<UserDeliverOrderVO> selectUserDeliverOrderVoList(Wrapper<UserDeliverOrder> wrapper) {
+        return getBaseMapper().selectUserDeliverOrderVoList(wrapper);
+    }
+
+    @Override
+    public int selectUserDeliverOrderCount(Wrapper<UserDeliverOrder> wrapper) {
+        return getBaseMapper().selectUserDeliverOrderCount(wrapper);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public boolean userDeliverOrderShip(String orderId, List<UserDeliverOrderItem> itemList) {
+        boolean res = userDeliverOrderItemService.updateBatchById(itemList);
+        if (res) {
+            // 检测订单是否全部提货完成
+            LambdaQueryWrapper<UserDeliverOrderItem> queryWrapper = new LambdaQueryWrapper<UserDeliverOrderItem>();
+            queryWrapper.eq(UserDeliverOrderItem::getOrderId, orderId);
+            queryWrapper.isNull(UserDeliverOrderItem::getDeliveryTime);
+            int noShipCnt = userDeliverOrderItemService.count(queryWrapper);
+            // 部分发货是订单状态仍保留待发货状态, 全部发完的时候再修改订单状态为待收货
+            LambdaUpdateWrapper<UserDeliverOrder> updateWrapper = new LambdaUpdateWrapper<UserDeliverOrder>();
+            updateWrapper.eq(UserDeliverOrder::getOrderId, orderId);
+            if (noShipCnt == 0) {
                 // 判断订单是否全部都是无需物流; 有发货时间并且物流单号是空的就是无需物流
                 LambdaQueryWrapper<UserDeliverOrderItem> userDeliverOrderItemLambdaQueryWrapper = new LambdaQueryWrapper<>();
                 userDeliverOrderItemLambdaQueryWrapper.eq(UserDeliverOrderItem::getOrderId, orderId);
@@ -291,13 +296,13 @@ public class UserDeliverOrderServiceImpl extends ServiceImpl<UserDeliverOrderMap
                     updateWrapper.set(UserDeliverOrder::getStatus, DeliverOrderStatusEnum.NOT_CONFIRM);
                 }
 
-            }else {
-				updateWrapper.set(UserDeliverOrder::getStatus, DeliverOrderStatusEnum.PART_DELIVER);
-			}
-			return userDeliverOrderService.update(updateWrapper);
-		}
-		return false;
-	}
+            } else {
+                updateWrapper.set(UserDeliverOrder::getStatus, DeliverOrderStatusEnum.PART_DELIVER);
+            }
+            return userDeliverOrderService.update(updateWrapper);
+        }
+        return false;
+    }
 
     @Override
     public String batchShip(List<DeliverOrderExcel> deliverOrderExcelList) {
@@ -312,8 +317,9 @@ public class UserDeliverOrderServiceImpl extends ServiceImpl<UserDeliverOrderMap
             String failContent = "";
             boolean flag = true;
 
-
-            DeliveryCompany deliveryCompany = deliveryCompanyService.getOne(new LambdaQueryWrapper<DeliveryCompany>().eq(DeliveryCompany::getCompanyName, deliverOrderExcel.getCompanyName()));
+            DeliveryCompany deliveryCompany = deliveryCompanyService.getOne(
+                new LambdaQueryWrapper<DeliveryCompany>().eq(DeliveryCompany::getCompanyName,
+                    deliverOrderExcel.getCompanyName()));
             if (Objects.isNull(deliveryCompany)) {
                 flag = false;
                 failContent = "物流公司不存在";
@@ -331,7 +337,8 @@ public class UserDeliverOrderServiceImpl extends ServiceImpl<UserDeliverOrderMap
                     flag = false;
                     failContent = "订单不存在";
                 } else {
-                    if (!DeliverOrderStatusEnum.NOT_DELIVER.equals(userDeliverOrder.getStatus()) && !DeliverOrderStatusEnum.PART_DELIVER.equals(userDeliverOrder.getStatus())) {
+                    if (!DeliverOrderStatusEnum.NOT_DELIVER.equals(userDeliverOrder.getStatus())
+                        && !DeliverOrderStatusEnum.PART_DELIVER.equals(userDeliverOrder.getStatus())) {
                         flag = false;
                         failContent = "订单状态不为待发货和部分发货";
                     }
@@ -340,7 +347,8 @@ public class UserDeliverOrderServiceImpl extends ServiceImpl<UserDeliverOrderMap
 
             if (flag) {
                 // 校验订单信息
-                UserDeliverOrderItem userDeliverOrderItem = userDeliverOrderItemService.getById(deliverOrderExcel.getItemId());
+                UserDeliverOrderItem userDeliverOrderItem = userDeliverOrderItemService.getById(
+                    deliverOrderExcel.getItemId());
                 if (Objects.isNull(userDeliverOrderItem)) {
                     flag = false;
                     failContent = "订单明细ID不存在";
@@ -368,27 +376,27 @@ public class UserDeliverOrderServiceImpl extends ServiceImpl<UserDeliverOrderMap
             if (!flag) {
                 failNum++;
                 failSb.append("订单编号:")
-                        .append(deliverOrderExcel.getOrderId())
-                        .append("&nbsp;&nbsp;&nbsp;&nbsp;商品ID:")
-                        .append(deliverOrderExcel.getGoodsId())
-                        .append("&nbsp;&nbsp;&nbsp;&nbsp;商品名称:")
-                        .append(deliverOrderExcel.getTitle())
-                        .append("&nbsp;&nbsp;&nbsp;&nbsp;发货失败原因:")
-                        .append(failContent)
-                        .append("<br>");
+                    .append(deliverOrderExcel.getOrderId())
+                    .append("&nbsp;&nbsp;&nbsp;&nbsp;商品ID:")
+                    .append(deliverOrderExcel.getGoodsId())
+                    .append("&nbsp;&nbsp;&nbsp;&nbsp;商品名称:")
+                    .append(deliverOrderExcel.getTitle())
+                    .append("&nbsp;&nbsp;&nbsp;&nbsp;发货失败原因:")
+                    .append(failContent)
+                    .append("<br>");
             } else {
                 successNum++;
             }
         }
 
         sb.append("<div>发货成功:")
-                .append(successNum)
-                .append("<br>")
-                .append("发货失败:")
-                .append(failNum)
-                .append("<br>")
-                .append(failSb)
-                .append("</div>");
+            .append(successNum)
+            .append("<br>")
+            .append("发货失败:")
+            .append(failNum)
+            .append("<br>")
+            .append(failSb)
+            .append("</div>");
 
         return sb.toString();
     }
@@ -404,9 +412,9 @@ public class UserDeliverOrderServiceImpl extends ServiceImpl<UserDeliverOrderMap
             if (DeliverTypeEnum.NO_DELIVER.getValue().equals(deliveryType)) {
                 // 无需物流,设置物流信息为空
                 res = userDeliverOrderItemService.update(new LambdaUpdateWrapper<UserDeliverOrderItem>()
-                        .set(UserDeliverOrderItem::getDeliveryId, null)
-                        .set(UserDeliverOrderItem::getDeliveryFlowId, null)
-                        .eq(UserDeliverOrderItem::getItemId, itemId));
+                    .set(UserDeliverOrderItem::getDeliveryId, null)
+                    .set(UserDeliverOrderItem::getDeliveryFlowId, null)
+                    .eq(UserDeliverOrderItem::getItemId, itemId));
                 // 查询判断是否所有都是无需物流
                 LambdaQueryWrapper<UserDeliverOrderItem> userDeliverOrderItemLambdaQueryWrapper = new LambdaQueryWrapper<>();
                 userDeliverOrderItemLambdaQueryWrapper.eq(UserDeliverOrderItem::getOrderId, shipParam.getOrderId());
@@ -422,19 +430,19 @@ public class UserDeliverOrderServiceImpl extends ServiceImpl<UserDeliverOrderMap
                 // 如果相等则表示所有商品都是无需物流,直接设置订单状态为已完成,并且设置订单的发货和收货时间
                 if (orderItemCount == noNeedShipCnt) {
                     res = userDeliverOrderService.update(new LambdaUpdateWrapper<UserDeliverOrder>()
-                            .set(UserDeliverOrder::getStatus, DeliverOrderStatusEnum.FINISHED)
-                            .set(UserDeliverOrder::getConfirmTime, new Date())
-                            .set(UserDeliverOrder::getDeliveryTime, new Date())
-                            .eq(UserDeliverOrder::getOrderId, shipParam.getOrderId()));
+                        .set(UserDeliverOrder::getStatus, DeliverOrderStatusEnum.FINISHED)
+                        .set(UserDeliverOrder::getConfirmTime, new Date())
+                        .set(UserDeliverOrder::getDeliveryTime, new Date())
+                        .eq(UserDeliverOrder::getOrderId, shipParam.getOrderId()));
                 }
 
 
             } else if (DeliverTypeEnum.DELIVER.getValue().equals(deliveryType)) {
                 // 快递发货,原逻辑
                 res = userDeliverOrderItemService.update(new LambdaUpdateWrapper<UserDeliverOrderItem>()
-                        .set(UserDeliverOrderItem::getDeliveryId, shipParam.getDeliveryId())
-                        .set(UserDeliverOrderItem::getDeliveryFlowId, shipParam.getDeliveryFlowId())
-                        .eq(UserDeliverOrderItem::getItemId, itemId));
+                    .set(UserDeliverOrderItem::getDeliveryId, shipParam.getDeliveryId())
+                    .set(UserDeliverOrderItem::getDeliveryFlowId, shipParam.getDeliveryFlowId())
+                    .eq(UserDeliverOrderItem::getItemId, itemId));
             }
 
         }
@@ -442,9 +450,9 @@ public class UserDeliverOrderServiceImpl extends ServiceImpl<UserDeliverOrderMap
     }
 
     @Override
-	public UserDeliverOrderVO selectUserDeliverOrderVo(String orderId) {
-		return getBaseMapper().selectUserDeliverOrderVo(orderId);
-	}
+    public UserDeliverOrderVO selectUserDeliverOrderVo(String orderId) {
+        return getBaseMapper().selectUserDeliverOrderVo(orderId);
+    }
 
 
 }

+ 4 - 0
mp-service/src/main/java/com/qs/mp/user/service/impl/UserTicketOrderServiceImpl.java

@@ -187,6 +187,7 @@ public class UserTicketOrderServiceImpl extends
         userTicketOrder.setMemo("");
         userTicketOrder.setResource(TicketTypeEnum.ONLINE);
         userTicketOrder.setCouponInfo(couponIds);
+        userTicketOrder.setAppId(orderSettleVO.getAppId());
         userTicketOrder.setStatus(UserTicketOrderStatusEnum.NOT_PAY);
         if (orderSettleVO.getPayAmt() == 0) {
             userTicketOrder.setCommStatus(CommStatusEnum.YES); // 无需结佣,直接置为已结佣
@@ -285,6 +286,7 @@ public class UserTicketOrderServiceImpl extends
         ticketOrder.setPayAmt(orderSettleVO.getPayAmt());
         ticketOrder.setTicketNum(1);
         ticketOrder.setMemo("");
+        ticketOrder.setAppId(orderSettleVO.getAppId());
         ticketOrder.setResource(TicketTypeEnum.OFFLINE);
         ticketOrder.setCouponInfo(couponIds);
         ticketOrder.setStatus(UserTicketOrderStatusEnum.NOT_PAY);
@@ -426,6 +428,7 @@ public class UserTicketOrderServiceImpl extends
             throw new ServiceException("支付回调用户购票订单处理,订单状态异常,不是待支付。orderId:" + payOrder.getBizId());
         }
         ticketOrder.setPayTime(DateUtils.parseDate(payOrder.getCompleteDate()));
+        ticketOrder.setPayType(payOrder.getPayResource());
 
         // 插入异步任务
         Assert.isTrue(asyncTaskService.insertAsyncTask(AsyncTaskTypeEnum.TICKET_PAY, payOrder.getBizId()),
@@ -485,6 +488,7 @@ public class UserTicketOrderServiceImpl extends
             new LambdaUpdateWrapper<UserTicketOrder>().set(UserTicketOrder::getStatus,
                     UserTicketOrderStatusEnum.FINISHED)
                 .set(UserTicketOrder::getPayTime, ticketOrder.getPayTime())
+                .set(UserTicketOrder::getPayType, ticketOrder.getPayType())
                 .eq(UserTicketOrder::getOrderId, ticketOrder.getOrderId())
                 .eq(UserTicketOrder::getStatus, UserTicketOrderStatusEnum.NOT_PAY));
         Assert.isTrue(updateRst, "支付回调用户购票订单处理,更新订单状态失败,orderId:" + ticketOrder.getOrderId());