mirror of
				https://github.com/YunaiV/ruoyi-vue-pro.git
				synced 2025-10-31 10:37:41 +08:00 
			
		
		
		
	trade: 1.支付成功后,增加用户经验;2.退款成功后,扣减用户经验
This commit is contained in:
		| @ -12,8 +12,10 @@ import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; | |||||||
| import cn.iocoder.yudao.framework.common.util.json.JsonUtils; | import cn.iocoder.yudao.framework.common.util.json.JsonUtils; | ||||||
| import cn.iocoder.yudao.module.member.api.address.AddressApi; | import cn.iocoder.yudao.module.member.api.address.AddressApi; | ||||||
| import cn.iocoder.yudao.module.member.api.address.dto.AddressRespDTO; | import cn.iocoder.yudao.module.member.api.address.dto.AddressRespDTO; | ||||||
|  | import cn.iocoder.yudao.module.member.api.level.MemberLevelApi; | ||||||
| import cn.iocoder.yudao.module.member.api.user.MemberUserApi; | import cn.iocoder.yudao.module.member.api.user.MemberUserApi; | ||||||
| import cn.iocoder.yudao.module.member.api.user.dto.MemberUserRespDTO; | import cn.iocoder.yudao.module.member.api.user.dto.MemberUserRespDTO; | ||||||
|  | import cn.iocoder.yudao.module.member.enums.MemberExperienceBizTypeEnum; | ||||||
| import cn.iocoder.yudao.module.pay.api.order.PayOrderApi; | import cn.iocoder.yudao.module.pay.api.order.PayOrderApi; | ||||||
| import cn.iocoder.yudao.module.pay.api.order.dto.PayOrderCreateReqDTO; | import cn.iocoder.yudao.module.pay.api.order.dto.PayOrderCreateReqDTO; | ||||||
| import cn.iocoder.yudao.module.pay.api.order.dto.PayOrderRespDTO; | import cn.iocoder.yudao.module.pay.api.order.dto.PayOrderRespDTO; | ||||||
| @ -29,10 +31,10 @@ import cn.iocoder.yudao.module.promotion.api.combination.dto.CombinationRecordUp | |||||||
| import cn.iocoder.yudao.module.promotion.api.coupon.CouponApi; | import cn.iocoder.yudao.module.promotion.api.coupon.CouponApi; | ||||||
| import cn.iocoder.yudao.module.promotion.api.coupon.dto.CouponUseReqDTO; | import cn.iocoder.yudao.module.promotion.api.coupon.dto.CouponUseReqDTO; | ||||||
| import cn.iocoder.yudao.module.promotion.enums.combination.CombinationRecordStatusEnum; | import cn.iocoder.yudao.module.promotion.enums.combination.CombinationRecordStatusEnum; | ||||||
| import cn.iocoder.yudao.module.trade.controller.admin.order.vo.TradeOrderUpdateAddressReqVO; |  | ||||||
| import cn.iocoder.yudao.module.trade.controller.admin.order.vo.TradeOrderUpdatePriceReqVO; |  | ||||||
| import cn.iocoder.yudao.module.trade.controller.admin.order.vo.TradeOrderDeliveryReqVO; | import cn.iocoder.yudao.module.trade.controller.admin.order.vo.TradeOrderDeliveryReqVO; | ||||||
| import cn.iocoder.yudao.module.trade.controller.admin.order.vo.TradeOrderRemarkReqVO; | import cn.iocoder.yudao.module.trade.controller.admin.order.vo.TradeOrderRemarkReqVO; | ||||||
|  | import cn.iocoder.yudao.module.trade.controller.admin.order.vo.TradeOrderUpdateAddressReqVO; | ||||||
|  | import cn.iocoder.yudao.module.trade.controller.admin.order.vo.TradeOrderUpdatePriceReqVO; | ||||||
| import cn.iocoder.yudao.module.trade.controller.app.order.vo.AppTradeOrderCreateReqVO; | import cn.iocoder.yudao.module.trade.controller.app.order.vo.AppTradeOrderCreateReqVO; | ||||||
| import cn.iocoder.yudao.module.trade.controller.app.order.vo.AppTradeOrderSettlementReqVO; | import cn.iocoder.yudao.module.trade.controller.app.order.vo.AppTradeOrderSettlementReqVO; | ||||||
| import cn.iocoder.yudao.module.trade.controller.app.order.vo.AppTradeOrderSettlementRespVO; | 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; | |||||||
| import cn.iocoder.yudao.module.trade.service.price.bo.TradePriceCalculateRespBO; | import cn.iocoder.yudao.module.trade.service.price.bo.TradePriceCalculateRespBO; | ||||||
| import lombok.extern.slf4j.Slf4j; | import lombok.extern.slf4j.Slf4j; | ||||||
| import org.jetbrains.annotations.NotNull; | import org.jetbrains.annotations.NotNull; | ||||||
|  | import org.springframework.scheduling.annotation.Async; | ||||||
| import org.springframework.stereotype.Service; | import org.springframework.stereotype.Service; | ||||||
| import org.springframework.transaction.annotation.Transactional; | import org.springframework.transaction.annotation.Transactional; | ||||||
|  |  | ||||||
| @ -101,8 +104,12 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService { | |||||||
|     private AddressApi addressApi; |     private AddressApi addressApi; | ||||||
|     @Resource |     @Resource | ||||||
|     private CouponApi couponApi; |     private CouponApi couponApi; | ||||||
|  |  | ||||||
|     @Resource |     @Resource | ||||||
|     private MemberUserApi memberUserApi; |     private MemberUserApi memberUserApi; | ||||||
|  |     @Resource | ||||||
|  |     private MemberLevelApi memberLevelApi; | ||||||
|  |  | ||||||
|     @Resource |     @Resource | ||||||
|     private ProductCommentApi productCommentApi; |     private ProductCommentApi productCommentApi; | ||||||
|     @Resource |     @Resource | ||||||
| @ -336,6 +343,11 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService { | |||||||
|         // TODO 芋艿:发送站内信 |         // TODO 芋艿:发送站内信 | ||||||
|  |  | ||||||
|         // TODO 芋艿:OrderLog |         // TODO 芋艿:OrderLog | ||||||
|  |  | ||||||
|  |         // todo 增加用户积分 | ||||||
|  |  | ||||||
|  |         // 增加用户经验 | ||||||
|  |         addUserExperienceAsync(order.getUserId(), order.getPayPrice(), order.getId()); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
| @ -602,6 +614,11 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService { | |||||||
|         } |         } | ||||||
|  |  | ||||||
|         // TODO 芋艿:未来如果有分佣,需要更新相关分佣订单为已失效 |         // TODO 芋艿:未来如果有分佣,需要更新相关分佣订单为已失效 | ||||||
|  |  | ||||||
|  |         // todo 取消用户积分 | ||||||
|  |  | ||||||
|  |         // 取消用户经验 | ||||||
|  |         reduceUserExperienceAsync(order.getUserId(), orderRefundPrice, afterSaleId); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     @Override |     @Override | ||||||
| @ -649,4 +666,15 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService { | |||||||
|                 TradeOrderItemAfterSaleStatusEnum.SUCCESS.getStatus())); |                 TradeOrderItemAfterSaleStatusEnum.SUCCESS.getStatus())); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     @Async | ||||||
|  |     protected void addUserExperienceAsync(Long userId, Integer payPrice, Long orderId) { | ||||||
|  |         int bizType = MemberExperienceBizTypeEnum.ORDER.getType(); | ||||||
|  |         memberLevelApi.addExperience(userId, payPrice, bizType, String.valueOf(orderId)); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     @Async | ||||||
|  |     protected void reduceUserExperienceAsync(Long userId, Integer refundPrice, Long afterSaleId){ | ||||||
|  |         int bizType = MemberExperienceBizTypeEnum.REFUND.getType(); | ||||||
|  |         memberLevelApi.addExperience(userId, -refundPrice, bizType, String.valueOf(afterSaleId)); | ||||||
|  |     } | ||||||
| } | } | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user
	 owen
					owen