cup 2 rokov pred
rodič
commit
9773306155

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

@@ -263,7 +263,6 @@ public class UserDeliverOrderController extends BaseApiController {
         AppSourceEnum appSourceEnum = AppSourceEnum.getByValue(param.getAppSource());
         orderSettleVO.setAppId(appSourceEnum.getAppId());
 
-
         // 缓存订单结算对象
         redisCache.setCacheObject(RedisKey.build(RedisKey.USER_DELIVER_ORDER_KEY, userId), orderSettleVO, 10,
             TimeUnit.MINUTES);
@@ -336,7 +335,8 @@ 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 {
                 // 微信支付

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

@@ -7,28 +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;
+    @ApiModelProperty("小程序,1盲票,2码上兑券,3支付宝盲票")
+    private Integer appSource;
 }

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

@@ -19,43 +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;
+    @ApiModelProperty("小程序Id")
+    private String appId;
 }

+ 211 - 205
mp-service/src/main/java/com/qs/mp/user/service/impl/UserDeliverOrderServiceImpl.java

@@ -54,141 +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.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() + "库存不足,请重新下单");
-                }
+    @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())
@@ -196,79 +199,79 @@ 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()));
+        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);
@@ -292,13 +295,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) {
@@ -313,8 +316,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 = "物流公司不存在";
@@ -332,7 +336,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 = "订单状态不为待发货和部分发货";
                     }
@@ -341,7 +346,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不存在";
@@ -369,27 +375,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();
     }
@@ -405,9 +411,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());
@@ -423,19 +429,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));
             }
 
         }
@@ -443,9 +449,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);
+    }
 
 
 }