Commit dad56fd0963e46eb866923a5f39bcef3fc237b42
1 parent
9aee08ee
trade: 1.支付成功后,增加用户经验;2.退款成功后,扣减用户经验
Showing
1 changed file
with
30 additions
and
2 deletions
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderUpdateServiceImpl.java
| @@ -12,8 +12,10 @@ import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; | @@ -12,8 +12,10 @@ import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; | ||
| 12 | import cn.iocoder.yudao.framework.common.util.json.JsonUtils; | 12 | import cn.iocoder.yudao.framework.common.util.json.JsonUtils; |
| 13 | import cn.iocoder.yudao.module.member.api.address.AddressApi; | 13 | import cn.iocoder.yudao.module.member.api.address.AddressApi; |
| 14 | import cn.iocoder.yudao.module.member.api.address.dto.AddressRespDTO; | 14 | import cn.iocoder.yudao.module.member.api.address.dto.AddressRespDTO; |
| 15 | +import cn.iocoder.yudao.module.member.api.level.MemberLevelApi; | ||
| 15 | import cn.iocoder.yudao.module.member.api.user.MemberUserApi; | 16 | import cn.iocoder.yudao.module.member.api.user.MemberUserApi; |
| 16 | import cn.iocoder.yudao.module.member.api.user.dto.MemberUserRespDTO; | 17 | import cn.iocoder.yudao.module.member.api.user.dto.MemberUserRespDTO; |
| 18 | +import cn.iocoder.yudao.module.member.enums.MemberExperienceBizTypeEnum; | ||
| 17 | import cn.iocoder.yudao.module.pay.api.order.PayOrderApi; | 19 | import cn.iocoder.yudao.module.pay.api.order.PayOrderApi; |
| 18 | import cn.iocoder.yudao.module.pay.api.order.dto.PayOrderCreateReqDTO; | 20 | import cn.iocoder.yudao.module.pay.api.order.dto.PayOrderCreateReqDTO; |
| 19 | import cn.iocoder.yudao.module.pay.api.order.dto.PayOrderRespDTO; | 21 | import cn.iocoder.yudao.module.pay.api.order.dto.PayOrderRespDTO; |
| @@ -29,10 +31,10 @@ import cn.iocoder.yudao.module.promotion.api.combination.dto.CombinationRecordUp | @@ -29,10 +31,10 @@ import cn.iocoder.yudao.module.promotion.api.combination.dto.CombinationRecordUp | ||
| 29 | import cn.iocoder.yudao.module.promotion.api.coupon.CouponApi; | 31 | import cn.iocoder.yudao.module.promotion.api.coupon.CouponApi; |
| 30 | import cn.iocoder.yudao.module.promotion.api.coupon.dto.CouponUseReqDTO; | 32 | import cn.iocoder.yudao.module.promotion.api.coupon.dto.CouponUseReqDTO; |
| 31 | import cn.iocoder.yudao.module.promotion.enums.combination.CombinationRecordStatusEnum; | 33 | import cn.iocoder.yudao.module.promotion.enums.combination.CombinationRecordStatusEnum; |
| 32 | -import cn.iocoder.yudao.module.trade.controller.admin.order.vo.TradeOrderUpdateAddressReqVO; | ||
| 33 | -import cn.iocoder.yudao.module.trade.controller.admin.order.vo.TradeOrderUpdatePriceReqVO; | ||
| 34 | import cn.iocoder.yudao.module.trade.controller.admin.order.vo.TradeOrderDeliveryReqVO; | 34 | import cn.iocoder.yudao.module.trade.controller.admin.order.vo.TradeOrderDeliveryReqVO; |
| 35 | import cn.iocoder.yudao.module.trade.controller.admin.order.vo.TradeOrderRemarkReqVO; | 35 | import cn.iocoder.yudao.module.trade.controller.admin.order.vo.TradeOrderRemarkReqVO; |
| 36 | +import cn.iocoder.yudao.module.trade.controller.admin.order.vo.TradeOrderUpdateAddressReqVO; | ||
| 37 | +import cn.iocoder.yudao.module.trade.controller.admin.order.vo.TradeOrderUpdatePriceReqVO; | ||
| 36 | import cn.iocoder.yudao.module.trade.controller.app.order.vo.AppTradeOrderCreateReqVO; | 38 | import cn.iocoder.yudao.module.trade.controller.app.order.vo.AppTradeOrderCreateReqVO; |
| 37 | import cn.iocoder.yudao.module.trade.controller.app.order.vo.AppTradeOrderSettlementReqVO; | 39 | import cn.iocoder.yudao.module.trade.controller.app.order.vo.AppTradeOrderSettlementReqVO; |
| 38 | import cn.iocoder.yudao.module.trade.controller.app.order.vo.AppTradeOrderSettlementRespVO; | 40 | import cn.iocoder.yudao.module.trade.controller.app.order.vo.AppTradeOrderSettlementRespVO; |
| @@ -57,6 +59,7 @@ import cn.iocoder.yudao.module.trade.service.price.bo.TradePriceCalculateReqBO; | @@ -57,6 +59,7 @@ import cn.iocoder.yudao.module.trade.service.price.bo.TradePriceCalculateReqBO; | ||
| 57 | import cn.iocoder.yudao.module.trade.service.price.bo.TradePriceCalculateRespBO; | 59 | import cn.iocoder.yudao.module.trade.service.price.bo.TradePriceCalculateRespBO; |
| 58 | import lombok.extern.slf4j.Slf4j; | 60 | import lombok.extern.slf4j.Slf4j; |
| 59 | import org.jetbrains.annotations.NotNull; | 61 | import org.jetbrains.annotations.NotNull; |
| 62 | +import org.springframework.scheduling.annotation.Async; | ||
| 60 | import org.springframework.stereotype.Service; | 63 | import org.springframework.stereotype.Service; |
| 61 | import org.springframework.transaction.annotation.Transactional; | 64 | import org.springframework.transaction.annotation.Transactional; |
| 62 | 65 | ||
| @@ -101,9 +104,13 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService { | @@ -101,9 +104,13 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService { | ||
| 101 | private AddressApi addressApi; | 104 | private AddressApi addressApi; |
| 102 | @Resource | 105 | @Resource |
| 103 | private CouponApi couponApi; | 106 | private CouponApi couponApi; |
| 107 | + | ||
| 104 | @Resource | 108 | @Resource |
| 105 | private MemberUserApi memberUserApi; | 109 | private MemberUserApi memberUserApi; |
| 106 | @Resource | 110 | @Resource |
| 111 | + private MemberLevelApi memberLevelApi; | ||
| 112 | + | ||
| 113 | + @Resource | ||
| 107 | private ProductCommentApi productCommentApi; | 114 | private ProductCommentApi productCommentApi; |
| 108 | @Resource | 115 | @Resource |
| 109 | private TradeMessageService tradeMessageService; | 116 | private TradeMessageService tradeMessageService; |
| @@ -336,6 +343,11 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService { | @@ -336,6 +343,11 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService { | ||
| 336 | // TODO 芋艿:发送站内信 | 343 | // TODO 芋艿:发送站内信 |
| 337 | 344 | ||
| 338 | // TODO 芋艿:OrderLog | 345 | // TODO 芋艿:OrderLog |
| 346 | + | ||
| 347 | + // todo 增加用户积分 | ||
| 348 | + | ||
| 349 | + // 增加用户经验 | ||
| 350 | + addUserExperienceAsync(order.getUserId(), order.getPayPrice(), order.getId()); | ||
| 339 | } | 351 | } |
| 340 | 352 | ||
| 341 | /** | 353 | /** |
| @@ -602,6 +614,11 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService { | @@ -602,6 +614,11 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService { | ||
| 602 | } | 614 | } |
| 603 | 615 | ||
| 604 | // TODO 芋艿:未来如果有分佣,需要更新相关分佣订单为已失效 | 616 | // TODO 芋艿:未来如果有分佣,需要更新相关分佣订单为已失效 |
| 617 | + | ||
| 618 | + // todo 取消用户积分 | ||
| 619 | + | ||
| 620 | + // 取消用户经验 | ||
| 621 | + reduceUserExperienceAsync(order.getUserId(), orderRefundPrice, afterSaleId); | ||
| 605 | } | 622 | } |
| 606 | 623 | ||
| 607 | @Override | 624 | @Override |
| @@ -649,4 +666,15 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService { | @@ -649,4 +666,15 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService { | ||
| 649 | TradeOrderItemAfterSaleStatusEnum.SUCCESS.getStatus())); | 666 | TradeOrderItemAfterSaleStatusEnum.SUCCESS.getStatus())); |
| 650 | } | 667 | } |
| 651 | 668 | ||
| 669 | + @Async | ||
| 670 | + protected void addUserExperienceAsync(Long userId, Integer payPrice, Long orderId) { | ||
| 671 | + int bizType = MemberExperienceBizTypeEnum.ORDER.getType(); | ||
| 672 | + memberLevelApi.addExperience(userId, payPrice, bizType, String.valueOf(orderId)); | ||
| 673 | + } | ||
| 674 | + | ||
| 675 | + @Async | ||
| 676 | + protected void reduceUserExperienceAsync(Long userId, Integer refundPrice, Long afterSaleId){ | ||
| 677 | + int bizType = MemberExperienceBizTypeEnum.REFUND.getType(); | ||
| 678 | + memberLevelApi.addExperience(userId, -refundPrice, bizType, String.valueOf(afterSaleId)); | ||
| 679 | + } | ||
| 652 | } | 680 | } |