Administrator
2025-08-22 576c842301a9fabd7719fdb3539806bf650ae31d
src/main/java/cc/mrbird/febs/pay/service/impl/PayServiceImpl.java
@@ -1,11 +1,16 @@
package cc.mrbird.febs.pay.service.impl;
import cc.mrbird.febs.common.enumerates.AgentLevelEnum;
import cc.mrbird.febs.common.enumerates.FlowTypeEnum;
import cc.mrbird.febs.common.enumerates.MoneyFlowTypeEnum;
import cc.mrbird.febs.common.enumerates.OrderStatusEnum;
import cc.mrbird.febs.common.exception.FebsException;
import cc.mrbird.febs.mall.entity.ClothesOrder;
import cc.mrbird.febs.mall.entity.ClothesType;
import cc.mrbird.febs.mall.entity.MallMember;
import cc.mrbird.febs.mall.entity.MallOrderInfo;
import cc.mrbird.febs.mall.mapper.ClothesOrderMapper;
import cc.mrbird.febs.mall.mapper.ClothesTypeMapper;
import cc.mrbird.febs.mall.mapper.MallOrderInfoMapper;
import cc.mrbird.febs.mall.service.IApiMallMemberService;
import cc.mrbird.febs.mall.service.IApiMallOrderInfoService;
@@ -45,6 +50,8 @@
    @Autowired
    private MallOrderInfoMapper orderInfoMapper;
    @Autowired
    private ClothesTypeMapper clothesTypeMapper;
    @Autowired
    private AgentProducer agentProducer;
    @Value("${spring.profiles.active}")
@@ -53,7 +60,7 @@
    @Override
    public String aliPay(MallOrderInfo orderInfo) {
        AlipayTradeAppPayModel model = new AlipayTradeAppPayModel();
        model.setSubject("全民商城商品支付");
        model.setSubject("壹元蔬菜商品支付");
        model.setBody(orderInfo.getName());
        model.setOutTradeNo(orderInfo.getOrderNo());
        model.setTimeoutExpress("15m");
@@ -62,6 +69,38 @@
            model.setTotalAmount("0.01");
        } else {
            model.setTotalAmount(orderInfo.getAmount().toString());
        }
        AliPayPassbackModel passbackModel = new AliPayPassbackModel();
        passbackModel.setOrderId(orderInfo.getId());
        passbackModel.setMemberId(orderInfo.getMemberId());
        model.setPassbackParams(JSONObject.toJSONString(passbackModel));
        model.setProductCode("QUICK_MSECURITY_PAY");
        AlipayTradeAppPayResponse resp = null;
        try {
            resp = AliPayApi.appPayToResponse(model, aliPayProperties.getNoticeUrl());
        } catch (AlipayApiException e) {
            log.error("支付宝支付异常", e);
            throw new FebsException("支付宝支付异常");
        }
        return resp.getBody();
    }
    @Override
    public String aliPay(ClothesOrder orderInfo) {
        ClothesType clothesType = clothesTypeMapper.selectById(orderInfo.getTypeId());
        AlipayTradeAppPayModel model = new AlipayTradeAppPayModel();
        model.setSubject(clothesType.getName());
        model.setBody(orderInfo.getName());
        model.setOutTradeNo(orderInfo.getOrderNo());
        model.setTimeoutExpress("15m");
        if ("dev".equals(active) || "test".equals(active)) {
            model.setTotalAmount("0.01");
        } else {
            model.setTotalAmount(orderInfo.getRealAmount().toString());
        }
        AliPayPassbackModel passbackModel = new AliPayPassbackModel();
@@ -104,9 +143,9 @@
        orderInfo.setPayTradeNo(params.get("trade_no"));
        orderInfoMapper.updateById(orderInfo);
        agentProducer.sendReturnMoneyMsg(orderInfo.getId());
        agentProducer.sendAutoLevelUpMsg(orderInfo.getMemberId());
//        agentProducer.sendReturnMoneyMsg(orderInfo.getId());
//        agentProducer.sendAutoLevelUpMsg(orderInfo.getMemberId());
        memberService.addMoneyFlow(orderInfo.getMemberId(), orderInfo.getAmount().negate(), MoneyFlowTypeEnum.PAY.getValue(), orderInfo.getOrderNo(), null, null, null, null);
//        memberService.addMoneyFlow(orderInfo.getMemberId(), orderInfo.getAmount().negate(), MoneyFlowTypeEnum.PAY.getValue(), orderInfo.getOrderNo(), null, null, null, null, FlowTypeEnum.BALANCE.getValue());
    }
}