Forráskód Böngészése

修复启动异常

liweifan 3 éve
szülő
commit
8b86e5e841

+ 0 - 25
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/props/PaymentProperties.java

@@ -1,25 +0,0 @@
-package com.yonge.cooleshow.biz.dal.props;
-
-import org.springframework.boot.context.properties.ConfigurationProperties;
-import org.springframework.cloud.context.config.annotation.RefreshScope;
-import org.springframework.stereotype.Component;
-
-@Component
-@ConfigurationProperties(prefix = "payment")
-public class PaymentProperties {
-    /***
-     * 支付服务提供方
-     * @author liweifan
-     * @updateTime 2022/5/11 17:01
-     */
-    private String openType;
-
-    public String getOpenType() {
-        return openType;
-    }
-
-    public void setOpenType(String openType) {
-        this.openType = openType;
-    }
-
-}

+ 17 - 11
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserOrderPaymentServiceImpl.java

@@ -6,8 +6,8 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.yonge.cooleshow.biz.dal.dto.req.OrderPayReq;
 import com.yonge.cooleshow.biz.dal.enums.OrderStatusEnum;
 import com.yonge.cooleshow.biz.dal.enums.TradeStatusEnum;
-import com.yonge.cooleshow.biz.dal.props.PaymentProperties;
 import com.yonge.cooleshow.biz.dal.service.UserOrderService;
+import com.yonge.cooleshow.biz.dal.vo.UserOrderDetailVo;
 import com.yonge.cooleshow.biz.dal.vo.UserOrderVo;
 import com.yonge.cooleshow.biz.dal.vo.res.OrderPayRes;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
@@ -15,10 +15,8 @@ import com.yonge.cooleshow.common.service.IdGeneratorService;
 import com.yonge.toolset.base.result.BaseResult;
 import com.yonge.toolset.payment.base.enums.OpenEnum;
 import com.yonge.toolset.payment.base.enums.PayChannelEnum;
-import com.yonge.toolset.payment.base.model.ClosePayment;
-import com.yonge.toolset.payment.base.model.DeviceInfo;
-import com.yonge.toolset.payment.base.model.DivMember;
-import com.yonge.toolset.payment.base.model.Payment;
+import com.yonge.toolset.payment.base.model.*;
+import com.yonge.toolset.payment.core.props.PaymentProperties;
 import com.yonge.toolset.payment.core.service.PaymentClient;
 import com.yonge.toolset.utils.string.StringUtil;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -71,11 +69,12 @@ public class UserOrderPaymentServiceImpl extends ServiceImpl<UserOrderPaymentDao
      * @updateTime 2022/5/11 18:47
      * @return: com.yonge.cooleshow.biz.dal.entity.UserOrderPayment
      */
