From e030255c23c7ba3e2cbad1036a810d6d72fa864f Mon Sep 17 00:00:00 2001
From: liujie <liujie>
Date: 星期四, 26 十月 2023 18:04:58 +0800
Subject: [PATCH] 修改bug

---
 cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java |  117 +++++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 99 insertions(+), 18 deletions(-)

diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java
index 77735e7..6ff5922 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java
@@ -9,7 +9,10 @@
 import com.alipay.api.DefaultAlipayClient;
 import com.alipay.api.domain.*;
 import com.alipay.api.request.AlipayTradeOrderSettleRequest;
+import com.alipay.api.request.AlipayTradeRoyaltyRelationBindRequest;
 import com.alipay.api.response.AlipayTradeOrderSettleResponse;
+import com.alipay.api.response.AlipayTradeQueryResponse;
+import com.alipay.api.response.AlipayTradeRoyaltyRelationBindResponse;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -135,7 +138,7 @@
             List<Store> stores = storeClient.queryStoreListByName(coursePackageList.getSearch());
             List<Integer> collect = stores.stream().map(Store::getId).collect(Collectors.toList());
             if(collect.size() > 0){
-                wrapper.or().in("id", collect);
+                wrapper.or().in("storeId", collect);
             }
         }
         List<TCoursePackage> list = this.list(wrapper.last(" order by sort, insertTime desc"));
@@ -169,9 +172,22 @@
 
 
             coursePackageListVo.setApplicantsNumber(integer);
-            coursePackageListVo.setPayType(coursePackage.getPayType());
-            coursePackageListVo.setPlayPaiCoin(coursePackagePaymentConfig.getPlayPaiCoin());
 
