From 04ff0392849be2bcddba6747679790b0bce464fb Mon Sep 17 00:00:00 2001 From: Administrator <15274802129@163.com> Date: Fri, 16 May 2025 14:07:34 +0800 Subject: [PATCH] refactor(mall): 调整订单相关功能和界面 --- src/main/java/cc/mrbird/febs/pay/controller/XcxPayController.java | 51 +++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 47 insertions(+), 4 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/pay/controller/XcxPayController.java b/src/main/java/cc/mrbird/febs/pay/controller/XcxPayController.java index 22563c3..79aa3c3 100644 --- a/src/main/java/cc/mrbird/febs/pay/controller/XcxPayController.java +++ b/src/main/java/cc/mrbird/febs/pay/controller/XcxPayController.java @@ -3,7 +3,9 @@ import cc.mrbird.febs.common.entity.FebsResponse; import cc.mrbird.febs.common.enumerates.*; import cc.mrbird.febs.common.properties.XcxProperties; +import cc.mrbird.febs.common.utils.MallUtils; import cc.mrbird.febs.common.utils.RedisUtils; +import cc.mrbird.febs.common.utils.ShareCodeUtil; import cc.mrbird.febs.common.utils.SpringContextHolder; import cc.mrbird.febs.mall.dto.RechargeWalletMessageSendDto; import cc.mrbird.febs.mall.entity.*; @@ -18,10 +20,13 @@ import cc.mrbird.febs.pay.util.Util; import cc.mrbird.febs.pay.util.WechatConfigure; import cc.mrbird.febs.rabbit.producter.AgentProducer; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.wechat.pay.contrib.apache.httpclient.notification.NotificationRequest; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -47,6 +52,7 @@ import java.text.ParseException; import java.util.Date; import java.util.HashMap; +import java.util.List; import java.util.Map; @Slf4j @@ -56,6 +62,7 @@ public class XcxPayController { private final HappyActivityOrderMapper happyActivityOrderMapper; + private final HappyActivityOrderItemMapper happyActivityOrderItemMapper; private final MallOrderInfoMapper mallOrderInfoMapper; private final MallMoneyFlowMapper mallMoneyFlowMapper; private final MallMemberWalletMapper mallMemberWalletMapper; @@ -314,17 +321,41 @@ order.setPayOrderNo(transaction_id); mallOrderInfoMapper.updateById(order); + + //先支付积分部分 + if(order.getScoreAmount().compareTo(BigDecimal.ZERO) > 0){ + memberWalletService.reduce(order.getScoreAmount(), order.getMemberId(), "prizeScore"); + mallMoneyFlowService.addMoneyFlow( + order.getMemberId(), + order.getScoreAmount().negate(), + ScoreFlowTypeEnum.PAY.getValue(), + order.getOrderNo(), + FlowTypeEnum.PRIZE_SCORE.getValue(), + StrUtil.format(ScoreFlowTypeEnum.PAY.getDesc(),order.getScoreAmount()), + 2 + ); + } + agentProducer.sendOrderCoupon(order.getId()); // agentProducer.sendGetScoreMsg(order.getId()); mallMoneyFlowService.addMoneyFlow( order.getMemberId(), order.getAmount().negate(), - MoneyFlowTypeEnum.WECHAT_PAY.getValue(), + ScoreFlowTypeEnum.WECHAT_PAY.getValue(), order.getOrderNo(), - FlowTypeEnum.WECHAT.getValue(), - "微信支付", - 2); + FlowTypeEnum.BALANCE.getValue(), + StrUtil.format(ScoreFlowTypeEnum.WECHAT_PAY.getDesc(),order.getAmount()), + 2 + ); +// mallMoneyFlowService.addMoneyFlow( +// order.getMemberId(), +// order.getAmount().negate(), +// MoneyFlowTypeEnum.WECHAT_PAY.getValue(), +// order.getOrderNo(), +// FlowTypeEnum.WECHAT.getValue(), +// "微信支付", +// 2); threadResult.success().message("支付成功"); } else { log.info("订单状态不为待付款,order status=", order.getStatus()); @@ -422,6 +453,18 @@ happyActivityOrder.setWxOrderNo(transaction_id); happyActivityOrderMapper.updateById(happyActivityOrder); + List<HappyActivityOrderItem> items = happyActivityOrderItemMapper.selectList( + new LambdaQueryWrapper<HappyActivityOrderItem>() + .eq(HappyActivityOrderItem::getOrderId, orderId) + ); + if (CollUtil.isNotEmpty(items)) { + for (HappyActivityOrderItem item : items) { + String code = ShareCodeUtil.toSerialCode(item.getOrderId()) + MallUtils.getRandomNum(10); + item.setCode(code); + happyActivityOrderItemMapper.updateById(item); + } + } + mallMoneyFlowService.addMoneyFlow( happyActivityOrder.getMemberId(), happyActivityOrder.getAmount().negate(), -- Gitblit v1.9.1