package com.iotechn.unimall.biz.service.pay; import cn.hutool.core.util.ObjectUtil; import com.dobbinsoft.fw.core.exception.AppServiceException; import com.dobbinsoft.fw.core.exception.ServiceException; import com.dobbinsoft.fw.pay.enums.PayChannelType; import com.dobbinsoft.fw.pay.enums.PayPlatformType; import com.dobbinsoft.fw.pay.model.request.MatrixPayUnifiedOrderRequest; import com.dobbinsoft.fw.pay.service.pay.MatrixPayService; import com.dobbinsoft.fw.support.properties.FwAliAppProperties; import com.dobbinsoft.fw.support.properties.FwWxAppProperties; import com.dobbinsoft.fw.support.service.BaseService; import com.iotechn.unimall.biz.util.PaySelector; import com.iotechn.unimall.data.dto.AdminDTO; import com.iotechn.unimall.data.dto.UserDTO; import com.iotechn.unimall.data.exception.ExceptionDefinition; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @Service public class PayBizService extends BaseService { @Autowired private MatrixPayService matrixPayService; @Autowired private PaySelector paySelector; public Object commonPrepay( String orderNo, int actualPrice, int platform, String payChannel, String ip) throws ServiceException { // 前端来决定支付方式 MatrixPayUnifiedOrderRequest orderRequest = new MatrixPayUnifiedOrderRequest(); paySelector.packPayChannel(orderRequest, platform, payChannel); // 区分回调 直接通过 S 来判断 orderRequest.setOutTradeNo(orderNo); orderRequest.setBody("buy_" + orderNo); orderRequest.setTotalFee(actualPrice); orderRequest.setSpbillCreateIp(ip); return matrixPayService.createOrder(orderRequest); } }