+            Double cashPayment1 = coursePackagePaymentConfig.getCashPayment();
+            Integer playPaiCoin = coursePackagePaymentConfig.getPlayPaiCoin();
+            if(ToolUtil.isNotEmpty(cashPayment1) && cashPayment1>0 && ToolUtil.isNotEmpty(playPaiCoin) && playPaiCoin>0){
+                coursePackageListVo.setPayType(3);
+            }else if(ToolUtil.isNotEmpty(cashPayment1) && cashPayment1>0){
+                coursePackageListVo.setPayType(1);
+            }else if(ToolUtil.isNotEmpty(playPaiCoin) && playPaiCoin>0){
+                coursePackageListVo.setPayType(2);
+            }
+
+
+
+            if (coursePackagePaymentConfig!=null) {
+                coursePackageListVo.setPlayPaiCoin(coursePackagePaymentConfig.getPlayPaiCoin());
+            }
             //会员显示原价和会员价(最低)。非会员显示会员价和支付价(最低)
             if(appUser.getIsVip() == 0){//非会员
                 List<TCoursePackageDiscount> list2 = coursePackageDiscountService.list(new QueryWrapper<TCoursePackageDiscount>().eq("coursePackagePaymentConfigId", coursePackagePaymentConfig.getId())
@@ -508,6 +524,7 @@
             coursePackageInfo.setTime(format.format(coursePackage.getStartTime())+"-"+format.format(coursePackage.getEndTime()));
         }
             coursePackageInfo.setCoverDrawing(coursePackage.getCoverDrawing());
+
             coursePackageInfo.setName(coursePackage.getName());
             Store store = storeClient.queryStoreById(coursePackage.getStoreId());
             coursePackageInfo.setStoreName(store.getName());
@@ -548,8 +565,17 @@
                 CoursePackagePaymentConfigVo coursePackagePaymentConfigVo = new CoursePackagePaymentConfigVo();
                 coursePackagePaymentConfigVo.setId(coursePackagePaymentConfig.getId());
                 coursePackagePaymentConfigVo.setClassHours(coursePackagePaymentConfig.getClassHours());
-                coursePackagePaymentConfigVo.setPayType(coursePackage.getPayType());
                 coursePackagePaymentConfigVo.setPlayPaiCoin(coursePackagePaymentConfig.getPlayPaiCoin());
+
+                if(ToolUtil.isNotEmpty(coursePackagePaymentConfig.getCashPayment()) && coursePackagePaymentConfig.getCashPayment()>0 && ToolUtil.isNotEmpty(coursePackagePaymentConfig.getPlayPaiCoin()) && coursePackagePaymentConfig.getPlayPaiCoin()>0 ){
+                    coursePackagePaymentConfigVo.setPayType(3);
+                }else if(ToolUtil.isNotEmpty(coursePackagePaymentConfig.getCashPayment()) && coursePackagePaymentConfig.getCashPayment()>0){
+                    coursePackagePaymentConfigVo.setPayType(1);
+                }else if( ToolUtil.isNotEmpty(coursePackagePaymentConfig.getPlayPaiCoin()) && coursePackagePaymentConfig.getPlayPaiCoin()>0 ){
+                    coursePackagePaymentConfigVo.setPayType(2);
+                }
+
+//                coursePackagePaymentConfigVo.setPayType(coursePackage.getPayType());
                 //会员显示原价和支付价(会员价)。非会员显示会员价和支付价(最低)
                 if(appUser.getIsVip() == 0){//非会员
                     List<TCoursePackageDiscount> list2 = coursePackageDiscountService.list(new QueryWrapper<TCoursePackageDiscount>().eq("coursePackagePaymentConfigId", coursePackagePaymentConfig.getId())
@@ -944,17 +970,17 @@
                             if(one.getPayStatus() == 2){
                                 break;
                             }
-                            ResultUtil<Map<String, String>> resultUtil = payMoneyUtil.queryALIOrder(code);
-                            if(resultUtil.getCode() == 200 && one.getPayStatus() == 1){
+                            AlipayTradeQueryResponse alipayTradeQueryResponse = payMoneyUtil.queryALIOrder(code);
+                            if( one.getPayStatus() == 1){
                                 /**
                                  * WAIT_BUYER_PAY(交易创建,等待买家付款)、
                                  * TRADE_CLOSED(未付款交易超时关闭,或支付完成后全额退款)、
                                  * TRADE_SUCCESS(交易支付成功)、
                                  * TRADE_FINISHED(交易结束,不可退款)
                                  */
-                                Map<String, String> data1 = resultUtil.getData();
-                                String s = data1.get("tradeStatus");
-                                String tradeNo = data1.get("tradeNo");
+                                String s = alipayTradeQueryResponse.getTradeStatus();
+
+                                String tradeNo = alipayTradeQueryResponse.getTradeNo();
                                 if("TRADE_CLOSED".equals(s) || "TRADE_FINISHED".equals(s) || num == 10){
                                     for (TCoursePackagePayment coursePackagePayment : list) {
                                         coursePackagePayment.setStatus(3);
@@ -966,6 +992,7 @@
                                     for (TCoursePackagePayment coursePackagePayment : list) {
                                         coursePackagePayment.setPayStatus(2);
                                         coursePackagePayment.setOrderNumber(tradeNo);
+                                        coursePackagePayment.setAppUserId(null);
                                     }
                                     coursePackagePaymentService.updateBatchById(list);
                                 System.out.println("===========到达支付");
@@ -1005,6 +1032,8 @@
     }
 
 
+    @Autowired
+    private TCoursePackageService coursePackageService;
     public void moneyOut(String outNum,String tradeNo) throws AlipayApiException {
         AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", aliAppid, appPrivateKey, "json", "UTF-8", alipay_public_key, "RSA2");
         AlipayTradeOrderSettleRequest request = new AlipayTradeOrderSettleRequest();
@@ -1012,23 +1041,74 @@
         model.setOutRequestNo(outNum);
         model.setTradeNo(tradeNo);
         List<RoyaltyDetailInfos> royaltyDetailInfos = new ArrayList<>();
+//
+
+        AlipayTradeRoyaltyRelationBindRequest request1 = new AlipayTradeRoyaltyRelationBindRequest();
 
 
-        RoyaltyDetailInfos royaltyDetailInfos1 = new RoyaltyDetailInfos();
-        royaltyDetailInfos1.setTransOutType("userId");
-        royaltyDetailInfos1.setTransOut("2021004105665036");
-        royaltyDetailInfos1.setTransInType("loginName");
-        royaltyDetailInfos1.setTransIn("18398968484");
-        royaltyDetailInfos1.setAmount("0.1");
+        request1.setBizContent("{" +
+                "  \"receiver_list\":[" +
+                "    {" +
+                "      \"type\":\"loginName\"," +
+                "      \"account\":\"19522115070\"," +
+                "      \"name\":\"罗易胜\"," +
+                "      \"memo\":\"分账给测试商户\"," +
+                "    }" +
+                "  ]," +
+                "  \"out_request_no\":\""+tradeNo+"\"" +
+                "}");
+        AlipayTradeRoyaltyRelationBindResponse response = alipayClient.execute(request1);
+        if(response.isSuccess()){
+            System.out.println("绑定调用成功");
+        } else {
+            System.out.println("调用失败");
+        }
 
 
-        royaltyDetailInfos.add(royaltyDetailInfos1);
+
+//        RoyaltyDetailInfos royaltyDetailInfos1 = new RoyaltyDetailInfos();
+//        royaltyDetailInfos1.setTransOutType("loginName");
+//        royaltyDetailInfos1.setTransOut("happysports@weparklife.com");
+//        royaltyDetailInfos1.setTransInType("loginName");
+//        royaltyDetailInfos1.setTransIn("19522115070");
+////        royaltyDetailInfos1.setAmount("0.01");
+//        royaltyDetailInfos1.setAmountPercentage("100");
+
+//        royaltyDetailInfos.add(royaltyDetailInfos1);
+
+        TCoursePackagePayment one = coursePackagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("code", outNum));
+        TCoursePackage byId = coursePackageService.getById(one.getCoursePackageId());
+        OperatorUser operatorUser =  storeClient.queryByStoreId(byId.getStoreId());
+
+
+
+//        Integer paymentCompetitions = competitionsClient.queryByCode(outTradeNo);
+//        Integer siteBookings = siteClient.queryByCode(outTradeNo);
+//        List<Integer> stores = new ArrayList<>();
+//        stores.add(coursePackagePayments);
+//        stores.add(paymentCompetitions);
+//        stores.add(siteBookings);
+//        OperatorUser operatorUser = siteClient.queryOperator(stores);
+
+
+
+
+        OpenApiRoyaltyDetailInfoPojo op = new OpenApiRoyaltyDetailInfoPojo();
+        op.setTransOutType("loginName");
+        op.setTransOut("happysports@weparklife.com");
+        op.setTransInType("userId");
+        op.setTransIn(operatorUser.getAlipayNum());
+        op.setAmountPercentage(Long.valueOf(operatorUser.getAlipayProportion()));
+
+        List<OpenApiRoyaltyDetailInfoPojo> ops = new ArrayList<>();
+        ops.add(op);
+        model.setRoyaltyParameters(ops);
 
         request.setBizModel(model);
 
 
-        AlipayTradeOrderSettleResponse response = alipayClient.execute(request);
-        if(response.isSuccess()){
+        AlipayTradeOrderSettleResponse response1 = alipayClient.execute(request);
+        if(response1.isSuccess()){
             System.out.println("调用成功");
         } else {
             System.out.println("调用失败");
@@ -1037,6 +1117,7 @@
 
 
 
+
     /**
      * 玩湃币支付课程
      * @param appUser

--
Gitblit v1.7.1