|
@@ -1,75 +1,75 @@
|
|
|
-package com.yami.shop.listener;
|
|
|
-
|
|
|
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
-import com.yami.shop.bean.enums.ShopWalletChangeReason;
|
|
|
-import com.yami.shop.bean.event.PaySuccessOrderEvent;
|
|
|
-import com.yami.shop.bean.model.ShopWallet;
|
|
|
-import com.yami.shop.bean.order.PaySuccessOrderOrder;
|
|
|
-import com.yami.shop.common.config.Constant;
|
|
|
-import com.yami.shop.common.exception.GlobalException;
|
|
|
-import com.yami.shop.common.exception.YamiShopBindException;
|
|
|
-import com.yami.shop.common.util.Arith;
|
|
|
-import com.yami.shop.dao.ProductMapper;
|
|
|
-import com.yami.shop.dao.ShopWalletMapper;
|
|
|
-import com.yami.shop.service.OrderService;
|
|
|
-import com.yami.shop.service.ShopWalletLogService;
|
|
|
-import lombok.AllArgsConstructor;
|
|
|
-import ma.glasnost.orika.MapperFacade;
|
|
|
-import org.springframework.context.event.EventListener;
|
|
|
-import org.springframework.core.annotation.Order;
|
|
|
-import org.springframework.stereotype.Component;
|
|
|
-
|
|
|
-import java.util.Date;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Objects;
|
|
|
-
|
|
|
-/**
|
|
|
- * 支付成功回调
|
|
|
- *
|
|
|
- * @author LGH
|
|
|
- */
|
|
|
-@Component("defaultPaySuccessListener")
|
|
|
-@AllArgsConstructor
|
|
|
-public class PaySuccessOrderListener {
|
|
|
-
|
|
|
- private final ShopWalletMapper shopWalletMapper;
|
|
|
-
|
|
|
- private final ShopWalletLogService shopWalletLogService;
|
|
|
-
|
|
|
- private final MapperFacade mapperFacade;
|
|
|
-
|
|
|
- private final ProductMapper productMapper;
|
|
|
-
|
|
|
- private final OrderService orderService;
|
|
|
-
|
|
|
- /**
|
|
|
- * 更新店铺钱包信息
|
|
|
- */
|
|
|
- @EventListener(PaySuccessOrderEvent.class)
|
|
|
- @Order(PaySuccessOrderOrder.DEFAULT)
|
|
|
- public void defaultPaySuccessListener(PaySuccessOrderEvent event) {
|
|
|
- if(Objects.equals(event.getOrders().get(0).getShopId(),Constant.PLATFORM_SHOP_ID)){
|
|
|
- return;
|
|
|
- }
|
|
|
- List<com.yami.shop.bean.model.Order> orders = event.getOrders();
|
|
|
-
|
|
|
- for (com.yami.shop.bean.model.Order order : orders) {
|
|
|
- Long shopId = order.getShopId();
|
|
|
- ShopWallet shopWallet = shopWalletMapper.selectOne(new LambdaQueryWrapper<ShopWallet>().eq(ShopWallet::getShopId, shopId));
|
|
|
- ShopWallet newShopWallet = mapperFacade.map(shopWallet, ShopWallet.class);
|
|
|
- newShopWallet.setUpdateTime(new Date());
|
|
|
-
|
|
|
-// newShopWallet.setUnsettledAmount(Arith.add(shopWallet.getUnsettledAmount(), order.getActualTotal()));
|
|
|
- // 商家未结算金额 = 商家原未结算金额 + 订单实付金额 + 订单平台补贴金额
|
|
|
- newShopWallet.setUnsettledAmount(Arith.add(shopWallet.getUnsettledAmount(), Arith.add(order.getActualTotal(),order.getPlatformAmount())));
|
|
|
- // 插入未结算收入记录
|
|
|
- shopWalletLogService.saveShopWalletLog(shopWallet, newShopWallet, ShopWalletChangeReason.PAY, order.getOrderNumber());
|
|
|
- // 使用乐观锁进行更新
|
|
|
- if (shopWalletMapper.updateById(newShopWallet) != 1) {
|
|
|
- throw new GlobalException("更新店铺钱包信息失败");
|
|
|
- }
|
|
|
- }
|
|
|
- // 更新商品销量
|
|
|
- productMapper.updateSoldNum(event.getAllOrderItems());
|
|
|
- }
|
|
|
-}
|
|
|
+//package com.yami.shop.listener;
|
|
|
+//
|
|
|
+//import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+//import com.yami.shop.bean.enums.ShopWalletChangeReason;
|
|
|
+//import com.yami.shop.bean.event.PaySuccessOrderEvent;
|
|
|
+//import com.yami.shop.bean.model.ShopWallet;
|
|
|
+//import com.yami.shop.bean.order.PaySuccessOrderOrder;
|
|
|
+//import com.yami.shop.common.config.Constant;
|
|
|
+//import com.yami.shop.common.exception.GlobalException;
|
|
|
+//import com.yami.shop.common.exception.YamiShopBindException;
|
|
|
+//import com.yami.shop.common.util.Arith;
|
|
|
+//import com.yami.shop.dao.ProductMapper;
|
|
|
+//import com.yami.shop.dao.ShopWalletMapper;
|
|
|
+//import com.yami.shop.service.OrderService;
|
|
|
+//import com.yami.shop.service.ShopWalletLogService;
|
|
|
+//import lombok.AllArgsConstructor;
|
|
|
+//import ma.glasnost.orika.MapperFacade;
|
|
|
+//import org.springframework.context.event.EventListener;
|
|
|
+//import org.springframework.core.annotation.Order;
|
|
|
+//import org.springframework.stereotype.Component;
|
|
|
+//
|
|
|
+//import java.util.Date;
|
|
|
+//import java.util.List;
|
|
|
+//import java.util.Objects;
|
|
|
+//
|
|
|
+///**
|
|
|
+// * 支付成功回调
|
|
|
+// *
|
|
|
+// * @author LGH
|
|
|
+// */
|
|
|
+//@Component("defaultPaySuccessListener")
|
|
|
+//@AllArgsConstructor
|
|
|
+//public class PaySuccessOrderListener {
|
|
|
+//
|
|
|
+// private final ShopWalletMapper shopWalletMapper;
|
|
|
+//
|
|
|
+// private final ShopWalletLogService shopWalletLogService;
|
|
|
+//
|
|
|
+// private final MapperFacade mapperFacade;
|
|
|
+//
|
|
|
+// private final ProductMapper productMapper;
|
|
|
+//
|
|
|
+// private final OrderService orderService;
|
|
|
+//
|
|
|
+// /**
|
|
|
+// * 更新店铺钱包信息
|
|
|
+// */
|
|
|
+// @EventListener(PaySuccessOrderEvent.class)
|
|
|
+// @Order(PaySuccessOrderOrder.DEFAULT)
|
|
|
+// public void defaultPaySuccessListener(PaySuccessOrderEvent event) {
|
|
|
+// if(Objects.equals(event.getOrders().get(0).getShopId(),Constant.PLATFORM_SHOP_ID)){
|
|
|
+// return;
|
|
|
+// }
|
|
|
+// List<com.yami.shop.bean.model.Order> orders = event.getOrders();
|
|
|
+//
|
|
|
+// for (com.yami.shop.bean.model.Order order : orders) {
|
|
|
+// Long shopId = order.getShopId();
|
|
|
+// ShopWallet shopWallet = shopWalletMapper.selectOne(new LambdaQueryWrapper<ShopWallet>().eq(ShopWallet::getShopId, shopId));
|
|
|
+// ShopWallet newShopWallet = mapperFacade.map(shopWallet, ShopWallet.class);
|
|
|
+// newShopWallet.setUpdateTime(new Date());
|
|
|
+//
|
|
|
+//// newShopWallet.setUnsettledAmount(Arith.add(shopWallet.getUnsettledAmount(), order.getActualTotal()));
|
|
|
+// // 商家未结算金额 = 商家原未结算金额 + 订单实付金额 + 订单平台补贴金额
|
|
|
+// newShopWallet.setUnsettledAmount(Arith.add(shopWallet.getUnsettledAmount(), Arith.add(order.getActualTotal(),order.getPlatformAmount())));
|
|
|
+// // 插入未结算收入记录
|
|
|
+// shopWalletLogService.saveShopWalletLog(shopWallet, newShopWallet, ShopWalletChangeReason.PAY, order.getOrderNumber());
|
|
|
+// // 使用乐观锁进行更新
|
|
|
+// if (shopWalletMapper.updateById(newShopWallet) != 1) {
|
|
|
+// throw new GlobalException("更新店铺钱包信息失败");
|
|
|
+// }
|
|
|
+// }
|
|
|
+// // 更新商品销量
|
|
|
+// productMapper.updateSoldNum(event.getAllOrderItems());
|
|
|
+// }
|
|
|
+//}
|