-    private UserOrderPayment insertOrderPayment(Payment payment, OrderPayReq payReq) {
+    private UserOrderPayment insertOrderPayment(Payment payment) {
         UserOrderPayment orderPayment = new UserOrderPayment();
-        orderPayment.setOrderNo(payReq.getOrderNo());
+        orderPayment.setOpenType(payment.getOpenType());
+        orderPayment.setPayChannel(payment.getPayChannel());
+        orderPayment.setOrderNo(payment.getOrderNo());
         orderPayment.setPaymentNo(payment.getPaymentNo());
-        orderPayment.setPayChannel(payReq.getPayChannel());
         orderPayment.setTransNo(payment.getId());
         orderPayment.setPayAmt(
                 new BigDecimal(payment.getPayAmt()).setScale(2, RoundingMode.HALF_UP)
@@ -84,7 +83,7 @@ public class UserOrderPaymentServiceImpl extends ServiceImpl<UserOrderPaymentDao
         orderPayment.setStatus(TradeStatusEnum.pending);
 
         //查询订单下支付中的付款单,取消支付
-        closePayment(payReq.getOrderNo(), "用户发起了新的付款请求");
+        closePayment(payment.getOrderNo(), "用户发起了新的付款请求");
         //保存新的付款单
         save(orderPayment);
         return orderPayment;
@@ -160,10 +159,17 @@ public class UserOrderPaymentServiceImpl extends ServiceImpl<UserOrderPaymentDao
         OpenEnum openType = OpenEnum.valueOf(paymentProperties.getOpenType());
         Payment payment = new Payment(openType, payReq.getPayChannel());
         payment.setPaymentNo(paymentNo.toString());
+        payment.setOrderNo(payReq.getOrderNo());
         payment.setOrderTitle(detail.getOrderName());
         payment.setOrderDesc(detail.getOrderDesc());
-        payment.setPayAmt(detail.getActualPrice().setScale(2, RoundingMode.HALF_UP).toString());
 
+        //封装订单详情
+        List<OrderDetil> orderDetils = new ArrayList<>();
+        for (UserOrderDetailVo orderDetailVo : detail.getOrderDetailList()) {
+            orderDetils.add(new OrderDetil(orderDetailVo.getId().toString(), orderDetailVo.getGoodName(), 1, orderDetailVo.getActualPrice().toString()));
+        }
+        payment.setOrderDetils(orderDetils);
+        payment.setPayAmt(detail.getActualPrice().setScale(2, RoundingMode.HALF_UP).toString());
         payment.setDescription(payReq.getReason());
 
         if (OpenEnum.ADAPAY.equals(openType)) {
@@ -196,7 +202,7 @@ public class UserOrderPaymentServiceImpl extends ServiceImpl<UserOrderPaymentDao
             orderPayRes.setPayChannel(payReq.getPayChannel());
 
             //入订单付款表
-            insertOrderPayment(paymentResBaseResult.getData(), payReq);
+            insertOrderPayment(paymentResBaseResult.getData());
             //修改订单状态
             userOrderService.updateStatusByOrderNo(payReq.getOrderNo(), OrderStatusEnum.PAYING.getCode());
             return HttpResponseResult.succeed(orderPayRes);

+ 1 - 2
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserOrderServiceImpl.java

@@ -4,7 +4,6 @@ import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.yonge.cooleshow.biz.dal.enums.*;
-import com.yonge.cooleshow.biz.dal.props.PaymentProperties;
 import com.yonge.cooleshow.biz.dal.support.DistributedLock;
 import com.yonge.cooleshow.biz.dal.vo.UserOrderDetailVo;
 import com.yonge.cooleshow.common.constant.SysConfigConstant;
@@ -20,8 +19,8 @@ import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import com.yonge.toolset.base.exception.BizException;
 import com.yonge.cooleshow.common.service.IdGeneratorService;
 import com.yonge.toolset.base.result.BaseResult;
-import com.yonge.toolset.payment.base.enums.OpenEnum;
 import com.yonge.toolset.payment.base.model.Payment;
+import com.yonge.toolset.payment.core.props.PaymentProperties;
 import com.yonge.toolset.payment.core.service.PaymentClient;
 import com.yonge.toolset.utils.string.StringUtil;
 import org.apache.commons.beanutils.BeanUtils;

+ 1 - 3
cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/PaymentController.java

@@ -1,6 +1,5 @@
 package com.yonge.cooleshow.student.controller;
 
-import com.alipay.api.response.AlipaySystemOauthTokenResponse;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.huifu.adapay.core.AdapayCore;
 import com.huifu.adapay.core.util.AdapaySign;
@@ -8,7 +7,6 @@ import com.huifu.adapay.core.util.StringUtil;
 import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.entity.UserOrderPayment;
-import com.yonge.cooleshow.biz.dal.props.PaymentProperties;
 import com.yonge.cooleshow.biz.dal.service.UserOrderPaymentService;
 import com.yonge.cooleshow.biz.dal.service.UserOrderService;
 import com.yonge.cooleshow.common.controller.BaseController;
@@ -17,6 +15,7 @@ import com.yonge.toolset.base.result.BaseResult;
 import com.yonge.toolset.payment.base.enums.OpenEnum;
 import com.yonge.toolset.payment.base.model.OpenAuth;
 import com.yonge.toolset.payment.base.model.Payment;
+import com.yonge.toolset.payment.core.props.PaymentProperties;
 import com.yonge.toolset.payment.core.service.PaymentClient;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -27,7 +26,6 @@ import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
-import java.sql.Wrapper;
 import java.util.Map;
 
 /**

+ 10 - 0
toolset/toolset-payment/src/main/java/com/yonge/toolset/payment/base/model/OrderDetil.java

@@ -34,6 +34,16 @@ public class OrderDetil implements Serializable {
      */
     private String price;
 
+    public OrderDetil() {
+    }
+
+    public OrderDetil(String goodsId, String goodName, Integer quantity, String price) {
+        this.goodsId = goodsId;
+        this.goodName = goodName;
+        this.quantity = quantity;
+        this.price = price;
+    }
+
     public String getGoodsId() {
         return goodsId;
     }

+ 6 - 6
toolset/toolset-payment/src/main/java/com/yonge/toolset/payment/base/model/Payment.java

@@ -32,12 +32,6 @@ public class Payment extends Base {
      */
     private String orderNo;
     /***
-     * 商品详情(可选)
-     * @author liweifan
-     * @updateTime 2022/5/12 15:31
-     */
-    private List<OrderDetil> orderDetils;
-    /***
      * 商品标题(必填)
      * @author liweifan
      * @updateTime 2022/3/31 11:01
@@ -50,6 +44,12 @@ public class Payment extends Base {
      */
     private String orderDesc;
     /***
+     * 商品详情(可选)
+     * @author liweifan
+     * @updateTime 2022/5/12 15:31
+     */
+    private List<OrderDetil> orderDetils;
+    /***
      * 交易金额,必须大于0,保留两位小数点,如0.10、100.05等(必填)
      * @author liweifan
      * @updateTime 2022/3/31 11:01

+ 5 - 5
toolset/toolset-payment/src/main/java/com/yonge/toolset/payment/core/service/impl/PaymentClientImpl.java

@@ -20,26 +20,26 @@ import java.util.Map;
 public class PaymentClientImpl implements PaymentClient {
     @Override
     public BaseResult<Map<String, Object>> getOpenAuthMsg(OpenAuth openAuth) {
-        return PaywayUtil.getRealTemplate(openAuth.getOpenType()).getOpenAuthMsg(openAuth);
+        return PaywayUtil.getRealTemplate(openAuth.getOpenType(), openAuth.getPayChannel()).getOpenAuthMsg(openAuth);
     }
 
     @Override
     public BaseResult<Payment> executePayment(Payment payment) {
-        return PaywayUtil.getRealTemplate(payment.getOpenType()).executePayment(payment);
+        return PaywayUtil.getRealTemplate(payment.getOpenType(), payment.getPayChannel()).executePayment(payment);
     }
 
     @Override
     public BaseResult<Payment> queryPayment(Payment payment) {
-        return PaywayUtil.getRealTemplate(payment.getOpenType()).queryPayment(payment);
+        return PaywayUtil.getRealTemplate(payment.getOpenType(), payment.getPayChannel()).queryPayment(payment);
     }
 
     @Override
     public BaseResult<ClosePayment> closePayment(ClosePayment closePayment) {
-        return PaywayUtil.getRealTemplate(closePayment.getOpenType()).closePayment(closePayment);
+        return PaywayUtil.getRealTemplate(closePayment.getOpenType(), closePayment.getPayChannel()).closePayment(closePayment);
     }
 
     @Override
     public BaseResult<RefundBill> refundPayment(RefundBill refundBill) {
-        return PaywayUtil.getRealTemplate(refundBill.getOpenType()).refundPayment(refundBill);
+        return PaywayUtil.getRealTemplate(refundBill.getOpenType(), refundBill.getPayChannel()).refundPayment(refundBill);
     }
 }