From a4d873761dd03a74950d05f204171255509bd5fb Mon Sep 17 00:00:00 2001
From: zhibing.pu <393733352@qq.com>
Date: 星期一, 17 六月 2024 16:03:35 +0800
Subject: [PATCH] 修改 bug

---
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/util/PayMoneyUtil.java                                       |    2 
 cloud-server-other/src/main/java/com/dsh/other/util/PayMoneyUtil.java                                                          |    2 
 cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupPaymentParticipantServiceImpl.java |    5 
 cloud-server-communityWorldCup/src/main/resources/sharding-jdbc.properties                                                     |    4 
 cloud-server-management/src/main/webapp/static/modular/system/worldCup/worldCup_info.js                                        |    4 
 cloud-server-activity/src/main/java/com/dsh/activity/model/ChangeBenefitsVedioState.java                                       |   19 
 cloud-server-management/src/main/webapp/WEB-INF/view/system/storeValueConfig/StoreValueConfig.html                             |    4 
 cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java                      |   33 
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/GameDataController.java                      |   18 
 cloud-server-management/src/main/webapp/static/modular/system/tGoods/tPay_info.js                                              |    1 
 cloud-server-communityWorldCup/src/main/resources/bootstrap.properties                                                         |    2 
 cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageOrderStudentServiceImpl.java                        |    2 
 cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoach/TCoach_edit.html                                            |    9 
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/CoachController.java                         |   12 
 cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java                   |    4 
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TStoredValueConfigController.java            |    2 
 cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java                                   |    2 
 cloud-server-management/src/main/webapp/static/modular/system/benefits/tBenefitsVideos.js                                      |   12 
 cloud-server-management/src/main/webapp/static/modular/system/tShop/tShopOther.js                                              |    4 
 cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/BenefitsVideoClient.java                             |   24 
 cloud-server-account/src/main/java/com/dsh/account/util/PayMoneyUtil.java                                                      |    2 
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/CourseServiceImpl.java                          |    6 
 cloud-server-management/src/main/webapp/WEB-INF/view/system/finance/RechargeRecords.html                                       |    3 
 cloud-server-other/src/main/java/com/dsh/other/controller/TGameController.java                                                 |    2 
 cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java                            |    2 
 cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/mapper/WorldCupCompetitorMapper.java                    |   12 
 cloud-server-course/src/main/java/com/dsh/course/controller/CourseController.java                                              |   23 
 cloud-server-activity/src/main/java/com/dsh/activity/mapper/BenefitsVideosMapper.java                                          |    2 
 cloud-server-activity/src/main/java/com/dsh/activity/model/request/GetBenefitVideoById.java                                    |   14 
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/BallController.java                        |  133 +-
 cloud-server-management/src/main/webapp/static/modular/system/benefits/tBenefitsVideos_add.js                                  |    8 
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TSiteController.java                         |    6 
 cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop.html                                                   |    2 
 cloud-server-other/src/main/resources/mapper/BannerMapper.xml                                                                  |    2 
 cloud-server-management/src/main/webapp/static/modular/system/benefits/tBenefitsVideos_edit.js                                 |    8 
 cloud-server-course/src/main/java/com/dsh/course/util/PayMoneyUtil.java                                                        |    2 
 cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java                                                  |    4 
 cloud-server-management/src/main/webapp/static/modular/system/bodySideAppointment/tBodySideAppointment_edit.js                 |    8 
 cloud-server-activity/src/main/java/com/dsh/activity/controller/BenefitVideoController.java                                    |   32 
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TShopController.java                         |   10 
 cloud-server-communityWorldCup/src/test/java/com/dsh/CommunityWorldCupApplicationTest.java                                     |   57 
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TWelfareVideoController.java                 |   30 
 cloud-server-management/src/main/webapp/static/modular/system/tCoach/tCoach_info.js                                            |   16 
 cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupCompetitorServiceImpl.java         |  114 ++
 cloud-server-account/src/main/java/com/dsh/account/controller/ExploreWPController.java                                         |   14 
 cloud-server-activity/src/main/java/com/dsh/activity/service/impl/BenefitsVideosServiceImpl.java                               |   19 
 cloud-server-management/src/main/webapp/static/modular/system/tCoach/tCoach_add.js                                             |   22 
 cloud-server-competition/src/main/java/com/dsh/competition/util/PayMoneyUtil.java                                              |    2 
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/GateDataController.java                      |    4 
 cloud-server-management/src/main/resources/bootstrap.properties                                                                |    2 
 cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoach/TCoach_add.html                                             |    4 
 cloud-server-management/src/main/webapp/static/modular/system/appUser/tAppUser.js                                              |    1 
 cloud-server-activity/src/main/java/com/dsh/activity/service/BenefitsVideosService.java                                        |    2 
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/dto/GetBenefitVideoById.java                           |   14 
 cloud-server-competition/src/main/java/com/dsh/competition/entity/Participant.java                                             |    3 
 cloud-server-management/src/main/webapp/static/modular/system/ball/yuyue.js                                                    |    2 
 cloud-server-other/src/main/java/com/dsh/other/controller/GameController.java                                                  |    4 
 cloud-server-communityWorldCup/src/main/resources/mapper/WorldCupCompetitorMapper.xml                                          |  204 ++--
 /dev/null                                                                                                                      | 1337 -------------------------------
 cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/ChangeBenefitsVedioState.java                  |   19 
 cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java                                       |   13 
 cloud-server-activity/src/main/resources/mapper/BenefitsVideosMapper.xml                                                       |    3 
 cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/util/PayMoneyUtil.java                                  |    2 
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TGateController.java                         |    6 
 cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/jieshao.html                                                  |  186 +---
 65 files changed, 725 insertions(+), 1,801 deletions(-)

diff --git a/cloud-server-account/src/main/java/com/dsh/account/controller/ExploreWPController.java b/cloud-server-account/src/main/java/com/dsh/account/controller/ExploreWPController.java
index 3c38b0e..4b6f959 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/controller/ExploreWPController.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/controller/ExploreWPController.java
@@ -41,6 +41,20 @@
             return ResultUtil.runErr();
         }
     }
+    
+    
+    @ResponseBody
+    @PostMapping("/base/exploreWP/indexOfEx")
+    @ApiOperation(value = "联系客服-探索首页", tags = {"APP-探索玩湃"})
+    @ApiImplicitParams({
+    })
+    public ResultUtil<List<StoreInfo>> indexOfExploreDetail1(LonLatRequest llrequest) {
+        try {
+            return ResultUtil.success(tsService.queryIndexOfExplores(llrequest));
+        } catch (Exception e) {
+            return ResultUtil.runErr();
+        }
+    }
 
 
     @ResponseBody
diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
index a120571..f66961f 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
@@ -1524,8 +1524,17 @@
                 pointsMerchandise.setCash(merchandise.getCash());
                 pointsMerchandise.setCashPayType(exchangeType.getPayType());
             }
+            
+            Double m = new BigDecimal((merchandise.getIntegral() == null ? 0 : merchandise.getIntegral())).add((merchandise.getCash() == null ? BigDecimal.ZERO : merchandise.getCash())).doubleValue();
+            if((m * goodsNums) == 0) {
+                pointsMerchandise.setPayStatus(2);
+                pointsMerchandise.setPaymentTime(new Date());
+            }
             returnId = mcClient.saveDetailsUserPointMercase(pointsMerchandise);
-
+            if((m * goodsNums) == 0 && pointsMerchandise.getPayStatus() == 2){
+                returnModel.setReturnId(returnId);
+                return ResultUtil.success(returnModel);
+            }
 
             switch (exchangeType.getExchangeType()) {
 //            积分
@@ -1944,6 +1953,7 @@
                                 if ("TRADE_SUCCESS".equals(tradeStatus)) {
                                     for (UserPointsMerchandise userPointsMerchandise : userPointsMerchandises) {
                                         userPointsMerchandise.setPayStatus(2);
+                                        userPointsMerchandise.setPaymentTime(new Date());
                                         userPointsMerchandise.setOrderNumber(tradeNo);
                                         userPointsMerchandise.setPayType(2);
                                         userPointsMerchandise.setInsertTime(null);
@@ -2109,6 +2119,7 @@
                                 }
                                 if ("SUCCESS".equals(s)) {
                                     userPointsMerchandise.setPayStatus(2);
+                                    userPointsMerchandise.setPaymentTime(new Date());
                                     userPointsMerchandise.setOrderNumber(transaction_id);
                                     userPointsMerchandise.setPayType(1);
                                     mcClient.updateDetailsUserPointMercase(userPointsMerchandise);
diff --git a/cloud-server-account/src/main/java/com/dsh/account/util/PayMoneyUtil.java b/cloud-server-account/src/main/java/com/dsh/account/util/PayMoneyUtil.java
index 3680251..9922615 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/util/PayMoneyUtil.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/util/PayMoneyUtil.java
@@ -78,7 +78,7 @@
 
     private String key = "6f5e0c2dcabfa9c27b5da5836a362fef";//微信商户号
 
-    private String callbackPath = "http://8.137.22.229:56666/account";//支付回调网关地址
+    private String callbackPath = "https://online.daowepark.com:443/account";//支付回调网关地址
 
     private String app_cert_path = "C:/cert/alipay/user/app_cert_path.crt";//应用公钥证书路径
 
diff --git a/cloud-server-account/src/main/java/com/dsh/account/util/PayMoneyUtil.java~ b/cloud-server-account/src/main/java/com/dsh/account/util/PayMoneyUtil.java~
deleted file mode 100644
index ef7e699..0000000
--- a/cloud-server-account/src/main/java/com/dsh/account/util/PayMoneyUtil.java~
+++ /dev/null
@@ -1,1337 +0,0 @@
-package com.dsh.account.util;
-
-import cn.hutool.core.util.RandomUtil;
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
-import com.alipay.api.AlipayApiException;
-import com.alipay.api.AlipayClient;
-import com.alipay.api.CertAlipayRequest;
-import com.alipay.api.DefaultAlipayClient;
-import com.alipay.api.domain.*;
-import com.alipay.api.request.*;
-import com.alipay.api.response.*;
-import com.dsh.account.dto.Receivers;
-import com.dsh.account.entity.OperatorUser;
-import com.dsh.account.feignclient.competition.DeductionCompetitionsClient;
-import com.dsh.account.feignclient.competition.model.PaymentCompetition;
-import com.dsh.account.feignclient.course.CoursePackageClient;
-import com.dsh.account.feignclient.course.model.TCoursePackagePayment;
-import com.dsh.account.feignclient.other.SiteClient;
-import com.dsh.account.feignclient.other.model.SiteBooking;
-import com.dsh.account.mapper.RechargeRecordsMapper;
-import com.dsh.account.util.httpClinet.HttpClientUtil;
-//import com.github.binarywang.wxpay.bean.profitsharingV3.ProfitSharingReceiver;
-//import com.github.binarywang.wxpay.bean.profitsharingV3.ProfitSharingRequest;
-//import com.github.binarywang.wxpay.service.ProfitSharingV3Service;
-//import com.github.binarywang.wxpay.service.WxPayService;
-
-import org.apache.commons.collections.map.HashedMap;
-import org.apache.http.client.methods.CloseableHttpResponse;
-import org.bouncycastle.jce.provider.BouncyCastleProvider;
-import org.dom4j.Document;
-import org.dom4j.DocumentException;
-import org.dom4j.Element;
-import org.dom4j.io.SAXReader;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpHeaders;
-import org.springframework.http.MediaType;
-import org.springframework.stereotype.Component;
-
-import javax.annotation.Resource;
-import javax.crypto.BadPaddingException;
-import javax.crypto.Cipher;
-import javax.crypto.IllegalBlockSizeException;
-import javax.crypto.NoSuchPaddingException;
-import javax.crypto.spec.SecretKeySpec;
-import javax.servlet.http.HttpServletRequest;
-import java.io.*;
-import java.math.BigDecimal;
-import java.net.InetAddress;
-import java.net.URLDecoder;
-import java.net.UnknownHostException;
-import java.security.InvalidKeyException;
-import java.security.NoSuchAlgorithmException;
-import java.security.NoSuchProviderException;
-import java.security.Security;
-import java.util.*;
-
-/**
- * 第三方支付工具类
- */
-@Component
-public class PayMoneyUtil {
-    private String aliAppid = "2021004105665036";//支付宝appid
-
-    private String appPrivateKey = "MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCi5i9nW/hGLJ3A06cZxTQdviFC7THpdSihoTYGLr9q006hu0V26ecBMY/o4w5bvIX0Ok/yofmZsVcCJpAPvbXL/uqVrIjnRRxXiaeBFThlxoBUTdunvbUSDYfzlEhJr5NvUKI6H6lz2niXlQGx4qy8Hau4ccWit9kM8jwUvsBVQoFgJA+xrjMvooA7YLopQtpOD+UJr5thApTSf1xrnr1W12yolTLEH15JmNV372cqXrYUuqnY0QsaPtxeqJUGAOcGdVLllQ7easEznP8DFBvDdHATcmp2SHNQDUEWN6MCVPbMgY06NQVqAXxqjTAYSVh+6TRu6bofPmpYC3TZB003AgMBAAECggEBAJAcR2+PA3NBYUYHeFrqBRMS8uX8ZR19kjZ7IgoSLTFaQsP9opRylPSPXhrPVBKAE5leRQAHn4MCSlESwHvMfxo7KFjFTFAc6dffZZpipYQUOc9bGampwJh58/3e/pyBgVMG6J23CPf/HJQtNFSkjd/V9+ayb/9l2dUEL3bC0fAZ/dbx8HsxdLw8wn3fLlWLj68hOMqa2deCZe3JdSVsPbeWqkh56FFsMLug0Nd+Ar4TgRl9/jnhXF0JWiD0LmPUYLhboY7EfUBzN4w1iYbDi1P+3zvoOYsiVKAXox9GMhQ2VzOO2UcSTuizSza2e98mGpabl/GpKmCz+RDFjtkX6eECgYEA2MyCij65eO3aGIm3FUe93DULRBYTfX8qJQSJq2WOWA3mmQlEW6L3O2B5/lG2h+8WmN6iLEs9eHpgycGYp7vAqgrANEn16ACVcuyx0scFtrZfZ+kmHMzFfiUWxJjVYk/6YngsGVBLdw6ueM42C8TTP67X9tU5TdVGoGWuqEj4W98CgYEAwFqwprXOch5Pqk/RPbb49r0Ou03K/UbciWnWWKzUhFFNS8MdlQPoDvQZbMwHLeWsa2VhaKITK3x5biLQb3U+0GLOn6lTvEyrEUH+ucREyLgVYTRAvwBPtnvlrzpyxPk2HnslQjju8WrvvLLBMKWUjlTrTOzhaHT21gz3pHMiOakCgYEAhLmfaXdBITGshb054sNLDtdCkGpbgEcrzAHdLps769iGxkYQHXHFngpQZUwtTUcoNGqIKknd1jZFrv7gsD+XkgKG7PwimehRlkwmCX5ilxtLiVgJRzRt6+5U5AMVD90a0tHzXYP0z2yjj73fBJF5KtGl0a10KZxaYrQdm1UhB00CgYBZZgzx/k9rtHC8LAqIj1CYhHejT92G53c6Gkl3vyOqN4sgKhfGmSEySfrDGPRBPZxr8ZtbIPCd5mUdberH0osWGMYFaJI1UsCy7aQwvGpniz7MhZeN7dweaOjwDs8mgtjHQ96mL4XGCDhR0BZ/wIURvZ/6iaGdhbbu9unlsWj3uQKBgQCmZYdsbbZkd3ev6f8rwyvMz+DrCQyYpY44cegBYuJgrZiQnL2fJioeN7ixX0UM48SfwsZEIrzshP/LGAwnc2MdjxKUl4jLN8SEe0NAjXOnz9Zaw740+aOmLpXcLWdP4uM2gIhWsvW1tEkQZCXmm7c9s/RsU8Pmzv+YL3+fSijOzA==";//支付宝开发者应用私钥
-
-    private String alipayPublicKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAouYvZ1v4RiydwNOnGcU0Hb4hQu0x6XUooaE2Bi6/atNOobtFdunnATGP6OMOW7yF9DpP8qH5mbFXAiaQD721y/7qlayI50UcV4mngRU4ZcaAVE3bp721Eg2H85RISa+Tb1CiOh+pc9p4l5UBseKsvB2ruHHForfZDPI8FL7AVUKBYCQPsa4zL6KAO2C6KULaTg/lCa+bYQKU0n9ca569VtdsqJUyxB9eSZjVd+9nKl62FLqp2NELGj7cXqiVBgDnBnVS5ZUO3mrBM5z/AxQbw3RwE3JqdkhzUA1BFjejAlT2zIGNOjUFagF8ao0wGElYfuk0bum6Hz5qWAt02QdNNwIDAQAB";//支付宝应用公钥
-
-    private String alipay_public_key = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmu8n/4yTHWbn7VOrNc9OsLtDL1bEQ8gC1dHkj8Wy5z0mkaOsjJRIG/28ze12M0V8jdCKuuDr5Z1OPKiqf+XO3ypguEh+mYUVMBM/cZodDFQfTY1TKLWjvQCuaqlA+QUTCK6f7T7stsgyQ1o9Jj0rXZDz6PM4QHSTzjrLIBaeqM5WIBvH+fy/X+QG5Utd+/UT0kc0JyvuKhZ65yVUd/C9VcwJJAPliRsAQNrqYterwAJ9zvw9tF11wj9W0XgJ8Ccu4x3gR1vrlLRJJo/OA97RmxPQ+5hSacWQZCUd1dwiBq+YCrKVHGTj14izRHXrLc0yBlRXo7tBOIqcy3IsvKVthQIDAQAB";//支付宝支付公钥
-
-    private String appid = "";//微信appid
-
-    private String appletsAppid = "";//微信小程序appid
-
-    private String mchId = "";//微信商户号
-
-    private String key = "";//微信商户号
-
-    private String callbackPath = "8.137.22.229:56666/account";//支付回调网关地址
-
-    private String app_cert_path = "C:/cert/alipay/user/app_cert_path.crt";//应用公钥证书路径
-
-    private String alipay_cert_path = "C:/cert/alipay/user/alipay_cert_path.crt";//支付宝公钥证书文件路径
-
-    private String alipay_root_cert_path = "C:/cert/alipay/user/alipay_root_cert_path.crt";//支付宝CA根证书文件路径
-
-    private String certPath = "C:\\cert\\1523106371_20211206_cert\\apiclient_cert.p12";//微信证书
-
-
-
-    /**
-     * 支付宝支付
-     */
-    public ResultUtil alipay(String body, String subject, String passbackParams, String outTradeNo, String amount, String notifyUrl){
-//        //构造client
-//        CertAlipayRequest certAlipayRequest = new CertAlipayRequest ();
-//        //设置网关地址
-//        certAlipayRequest.setServerUrl("https://openapi.alipay.com/gateway.do");
-//        //设置应用Id
-//        certAlipayRequest.setAppId(aliAppid);
-//        //设置应用私钥
-//        certAlipayRequest.setPrivateKey(appPrivateKey);
-//        //设置请求格式,固定值json
-//        certAlipayRequest.setFormat("json");
-//        //设置字符集
-//        certAlipayRequest.setCharset("UTF-8");
-//        //设置签名类型
-//        certAlipayRequest.setSignType("RSA2");
-//        //设置应用公钥证书路径
-//        certAlipayRequest.setCertPath(app_cert_path);
-//        //设置支付宝公钥证书路径
-//        certAlipayRequest.setAlipayPublicCertPath(alipay_cert_path);
-//        //设置支付宝根证书路径
-//        certAlipayRequest.setRootCertPath(alipay_root_cert_path);
-//        //构造client
-//        AlipayClient alipayClient = null;
-//        try {
-//            alipayClient = new DefaultAlipayClient(certAlipayRequest);
-//        } catch (AlipayApiException e) {
-//            e.printStackTrace();
-//        }
-//        //实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:alipay.trade.app.pay
-//        AlipayTradeAppPayRequest request = new AlipayTradeAppPayRequest ();
-//        //SDK已经封装掉了公共参数,这里只需要传入业务参数。以下方法为sdk的model入参方式(model和biz_content同时存在的情况下取biz_content)。
-//        AlipayTradeAppPayModel model = new AlipayTradeAppPayModel ();
-//        model.setBody(body);
-//        model.setSubject (subject);
-//        model.setOutTradeNo (outTradeNo);
-//        model.setTimeoutExpress ("30m" );
-//        model.setTotalAmount (amount);
-//        model.setProductCode ( "QUICK_MSECURITY_PAY" );
-//        model.setPassbackParams(passbackParams);//自定义参数
-//        request.setBizModel ( model );
-//        request.setNotifyUrl (callbackPath + notifyUrl);
-//        try  {
-//            //这里和普通的接口调用不同,使用的是sdkExecute
-//            AlipayTradeAppPayResponse response = alipayClient.sdkExecute(request);
-//            Map<String, String> map = new HashMap<>();
-//            map.put("orderString", response.getBody());
-//            System.out.println(map);//就是orderString 可以直接给客户端请求,无需再做处理。
-//            return ResultUtil.success(map);
-//        }  catch (AlipayApiException e ) {
-//            e.printStackTrace();
-//        }
-
-
-        //实例化客户端
-        AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", aliAppid, appPrivateKey, "json", "UTF-8", alipay_public_key, "RSA2");
-        //实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:alipay.trade.app.pay
-        AlipayTradeAppPayRequest request = new AlipayTradeAppPayRequest();
-        //SDK已经封装掉了公共参数,这里只需要传入业务参数。以下方法为sdk的model入参方式(model和biz_content同时存在的情况下取biz_content)。
-        AlipayTradeAppPayModel model = new AlipayTradeAppPayModel();
-        model.setBody(body);//对一笔交易的具体描述信息。如果是多种商品,请将商品描述字符串累加传给body。
-        model.setSubject(subject);//商品的标题/交易标题/订单标题/订单关键字等。
-        model.setOutTradeNo(outTradeNo);//商户网站唯一订单号
-        model.setTimeoutExpress("30m");
-        model.setTotalAmount(amount);//付款金额
-        model.setProductCode("QUICK_MSECURITY_PAY");
-        model.setPassbackParams(passbackParams);//自定义参数
-
-
-        //分账
-//        Integer    coursePackagePayments = coursePackageClient.queryByCode(outTradeNo);
-//        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);
-//
-//        String alipayProportion = operatorUser.getAlipayProportion();
-//        String alipayNum = operatorUser.getAlipayNum();
-//
-//        ExtendParams extendParams = new ExtendParams();
-////        extendParams.setSysServiceProviderId("YOUR_SERVICE_PROVIDER_ID");
-//        model.setExtendParams(extendParams);
-//
-//        RoyaltyInfo royaltyInfo = new RoyaltyInfo();
-////        royaltyInfo.setRoyaltyType("transfer");
-//
-//
-//        RoyaltyDetailInfos royaltyDetailInfo1 = new RoyaltyDetailInfos();
-//        royaltyDetailInfo1.setTransOutType("userId");
-//        royaltyDetailInfo1.setTransOut(aliAppid);
-//        royaltyDetailInfo1.setTransInType("loginName");
-//        royaltyDetailInfo1.setTransIn("18398968484");
-//
-//        royaltyDetailInfo1.setDesc("分账描述1");
-//        royaltyDetailInfo1.setAmountPercentage(alipayProportion);
-//        List<RoyaltyDetailInfos> royaltyDetailInfos = new ArrayList<>();
-//
-//
-//
-//        royaltyInfo.setRoyaltyDetailInfos(royaltyDetailInfos);
-//        model.setRoyaltyInfo(royaltyInfo);
-//        System.err.println("=================="+royaltyInfo);
-        //
-        request.setBizModel(model);
-        request.setNotifyUrl(callbackPath + notifyUrl);
-        try {
-            //这里和普通的接口调用不同,使用的是sdkExecute
-            AlipayTradeAppPayResponse response = alipayClient.sdkExecute(request);
-            Map<String, String> map = new HashMap<>();
-            map.put("orderString", response.getBody());
-            map.put("returnId",passbackParams);
-            System.out.println(map);//就是orderString 可以直接给客户端请求,无需再做处理。
-            return ResultUtil.success(map);
-        } catch (AlipayApiException e) {
-            e.printStackTrace();
-        }
-        return null;
-    }
-
-
-    /**
-     * 支付宝扫码支付下单
-     * @param body
-     * @param subject
-     * @param outTradeNo
-     * @param amount
-     * @param notifyUrl
-     * @return
-     */
-    public ResultUtil aliScanCodePay(String body, String subject, String outTradeNo, String amount, String notifyUrl){
-        AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", aliAppid, appPrivateKey, "json", "UTF-8", alipay_public_key, "RSA2"); //获得初始化的AlipayClient
-        AlipayTradePrecreateRequest request = new AlipayTradePrecreateRequest();//创建API对应的request类
-        request.setBizContent("{" +
-                "    \"out_trade_no\":\"" + outTradeNo + "\"," +//商户订单号
-                "    \"total_amount\":\"" + 1 + "\"," +
-                "    \"subject\":\"" + subject + "\"," +
-                "    \"notify_url\":\"" + callbackPath + notifyUrl + "\"," +
-                "    \"body\":\"" + body + "\"," +
-                "    \"store_id\":\"NJ_001\"," +
-                "    \"timeout_express\":\"90m\"}");//订单允许的最晚付款时间
-        AlipayTradePrecreateResponse response = null;
-        try {
-            response = alipayClient.execute(request);
-        } catch (AlipayApiException e) {
-            e.printStackTrace();
-        }
-        JSONObject alipay_trade_precreate_response = JSON.parseObject(response.getBody()).getJSONObject("alipay_trade_precreate_response");
-
-        System.err.print(alipay_trade_precreate_response.getString("qr_code"));
-        return ResultUtil.success(alipay_trade_precreate_response.getString("qr_code"));
-    }
-
-
-    /**
-     * 支付成功后的回调处理逻辑
-     * @param request
-     */
-    public Map<String, String> alipayCallback(HttpServletRequest request){
-        //获取支付宝POST过来反馈信息
-        Map<String,String> params = new HashMap<String,String>();
-        Map requestParams = request.getParameterMap();
-        for (Iterator iter = requestParams.keySet().iterator(); iter.hasNext();) {
-            String name = (String) iter.next();
-            String[] values = (String[]) requestParams.get(name);
-            String valueStr = "";
-            for (int i = 0; i < values.length; i++) {
-                valueStr = (i == values.length - 1) ? valueStr + values[i]
-                        : valueStr + values[i] + "_";
-            }
-            //乱码解决,这段代码在出现乱码时使用。
-            //valueStr = new String(valueStr.getBytes("ISO-8859-1"), "utf-8");
-            params.put(name, valueStr);
-        }
-        //切记alipaypublickey是支付宝的公钥,请去open.alipay.com对应应用下查看。
-        //boolean AlipaySignature.rsaCheckV1(Map<String, String> params, String publicKey, String charset, String sign_type)
-//        try {
-//            boolean flag = AlipaySignature.rsaCheckV1(params, alipay_public_key, "UTF-8","RSA2");
-//            if(flag){
-//                Map<String, String> map = new HashMap<>();
-//                String out_trade_no = params.get("out_trade_no");
-//                String subject = params.get("subject");
-//                String total_amount = params.get("total_amount");
-//                String trade_no = params.get("trade_no");
-//                String passback_params = params.get("passback_params");
-//                map.put("out_trade_no", out_trade_no);//商家订单号
-//                map.put("subject", subject);
-//                map.put("total_amount", total_amount);
-//                map.put("trade_no", trade_no);//支付宝交易号
-//                map.put("passback_params", passback_params);//回传参数
-//                return map;
-//            }else{
-//                System.err.println("验签失败");
-//            }
-//
-//        } catch (AlipayApiException e) {
-//            e.printStackTrace();
-//        }
-//        return null;
-
-
-        Map<String, String> map = new HashMap<>();
-        String out_trade_no = params.get("out_trade_no");
-        String subject = params.get("subject");
-        String total_amount = params.get("total_amount");
-        String trade_no = params.get("trade_no");
-        String passback_params = params.get("passback_params");
-        map.put("out_trade_no", out_trade_no);//商家订单号
-        map.put("subject", subject);
-        map.put("total_amount", total_amount);
-        map.put("trade_no", trade_no);//支付宝交易号
-        map.put("passback_params", passback_params);//回传参数
-        return map;
-    }
-
-
-    /**
-     * 支付宝查询订单支付状态
-     * @param out_trade_no
-     * @return
-     * @throws Exception
-     */
-    public AlipayTradeQueryResponse queryALIOrder(String out_trade_no) throws Exception{
-        AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do",aliAppid, appPrivateKey,"json","UTF-8",alipay_public_key,"RSA2");
-        AlipayTradeQueryRequest request = new AlipayTradeQueryRequest();
-        request.setBizContent("{" +
-                "  \"out_trade_no\":\"" + out_trade_no + "\"" +
-                "}");
-        AlipayTradeQueryResponse response = alipayClient.execute(request);
-        return response;
-//        if(response.isSuccess()){
-//            String tradeStatus = response.getTradeStatus();//交易状态:WAIT_BUYER_PAY(交易创建,等待买家付款)、TRADE_CLOSED(未付款交易超时关闭,或支付完成后全额退款)、TRADE_SUCCESS(交易支付成功)、TRADE_FINISHED(交易结束,不可退款)
-//            return ResultUtil.success(response);
-//        } else {
-//            return ResultUtil.error(response.getMsg());
-//        }
-    }
-
-
-
-    /**
-     * 微信统一下单
-     * @param body          商品描述
-     * @param attach        附加数据
-     * @param out_trade_no  商户订单号
-     * @param total_fee     标价金额
-     * @param notify_url    通知地址
-     * @param tradeType     交易类型
-     * @return
-     */
-    public ResultUtil weixinpay(String body, String attach, String out_trade_no, String total_fee, String notify_url, String tradeType, String openId) throws Exception{
-        int i = new BigDecimal(total_fee).multiply(new BigDecimal("100")).intValue();
-        String hostAddress = null;
-        try {
-            hostAddress = InetAddress.getLocalHost().getHostAddress();
-        } catch (UnknownHostException e) {
-            e.printStackTrace();
-        }
-        String nonce_str = UUIDUtil.getRandomCode(16);
-        Map<String, Object> map = new HashMap<>();
-        map.put("appid", "APP".equals(tradeType) ? appid : appletsAppid);
-        map.put("mch_id", mchId);
-        map.put("nonce_str", nonce_str);
-        map.put("body", body);
-        map.put("attach", attach);//存储订单id
-        map.put("out_trade_no", out_trade_no);//存储的订单code
-        map.put("total_fee", i);
-        map.put("spbill_create_ip", hostAddress);
-        map.put("notify_url", callbackPath + notify_url);
-        map.put("trade_type", tradeType);
-        if("JSAPI".equals(tradeType)){
-            map.put("openid", openId);
-        }
-        String s = this.weixinSignature(map);
-        map.put("sign", s);
-
-        String url = "https://api.mch.weixin.qq.com/pay/unifiedorder";
-        //设置请求头
-        HttpHeaders headers = new HttpHeaders();
-        headers.setContentType(MediaType.APPLICATION_XML);
-        StringBuffer xmlString = new StringBuffer();
-        Set<String> strings = map.keySet();
-        String[] keys = {};
-        keys = strings.toArray(keys);
-        Arrays.sort(keys);
-        xmlString.append("<xml>");
-        for(int l = 0; l < keys.length; l++){
-            xmlString.append("<" + keys[l] + ">" + map.get(keys[l]) + "</" + keys[l] + ">");
-        }
-        xmlString.append("</xml>");
-
-        Map<String, String> map1 = null;
-        String body1 = HttpClientUtil.pushHttpRequsetXml(url, xmlString.toString(), new HashMap<>()).getData();
-        //将结果xml解析成map
-        body1 = body1.replaceAll("<!\\[CDATA\\[","");
-        body1 = body1.replaceAll("]]>", "");
-        try {
-            map1 = this.xmlToMap(body1, "UTF-8");
-        } catch (UnsupportedEncodingException e) {
-            e.printStackTrace();
-        } catch (DocumentException e) {
-            e.printStackTrace();
-        }
-        String return_code = map1.get("return_code");
-        if("SUCCESS".equals(return_code)){
-            String result_code = map1.get("result_code");
-            if("SUCCESS".equals(result_code)){
-                String type = map1.get("trade_type");
-                String prepay_id = map1.get("prepay_id");
-
-
-
-
-                switch (type){
-                    case "JSAPI":
-                        //重新进行签名后返回给前端
-                        Map<String, Object> map2 = new HashMap<>();
-                        map2.put("appId", map1.get("appid"));
-                        map2.put("nonceStr", map1.get("nonce_str"));
-                        map2.put("package", "prepay_id=" + prepay_id);
-                        map2.put("signType", "MD5");
-                        map2.put("timeStamp", new Date().getTime() + "");
-                        String s2 = this.weixinSignature(map2);
-
-                        map2.put("prepay_id", prepay_id);
-                        map2.put("mch_id", map1.get("mch_id"));
-                        map2.put("trade_type", map1.get("trade_type"));
-
-                        map2.put("sign", s2);
-                        return ResultUtil.success(map2);
-                    case "NATIVE":
-                        String code_url = map1.get("code_url");
-                        return ResultUtil.success(code_url);
-                    case "APP":
-                        //重新进行签名后返回给前端
-                        Map<String, Object> map3 = new HashMap<>();
-                        map3.put("appid", appid);
-                        map3.put("noncestr", nonce_str);
-                        map3.put("package", "Sign=WXPay");
-                        map3.put("partnerid", mchId);
-                        map3.put("prepayid", prepay_id);
-                        map3.put("timestamp", new Date().getTime() / 1000);
-                        String s1 = this.weixinSignature(map3);
-                        map3.put("sign", s1);
-                        System.err.println(map3);
-                        return ResultUtil.success(map3);
-                }
-                return null;
-            }else{
-                System.err.println(map1.get("err_code_des"));
-                return ResultUtil.error(map1.get("err_code_des"));
-            }
-        }else{
-            System.err.println(map1.get("return_msg") + appid + "----" + mchId);
-            return ResultUtil.error(map1.get("return_msg"), new JSONObject());
-        }
-    }
-
-
-    @Resource
-    private RechargeRecordsMapper rereMapper;
-
-
-    /**
-     * 微信支付成功后的回调处理
-     * @param request
-     */
-    public Map<String, String> weixinpayCallback(HttpServletRequest request){
-        try {
-            String param = this.getParam(request);
-            param = param.replaceAll("<!\\[CDATA\\[","");
-            param = param.replaceAll("]]>", "");
-            Map<String, String> map = this.xmlToMap(param, "UTF-8");
-            String return_code = map.get("return_code");
-            if("SUCCESS".equals(return_code)){
-                String result_code = map.get("result_code");
-                if("SUCCESS".equals(result_code)){
-                    Map<String, String> map1 = new HashedMap();
-                    map1.put("nonce_str", map.get("nonce_str"));
-                    map1.put("out_trade_no", map.get("out_trade_no"));//存储的订单code
-                    map1.put("attach", map.get("attach"));//存储订单id
-                    map1.put("total_fee", map.get("total_fee"));
-                    map1.put("transaction_id", map.get("transaction_id"));//微信支付订单号
-                    String result = "<xml><return_code><![CDATA[SUCCESS]]></return_code><return_msg><![CDATA[OK]]></return_msg></xml>";
-                    map1.put("result", result);
-
-
-
-                    return map1;
-                }else{
-                    System.err.println(map.get("err_code_des"));
-                }
-            }else{
-                System.err.println(map.get("return_msg"));
-            }
-        } catch (IOException e) {
-            e.printStackTrace();
-        } catch (DocumentException e) {
-            e.printStackTrace();
-        } catch (Exception e) {
-            throw new RuntimeException(e);
-        }
-        return null;
-    }
-
-@Resource
-private CoursePackageClient coursePackageClient;
-    @Resource
-    private DeductionCompetitionsClient competitionsClient;
-
-    @Resource
-    private SiteClient siteClient;
-//    @Autowired
-//    private WxPayService wxPayService;
-    //分账
-//    public ResultUtil order(String code) throws Exception {
-//
-//
-//
-//                  Integer    coursePackagePayments = coursePackageClient.queryByCode(code);
-//                  Integer paymentCompetitions = competitionsClient.queryByCode(code);
-//                  Integer siteBookings = siteClient.queryByCode(code);
-//        List<Integer> stores = new ArrayList<>();
-//                stores.add(coursePackagePayments);
-//                stores.add(paymentCompetitions);
-//                stores.add(siteBookings);
-//
-//                OperatorUser operatorUser = siteClient.queryOperator(stores);
-//
-//
-////        WxPayService myWxPayService = wxPayService.switchoverTo("mch_id");
-////
-////        ProfitSharingV3Service profitSharingV3Service = myWxPayService.getProfitSharingV3Service();
-//
-//        String nonceStr = RandomUtil.randomString(32);
-//        String appId = "您的appid";
-//
-//
-//        //添加分账方
-//
-////        ProfitSharingReceiver profitSharingReceiver = new ProfitSharingReceiver();
-////        profitSharingReceiver.setAccount("appid对应的openId");
-////        profitSharingReceiver.setAmount(1l);
-////        profitSharingReceiver.setAppid(appId);
-////        profitSharingReceiver.setType("PERSONAL_OPENID");
-////        profitSharingReceiver.setRelationType("PARTNER");
-////        profitSharingV3Service.addProfitSharingReceiver(profitSharingReceiver);
-//
-//        //分账
-//        ProfitSharingRequest profitSharingRequest = new ProfitSharingRequest();
-//        profitSharingRequest.setAppid(appId);
-//        profitSharingRequest.setTransactionId("微信支付订单号");
-//        profitSharingRequest.setOutOrderNo("业务系统唯一编号");
-//        //分账完成后,剩余金额自动解冻并返回给商户账号,默认false
-//        profitSharingRequest.setUnfreezeUnsplit(true);
-//        //待分账金额1元
-//        Long money = 1L;
-//        List<ProfitSharingReceiver> profitSharingReceivers = new ArrayList<>();
-//        ProfitSharingReceiver profitSharingReceiver = new ProfitSharingReceiver();
-//        profitSharingReceiver.setAccount("appid对应的openId,分账用户1");
-//
-//
-//        //分账百分之5
-//        profitSharingReceiver.setAmount(money * 100 / 5);
-//        profitSharingReceiver.setAppid(appId);
-//        profitSharingReceiver.setType("PERSONAL_OPENID");
-//        profitSharingReceiver.setRelationType("PARTNER");
-//        profitSharingReceiver.setDescription("test01");
-//        profitSharingReceivers.add(profitSharingReceiver);
-//
-//        ProfitSharingReceiver receiver = new ProfitSharingReceiver();
-//        receiver.setAccount("appid对应的openId,分账用户2");
-//        //百分之10
-//        receiver.setAmount(money * 100 / 10);
-//        receiver.setAppid(appId);
-//        receiver.setType("PERSONAL_OPENID");
-//        receiver.setRelationType("PARTNER");
-//        receiver.setDescription("test02");
-//        profitSharingReceivers.add(receiver);
-//
-//
-//        profitSharingRequest.setReceivers(profitSharingReceivers);
-//
-//        profitSharingV3Service.profitSharing(profitSharingRequest);
-//
-//
-//
-//
-////                    Map<String,String> headers = new HashMap<>();
-////                    headers.put("Authorization",map.get("sign"));
-////                    headers.put("Accept","application/json");
-////                    headers.put("Wechatpay-Serial",certPath);
-////
-////                    List<Receivers> receivers = new ArrayList<>();
-////
-////                    Map<String,Object> body = new HashMap<>();
-////                    body.put("appid",appid);
-////                    body.put("transaction_id",map.get("transaction_id"));
-////                    body.put("out_order_no",map.get("out_trade_no"));
-////                    body.put("receivers",receivers);
-////                    body.put("unfreeze_unsplit",true);
-//
-//                    //支付分账
-////                    String url ="https://api.mch.weixin.qq.com/v3/profitsharing/orders";
-////                    CloseableHttpResponse closeableHttpResponse = HttpClientUtil.setPostHttpRequset(url, body, headers, "application/json");
-////
-//
-//            return  null;
-//
-//
-//
-//
-//    }
-
-    /**
-     * 微信扫码收款
-     * @param body              商品描述
-     * @param attach            附加数据
-     * @param nonce_str         随机字符串
-     * @param out_trade_no      商户订单号
-     * @param total_fee         订单金额
-     * @param auth_code         授权码	扫码支付授权码,设备读取用户微信中的条码或者二维码信息(注:用户付款码条形码规则:18位纯数字,以10、11、12、13、14、15开头)
-     * @return
-     */
-    public ResultUtil wxScanQRCodePay(String body, String attach, String nonce_str, String out_trade_no, String total_fee, String auth_code){
-        int i = new BigDecimal(total_fee).multiply(new BigDecimal("100")).intValue();
-        String hostAddress = null;
-        try {
-            InetAddress address = InetAddress.getLocalHost();
-            hostAddress = address.getHostAddress();
-        } catch (UnknownHostException e) {
-            e.printStackTrace();
-        }
-        String randomCode = null;
-        try {
-            randomCode = UUIDUtil.getRandomCode(10);
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-        Map<String, Object> map = new HashMap<>();
-        map.put("appid", appid);
-        map.put("mch_id", mchId);
-        map.put("nonce_str", nonce_str);//存储的支付人员id,员工扫描二维码支付的时候存储的是收款员工id
-        map.put("body", body);
-        map.put("attach", attach);//存储的费用月份数据,员工扫描二维码支付的时候存储的是收费项id
-        map.put("out_trade_no", randomCode + "_" + out_trade_no);//存储的房间id
-        map.put("total_fee", i);
-        map.put("spbill_create_ip", hostAddress);
-        map.put("auth_code", auth_code);
-        String s = this.weixinSignature(map);
-        map.put("sign", s);
-
-        String url = "https://api.mch.weixin.qq.com/pay/unifiedorder";
-        //设置请求头
-        HttpHeaders headers = new HttpHeaders();
-        headers.setContentType(MediaType.APPLICATION_XML);
-        StringBuffer xmlString = new StringBuffer();
-        Set<String> strings = map.keySet();
-        String[] keys = {};
-        keys = strings.toArray(keys);
-        Arrays.sort(keys);
-        xmlString.append("<xml>");
-        for(int l = 0; l < keys.length; l++){
-            xmlString.append("<" + keys[l] + ">" + map.get(keys[l]) + "</" + keys[l] + ">");
-        }
-        xmlString.append("</xml>");
-
-        Map<String, String> map1 = null;
-        String body1 = null;
-        try {
-            body1 = HttpClientUtil.pushHttpRequsetXml(url, xmlString.toString(), new HashMap<>()).getData();
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-        //将结果xml解析成map
-        body1 = body1.replaceAll("<!\\[CDATA\\[","");
-        body1 = body1.replaceAll("]]>", "");
-        try {
-            map1 = this.xmlToMap(body1, "UTF-8");
-        } catch (UnsupportedEncodingException e) {
-            e.printStackTrace();
-        } catch (DocumentException e) {
-            e.printStackTrace();
-        }
-        String return_code = map1.get("return_code");
-        if("SUCCESS".equals(return_code)){
-            String result_code = map1.get("result_code");
-            if("SUCCESS".equals(result_code)){
-                String type = map1.get("trade_type");
-                switch (type){
-                    case "JSAPI":
-                        break;
-                    case "NATIVE":
-                        String code_url = map1.get("code_url");
-                        return ResultUtil.success(code_url);
-                    case "APP":
-                        String prepay_id = map1.get("prepay_id");
-                        //重新进行签名后返回给前端
-                        Map<String, Object> map2 = new HashMap<>();
-                        map2.put("appid", appid);
-                        map2.put("noncestr", nonce_str);
-                        map2.put("package", "Sign=WXPay");
-                        map2.put("partnerid", mchId);
-                        map2.put("prepayid", prepay_id);
-                        map2.put("timestamp", new Date().getTime() + "");
-                        String s1 = this.weixinSignature(map2);
-
-                        map2.put("pac", "Sign=WXPay");
-                        map2.put("sign", s1);
-//                      System.err.println(map2);
-                        return ResultUtil.success(map2);
-                }
-                return null;
-            }else{
-//                System.err.println(map1.get("err_code_des"));
-                return ResultUtil.error(map1.get("err_code_des"));
-            }
-        }else{
-//            System.err.println(map1.get("return_msg") + appid + "----" + mchId);
-            return ResultUtil.error(map1.get("return_msg"), new JSONObject());
-        }
-    }
-
-
-    /**
-     * 支付宝扫码收款
-     * @param data
-     * @return
-     */
-    public Object aliScanQRCodePay(String data){
-        return null;
-    }
-
-
-    /**
-     * 微信退款申请
-     * @param transaction_id    微信订单号。微信生成的订单号,在支付通知中有返回
-     * @param out_refund_no     商户退款单号。商户系统内部的退款单号,商户系统内部唯一,只能是数字、大小写字母_-|*@ ,同一退款单号多次请求只退一笔。
-     * @param total_fee         订单金额。订单总金额,单位为分,只能为整数
-     * @param refund_fee        退款金额。退款总金额,订单总金额,单位为分,只能为整数
-     * @param notify_url        退款结果通知url。异步接收微信支付退款结果通知的回调地址,通知URL必须为外网可访问的url,不允许带参数 如果参数中传了notify_url,则商户平台上配置的回调地址将不会生效。
-     * @return
-     */
-    public Map<String, String> wxRefund(String transaction_id, String out_refund_no, String total_fee, String refund_fee, String notify_url){
-        int tf = new BigDecimal(total_fee).multiply(new BigDecimal("100")).intValue();
-        int rf = new BigDecimal(refund_fee).multiply(new BigDecimal("100")).intValue();
-        String nonce_str = UUIDUtil.getRandomCode();
-        Map<String, Object> map = new HashMap<>();
-        map.put("appid", appid);
-        map.put("mch_id", mchId);
-        map.put("nonce_str", nonce_str);
-        map.put("transaction_id", transaction_id);
-        map.put("out_refund_no", out_refund_no);
-        map.put("total_fee", tf);
-        map.put("refund_fee", rf);
-        map.put("notify_url", callbackPath + notify_url);
-        String s = this.weixinSignature(map, key);
-        map.put("sign", s);
-
-        String url = "https://api.mch.weixin.qq.com/secapi/pay/refund";
-        //设置请求头
-        HttpHeaders headers = new HttpHeaders();
-        headers.setContentType(MediaType.APPLICATION_XML);
-        StringBuffer xmlString = new StringBuffer();
-        Set<String> strings = map.keySet();
-        String[] keys = {};
-        keys = strings.toArray(keys);
-        Arrays.sort(keys);
-        xmlString.append("<xml>");
-        for(int l = 0; l < keys.length; l++){
-            xmlString.append("<" + keys[l] + ">" + map.get(keys[l]) + "</" + keys[l] + ">");
-        }
-        xmlString.append("</xml>");
-
-        Map<String, String> map1 = null;
-        String body1 = null;
-        try {
-            body1 = HttpClientUtil.pushHttpsRequsetXml(url, xmlString.toString(), new HashMap<>(), mchId, certPath, "PKCS12");
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-        System.err.println(body1);
-        //将结果xml解析成map
-        body1 = body1.replaceAll("<!\\[CDATA\\[","");
-        body1 = body1.replaceAll("]]>", "");
-        try {
-            map1 = this.xmlToMap(body1, "UTF-8");
-        } catch (UnsupportedEncodingException e) {
-            e.printStackTrace();
-        } catch (DocumentException e) {
-            e.printStackTrace();
-        }
-        String return_code = map1.get("return_code");
-        Map<String, String> map2 = new HashMap<>();
-        if("SUCCESS".equals(return_code)){
-            String result_code = map1.get("result_code");
-            if("SUCCESS".equals(result_code)){
-                map2.put("return_code", result_code);
-                map2.put("refund_id", String.valueOf(map1.get("refund_id")));//微信退款订单号
-                map2.put("refund_fee", String.valueOf(map1.get("refund_fee")));//退款金额
-                return map2;
-            }else{
-                map2.put("return_code", result_code);
-                map2.put("return_msg", map1.get("err_code_des"));
-                return map2;
-            }
-        }else{
-            map2.put("return_code", return_code);
-            map2.put("return_msg", map1.get("return_msg"));
-            return map2;
-        }
-    }
-
-
-    /**
-     * 微信退款成功后的回调处理
-     * @param request
-     * @return
-     */
-    public Map<String, String> wxRefundCallback(HttpServletRequest request){
-        try {
-            String param = this.getParam(request);
-            param = param.replaceAll("<!\\[CDATA\\[","");
-            param = param.replaceAll("]]>", "");
-            Map<String, String> map = this.xmlToMap(param, "UTF-8");
-            String return_code = map.get("return_code");
-            if("SUCCESS".equals(return_code)){
-                String req_info = map.get("req_info");//加密信息请用商户秘钥进行解密
-                String s = this.wxDecrypt(req_info);
-                s = s.replaceAll("<!\\[CDATA\\[","");
-                s = s.replaceAll("]]>", "");
-                map = this.xmlToMap(s, "UTF-8");
-                Map<String, String> map1 = new HashMap<>();
-                map1.put("refund_id", map.get("refund_id"));
-                map1.put("out_refund_no", map.get("out_refund_no"));
-                String result = "<xml><return_code><![CDATA[SUCCESS]]></return_code><return_msg><![CDATA[OK]]></return_msg></xml>";
-                map1.put("result", result);
-                return map1;
-            }else{
-//                System.err.println(map.get("return_msg"));
-            }
-        } catch (IOException e) {
-            e.printStackTrace();
-        } catch (DocumentException e) {
-            e.printStackTrace();
-        } catch (NoSuchAlgorithmException e) {
-            e.printStackTrace();
-        } catch (InvalidKeyException e) {
-            e.printStackTrace();
-        } catch (NoSuchPaddingException e) {
-            e.printStackTrace();
-        } catch (BadPaddingException e) {
-            e.printStackTrace();
-        } catch (NoSuchProviderException e) {
-            e.printStackTrace();
-        } catch (IllegalBlockSizeException e) {
-            e.printStackTrace();
-        }
-        return null;
-    }
-
-
-    /**
-     * 支付宝退款
-     * @param trade_no          支付宝交易号
-     * @param refund_amount     退款金额
-     * @return
-     * @throws AlipayApiException
-     */
-    public Map<String, String> aliRefund(String trade_no, String refund_amount) throws AlipayApiException {
-        AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", aliAppid, appPrivateKey,"json","UTF-8", alipay_public_key,"RSA2");
-        AlipayTradeRefundRequest request = new AlipayTradeRefundRequest();
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("trade_no", trade_no);
-        jsonObject.put("refund_amount", refund_amount);
-        request.setBizContent(jsonObject.toJSONString());
-        AlipayTradeRefundResponse response = alipayClient.execute(request);
-        Map<String, String> map = new HashMap<>();
-        if(response.isSuccess()){
-            System.out.println("调用成功");
-            String outTradeNo = response.getOutTradeNo();
-            map.put("code", response.getCode());//10000
-            map.put("trade_no", response.getTradeNo());//支付宝交易号
-            map.put("out_trade_no", outTradeNo);//商户订单号
-        } else {
-            System.out.println("调用失败");
-            map.put("code", response.getCode());
-            map.put("msg", response.getSubMsg());
-        }
-        return map;
-    }
-
-
-    /**
-     * 查询微信支付订单
-     * @return
-     * @throws Exception
-     */
-    public ResultUtil<Map<String, String>> queryWXOrder(String out_trade_no, String transaction_id) throws Exception{
-        String url = "https://api.mch.weixin.qq.com/pay/orderquery";
-        String nonce_str = UUIDUtil.getRandomCode(16);
-        Map<String, Object> map = new HashMap<>();
-        map.put("appid", appid);
-        map.put("mch_id", mchId);
-        map.put("out_trade_no", out_trade_no);//商户订单号
-        map.put("transaction_id", transaction_id);//微信订单号
-        map.put("nonce_str", nonce_str);//随机字符串
-        String s = this.weixinSignature(map);
-        map.put("sign", s);
-
-        //设置请求头
-        HttpHeaders headers = new HttpHeaders();
-        headers.setContentType(MediaType.APPLICATION_XML);
-        StringBuffer xmlString = new StringBuffer();
-        Set<String> strings = map.keySet();
-        String[] keys = {};
-        keys = strings.toArray(keys);
-        Arrays.sort(keys);
-        xmlString.append("<xml>");
-        for(int l = 0; l < keys.length; l++){
-            xmlString.append("<" + keys[l] + ">" + map.get(keys[l]) + "</" + keys[l] + ">");
-        }
-        xmlString.append("</xml>");
-
-        Map<String, String> map1 = null;
-        String body1 = HttpClientUtil.pushHttpRequsetXml(url, xmlString.toString(), new HashMap<>()).getData();
-        //将结果xml解析成map
-        body1 = body1.replaceAll("<!\\[CDATA\\[","");
-        body1 = body1.replaceAll("]]>", "");
-        try {
-            map1 = this.xmlToMap(body1, "UTF-8");
-        } catch (UnsupportedEncodingException e) {
-            e.printStackTrace();
-        } catch (DocumentException e) {
-            e.printStackTrace();
-        }
-        String return_code = map1.get("return_code");
-        if("SUCCESS".equals(return_code)){
-            String result_code = map1.get("result_code");
-            if("SUCCESS".equals(result_code)){
-                Map<String, String> map2 = new HashMap<>();
-                map2.put("trade_type", map1.get("trade_type"));
-                map2.put("trade_state", map1.get("trade_state"));//订单状态SUCCESS—支付成功,REFUND—转入退款,NOTPAY—未支付,CLOSED—已关闭,REVOKED—已撤销(刷卡支付),USERPAYING--用户支付中,PAYERROR--支付失败(其他原因,如银行返回失败)
-                map2.put("transaction_id", map1.get("transaction_id"));
-                return ResultUtil.success(map2);
-            }else{
-                System.err.println(map1.get("err_code_des"));
-                return ResultUtil.error(map1.get("err_code_des"));
-            }
-        }else{
-            System.err.println(map1.get("return_msg") + appid + "----" + mchId);
-            return ResultUtil.error(map1.get("return_msg"));
-        }
-    }
-
-
-
-    /**
-     * 微信转账功能(企业付款到零钱)
-     * @param openid                商户appid下,某用户的openid
-     * @param desc                  企业付款备注,必填。
-     * @param total_fee             企业付款金额
-     * @param partner_trade_no      商户订单号,需保持唯一性
-     * @return
-     */
-    public Map<String, String> wxTransfers(String openid, String desc, String total_fee, String partner_trade_no) throws Exception{
-        int amount = new BigDecimal(total_fee).multiply(new BigDecimal("100")).intValue();
-        String nonce_str = UUIDUtil.getRandomCode();
-        Map<String, Object> map = new HashMap<>();
-        map.put("mch_appid", appid);//申请商户号的appid或商户号绑定的appid
-        map.put("mchid", mchId);//微信支付分配的商户号
-        map.put("nonce_str", nonce_str);//随机字符串,不长于32位
-        map.put("partner_trade_no", partner_trade_no);//商户订单号,需保持唯一性
-        map.put("openid", openid);//商户appid下,某用户的openid
-        map.put("check_name", "NO_CHECK");//NO_CHECK:不校验真实姓名 FORCE_CHECK:强校验真实姓名
-        map.put("amount", amount);//企业付款金额,单位为分
-        map.put("desc", desc);//企业付款备注,必填。
-        String s = this.weixinSignature(map, key);
-        map.put("sign", s);
-
-        String url = "https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers";
-        //设置请求头
-        HttpHeaders headers = new HttpHeaders();
-        headers.setContentType(MediaType.APPLICATION_XML);
-        StringBuffer xmlString = new StringBuffer();
-        Set<String> strings = map.keySet();
-        String[] keys = {};
-        keys = strings.toArray(keys);
-        Arrays.sort(keys);
-        xmlString.append("<xml>");
-        for(int l = 0; l < keys.length; l++){
-            xmlString.append("<" + keys[l] + ">" + map.get(keys[l]) + "</" + keys[l] + ">");
-        }
-        xmlString.append("</xml>");
-
-        Map<String, String> map1 = null;
-        String body1 = HttpClientUtil.pushHttpsRequsetXml(url, xmlString.toString(), new HashMap<>(), mchId, certPath, "PKCS12");
-        //将结果xml解析成map
-        body1 = body1.replaceAll("<!\\[CDATA\\[","");
-        body1 = body1.replaceAll("]]>", "");
-        try {
-            map1 = this.xmlToMap(body1, "UTF-8");
-        } catch (UnsupportedEncodingException e) {
-            e.printStackTrace();
-        } catch (DocumentException e) {
-            e.printStackTrace();
-        }
-        String return_code = map1.get("return_code");
-        Map<String, String> map2 = new HashMap<>();
-        if("SUCCESS".equals(return_code)){
-            String result_code = map1.get("result_code");
-            if("SUCCESS".equals(result_code)){
-                map2.put("return_code", result_code);
-                map2.put("payment_no", String.valueOf(map1.get("payment_no")));//付款订单号
-                map2.put("payment_time", String.valueOf(map1.get("payment_time")));//付款时间
-                return map2;
-            }else{
-                map2.put("return_code", result_code);
-                map2.put("err_code", map1.get("err_code"));
-                map2.put("err_code_des", map1.get("err_code_des"));
-                return map2;
-            }
-        }else{
-            map2.put("return_code", return_code);
-            map2.put("return_msg", map1.get("return_msg"));
-            return map2;
-        }
-    }
-
-
-    /**
-     * 微信转账功能(企业付款到银行卡)
-     * @param desc              备注信息
-     * @param total_fee         转账金额
-     * @param partner_trade_no  订单号
-     * @param enc_bank_no       银行卡号
-     * @param enc_true_name     收款方用户名
-     * @param bankName          银行名称
-     * @return
-     * @throws Exception
-     */
-    public Map<String, String> wxPayBank(String desc, String total_fee, String partner_trade_no, String enc_bank_no, String enc_true_name, String bankName) throws Exception{
-        int amount = new BigDecimal(total_fee).multiply(new BigDecimal("100")).intValue();
-        String nonce_str = UUIDUtil.getRandomCode();
-        Map<String, Object> map = new HashMap<>();
-        map.put("mch_id", mchId);//微信支付分配的商户号
-        map.put("nonce_str", nonce_str);//随机字符串,不长于32位
-        map.put("partner_trade_no", partner_trade_no);//商户订单号,需保持唯一性
-        map.put("enc_bank_no", enc_bank_no);//收款方银行卡号(采用标准RSA算法,公钥由微信侧提供)
-        map.put("enc_true_name", enc_true_name);//收款方用户名(采用标准RSA算法,公钥由微信侧提供)
-        map.put("bank_code", findBankCode(bankName));//
-        map.put("amount", amount);//企业付款金额,单位为分
-        map.put("desc", desc);//企业付款备注,必填。
-        String s = this.weixinSignature(map, key);
-        map.put("sign", s);
-
-        String url = "https://api.mch.weixin.qq.com/mmpaysptrans/pay_bank";
-        //设置请求头
-        HttpHeaders headers = new HttpHeaders();
-        headers.setContentType(MediaType.APPLICATION_XML);
-        StringBuffer xmlString = new StringBuffer();
-        Set<String> strings = map.keySet();
-        String[] keys = {};
-        keys = strings.toArray(keys);
-        Arrays.sort(keys);
-        xmlString.append("<xml>");
-        for(int l = 0; l < keys.length; l++){
-            xmlString.append("<" + keys[l] + ">" + map.get(keys[l]) + "</" + keys[l] + ">");
-        }
-        xmlString.append("</xml>");
-
-        Map<String, String> map1 = null;
-        String body1 = HttpClientUtil.pushHttpsRequsetXml(url, xmlString.toString(), new HashMap<>(), mchId, certPath, "PKCS12");
-        //将结果xml解析成map
-        body1 = body1.replaceAll("<!\\[CDATA\\[","");
-        body1 = body1.replaceAll("]]>", "");
-        try {
-            map1 = this.xmlToMap(body1, "UTF-8");
-        } catch (UnsupportedEncodingException e) {
-            e.printStackTrace();
-        } catch (DocumentException e) {
-            e.printStackTrace();
-        }
-        String return_code = map1.get("return_code");
-        Map<String, String> map2 = new HashMap<>();
-        if("SUCCESS".equals(return_code)){
-            String result_code = map1.get("result_code");
-            if("SUCCESS".equals(result_code)){
-                map2.put("return_code", result_code);
-                map2.put("payment_no", String.valueOf(map1.get("payment_no")));//付款订单号
-                map2.put("cmms_amt", String.valueOf(map1.get("cmms_amt")));//手续费金额 RMB:分
-                return map2;
-            }else{
-                map2.put("return_code", result_code);
-                map2.put("err_code", map1.get("err_code"));
-                map2.put("err_code_des", map1.get("err_code_des"));
-                return map2;
-            }
-        }else{
-            map2.put("return_code", return_code);
-            map2.put("return_msg", map1.get("return_msg"));
-            return map2;
-        }
-    }
-
-    /**
-     * 微信转账到银行卡不编号
-     * @param bankName
-     * @return
-     */
-    public String findBankCode(String bankName){
-        String json = "{\"工商银行 \":1002,\"农业银行\":1005,\"建设银行\":1003,\"中国银行\":1026,\"交通银行 \":1020,\"招商银行 \":1001,\"邮储银行\":1066,\"民生银行 \":1006,\"平安银行 \":1010,\"中信银行\":1021,\"浦发银行 \":1004,\"兴业银行 \":1009,\"光大银行 \":1022,\"广发银行\":1027,\"华夏银行\":1025,\"宁波银行\":1056,\"北京银行\":4836,\"上海银行\":1024,\"南京银行\":1054,\"长子县融汇村镇银行\":4755,\"长沙银行\":4216,\"浙江泰隆商业银行\":4051,\"中原银行 \":4753,\"企业银行(中国)\":4761,\"顺德农商银行 \":4036,\"衡水银行\":4752,\"长治银行\":4756,\"大同银行\":4767,\"河南省农村信用社\":4115,\"宁夏黄河农村商业银行\":4150,\"山西省农村信用社\":4156,\"安徽省农村信用社\":4166,\"甘肃省农村信用社\":4157,\"天津农村商业银行\":4153,\"广西壮族自治区农村信用社\":4113,\"陕西省农村信用社\":4108,\"深圳农村商业银行\":4076,\"宁波鄞州农村商业银行\":4052,\"浙江省农村信用社联合社\":4764,\"江苏省农村信用社联合社\":4217,\"江苏紫金农村商业银行股份有限公司 \":4072,\"北京中关村银行股份有限公司 \":4769,\"星展银行( 中国) 有限公司 \":4778,\"枣庄银行股份有限公司 \":4766,\"海口联合农村商业银行股份有限公司 \":4758,\"南洋商业银行( 中国) 有限公司 \":4763}";
-        JSONObject jsonObject = JSON.parseObject(json);
-        Set<String> strings = jsonObject.keySet();
-        for(String key : strings){
-            if(key.indexOf(bankName) >= 0){
-                return jsonObject.getString(key);
-            }
-        }
-        return "";
-    }
-
-
-
-    /**
-     * 支付宝转账
-     * @param out_biz_no        商家侧唯一订单号,由商家自定义。对于不同转账请求,商家需保证该订单号在自身系统唯一。
-     * @param trans_amount      订单总金额,单位为元,精确到小数点后两位
-     * @param order_title       转账业务的标题,用于在支付宝用户的账单里显示
-     * @param identity          参与方的唯一标识(收款方支付宝账号)
-     * @param name              参与方真实姓名,如果非空,将校验收款支付宝账号姓名一致性。
-     * @param remark            业务备注
-     * @return
-     * @throws Exception
-     */
-    public Map<String, Object> aliTransfer(String out_biz_no, Double trans_amount, String order_title, String identity, String name, String remark) throws Exception{
-        CertAlipayRequest certAlipayRequest = new CertAlipayRequest();
-        certAlipayRequest.setServerUrl("https://openapi.alipay.com/gateway.do");  //gateway:支付宝网关(固定)https://openapi.alipay.com/gateway.do
-        certAlipayRequest.setAppId(aliAppid);  //APPID 即创建应用后生成,详情见创建应用并获取 APPID
-        certAlipayRequest.setPrivateKey(appPrivateKey);  //开发者应用私钥,由开发者自己生成
-        certAlipayRequest.setFormat("json");  //参数返回格式,只支持 json 格式
-        certAlipayRequest.setCharset("UTF-8");  //请求和签名使用的字符编码格式,支持 GBK和 UTF-8
-        certAlipayRequest.setSignType("RSA2");  //商户生成签名字符串所使用的签名算法类型,目前支持 RSA2 和 RSA,推荐商家使用 RSA2。
-        certAlipayRequest.setCertPath(app_cert_path); //应用公钥证书路径(app_cert_path 文件绝对路径)
-        certAlipayRequest.setAlipayPublicCertPath(alipay_cert_path); //支付宝公钥证书文件路径(alipay_cert_path 文件绝对路径)
-        certAlipayRequest.setRootCertPath(alipay_root_cert_path);  //支付宝CA根证书文件路径(alipay_root_cert_path 文件绝对路径)
-        AlipayClient alipayClient = new DefaultAlipayClient(certAlipayRequest);
-        AlipayFundTransUniTransferRequest request = new AlipayFundTransUniTransferRequest();
-        request.setBizContent("{" +
-                "\"out_biz_no\":\"" + out_biz_no + "\"," +
-                "\"trans_amount\":" + trans_amount + "," +
-                "\"product_code\":\"TRANS_ACCOUNT_NO_PWD\"," +
-                "\"biz_scene\":\"DIRECT_TRANSFER\"," +
-                "\"order_title\":\"" + order_title + "\"," +
-                "\"payee_info\":{" +
-                "\"identity\":\"" + identity + "\"," +
-                "\"identity_type\":\"ALIPAY_USER_ID\"," +
-                "\"name\":\"" + name + "\"," +
-                "}," +
-                "\"remark\":\"" + remark + "\"" +
-                "}");
-        AlipayFundTransUniTransferResponse response = alipayClient.certificateExecute(request);
-        Map<String, Object> map = new HashMap<>();
-        if(response.isSuccess()){
-            String status = response.getStatus();
-            if(status.equals("SUCCESS")){//成功
-                map.put("code", response.getCode());
-                map.put("order_id", response.getOrderId());//支付宝订单号
-                map.put("pay_fund_order_id", response.getPayFundOrderId());//支付宝流水号
-            }else{
-                map.put("code", response.getCode());
-                map.put("sub_msg", response.getSubMsg());
-            }
-        } else {
-            map.put("code", response.getSubCode());
-            map.put("sub_msg", response.getSubMsg());
-        }
-        return map;
-    }
-
-
-    /**
-     * 获取请求内容
-     * @param request
-     * @return
-     * @throws IOException
-     */
-    private String getParam(HttpServletRequest request) throws IOException {
-        // 读取参数
-        InputStream inputStream;
-        StringBuilder sb = new StringBuilder();
-        inputStream = request.getInputStream();
-        String s;
-        BufferedReader in = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"));
-        while ((s = in.readLine()) != null) {
-            sb.append(s);
-        }
-        in.close();
-        inputStream.close();
-        return sb.toString();
-    }
-
-
-    /**
-     * 微信下单的签名算法
-     * @param map
-     * @return
-     */
-    private String weixinSignature(Map<String, Object> map){
-        try {
-            Set<Map.Entry<String, Object>> entries = map.entrySet();
-            List<Map.Entry<String, Object>> infoIds = new ArrayList<Map.Entry<String, Object>>(entries);
-            // 对所有传入参数按照字段名的 ASCII 码从小到大排序(字典序)
-            Collections.sort(infoIds, new Comparator<Map.Entry<String, Object>>() {
-                public int compare(Map.Entry<String, Object> o1, Map.Entry<String, Object> o2) {
-                    return (o1.getKey()).toString().compareTo(o2.getKey());
-                }
-            });
-            // 构造签名键值对的格式
-            StringBuilder sb = new StringBuilder();
-            for (Map.Entry<String, Object> item : infoIds) {
-                if (item.getKey() != null || item.getKey() != "") {
-                    String key = item.getKey();
-                    Object val = item.getValue();
-                    if (!(val == "" || val == null)) {
-                        sb.append(key + "=" + val + "&");
-                    }
-                }
-            }
-            sb.append("key=" + key);
-            String sign = MD5AndKL.MD5Encode(sb.toString(), "UTF-8").toUpperCase(); //注:MD5签名方式
-            return sign;
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-        return null;
-    }
-
-
-    /**
-     * 微信下单的签名算法
-     * @param map
-     * @return
-     */
-    private String weixinSignature(Map<String, Object> map, String key_){
-        try {
-            Set<Map.Entry<String, Object>> entries = map.entrySet();
-            List<Map.Entry<String, Object>> infoIds = new ArrayList<Map.Entry<String, Object>>(entries);
-            // 对所有传入参数按照字段名的 ASCII 码从小到大排序(字典序)
-            Collections.sort(infoIds, new Comparator<Map.Entry<String, Object>>() {
-                public int compare(Map.Entry<String, Object> o1, Map.Entry<String, Object> o2) {
-                    return (o1.getKey()).toString().compareTo(o2.getKey());
-                }
-            });
-            // 构造签名键值对的格式
-            StringBuilder sb = new StringBuilder();
-            for (Map.Entry<String, Object> item : infoIds) {
-                if (item.getKey() != null || item.getKey() != "") {
-                    String key = item.getKey();
-                    Object val = item.getValue();
-                    if (!(val == "" || val == null)) {
-                        sb.append(key + "=" + val + "&");
-                    }
-                }
-            }
-            sb.append("key=" + key_);
-            String sign = MD5AndKL.MD5Encode(sb.toString(), "UTF-8").toUpperCase(); //注:MD5签名方式
-            return sign;
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-        return null;
-    }
-
-
-    /**
-     * 微信退款成功后的解密
-     * @param req_info
-     * @return
-     */
-    private String wxDecrypt(String req_info) throws NoSuchPaddingException, NoSuchAlgorithmException, NoSuchProviderException,
-            InvalidKeyException, BadPaddingException, IllegalBlockSizeException {
-        byte[] decode = Base64.getDecoder().decode(req_info);
-        String sign = MD5AndKL.MD5Encode(key, "UTF-8").toLowerCase();
-        if (Security.getProvider("BC") == null){
-            Security.addProvider(new BouncyCastleProvider());
-        }
-        Cipher cipher = Cipher.getInstance("AES/ECB/PKCS7Padding", "BC");
-        SecretKeySpec secretKeySpec = new SecretKeySpec(sign.getBytes(), "AES");
-        cipher.init(Cipher.DECRYPT_MODE, secretKeySpec);
-        return new String(cipher.doFinal(decode));
-    }
-
-
-//    public static void main(String[] ages){
-//        PayMoneyUtil payMoneyUtil = new PayMoneyUtil();
-//        ResultUtil ce = payMoneyUtil.alipay("测试", "测试", "", "121456457", "10", "http://123.com");
-//        System.err.println(ce);
-//        ResultUtil resultUtil = null;
-//        try {
-//            resultUtil = payMoneyUtil.queryALIOrder("121456457");
-//        } catch (Exception e) {
-//            e.printStackTrace();
-//        }
-//        System.err.println(resultUtil);
-//    }
-
-
-    /**
-     * xml转map
-     * @param xml
-     * @param charset
-     * @return
-     * @throws UnsupportedEncodingException
-     * @throws DocumentException
-     */
-    public static Map<String, String> xmlToMap(String xml, String charset) throws UnsupportedEncodingException, DocumentException {
-
-        Map<String, String> respMap = new HashMap<String, String>();
-
-        SAXReader reader = new SAXReader();
-        Document doc = reader.read(new ByteArrayInputStream(xml.getBytes(charset)));
-        Element root = doc.getRootElement();
-        xmlToMap(root, respMap);
-        return respMap;
-    }
-
-    public static Map<String, String> xmlToMap(Element tmpElement, Map<String, String> respMap){
-        if (tmpElement.isTextOnly()) {
-            respMap.put(tmpElement.getName(), tmpElement.getText());
-            return respMap;
-        }
-
-        @SuppressWarnings("unchecked")
-        Iterator<Element> eItor = tmpElement.elementIterator();
-        while (eItor.hasNext()) {
-            Element element = eItor.next();
-            xmlToMap(element, respMap);
-        }
-        return respMap;
-    }
-}
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/controller/BenefitVideoController.java b/cloud-server-activity/src/main/java/com/dsh/activity/controller/BenefitVideoController.java
index b502866..64c7a92 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/controller/BenefitVideoController.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/controller/BenefitVideoController.java
@@ -5,6 +5,7 @@
 import com.dsh.activity.entity.BenefitsVideoClassification;
 import com.dsh.activity.entity.BenefitsVideos;
 import com.dsh.activity.model.*;
+import com.dsh.activity.model.request.GetBenefitVideoById;
 import com.dsh.activity.service.BenefitsVideosService;
 import com.dsh.activity.service.IBenefitsVideoClassificationService;
 import com.dsh.activity.util.ResultUtil;
@@ -59,8 +60,8 @@
      */
     @RequestMapping("/base/benefitVideo/getBenefitVideoById")
     @ResponseBody
-    public List<BenefitsVideos> getBenefitVideoById(@RequestBody Integer id) {
-        return bfvService.getBenefitVideoById(id);
+    public List<BenefitsVideos> getBenefitVideoById(@RequestBody GetBenefitVideoById getBenefitVideoById) {
+        return bfvService.getBenefitVideoById(getBenefitVideoById.getBenefitsVideoClassificationId(), getBenefitVideoById.getState());
     }
 
     /**
@@ -116,7 +117,32 @@
 
         return benefitsVideoClassificationService.changeState(vo);
     }
-
+    
+    /**
+     * 修改状态
+     * @param changeBenefitsVedioState
+     */
+    @RequestMapping("/base/benefitVideo/changeBenefitsVedioState")
+    public void changeBenefitsVedioState(@RequestBody ChangeBenefitsVedioState changeBenefitsVedioState){
+        BenefitsVideos benefitsVideos = new BenefitsVideos();
+        benefitsVideos.setState(changeBenefitsVedioState.getState());
+        benefitsVideos.setId(changeBenefitsVedioState.getId());
+        bfvService.updateById(benefitsVideos);
+    }
+    
+    
+    /**
+     * 根据视频课程id删除福利视频数据
+     * @param courseId
+     */
+    @RequestMapping("/base/benefitVideo/delBenefitsVedio")
+    public void delBenefitsVedio(@RequestBody Integer courseId){
+        BenefitsVideos benefitsVideos = new BenefitsVideos();
+        benefitsVideos.setState(3);
+        bfvService.update(benefitsVideos, new QueryWrapper<BenefitsVideos>().eq("courseId", courseId).ne("state", 3));
+    }
+    
+    
     @PostMapping("base/benefitVideo/getList")
     public BenefitsVideos getVideosWithIds(@RequestBody Integer id) {
         return bfvService.getOne(new QueryWrapper<BenefitsVideos>().eq("id", id).eq("state", 1));
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java b/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
index 6c47051..596e698 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
@@ -1570,12 +1570,14 @@
         }
         List<UserPointsMerchandise> list = upmseService.list(userPointsMerchandiseLambdaQueryWrapper);
         System.out.println(list);
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         if (list.size() > 0) {
             for (UserPointsMerchandise pointsMerchandise : list) {
                 Map<String, Object> map = new HashMap<>();
                 map.put("id", pointsMerchandise.getId());
                 map.put("userId", pointsMerchandise.getUserId());
                 map.put("status", pointsMerchandise.getStatus());
+                map.put("payTime", sdf.format(pointsMerchandise.getPaymentTime()));
                 mapList.add(map);
             }
         }
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/mapper/BenefitsVideosMapper.java b/cloud-server-activity/src/main/java/com/dsh/activity/mapper/BenefitsVideosMapper.java
index 07837a6..397f969 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/mapper/BenefitsVideosMapper.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/mapper/BenefitsVideosMapper.java
@@ -32,7 +32,7 @@
     List<Map<String, Object>> queryBenefitsVideosList(@Param("uid") Integer uid, @Param("classificationId") Integer classificationId,
                                                       @Param("ids") List<Integer> ids, @Param("offset") Integer offset, @Param("limit") Integer limit);
 
-    List<BenefitsVideos> getBenefitVideoById(@Param("id") Integer id);
+    List<BenefitsVideos> getBenefitVideoById(@Param("id") Integer id, @Param("state") Integer state);
 
     List<BenefitsVideos> getBybIdAndcId(@Param("bId") Integer benefitsVideoClassificationId, @Param("cId") Integer courseId);
 }
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/model/ChangeBenefitsVedioState.java b/cloud-server-activity/src/main/java/com/dsh/activity/model/ChangeBenefitsVedioState.java
new file mode 100644
index 0000000..ea43b29
--- /dev/null
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/model/ChangeBenefitsVedioState.java
@@ -0,0 +1,19 @@
+package com.dsh.activity.model;
+
+import lombok.Data;
+
+/**
+ * @author zhibing.pu
+ * @Date 2024/4/8 10:24
+ */
+@Data
+public class ChangeBenefitsVedioState {
+	/**
+	 * 视频id
+	 */
+	private Integer id;
+	/**
+	 * 装药(1=正常,2=冻结,3=删除)
+	 */
+	private Integer state;
+}
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/model/request/GetBenefitVideoById.java b/cloud-server-activity/src/main/java/com/dsh/activity/model/request/GetBenefitVideoById.java
new file mode 100644
index 0000000..89313e7
--- /dev/null
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/model/request/GetBenefitVideoById.java
@@ -0,0 +1,14 @@
+package com.dsh.activity.model.request;
+
+import lombok.Data;
+
+/**
+ * @author zhibing.pu
+ * @Date 2024/6/17 11:12
+ */
+@Data
+public class GetBenefitVideoById {
+	private Integer benefitsVideoClassificationId;
+	
+	private Integer state;
+}
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/service/BenefitsVideosService.java b/cloud-server-activity/src/main/java/com/dsh/activity/service/BenefitsVideosService.java
index b75cb08..748ff80 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/service/BenefitsVideosService.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/service/BenefitsVideosService.java
@@ -63,7 +63,7 @@
     void receiveAward(Integer uid, Integer id) throws Exception;
 
 
-    List<BenefitsVideos> getBenefitVideoById(Integer id);
+    List<BenefitsVideos> getBenefitVideoById(Integer id, Integer state);
 
     List<BenefitsVideos> getBybIdAndcId(Integer benefitsVideoClassificationId, Integer courseId);
 }
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/BenefitsVideosServiceImpl.java b/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/BenefitsVideosServiceImpl.java
index ad94125..3d22fa8 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/BenefitsVideosServiceImpl.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/BenefitsVideosServiceImpl.java
@@ -51,9 +51,7 @@
 
     @Resource
     private UserIntegralChangesClient userIntegralChangesClient;
-    @Autowired
-    private BenefitsVideoClassificationMapper benefitsVideoClassificationMapper;
-    @Autowired
+    @Resource
     private BenefitsVideosMapper benefitsVideosMapper;
 
 
@@ -72,8 +70,10 @@
             wrapper.like("name", search);
         }
 
-        List<BenefitsVideoClassification> list = benefitsVideoClassificationService.list(wrapper.orderByAsc("sort"));
-        List<UserBenefitsVideos> userBenefitsVideos = userBenefitsVideosService.list(new QueryWrapper<UserBenefitsVideos>().eq("appUserId", uid));
+        List<BenefitsVideoClassification> list = benefitsVideoClassificationService.list(wrapper.eq("state", 1)
+                .orderByDesc("sort"));
+        List<UserBenefitsVideos> userBenefitsVideos = userBenefitsVideosService.list(new QueryWrapper<UserBenefitsVideos>()
+                .eq("appUserId", uid));
         List<Integer> collect = userBenefitsVideos.stream().map(UserBenefitsVideos::getBenefitsVideosId).collect(Collectors.toList());
 
         List<BenefitsVideoClassificationListVo> listVos = new ArrayList<>();
@@ -82,11 +82,12 @@
                 BenefitsVideoClassificationListVo benefitsVideoClassificationListVo = new BenefitsVideoClassificationListVo();
                 benefitsVideoClassificationListVo.setId(benefitsVideoClassification.getId());
                 benefitsVideoClassificationListVo.setName(benefitsVideoClassification.getName());
-                QueryWrapper<BenefitsVideos> benefitsVideosQueryWrapper = new QueryWrapper<BenefitsVideos>().eq("state", 1).eq("benefitsVideoClassificationId", benefitsVideoClassification.getId());
+                QueryWrapper<BenefitsVideos> benefitsVideosQueryWrapper = new QueryWrapper<BenefitsVideos>()
+                        .eq("state", 1).eq("benefitsVideoClassificationId", benefitsVideoClassification.getId());
                 if (collect.size() > 0) {
                     benefitsVideosQueryWrapper.notIn("id", collect);
                 }
-                List<BenefitsVideos> list1 = this.list(benefitsVideosQueryWrapper.eq("state", 1).orderByDesc("insertTime").last(" limit 0, 4"));
+                List<BenefitsVideos> list1 = this.list(benefitsVideosQueryWrapper.orderByAsc("insertTime").last(" limit 0, 4"));
                 List<BenefitsVideosListVo> lists = new ArrayList<>();
                 for (BenefitsVideos benefitsVideos : list1) {
                     if (benefitsVideos.getState() == 1) {
@@ -236,8 +237,8 @@
     }
 
     @Override
-    public List<BenefitsVideos> getBenefitVideoById(Integer id) {
-        return benefitsVideosMapper.getBenefitVideoById(id);
+    public List<BenefitsVideos> getBenefitVideoById(Integer id, Integer state) {
+        return benefitsVideosMapper.getBenefitVideoById(id, state);
     }
 
     @Override
diff --git a/cloud-server-activity/src/main/resources/mapper/BenefitsVideosMapper.xml b/cloud-server-activity/src/main/resources/mapper/BenefitsVideosMapper.xml
index e0bc1bf..f6b938d 100644
--- a/cloud-server-activity/src/main/resources/mapper/BenefitsVideosMapper.xml
+++ b/cloud-server-activity/src/main/resources/mapper/BenefitsVideosMapper.xml
@@ -46,6 +46,9 @@
     <select id="getBenefitVideoById" resultType="com.dsh.activity.entity.BenefitsVideos">
         select * from t_benefits_videos where
         t_benefits_videos.benefitsVideoClassificationId = #{id}
+        <if test="null != state">
+            and state = #{state}
+        </if>
     </select>
     <select id="getBybIdAndcId" resultType="com.dsh.activity.entity.BenefitsVideos">
         select * from t_benefits_videos
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java
index 2efebb0..067d8e2 100644
--- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java
@@ -636,6 +636,22 @@
         worldCup.setProvinceCode(provinceCode);
         worldCup.setCity(city.replace("市", ""));
         worldCup.setCityCode(cityCode);
+        String[] split = worldCup.getPayType().split(",");
+        List<String> strings = Arrays.asList(split);
+        if(strings.contains("0")){
+            worldCup.setCash(null);
+            worldCup.setClassHour(null);
+            worldCup.setPaiCoin(null);
+        }
+        if(!strings.contains("1")){
+            worldCup.setCash(null);
+        }
+        if(!strings.contains("2")){
+            worldCup.setPaiCoin(null);
+        }
+        if(!strings.contains("3")){
+            worldCup.setClassHour(null);
+        }
         worldCupService.save(worldCup);
         return worldCup.getId();
     }
@@ -681,6 +697,22 @@
         WorldCup worldCup1 = worldCupService.getById(worldCup2.getId());
         worldCup2.setCreateTime(worldCup1.getCreateTime());
         worldCup2.setMatchNumber(worldCup1.getMatchNumber());
+        String[] split = worldCup2.getPayType().split(",");
+        List<String> strings = Arrays.asList(split);
+        if(strings.contains("0")){
+            worldCup2.setCash(null);
+            worldCup2.setClassHour(null);
+            worldCup2.setPaiCoin(null);
+        }
+        if(!strings.contains("1")){
+            worldCup2.setCash(null);
+        }
+        if(!strings.contains("2")){
+            worldCup2.setPaiCoin(null);
+        }
+        if(!strings.contains("3")){
+            worldCup2.setClassHour(null);
+        }
         worldCupService.updateWorldCupAll(worldCup2);
         return worldCup2.getId();
     }
@@ -738,6 +770,7 @@
     @ResponseBody
     @PostMapping("/base/worldCup/endWorldCupCallback")
     public void endWorldCupCallback(String custom, Integer red_score, Integer blue_score){
+        log.warn("世界杯游戏成绩回调:custom->" + custom + ",red_score->" + red_score + ",blue_score->" + blue_score);
         worldCupCompetitorService.endWorldCupCallback(custom, red_score, blue_score);
     }
 
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/mapper/WorldCupCompetitorMapper.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/mapper/WorldCupCompetitorMapper.java
index bff89ff..22ff627 100644
--- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/mapper/WorldCupCompetitorMapper.java
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/mapper/WorldCupCompetitorMapper.java
@@ -36,6 +36,9 @@
      * @return
      */
     List<Map<String, Object>> getWorldCupRank(@Param("item") WorldCupRank worldCupRank, @Param("appUserIds") List<Integer> appUserIds);
+    
+    
+    List<Map<String, Object>> getWorldCupRank1(@Param("item") WorldCupRank worldCupRank, @Param("appUserIds") List<Integer> appUserIds);
 
 
     /**
@@ -44,6 +47,13 @@
      * @return
      */
     List<Map<String, Object>> worldCupRecordsList(@Param("item") WorldCupRecords worldCupRecords, @Param("appUserIds") List<Integer> appUserIds);
+    
+    /**
+     * 获取比赛排行榜列表数据
+     * @param worldCupRecords
+     * @return
+     */
+    List<Map<String, Object>> worldCupRecordsList1(@Param("item") WorldCupRecords worldCupRecords, @Param("appUserIds") List<Integer> appUserIds);
 
 
     int worldCupRecordsListCount(@Param("appUserIds") List<Integer> appUserIds);
@@ -67,6 +77,8 @@
 
 
     Map<String, Object> getUserGameRecordList(@Param("participantType") Integer participantType, @Param("participantId") Long participantId);
+    
+    Map<String, Object> getUserGameRecordList1(@Param("participantType") Integer participantType, @Param("participantId") Long participantId);
 
 
     /**
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupCompetitorServiceImpl.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupCompetitorServiceImpl.java
index da91d5d..4177c3a 100644
--- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupCompetitorServiceImpl.java
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupCompetitorServiceImpl.java
@@ -115,7 +115,7 @@
         }else{
             wrapper.eq("participantType", 1);
         }
-        int win = this.count(wrapper.eq("participantId", entrantRank.getId()).eq("matchResult", 1));
+        int win = this.count(wrapper.eq("participantId", entrantRank.getId()).in("matchResult", Arrays.asList(0, 1)));
         entrantRankVo.setWin(win);
 
         wrapper = new QueryWrapper<>();
@@ -168,10 +168,64 @@
             AppUser appUser = appUserClient.getAppUser(worldCupRank.getAppUserId());
             appUserIds = appUserClient.getAppUserIds(appUser.getCityCode());
         }
+        //总场次
         List<Map<String, Object>> lists = this.baseMapper.getWorldCupRank(worldCupRank, appUserIds);
-        List<WorldCupRankVo> list = new ArrayList<>();
+        //未负的数据
+        List<Map<String, Object>> lists1 = this.baseMapper.getWorldCupRank1(worldCupRank, appUserIds);
+        List<Map<String, Object>> mapList = new ArrayList<>();
         for (int i = 0; i < lists.size(); i++) {
             Map<String, Object> map = lists.get(i);
+            Integer participantType = Integer.valueOf(map.get("participantType").toString());
+            Long participantId = Long.valueOf(map.get("participantId").toString());
+            Integer appUserId = Integer.valueOf(map.get("appUserId").toString());
+            Integer num = Integer.valueOf(null == map.get("num") ? "0" : map.get("num").toString());
+            //学员
+            if(participantType == 1){
+                TStudent tStudent = studentClient.queryById(participantId.intValue());
+                if(tStudent.getState() != 1){
+                    continue;
+                }
+            }
+            //参赛人员
+            if(participantType == 2){
+                Participant participant = participantClient.getParticipant(participantId);
+                if(participant.getState() != 1){
+                    continue;
+                }
+            }
+            map.put("totalSession", num);
+            map.put("winRate", "0");
+            for (Map<String, Object> objectMap : lists1) {
+                Integer participantType1 = Integer.valueOf(objectMap.get("participantType").toString());
+                Long participantId1 = Long.valueOf(objectMap.get("participantId").toString());
+                Integer appUserId1 = Integer.valueOf(objectMap.get("appUserId").toString());
+                Integer num1 = Integer.valueOf(null == objectMap.get("num") ? "0" : objectMap.get("num").toString());
+                if(participantType.compareTo(participantType1) == 0 && participantId.compareTo(participantId1) == 0 && appUserId.compareTo(appUserId1) == 0){
+                    map.put("winRate", new BigDecimal(num1).divide(new BigDecimal(num), new MathContext(4, RoundingMode.HALF_EVEN)).multiply(new BigDecimal(100)).doubleValue());
+                    break;
+                }
+            }
+            mapList.add(map);
+        }
+        if(worldCupRank.getSort() == 1){
+            mapList.sort(new Comparator<Map<String, Object>>() {
+                @Override
+                public int compare(Map<String, Object> o1, Map<String, Object> o2) {
+                    return Double.valueOf(o1.get("totalSession").toString()).compareTo(Double.valueOf(o2.get("totalSession").toString())) * -1;
+                }
+            });
+        }
+        if(worldCupRank.getSort() == 2){
+            mapList.sort(new Comparator<Map<String, Object>>() {
+                @Override
+                public int compare(Map<String, Object> o1, Map<String, Object> o2) {
+                    return Double.valueOf(o1.get("winRate").toString()).compareTo(Double.valueOf(o2.get("winRate").toString())) * -1;
+                }
+            });
+        }
+        List<WorldCupRankVo> list = new ArrayList<>();
+        for (int i = 0; i < mapList.size(); i++) {
+            Map<String, Object> map = mapList.get(i);
             Integer participantType = Integer.valueOf(map.get("participantType").toString());
             Long participantId = Long.valueOf(map.get("participantId").toString());
             Integer appUserId = Integer.valueOf(map.get("appUserId").toString());
@@ -363,33 +417,79 @@
         appUserIdsByCityName.setCity(worldCupRecords.getCity());
         List<Integer> appUserIds = appUserClient.getAppUserIdsByCityName(appUserIdsByCityName);
         List<Map<String, Object>> mapList = this.baseMapper.worldCupRecordsList(worldCupRecords, appUserIds);
+        List<Map<String, Object>> mapList1 = this.baseMapper.worldCupRecordsList1(worldCupRecords, appUserIds);
+        List<Map<String, Object>> list = new ArrayList<>();
+        int row_num = 0;
         for (int i = 0; i < mapList.size(); i++) {
             Map<String, Object> map = mapList.get(i);
             Integer participantType = Integer.valueOf(map.get("participantType").toString());
             Long participantId = Long.valueOf(map.get("participantId").toString());
             Integer appUserId = Integer.valueOf(map.get("appUserId").toString());
-            Integer totalSession = Integer.valueOf(map.get("totalSession").toString());
+            Integer num = Integer.valueOf(null == map.get("num") ? "0" : map.get("num").toString());
+            //学员
+            if(participantType == 1){
+                TStudent tStudent = studentClient.queryById(participantId.intValue());
+                if(tStudent.getState() != 1){
+                    continue;
+                }
+            }
+            //参赛人员
+            if(participantType == 2){
+                Participant participant = participantClient.getParticipant(participantId);
+                if(participant.getState() != 1){
+                    continue;
+                }
+            }
+            map.put("totalSession", num);
+            map.put("winRate", "0");
+            map.put("win", "0");
+            for (Map<String, Object> objectMap : mapList1) {
+                Integer participantType1 = Integer.valueOf(objectMap.get("participantType").toString());
+                Long participantId1 = Long.valueOf(objectMap.get("participantId").toString());
+                Integer appUserId1 = Integer.valueOf(objectMap.get("appUserId").toString());
+                Integer num1 = Integer.valueOf(null == objectMap.get("num") ? "0" : objectMap.get("num").toString());
+                if(participantType.compareTo(participantType1) == 0 && participantId.compareTo(participantId1) == 0 && appUserId.compareTo(appUserId1) == 0){
+                    map.put("winRate", new BigDecimal(num1).divide(new BigDecimal(num), new MathContext(4, RoundingMode.HALF_EVEN)).multiply(new BigDecimal(100)).doubleValue());
+                    map.put("win", num1);
+                    break;
+                }
+            }
             Integer win = Integer.valueOf(map.get("win").toString());
-            Integer lose = totalSession - win;
+            Integer lose = num - win;
             map.put("lose", lose);
             AppUser appUser = appUserClient.getAppUser(appUserId);
             map.put("province", appUser.getProvince() + appUser.getCity());
             if(1 == participantType){
                 TStudent tStudent = studentClient.queryById(participantId.intValue());
+                if(tStudent.getState() != 1){
+                    continue;
+                }
                 map.put("name", tStudent.getName());
                 map.put("phone", ToolUtil.isNotEmpty(tStudent.getPhone()) ? tStudent.getPhone() : appUser.getPhone());
             }else{
                 Participant participant = participantClient.getParticipant(participantId);
+                if(participant.getState() != 1){
+                    continue;
+                }
                 map.put("name", participant.getName());
                 map.put("phone", ToolUtil.isNotEmpty(participant.getPhone()) ? participant.getPhone() : appUser.getPhone());
             }
+            row_num++;
+            map.put("row_num", row_num);
+            list.add(map);
         }
+        list.sort(new Comparator<Map<String, Object>>() {
+            @Override
+            public int compare(Map<String, Object> o1, Map<String, Object> o2) {
+                return Double.valueOf(o1.get("totalSession").toString()).compareTo(Double.valueOf(o2.get("totalSession").toString())) * -1;
+            }
+        });
+        
         Integer offset = worldCupRecords.getOffset();
         Integer limit = worldCupRecords.getLimit();
         limit += offset;
-        map1.put("rows", mapList.subList(offset, mapList.size() >= limit ? limit : mapList.size()));
-        int count = this.baseMapper.worldCupRecordsListCount(appUserIds);
-        map1.put("total", count);
+        map1.put("rows", list.subList(offset, list.size() >= limit ? limit : list.size()));
+        map1.put("total", list.size());
         return map1;
     }
 
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupPaymentParticipantServiceImpl.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupPaymentParticipantServiceImpl.java
index 9a1b96f..e88601b 100644
--- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupPaymentParticipantServiceImpl.java
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupPaymentParticipantServiceImpl.java
@@ -391,11 +391,12 @@
             Long participantId = Long.valueOf(map.get("participantId").toString());
             Integer appUserId = Integer.valueOf(map.get("appUserId").toString());
             Map<String, Object> userGameRecordList = worldCupCompetitorMapper.getUserGameRecordList(participantType, participantId);
+            Map<String, Object> userGameRecordList1 = worldCupCompetitorMapper.getUserGameRecordList1(participantType, participantId);
             Integer totalSession = 0;
             Integer win = 0;
             if(null != userGameRecordList){
-                totalSession = Integer.valueOf(null != userGameRecordList.get("totalSession") ? userGameRecordList.get("totalSession").toString() : "0");
-                win = Integer.valueOf(null != userGameRecordList.get("win") ? userGameRecordList.get("win").toString() : "0");
+                totalSession = Integer.valueOf(null != userGameRecordList && null != userGameRecordList.get("num") ? userGameRecordList.get("num").toString() : "0");
+                win = Integer.valueOf(null != userGameRecordList1 && null != userGameRecordList1.get("num") ? userGameRecordList1.get("num").toString() : "0");
             }else{
                 userGameRecordList = new HashMap<>();
             }
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java
index a466f4b..4823159 100644
--- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java
@@ -190,10 +190,10 @@
         map.put("space_id", tGame.getSiteId() + "");
         map.put("red_sutu_id", tGame.getRed());
         map.put("blue_sutu_id", tGame.getBlue());
-        map.put("api_url", "http://221.182.45.100:56666/communityWorldCup/base/worldCup/endWorldCupCallback");
+        map.put("api_url", "https://online.daowepark.com:443/communityWorldCup/base/worldCup/endWorldCupCallback");
         map.put("custom", jsonObject.toJSONString());
 
-        String s = HttpRequestUtil.postRequest("https://try.daowepark.com/v7/user_api/general/quickStart", map);
+        String s = HttpRequestUtil.postRequest("https://port.daowepark.com/v7/user_api/general/quickStart", map);
         JSONObject jsonObject1 = JSONObject.parseObject(s);
         Integer code1 = jsonObject1.getInteger("code");
         String message = jsonObject1.getString("message");
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/util/PayMoneyUtil.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/util/PayMoneyUtil.java
index 8c05a9d..84af8f1 100644
--- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/util/PayMoneyUtil.java
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/util/PayMoneyUtil.java
@@ -57,7 +57,7 @@
 
     private String key = "6f5e0c2dcabfa9c27b5da5836a362fef";//微信商户号
 
-    private String callbackPath = "http://8.137.22.229:56666/communityWorldCup";//支付回调网关地址
+    private String callbackPath = "https://online.daowepark.com:443/communityWorldCup";//支付回调网关地址
 
     private String app_cert_path = "C:/cert/alipay/user/app_cert_path.crt";//应用公钥证书路径
 
diff --git a/cloud-server-communityWorldCup/src/main/resources/bootstrap.properties b/cloud-server-communityWorldCup/src/main/resources/bootstrap.properties
index 6de03bf..f452ef7 100644
--- a/cloud-server-communityWorldCup/src/main/resources/bootstrap.properties
+++ b/cloud-server-communityWorldCup/src/main/resources/bootstrap.properties
@@ -20,6 +20,6 @@
 spring.flyway.enabled=false
 # \uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0479\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD
 feign.compression.request.mime-types=text/xml,application/xml,application/json
-feign.compression.request.min-request-size=4096
+feign.compression.request.min-request-size=102400
 feign.compression.request.enabled=true
 feign.compression.response.enabled=true
\ No newline at end of file
diff --git a/cloud-server-communityWorldCup/src/main/resources/mapper/WorldCupCompetitorMapper.xml b/cloud-server-communityWorldCup/src/main/resources/mapper/WorldCupCompetitorMapper.xml
index b509147..14fca59 100644
--- a/cloud-server-communityWorldCup/src/main/resources/mapper/WorldCupCompetitorMapper.xml
+++ b/cloud-server-communityWorldCup/src/main/resources/mapper/WorldCupCompetitorMapper.xml
@@ -42,7 +42,7 @@
 
 
 
-
+<!--
     <select id="getWorldCupRank" resultType="java.util.Map">
         select
         aa.participantType,
@@ -103,66 +103,83 @@
             order by aa.winRate desc,aa.participantId
         </if>
     </select>
+    -->
+    
+    <select id="getWorldCupRank" resultType="java.util.Map">
+        select
+        participantType,
+        participantId,
+        appUserId,
+        count(*) as num
+        from t_world_cup_competitor
+        where matchResult is not null
+        <if test="null != item.year">
+            and DATE_FORMAT(startTime, '%Y') = #{item.year}
+        </if>
+        <if test="null != appUserIds and appUserIds.size() > 0">
+            and appUserId in
+            <foreach collection="appUserIds" item="iten" index="index" open="(" separator="," close=")">
+                #{iten}
+            </foreach>
+        </if>
+        group by participantType, participantId, appUserId
+    </select>
+    
+    
+    <select id="getWorldCupRank1" resultType="java.util.Map">
+        select
+        participantType,
+        participantId,
+        appUserId,
+        count(*) as num
+        from t_world_cup_competitor
+        where matchResult is not null and matchResult != -1
+        <if test="null != item.year">
+            and DATE_FORMAT(startTime, '%Y') = #{item.year}
+        </if>
+        <if test="null != appUserIds and appUserIds.size() > 0">
+            and appUserId in
+            <foreach collection="appUserIds" item="iten" index="index" open="(" separator="," close=")">
+                #{iten}
+            </foreach>
+        </if>
+        group by participantType, participantId, appUserId
+    </select>
+    
 
 
     <select id="worldCupRecordsList" resultType="map">
-        select @row_num := @row_num + 1 AS row_num,
-        bb.participantType,
-        bb.participantId,
-        bb.appUserId,
-        bb.totalSession,
-        bb.win,
-        ROUND(bb.winRate, 2) as winRate
-        from (
-            select
-            aa.participantType,
-            aa.participantId,
-            aa.appUserId,
-            aa.totalSession,
-            aa.win,
-            aa.winRate
-            from (
-                select
-                a.participantType,
-                a.participantId,
-                a.appUserId,
-                a.num as totalSession,
-                ifnull(b.num, 0) as win,
-                (ifnull(b.num, 0) / a.num * 100) as winRate
-                from (
-                    select
-                    participantType,
-                    participantId,
-                    appUserId,
-                    count(*) as num
-                    from t_world_cup_competitor
-                    where matchResult is not null
-                    <if test="null != appUserIds and appUserIds.size() > 0">
-                        and appUserId in
-                        <foreach collection="appUserIds" item="iten" index="index" open="(" separator="," close=")">
-                            #{iten}
-                        </foreach>
-                    </if>
-                    group by participantType, participantId, appUserId
-                ) as a
-                left join (
-                    select
-                    participantType,
-                    participantId,
-                    appUserId,
-                    count(*) as num
-                    from t_world_cup_competitor
-                    where matchResult != -1
-                    <if test="null != appUserIds and appUserIds.size() > 0">
-                        and appUserId in
-                        <foreach collection="appUserIds" item="iten" index="index" open="(" separator="," close=")">
-                            #{iten}
-                        </foreach>
-                    </if>
-                    group by participantType, participantId, appUserId
-                ) as b on (a.participantId = b.participantId and a.participantType = b.participantType)
-            ) as aa order by aa.totalSession desc
-        ) as bb, (SELECT @row_num := 0) AS r
+        select
+        participantType,
+        participantId,
+        appUserId,
+        count(*) as num
+        from t_world_cup_competitor
+        where matchResult is not null
+        <if test="null != appUserIds and appUserIds.size() > 0">
+            and appUserId in
+            <foreach collection="appUserIds" item="iten" index="index" open="(" separator="," close=")">
+                #{iten}
+            </foreach>
+        </if>
+        group by participantType, participantId, appUserId
+    </select>
+    
+    <select id="worldCupRecordsList1" resultType="map">
+        select
+        participantType,
+        participantId,
+        appUserId,
+        count(*) as num
+        from t_world_cup_competitor
+        where matchResult is not null and matchResult != -1
+        <if test="null != appUserIds and appUserIds.size() > 0">
+            and appUserId in
+            <foreach collection="appUserIds" item="iten" index="index" open="(" separator="," close=")">
+                #{iten}
+            </foreach>
+        </if>
+        group by participantType, participantId, appUserId
     </select>
 
 
@@ -254,45 +271,40 @@
 
     <select id="getUserGameRecordList" resultType="map">
         select
-        a.participantType,
-        a.participantId,
-        a.appUserId,
-        a.num as totalSession,
-        ifnull(b.num, 0) as win,
-        (ifnull(b.num, 0) / a.num * 100) as winRate
-        from (
-            select
-            participantType,
-            participantId,
-            appUserId,
-            count(*) as num
-            from t_world_cup_competitor
-            where matchResult is not null
-            <if test="null != participantType">
-                and participantType = #{participantType}
-            </if>
-            <if test="null != participantId">
-                and participantId = #{participantId}
-            </if>
-            group by participantType, participantId, appUserId
-        ) as a
-        left join (
-            select
-            participantType,
-            participantId,
-            appUserId,
-            count(*) as num
-            from t_world_cup_competitor
-            where matchResult != -1
-            <if test="null != participantType">
-                and participantType = #{participantType}
-            </if>
-            <if test="null != participantId">
-                and participantId = #{participantId}
-            </if>
-            group by participantType, participantId, appUserId
-        ) as b on (a.participantId = b.participantId and a.participantType = b.participantType)
+        participantType,
+        participantId,
+        appUserId,
+        count(*) as num
+        from t_world_cup_competitor
+        where matchResult is not null
+        <if test="null != participantType">
+            and participantType = #{participantType}
+        </if>
+        <if test="null != participantId">
+            and participantId = #{participantId}
+        </if>
+        group by participantType, participantId, appUserId
     </select>
+    
+    
+    
+    <select id="getUserGameRecordList1" resultType="map">
+        select
+        participantType,
+        participantId,
+        appUserId,
+        count(*) as num
+        from t_world_cup_competitor
+        where matchResult != -1
+        <if test="null != participantType">
+            and participantType = #{participantType}
+        </if>
+        <if test="null != participantId">
+            and participantId = #{participantId}
+        </if>
+        group by participantType, participantId, appUserId
+    </select>
+    
 
 
 
diff --git a/cloud-server-communityWorldCup/src/main/resources/sharding-jdbc.properties b/cloud-server-communityWorldCup/src/main/resources/sharding-jdbc.properties
index 5d8430d..f06c935 100644
--- a/cloud-server-communityWorldCup/src/main/resources/sharding-jdbc.properties
+++ b/cloud-server-communityWorldCup/src/main/resources/sharding-jdbc.properties
@@ -1,9 +1,9 @@
 #datasource.names=master0
 #datasource.master0.type=com.alibaba.druid.pool.DruidDataSource
 #datasource.master0.driverClassName=com.mysql.cj.jdbc.Driver
-#datasource.master0.url=jdbc:mysql://192.168.110.80:3306/playpai_community_world_cup?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai
+#datasource.master0.url=jdbc:mysql://8.137.22.229:3306/playpai_community_world_cup?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai
 #datasource.master0.username=root
-#datasource.master0.password=123456
+#datasource.master0.password=playpai2023!
 #datasource.master0.maxActive=20
 #datasource.master0.maxWait=60000
 #datasource.master0.minIdle=5
diff --git a/cloud-server-communityWorldCup/src/test/java/com/dsh/CommunityWorldCupApplicationTest.java b/cloud-server-communityWorldCup/src/test/java/com/dsh/CommunityWorldCupApplicationTest.java
index 6ab1a0d..d16d643 100644
--- a/cloud-server-communityWorldCup/src/test/java/com/dsh/CommunityWorldCupApplicationTest.java
+++ b/cloud-server-communityWorldCup/src/test/java/com/dsh/CommunityWorldCupApplicationTest.java
@@ -1,13 +1,25 @@
 //package com.dsh;
 //
 //import com.alibaba.fastjson.JSONObject;
+//import com.dsh.communityWorldCup.feignclient.account.model.AppUser;
+//import com.dsh.communityWorldCup.feignclient.account.model.TStudent;
+//import com.dsh.communityWorldCup.feignclient.competition.model.Participant;
+//import com.dsh.communityWorldCup.mapper.WorldCupCompetitorMapper;
+//import com.dsh.communityWorldCup.model.WorldCupRank;
+//import com.dsh.communityWorldCup.service.impl.WorldCupCompetitorServiceImpl;
 //import org.junit.Test;
 //import org.junit.runner.RunWith;
 //import org.springframework.boot.test.context.SpringBootTest;
 //import org.springframework.test.context.junit4.SpringRunner;
 //
+//import javax.annotation.Resource;
+//import java.math.BigDecimal;
+//import java.math.MathContext;
+//import java.math.RoundingMode;
+//import java.util.ArrayList;
 //import java.util.HashMap;
 //import java.util.List;
+//import java.util.Map;
 //
 ///**
 // * @author zhibing.pu
@@ -18,25 +30,38 @@
 //public class CommunityWorldCupApplicationTest {
 //
 //
+//	@Resource
+//	private WorldCupCompetitorMapper worldCupCompetitorMapper;
+//
 //
 //    @Test
 //    public void test(){
-//	    HashMap<String, String> map = new HashMap<>();
-//	    map.put("sign", "0DB011836143EEE2C2E072967C9F4E4B");
-//	    map.put("space_id", "2024");
-//	    map.put("red_sutu_id", "1037");
-//	    map.put("blue_sutu_id", "1036");
-//	    map.put("api_url", "http://8.137.22.229:56666/communityWorldCup/base/worldCup/endWorldCupCallback");
-//	    map.put("custom", "");
-//
-//	    String s = HttpRequestUtil.postRequest("https://try.daowepark.com/v7/user_api/general/batterGame", map);
-//	    JSONObject jsonObject = JSONObject.parseObject(s);
-//	    Integer code1 = jsonObject.getInteger("code");
-//	    String message = jsonObject.getString("message");
-//	    if (200 == code1) {
-//		    return ResultUtil.success();
-//	    } else {
-//		    return ResultUtil.error(message);
+//	    WorldCupRank worldCupRank = new WorldCupRank();
+//	    worldCupRank.setYear(2024);
+//	    //总场次
+//	    List<Map<String, Object>> lists = worldCupCompetitorMapper.getWorldCupRank(worldCupRank, null);
+//	    //未负的数据
+//	    List<Map<String, Object>> lists1 = worldCupCompetitorMapper.getWorldCupRank1(worldCupRank, null);
+//	    List<Map<String, Object>> mapList = new ArrayList<>();
+//	    for (int i = 0; i < lists.size(); i++) {
+//		    Map<String, Object> map = lists.get(i);
+//		    Integer participantType = Integer.valueOf(map.get("participantType").toString());
+//		    Long participantId = Long.valueOf(map.get("participantId").toString());
+//		    Integer appUserId = Integer.valueOf(map.get("appUserId").toString());
+//		    Integer num = Integer.valueOf(null == map.get("num") ? "0" : map.get("num").toString());
+//		    map.put("totalSession", num);
+//		    map.put("winRate", "0");
+//		    for (Map<String, Object> objectMap : lists1) {
+//			    Integer participantType1 = Integer.valueOf(objectMap.get("participantType").toString());
+//			    Long participantId1 = Long.valueOf(objectMap.get("participantId").toString());
+//			    Integer appUserId1 = Integer.valueOf(objectMap.get("appUserId").toString());
+//			    Integer num1 = Integer.valueOf(null == objectMap.get("num") ? "0" : objectMap.get("num").toString());
+//			    if(participantType.compareTo(participantType1) == 0 && participantId.compareTo(participantId1) == 0 && appUserId.compareTo(appUserId1) == 0){
+//				    map.put("winRate", new BigDecimal(num1).divide(new BigDecimal(num), new MathContext(2, RoundingMode.HALF_EVEN)).multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_EVEN).doubleValue());
+//				    break;
+//			    }
+//		    }
+//		    mapList.add(map);
 //	    }
 //    }
 //
diff --git a/cloud-server-competition/src/main/java/com/dsh/competition/entity/Participant.java b/cloud-server-competition/src/main/java/com/dsh/competition/entity/Participant.java
index 9b7674f..50cc25c 100644
--- a/cloud-server-competition/src/main/java/com/dsh/competition/entity/Participant.java
+++ b/cloud-server-competition/src/main/java/com/dsh/competition/entity/Participant.java
@@ -4,6 +4,7 @@
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 
 import java.util.Date;
@@ -39,6 +40,7 @@
      * 生日
      */
     @TableField("birthday")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date birthday;
     /**
      * 性别(1=男,2=女)
@@ -74,5 +76,6 @@
      * 添加时间
      */
     @TableField("insertTime")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date insertTime;
 }
diff --git a/cloud-server-competition/src/main/java/com/dsh/competition/util/PayMoneyUtil.java b/cloud-server-competition/src/main/java/com/dsh/competition/util/PayMoneyUtil.java
index 4491656..e53be28 100644
--- a/cloud-server-competition/src/main/java/com/dsh/competition/util/PayMoneyUtil.java
+++ b/cloud-server-competition/src/main/java/com/dsh/competition/util/PayMoneyUtil.java
@@ -57,7 +57,7 @@
 
     private String key = "6f5e0c2dcabfa9c27b5da5836a362fef";//微信商户号
 
-    private String callbackPath = "http://8.137.22.229:56666/competition";//支付回调网关地址
+    private String callbackPath = "https://online.daowepark.com:443/competition";//支付回调网关地址
 
     private String app_cert_path = "C:/cert/alipay/user/app_cert_path.crt";//应用公钥证书路径
 
diff --git a/cloud-server-course/src/main/java/com/dsh/course/controller/CourseController.java b/cloud-server-course/src/main/java/com/dsh/course/controller/CourseController.java
index 437749b..271976a 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/controller/CourseController.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/controller/CourseController.java
@@ -129,6 +129,29 @@
             return ResultUtil.runErr();
         }
     }
+    
+    @ResponseBody
+    @PostMapping("/base/course/queryCoursePackageType")
+    @ApiOperation(value = "获取课程类型列表", tags = {"APP-课程列表"})
+    @ApiImplicitParams({
+    })
+    public ResultUtil<List<BaseVo>> queryCoursePackageType1() {
+        try {
+            List<TCoursePackageType> coursePackageTypes = coursePackageTypeService.list(new QueryWrapper<TCoursePackageType>().eq("state", 1));
+            List<BaseVo> list = new ArrayList<>();
+            coursePackageTypes.forEach(c -> {
+                BaseVo baseVo = new BaseVo();
+                BeanUtils.copyProperties(c, baseVo);
+                list.add(baseVo);
+            });
+            return ResultUtil.success(list);
+        } catch (Exception e) {
+            e.printStackTrace();
+            return ResultUtil.runErr();
+        }
+    }
+    
+    
 
 
     @ResponseBody
diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageOrderStudentServiceImpl.java b/cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageOrderStudentServiceImpl.java
index 5f646b8..691b95e 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageOrderStudentServiceImpl.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageOrderStudentServiceImpl.java
@@ -195,7 +195,7 @@
 
 
     public List<Integer> getIds(Integer siteId) {
-        HttpRequest httpRequest = HttpRequest.get("https://try.daowepark.com/v7/user_api/general/get_space_area?space_id=" + siteId);
+        HttpRequest httpRequest = HttpRequest.get("https://port.daowepark.com/v7/user_api/general/get_space_area?space_id=" + siteId);
         HttpResponse execute = httpRequest.execute();
         String body = execute.body();
         JSONObject jsonObject = JSONObject.parseObject(body);
diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java
index 67c3418..3a388c7 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java
@@ -1196,7 +1196,7 @@
     }
 
     public List<Integer> getIds(Integer siteId) {
-        HttpRequest httpRequest = HttpRequest.get("https://try.daowepark.com/v7/user_api/general/get_space_area?space_id=" + siteId);
+        HttpRequest httpRequest = HttpRequest.get("https://port.daowepark.com/v7/user_api/general/get_space_area?space_id=" + siteId);
         HttpResponse execute = httpRequest.execute();
         String body = execute.body();
         JSONObject jsonObject = JSONObject.parseObject(body);
diff --git a/cloud-server-course/src/main/java/com/dsh/course/util/PayMoneyUtil.java b/cloud-server-course/src/main/java/com/dsh/course/util/PayMoneyUtil.java
index b7b3e6c..742f9e5 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/util/PayMoneyUtil.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/util/PayMoneyUtil.java
@@ -61,7 +61,7 @@
 
     private String key = "6f5e0c2dcabfa9c27b5da5836a362fef";//微信商户号
 
-    private String callbackPath = "http://8.137.22.229:56666/course";//支付回调网关地址
+    private String callbackPath = "https://online.daowepark.com:443/course";//支付回调网关地址
 
     private String app_cert_path = "C:/cert/alipay/user/app_cert_path.crt";//应用公钥证书路径
 
diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/BenefitsVideoClient.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/BenefitsVideoClient.java
index 081ee40..17ceee2 100644
--- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/BenefitsVideoClient.java
+++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/BenefitsVideoClient.java
@@ -1,10 +1,8 @@
 package com.dsh.course.feignClient.activity;
 
-import com.dsh.course.feignClient.activity.model.BenefitsVedioChangeStateVO;
-import com.dsh.course.feignClient.activity.model.BenefitsVideoClassification;
-import com.dsh.course.feignClient.activity.model.BenefitsVideos;
-import com.dsh.course.feignClient.activity.model.QueryBenefitsVedioVO;
+import com.dsh.course.feignClient.activity.model.*;
 import com.dsh.guns.modular.system.model.TQueryBenefitsVO;
+import com.dsh.guns.modular.system.model.dto.GetBenefitVideoById;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -60,11 +58,27 @@
      */
     @RequestMapping("/base/benefitVideo/changeState")
     Object changeState(@RequestBody BenefitsVedioChangeStateVO vo);
+    
+    
+    /**
+     * 修改福利视频状态
+     * @param changeBenefitsVedioState
+     */
+    @RequestMapping("/base/benefitVideo/changeBenefitsVedioState")
+    void changeBenefitsVedioState(@RequestBody ChangeBenefitsVedioState changeBenefitsVedioState);
+    
+    /**
+     * 根据视频课程id删除福利视频数据
+     * @param courseId
+     */
+    @RequestMapping("/base/benefitVideo/delBenefitsVedio")
+    void delBenefitsVedio(@RequestBody Integer courseId);
+    
 
     /**
      * 查看福利视频分类下视频
      * @return
      */
     @RequestMapping("/base/benefitVideo/getBenefitVideoById")
-    public List<BenefitsVideos> getBenefitVideoById(@RequestBody Integer id);
+    public List<BenefitsVideos> getBenefitVideoById(@RequestBody GetBenefitVideoById getBenefitVideoById);
 }
diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/ChangeBenefitsVedioState.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/ChangeBenefitsVedioState.java
new file mode 100644
index 0000000..eca21bf
--- /dev/null
+++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/ChangeBenefitsVedioState.java
@@ -0,0 +1,19 @@
+package com.dsh.course.feignClient.activity.model;
+
+import lombok.Data;
+
+/**
+ * @author zhibing.pu
+ * @Date 2024/4/8 10:24
+ */
+@Data
+public class ChangeBenefitsVedioState {
+	/**
+	 * 视频id
+	 */
+	private Integer id;
+	/**
+	 * 装药(1=正常,2=冻结,3=删除)
+	 */
+	private Integer state;
+}
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/CoachController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/CoachController.java
index a84e295..9903431 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/CoachController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/CoachController.java
@@ -327,10 +327,14 @@
         List<CoachSerchVO> coachSerchVOS = coachClient.listAll(coachQuery);
         for (CoachSerchVO coachSerchVO : coachSerchVOS) {
             Integer cityManagerId = coachSerchVO.getCityManagerId();
-            TOperator byId = operatorService.getById(cityManagerId);
-            Integer userId = byId.getUserId();
-            User byId1 = userService.getById(userId);
-            coachSerchVO.setNameAndPhone(byId.getName()+""+byId1.getPhone());
+            if(0 == cityManagerId){
+                coachSerchVO.setNameAndPhone("平台");
+            }else {
+                TOperator byId = operatorService.getById(cityManagerId);
+                Integer userId = byId.getUserId();
+                User byId1 = userService.getById(userId);
+                coachSerchVO.setNameAndPhone(byId.getName()+""+byId1.getPhone());
+            }
         }
         return coachSerchVOS;
     }
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/GameDataController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/GameDataController.java
index 2c3e2dc..a980951 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/GameDataController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/GameDataController.java
@@ -68,7 +68,7 @@
         if(cityCode==null){
             cityCode="";
         }
-    String apiUrl1 = "https://try.daowepark.com/v7/user_api/general/cityGameRanking?space_id="+spaceId+"&type="+type+"&date="+date+"&city_code="+cityCode;
+    String apiUrl1 = "https://port.daowepark.com/v7/user_api/general/cityGameRanking?space_id="+spaceId+"&type="+type+"&date="+date+"&city_code="+cityCode;
         URL url1 = null;
         try {
             url1 = new URL(apiUrl1);
@@ -119,8 +119,8 @@
         if(cityCode==null){
             cityCode="";
         }
-//        String apiUrl1 = "https://try.daowepark.com/v7/user_api/general/accuracyGameRanking?space_id=1001"+spaceId+"&type="+type+"&date="+date+"&city_code="+cityCode;
-        String apiUrl1 = "https://try.daowepark.com/v7/user_api/general/accuracyGameRanking?space_id="+spaceId+"&type="+type+"&date="+date+"&city_code="+cityCode;
+//        String apiUrl1 = "https://port.daowepark.com/v7/user_api/general/accuracyGameRanking?space_id=1001"+spaceId+"&type="+type+"&date="+date+"&city_code="+cityCode;
+        String apiUrl1 = "https://port.daowepark.com/v7/user_api/general/accuracyGameRanking?space_id="+spaceId+"&type="+type+"&date="+date+"&city_code="+cityCode;
         URL url1 = null;
         try {
             url1 = new URL(apiUrl1);
@@ -165,7 +165,7 @@
             // 创建 HttpClient 实例
             HttpClient httpClient = HttpClients.createDefault();
             // 创建 POST 请求
-            HttpPost httpPost = new HttpPost("https://try.daowepark.com/v7/user_api/general/gameList");
+            HttpPost httpPost = new HttpPost("https://port.daowepark.com/v7/user_api/general/gameList");
             // 设置请求体数据
             String postData = "sign=0DB011836143EEE2C2E072967C9F4E4B&space_id=1001&sutu_id=1001";
 
@@ -222,7 +222,7 @@
             // 创建 HttpClient 实例
             HttpClient httpClient = HttpClients.createDefault();
             // 创建 POST 请求
-            HttpPost httpPost = new HttpPost("https://try.daowepark.com/v7/user_api/general/getBatterData");
+            HttpPost httpPost = new HttpPost("https://port.daowepark.com/v7/user_api/general/getBatterData");
             // 设置请求体数据
             String postData = "sign=0DB011836143EEE2C2E072967C9F4E4B&space_id="+storeId+"&date_type="+range+"&year=";
 
@@ -263,7 +263,7 @@
     public Object listSUTU() {
         Map<String, Object> result = new HashMap<>();
         try {
-            String apiUrl = "https://try.daowepark.com/v7/user_api/general/gameDataRate";
+            String apiUrl = "https://port.daowepark.com/v7/user_api/general/gameDataRate";
             URL url = new URL(apiUrl);
             HttpURLConnection connection = (HttpURLConnection) url.openConnection();
             connection.setRequestMethod("GET");
@@ -309,7 +309,7 @@
     public Object listSUTU1(String range,String gameId, String time, String spaceId, String cityCode) {
         Map<String, Object> result = new HashMap<>();
         try {
-            String apiUrl = "https://try.daowepark.com/v7/user_api/general/getSingleGameData?game_id=" + gameId + "&date_type=" + range + "&date=" + time + "&space_id=" + spaceId + "&city_code=" + cityCode;
+            String apiUrl = "https://port.daowepark.com/v7/user_api/general/getSingleGameData?game_id=" + gameId + "&date_type=" + range + "&date=" + time + "&space_id=" + spaceId + "&city_code=" + cityCode;
             URL url = new URL(apiUrl);
             HttpURLConnection connection = (HttpURLConnection) url.openConnection();
             connection.setRequestMethod("GET");
@@ -357,7 +357,7 @@
     public Object cityGameOne() {
         Map<String, Object> result = new HashMap<>();
         try {
-            String apiUrl = "https://try.daowepark.com/v7/user_api/general/getAccuracyGameCount?space_id=";
+            String apiUrl = "https://port.daowepark.com/v7/user_api/general/getAccuracyGameCount?space_id=";
             URL url = new URL(apiUrl);
             HttpURLConnection connection = (HttpURLConnection) url.openConnection();
             connection.setRequestMethod("GET");
@@ -394,7 +394,7 @@
     public Object cityGame() {
         Map<String, Object> result = new HashMap<>();
         try {
-            String apiUrl = "https://try.daowepark.com/v7/user_api/general/getCityGameCount";
+            String apiUrl = "https://port.daowepark.com/v7/user_api/general/getCityGameCount";
             URL url = new URL(apiUrl);
             HttpURLConnection connection = (HttpURLConnection) url.openConnection();
             connection.setRequestMethod("GET");
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/GateDataController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/GateDataController.java
index dab5f0c..4a3902f 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/GateDataController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/GateDataController.java
@@ -73,7 +73,7 @@
     public Object list(Integer storeId) {
         try {
             if (storeId!=null){
-                String apiUrl = "https://try.daowepark.com/v7/user_api/general/spaceDoorData?space_id="+storeId;
+                String apiUrl = "https://port.daowepark.com/v7/user_api/general/spaceDoorData?space_id="+storeId;
                 URL url = new URL(apiUrl);
                 HttpURLConnection connection = (HttpURLConnection) url.openConnection();
                 connection.setRequestMethod("GET");
@@ -122,7 +122,7 @@
     @ResponseBody
     public Object totalNum(Integer storeId) {
         try {
-            String apiUrl = "https://try.daowepark.com/v7/user_api/general/spaceDoorData?space_id="+storeId;
+            String apiUrl = "https://port.daowepark.com/v7/user_api/general/spaceDoorData?space_id="+storeId;
             URL url = new URL(apiUrl);
             HttpURLConnection connection = (HttpURLConnection) url.openConnection();
             connection.setRequestMethod("GET");
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TGateController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TGateController.java
index 0ed0482..8d1eeb7 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TGateController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TGateController.java
@@ -154,7 +154,7 @@
         map.put("device_id",device);
         map.put("region_id",""+siteId);
         // 添加门禁
-        String s1 = HttpRequestUtil.postRequest("https://try.daowepark.com/v7/user_api/general/addDevice", map);
+        String s1 = HttpRequestUtil.postRequest("https://port.daowepark.com/v7/user_api/general/addDevice", map);
         System.out.println(s1);
         Gson gson = new Gson();
         // 解析请求结果,json:
@@ -186,7 +186,7 @@
         map.put("device_id",device);
         map.put("region_id",""+siteId);
         // 添加门禁
-        String s1 = HttpRequestUtil.postRequest("https://try.daowepark.com/v7/user_api/general/editDevice/ids/"+id, map);
+        String s1 = HttpRequestUtil.postRequest("https://port.daowepark.com/v7/user_api/general/editDevice/ids/"+id, map);
         System.out.println(s1);
         Gson gson = new Gson();
         // 解析请求结果,json:
@@ -209,7 +209,7 @@
         map.put("sign","0DB011836143EEE2C2E072967C9F4E4B");
         // 添加门禁
         String s1 = HttpRequestUtil.postRequest
-                ("https://try.daowepark.com/v7/user_api/general/deleteDevice/ids/"+gateId, map);
+                ("https://port.daowepark.com/v7/user_api/general/deleteDevice/ids/"+gateId, map);
 
         System.out.println(s1);
         Gson gson = new Gson();
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TShopController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TShopController.java
index eadb4c6..27ded08 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TShopController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TShopController.java
@@ -123,7 +123,7 @@
 ////        map.put("space_id","2010");
 ////        // 获取门禁列表
 ////        String s1 = HttpRequestUtil.getRequest
-////                ("https://try.daowepark.com/v7/user_api/general/getDevice", map);
+////                ("https://port.daowepark.com/v7/user_api/general/getDevice", map);
 ////        System.err.println(s1);
 //
 //        HashMap<String, String> map = new HashMap<>();
@@ -133,7 +133,7 @@
 //        map.put("region_id","2010");
 //        // 获取门禁列表
 //        String s1 = HttpRequestUtil.getRequest
-//                ("https://try.daowepark.com/v7/user_api/general/getDevice", map);
+//                ("https://port.daowepark.com/v7/user_api/general/getDevice", map);
 //        System.err.println(s1);
 //    };
     /**
@@ -583,7 +583,7 @@
             map1.put("remark",tStore.getIntroduce());
             map1.put("lat",tStore.getLat());
             map1.put("lng",tStore.getLon());
-            String result = HttpRequestUtil.postRequest("https://try.daowepark.com/v7/user_api/general/addSpace", map1);
+            String result = HttpRequestUtil.postRequest("https://port.daowepark.com/v7/user_api/general/addSpace", map1);
             System.out.println(result);
             JSONObject jsonObject = JSONObject.parseObject(result);
             JSONObject data = jsonObject.getJSONObject("data");
@@ -608,7 +608,7 @@
 //            mapSite.put("name",tStore.getName());
 //            mapSite.put("space_id",tStore.getId().toString());
 //            mapSite.put("area_id",tSite.getId().toString());
-//            HttpRequestUtil.postRequest("https://try.daowepark.com/v7/user_api/general/addSpaceArea", mapSite);
+//            HttpRequestUtil.postRequest("https://port.daowepark.com/v7/user_api/general/addSpaceArea", mapSite);
 //            for (String s : tStore.getIds().split(",")) {
 //                HashMap<String, String> map = new HashMap<>();
 //                map.put("sign","0DB011836143EEE2C2E072967C9F4E4B");
@@ -616,7 +616,7 @@
 //                map.put("device_id",s);
 //                map.put("region_id",tSite.getId().toString());
 //                // 添加门禁
-//                String s1 = HttpRequestUtil.postRequest("https://try.daowepark.com/v7/user_api/general/addDevice", map);
+//                String s1 = HttpRequestUtil.postRequest("https://port.daowepark.com/v7/user_api/general/addDevice", map);
 //                System.out.println(s1);
 //            }
             return new SuccessTip<>();
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TSiteController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TSiteController.java
index 2d1c91f..b54e8ac 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TSiteController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TSiteController.java
@@ -519,7 +519,7 @@
         map.put("name",site.getName());
         map.put("space_id",store.getId().toString());
         String s = HttpRequestUtil.postRequest
-                ("https://try.daowepark.com/v7/user_api/general/addSpaceArea", map);
+                ("https://port.daowepark.com/v7/user_api/general/addSpaceArea", map);
         JSONObject jsonObject = JSONObject.parseObject(s);
         JSONObject data = jsonObject.getJSONObject("data");
         String area_id = data.getString("area_id");
@@ -568,7 +568,7 @@
 //        map.put("sign","0DB011836143EEE2C2E072967C9F4E4B");
 //        if(StringUtils.hasLength(ids)) {
 //            for (String s : ids.split(",")) {
-//                String s1 = HttpRequestUtil.postRequest("https://try.daowepark.com/v7/user_api/general/deleteDevice/ids/" + s, map);
+//                String s1 = HttpRequestUtil.postRequest("https://port.daowepark.com/v7/user_api/general/deleteDevice/ids/" + s, map);
 //                System.out.println(s1);
 //            }
 //        }
@@ -580,7 +580,7 @@
 //                map1.put("device_id", s);
 //                map1.put("region_id", site.getId() + "");
 //                // 添加门禁
-//                String s1 = HttpRequestUtil.postRequest("https://try.daowepark.com/v7/user_api/general/addDevice", map1);
+//                String s1 = HttpRequestUtil.postRequest("https://port.daowepark.com/v7/user_api/general/addDevice", map1);
 //                System.out.println(s1);
 //            }
 //        }
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TStoredValueConfigController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TStoredValueConfigController.java
index 9017240..4fe42ed 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TStoredValueConfigController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TStoredValueConfigController.java
@@ -48,6 +48,8 @@
             model.addAttribute("time",startTime+" - " + endTime);
             System.out.println("StartTime: " + startTime);
             System.out.println("EndTime: " + endTime);
+        }else{
+            model.addAttribute("time","");
         }
         return PREFIX + "StoreValueConfig.html";
     }
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TWelfareVideoController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TWelfareVideoController.java
index 1126a4c..b2ed1d4 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TWelfareVideoController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TWelfareVideoController.java
@@ -3,10 +3,7 @@
 
 import com.dsh.course.feignClient.activity.BenefitsVideoClient;
 import com.dsh.course.feignClient.activity.PointMercharsClient;
-import com.dsh.course.feignClient.activity.model.BenefitsVedioChangeStateVO;
-import com.dsh.course.feignClient.activity.model.BenefitsVideoClassification;
-import com.dsh.course.feignClient.activity.model.BenefitsVideos;
-import com.dsh.course.feignClient.activity.model.QueryBenefitsVedioVO;
+import com.dsh.course.feignClient.activity.model.*;
 import com.dsh.course.feignClient.course.CourseClient;
 import com.dsh.course.feignClient.course.model.CourseChangeStateDTO;
 import com.dsh.guns.config.UserExt;
@@ -14,6 +11,7 @@
 import com.dsh.guns.modular.system.model.TQueryBenefitsVO;
 import com.dsh.guns.modular.system.model.TQueryBenefitsVideosDTO;
 import com.dsh.guns.modular.system.model.TQueryBenefitsVideosVO;
+import com.dsh.guns.modular.system.model.dto.GetBenefitVideoById;
 import com.dsh.guns.modular.system.util.ResultUtil;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -94,14 +92,7 @@
     @RequestMapping("/addBenefitsVideos/{id}")
     public String addBenefitsVideos(Model model,@PathVariable("id")Integer id) {
         model.addAttribute("id",id);
-        List<BenefitsVideos> benefitVideoById = benefitsVideoClient.getBenefitVideoById(id);
-//        // 所选福利视频分类下的视频的courseId集合
-//        List<Integer> list = new ArrayList<>();
-//        for (BenefitsVideos benefitsVideos : benefitVideoById) {
-//            list.add(benefitsVideos.getCourseId());
-//        }
         TQueryBenefitsVideosDTO dto = new TQueryBenefitsVideosDTO();
-//        dto.setCoursIds(list);
         List<TQueryBenefitsVideosVO> courseByCourseIds = courseClient.getCourseByCourseIds(dto);
         List<TQueryBenefitsVideosVO> tQueryBenefitsVideosVOS = new ArrayList<>();
         for (TQueryBenefitsVideosVO courseByCourseId : courseByCourseIds) {
@@ -163,7 +154,10 @@
     @ResponseBody
     public List<TQueryBenefitsVideosVO> listBenefitsVideos(@PathVariable("id")Integer bId, String name, Integer type, Integer state) {
         TQueryBenefitsVideosDTO vo = new TQueryBenefitsVideosDTO();
-        List<BenefitsVideos> benefitVideoById = benefitsVideoClient.getBenefitVideoById(bId);
+        GetBenefitVideoById getBenefitVideoById = new GetBenefitVideoById();
+        getBenefitVideoById.setBenefitsVideoClassificationId(bId);
+        getBenefitVideoById.setState(state);
+        List<BenefitsVideos> benefitVideoById = benefitsVideoClient.getBenefitVideoById(getBenefitVideoById);
         vo.setCoursIds(new ArrayList<>());
         for (BenefitsVideos benefitsVideos : benefitVideoById) {
             // 获取课程id集合
@@ -179,16 +173,12 @@
         for (BenefitsVideos benefitsVideos : benefitVideoById) {
             for (TQueryBenefitsVideosVO courseByCourseId : courseByCourseIds) {
                 if (benefitsVideos.getCourseId().equals(courseByCourseId.getId())){
-                    courseByCourseId.setId(benefitsVideos.getId());
                     courseByCourseId.setIntegral(benefitsVideos.getIntegral());
                     courseByCourseId.setBenefitsVideosId(benefitsVideos.getId());
                     courseByCourseId.setState(benefitsVideos.getState());
                 }
             }
         }
-
-
-
         return courseByCourseIds;
     }
     /**
@@ -240,10 +230,10 @@
     @RequestMapping("/changeCourseState")
     @ResponseBody
     public Object changeCourseState(@RequestBody CourseChangeStateDTO dto){
-
-        courseClient.changeState(dto);
-        mercharsClient.changeState(dto);
-
+        ChangeBenefitsVedioState changeBenefitsVedioState = new ChangeBenefitsVedioState();
+        changeBenefitsVedioState.setId(dto.getIds().get(0));
+        changeBenefitsVedioState.setState(dto.getState());
+        benefitsVideoClient.changeBenefitsVedioState(changeBenefitsVedioState);
         return ResultUtil.success();
     }
 
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/BallController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/BallController.java
index 17f4d67..c6e7d94 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/BallController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/BallController.java
@@ -231,7 +231,6 @@
         return ResultUtil.success();
     }
 
-
     public static MultipartFile convert(BufferedImage bufferedImage, String fileName) throws IOException {
         // 将 BufferedImage 转换为字节数组
         ByteArrayOutputStream baos = new ByteArrayOutputStream();
@@ -251,29 +250,7 @@
 
         return multipartFile;
     }
-    public static void main(String[] args) throws Exception {
-        // 生成红蓝sutu二维码
-        HashMap<String, String> blueCode = new HashMap<>();
-        blueCode.put("scan_type", "1000");
-        blueCode.put("sutu_id", ""+1041);
-        blueCode.put("space_id", 46 + "");
-        HashMap<String, String> redCode = new HashMap<>();
-        redCode.put("scan_type", "1000");
-        redCode.put("sutu_id", 1040+"");
-        redCode.put("space_id", 46 + "");
-        String blueS= "{\"scan_type\": 1000, \"space_id\": "+46+", \"sutu_id\": "+1041+"}";
-        String redS= "{\"scan_type\": 1000, \"space_id\": "+46+", \"sutu_id\": "+1040+"}";
-        MyQrCodeUtil.createCodeToFile(blueS);
-        MyQrCodeUtil.createCodeToFile(redS);
-        BufferedImage blueImage = QRCodeUtil.createImage(blueS);
-        BufferedImage redImage = QRCodeUtil.createImage(redS);
-        MultipartFile blueFile = convert(blueImage, new Date().getTime()+UUIDUtil.getRandomCode(3)+".PNG");
-        MultipartFile redFile = convert(redImage, new Date().getTime()+UUIDUtil.getRandomCode(3)+".PNG");
-        String s = OssUploadUtil.ossUpload("img/", blueFile);
-        String s1 = OssUploadUtil.ossUpload("img/", redFile);
-        System.err.println("蓝色"+ s);
-        System.err.println("蓝色"+s1);
-    }
+    
     @RequestMapping("/save")
     @ResponseBody
     public ResultUtil save(Integer id, String operationId, String red, String blue, String province, String city, Integer site, Integer store
@@ -326,21 +303,20 @@
             game.setOperationId(0);
         }
         System.out.println("============"+game);
-
+    
         // 判断是新增还是修改 修改不会重新生成sutuId
-        if (game.getId()==null){
+        if (game.getId()==null) {
             HashMap<String, String> map5 = new HashMap<>();
-            map5.put("space_id", store+"");
-            map5.put("area_id", site+"");
+            map5.put("space_id", store + "");
+            map5.put("area_id", site + "");
             String s5 = HttpRequestUtil.getRequest("https://try.daowepark.com/v7/user_api/general/get_space_sutu", map5);
             System.err.println(s5);
             JSONObject jsonObject5 = new JSONObject(s5);
-            // 获取 data 字段的值
             JSONArray data = jsonObject5.getJSONArray("data");
             Integer temp = null;  // 临时sutuid
             Integer temp1 = null; // 临时sutuid
             TSite si = siteService.getById(site);
-            if (data.length() == 0){
+            if (data.length() == 0) {
                 // 这个场地没有添加过sutu
                 HashMap<String, String> map3 = new HashMap<>();
                 HashMap<String, String> map4 = new HashMap<>();
@@ -368,39 +344,39 @@
                 String sutuIdValue1 = dataObject1.getString("sutu_id");
                 Integer sutuId = Integer.valueOf(sutuIdValue);
                 Integer sutuId1 = Integer.valueOf(sutuIdValue1);
-                game.setBlue(""+sutuId);
-                game.setRed(""+sutuId1);
+                game.setBlue("" + sutuId);
+                game.setRed("" + sutuId1);
                 // 生成红蓝sutu二维码
                 HashMap<String, String> blueCode = new HashMap<>();
                 blueCode.put("scan_type", "1000");
-                blueCode.put("sutu_id", ""+sutuId);
+                blueCode.put("sutu_id", "" + sutuId);
                 blueCode.put("space_id", si.getId() + "");
                 HashMap<String, String> redCode = new HashMap<>();
                 redCode.put("scan_type", "1000");
-                redCode.put("sutu_id", sutuId1+"");
+                redCode.put("sutu_id", sutuId1 + "");
                 redCode.put("space_id", si.getId() + "");
-                String blueS= "{\"scan_type\": 1000, \"space_id\": "+si.getId()+", \"sutu_id\": "+sutuId+"}";
-                String redS= "{\"scan_type\": 1000, \"space_id\": "+si.getId()+", \"sutu_id\": "+sutuId1+"}";
+                String blueS = "{\"scan_type\": 1000, \"space_id\": " + si.getId() + ", \"sutu_id\": " + sutuId + "}";
+                String redS = "{\"scan_type\": 1000, \"space_id\": " + si.getId() + ", \"sutu_id\": " + sutuId1 + "}";
                 MyQrCodeUtil.createCodeToFile(blueS);
                 MyQrCodeUtil.createCodeToFile(redS);
                 BufferedImage blueImage = QRCodeUtil.createImage(blueS);
                 BufferedImage redImage = QRCodeUtil.createImage(redS);
-                MultipartFile blueFile = convert(blueImage, new Date().getTime()+UUIDUtil.getRandomCode(3)+".PNG");
-                MultipartFile redFile = convert(redImage, new Date().getTime()+UUIDUtil.getRandomCode(3)+".PNG");
+                MultipartFile blueFile = convert(blueImage, new Date().getTime() + UUIDUtil.getRandomCode(3) + ".PNG");
+                MultipartFile redFile = convert(redImage, new Date().getTime() + UUIDUtil.getRandomCode(3) + ".PNG");
                 String s = OssUploadUtil.ossUpload("img/", blueFile);
                 String s1 = OssUploadUtil.ossUpload("img/", redFile);
                 game.setBlueCode(s);
                 game.setRedCode(s1);
-            }else{
-                Integer sutuid=0;
-                Integer sutuid1=0;
+            } else {
+                Integer sutuid = 0;
+                Integer sutuid1 = 0;
                 JSONObject element = data.getJSONObject(0);
-                if (site==27){
-                    sutuid=1036;
-                    sutuid1=1037;
+                if (site == 27) {
+                    sutuid = 1036;
+                    sutuid1 = 1037;
                     game.setBlue(sutuid.toString());
                     game.setRed(sutuid1.toString());
-                }else{
+                } else {
                     sutuid = element.getInt("id");
                     game.setBlue(sutuid.toString());
                     JSONObject element1 = data.getJSONObject(1);
@@ -410,27 +386,28 @@
                 // 生成红蓝sutu二维码
                 HashMap<String, String> blueCode = new HashMap<>();
                 blueCode.put("scan_type", "1000");
-                blueCode.put("sutu_id", ""+sutuid);
+                blueCode.put("sutu_id", "" + sutuid);
                 blueCode.put("space_id", si.getId() + "");
                 HashMap<String, String> redCode = new HashMap<>();
                 redCode.put("scan_type", "1000");
-                redCode.put("sutu_id", sutuid1+"");
+                redCode.put("sutu_id", sutuid1 + "");
                 redCode.put("space_id", si.getId() + "");
-                String blueS= "{\"scan_type\": 1000, \"space_id\": "+si.getId()+", \"sutu_id\": "+sutuid+"}";
-                String redS= "{\"scan_type\": 1000, \"space_id\": "+si.getId()+", \"sutu_id\": "+sutuid1+"}";
+                String blueS = "{\"scan_type\": 1000, \"space_id\": " + si.getId() + ", \"sutu_id\": " + sutuid + "}";
+                String redS = "{\"scan_type\": 1000, \"space_id\": " + si.getId() + ", \"sutu_id\": " + sutuid1 + "}";
                 MyQrCodeUtil.createCodeToFile(blueS);
                 MyQrCodeUtil.createCodeToFile(redS);
                 BufferedImage blueImage = QRCodeUtil.createImage(blueS);
                 BufferedImage redImage = QRCodeUtil.createImage(redS);
-                MultipartFile blueFile = convert(blueImage, new Date().getTime()+UUIDUtil.getRandomCode(3)+".PNG");
-                MultipartFile redFile = convert(redImage, new Date().getTime()+UUIDUtil.getRandomCode(3)+".PNG");
+                MultipartFile blueFile = convert(blueImage, new Date().getTime() + UUIDUtil.getRandomCode(3) + ".PNG");
+                MultipartFile redFile = convert(redImage, new Date().getTime() + UUIDUtil.getRandomCode(3) + ".PNG");
                 String s = OssUploadUtil.ossUpload("img/", blueFile);
                 String s1 = OssUploadUtil.ossUpload("img/", redFile);
                 game.setBlueCode(s);
                 game.setRedCode(s1);
             }
+    
         }
-
+        
         Integer gameId = ballClient.save(game);
         List<TGameConfig> gameConfigList = new ArrayList<>();
         //玩湃跨城赛
@@ -557,7 +534,7 @@
         gameConfigly.setIntegral(lyInt);
         gameConfigly.setOtherId(gameId);
         gameConfigList.add(gameConfigly);
-
+    
         //激战3V3
         TGameConfig gameConfigv3 = new TGameConfig();
         gameConfigv3.setGameId(v3Id);
@@ -578,13 +555,13 @@
 //        map1.put("device_id", red);
 //        map1.put("region_id", st.getId() + "");
 //        // 添加门禁
-//        String s1 = HttpRequestUtil.postRequest("https://try.daowepark.com/v7/user_api/general/addDevice", map1);
+//        String s1 = HttpRequestUtil.postRequest("https://port.daowepark.com/v7/user_api/general/addDevice", map1);
 //        map2.put("sign", "0DB011836143EEE2C2E072967C9F4E4B");
 //        map2.put("space_id", si.getId() + "");
 //        map2.put("device_id", blue);
 //        map2.put("region_id", st.getId() + "");
 //        // 添加门禁
-//        String s2 = HttpRequestUtil.postRequest("https://try.daowepark.com/v7/user_api/general/addDevice", map2);
+//        String s2 = HttpRequestUtil.postRequest("https://port.daowepark.com/v7/user_api/general/addDevice", map2);
 
 
 
@@ -592,14 +569,8 @@
         return null;
     }
 
-//    public static void main(String[] args) {
-//        HashMap<String, String> map3 = new HashMap<>();
-//        map3.put("space_id", "1001");
-//        map3.put("area_id", "4352");
-//        String s3 = HttpRequestUtil.getRequest("https://try.daowepark.com/v7/user_api/general/get_space_sutu", map3);
-//
-//        System.err.println(s3);
-//    }
+
+    
     @RequestMapping("/pre_add")
     public String add(Model model) {
 
@@ -680,7 +651,7 @@
 
         TGameConfig ly = gameConfigService.getOne(new QueryWrapper<TGameConfig>().eq("otherId", id).eq("gameId", 5));
         model.addAttribute("ly",ly);
-
+    
         TGameConfig v3 = gameConfigService.getOne(new QueryWrapper<TGameConfig>().eq("otherId", id).eq("gameId", 0));
         model.addAttribute("v3",v3);
 
@@ -752,7 +723,7 @@
 
         TGameConfig ly = gameConfigService.getOne(new QueryWrapper<TGameConfig>().eq("otherId", id).eq("gameId", 5));
         model.addAttribute("ly",ly);
-
+        
         TGameConfig v3 = gameConfigService.getOne(new QueryWrapper<TGameConfig>().eq("otherId", id).eq("gameId", 0));
         model.addAttribute("v3",v3);
 
@@ -1159,22 +1130,22 @@
                 }
             }
 
-            if (Integer.parseInt(vo.get("status").toString())==1 ){
-                String dateTimeStr = vo.get("times").toString();
-                String formattedDateTimeStr = dateTimeStr.substring(0, 11) + dateTimeStr.substring(17);
-
-                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
-                try {
-                    Date date = sdf.parse(formattedDateTimeStr);
-                    if (new Date().after(date)){
-                        vo.put("status",4);
-                    }
-
-                    System.out.println(date);
-                } catch (ParseException e) {
-                    e.printStackTrace();
-                }
-            }
+//            if (Integer.parseInt(vo.get("status").toString())==1 ){
+//                String dateTimeStr = vo.get("times").toString();
+//                String formattedDateTimeStr = dateTimeStr.substring(0, 11) + dateTimeStr.substring(17);
+//
+//                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+//                try {
+//                    Date date = sdf.parse(formattedDateTimeStr);
+//                    if (new Date().after(date)){
+//                        vo.put("status",4);
+//                    }
+//
+//                    System.out.println(date);
+//                } catch (ParseException e) {
+//                    e.printStackTrace();
+//                }
+//            }
         }
         return orders;
     }
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/dto/GetBenefitVideoById.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/dto/GetBenefitVideoById.java
new file mode 100644
index 0000000..d9edb47
--- /dev/null
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/dto/GetBenefitVideoById.java
@@ -0,0 +1,14 @@
+package com.dsh.guns.modular.system.model.dto;
+
+import lombok.Data;
+
+/**
+ * @author zhibing.pu
+ * @Date 2024/6/17 11:12
+ */
+@Data
+public class GetBenefitVideoById {
+	private Integer benefitsVideoClassificationId;
+	
+	private Integer state;
+}
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/CourseServiceImpl.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/CourseServiceImpl.java
index 0de4017..a91e92b 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/CourseServiceImpl.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/CourseServiceImpl.java
@@ -1,6 +1,8 @@
 package com.dsh.guns.modular.system.service.impl;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.dsh.course.feignClient.activity.BenefitsVideoClient;
+import com.dsh.course.feignClient.activity.model.ChangeBenefitsVedioState;
 import com.dsh.course.feignClient.course.CourseClient;
 import com.dsh.course.feignClient.course.model.QueryCourseList;
 import com.dsh.guns.core.common.constant.factory.PageFactory;
@@ -24,6 +26,9 @@
 
     @Resource
     private CourseClient courseClient;
+    
+    @Resource
+    private BenefitsVideoClient benefitsVideoClient;
 
 
     /**
@@ -84,6 +89,7 @@
     @Override
     public void delCourse(Integer id) {
         courseClient.delCourseById(id);
+        benefitsVideoClient.delBenefitsVedio(id);
     }
 
 
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/util/PayMoneyUtil.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/util/PayMoneyUtil.java
index 7d89f83..db0815e 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/util/PayMoneyUtil.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/util/PayMoneyUtil.java
@@ -48,7 +48,7 @@
 
     private String key = "";//微信商户号
 
-    private String callbackPath = "http://8.137.22.229:56666/account";//支付回调网关地址
+    private String callbackPath = "https://online.daowepark.com:443/account";//支付回调网关地址
 
     private String app_cert_path = "C:/cert/alipay/user/app_cert_path.crt";//应用公钥证书路径
 
diff --git a/cloud-server-management/src/main/resources/bootstrap.properties b/cloud-server-management/src/main/resources/bootstrap.properties
index b6f07b4..f173039 100644
--- a/cloud-server-management/src/main/resources/bootstrap.properties
+++ b/cloud-server-management/src/main/resources/bootstrap.properties
@@ -27,7 +27,7 @@
 
 # \uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0479\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD
 feign.compression.request.mime-types=text/xml,application/xml,application/json
-feign.compression.request.min-request-size=2048
+feign.compression.request.min-request-size=102400
 feign.compression.request.enabled=true
 feign.compression.response.enabled=true
 
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/jieshao.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/jieshao.html
index f0ca987..8176c0e 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/jieshao.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/jieshao.html
@@ -62,19 +62,11 @@
                                             "value": "14",
                                             "hidden": true
                                         },
-                                        {
-                                            "type": "input-rich-text",
-                                            "receiver": {
-                                                "url": "/mgr/uploadImgAmis",
-                                                "method": "post"
-                                            },
-                                            "label": "文字介绍",
-                                            "name": "jieshao",
-                                            "id": "u:aa105bcfd51b",
-                                            "minRows": 10,
-                                            "maxRows": 20,
-                                            "required": true
-                                        },
+	                                    {
+		                                    "name": "jieshao",
+		                                    "type": "textarea",
+		                                    "label": "文字介绍"
+	                                    },
                                         {
                                             "type": "input-file",
                                             "label": "文件上传",
@@ -211,19 +203,11 @@
                                             "value": "16",
                                             "hidden": true
                                         },
-                                        {
-                                            "type": "input-rich-text",
-                                            "receiver": {
-                                                "url": "/mgr/uploadImgAmis",
-                                                "method": "post"
-                                            },
-                                            "label": "文字介绍",
-                                            "name": "jieshao",
-                                            "id": "u:aa105bcfd51b",
-                                            "minRows": 10,
-                                            "maxRows": 20,
-                                            "required": true
-                                        },
+	                                    {
+		                                    "name": "jieshao",
+		                                    "type": "textarea",
+		                                    "label": "文字介绍"
+	                                    },
                                         {
                                             "type": "input-file",
                                             "label": "文件上传",
@@ -361,19 +345,11 @@
                                             "value": "13",
                                             "hidden": true
                                         },
-                                        {
-                                            "type": "input-rich-text",
-                                            "receiver": {
-                                                "url": "/mgr/uploadImgAmis",
-                                                "method": "post"
-                                            },
-                                            "label": "文字介绍",
-                                            "name": "jieshao",
-                                            "id": "u:aa105bcfd51b",
-                                            "minRows": 10,
-                                            "maxRows": 20,
-                                            "required": true
-                                        },
+	                                    {
+		                                    "name": "jieshao",
+		                                    "type": "textarea",
+		                                    "label": "文字介绍"
+	                                    },
                                         {
                                             "type": "input-file",
                                             "label": "文件上传",
@@ -511,19 +487,11 @@
                                             "value": "15",
                                             "hidden": true
                                         },
-                                        {
-                                            "type": "input-rich-text",
-                                            "receiver": {
-                                                "url": "/mgr/uploadImgAmis",
-                                                "method": "post"
-                                            },
-                                            "label": "文字介绍",
-                                            "name": "jieshao",
-                                            "id": "u:aa105bcfd51b",
-                                            "minRows": 10,
-                                            "maxRows": 20,
-                                            "required": true
-                                        },
+	                                    {
+		                                    "name": "jieshao",
+		                                    "type": "textarea",
+		                                    "label": "文字介绍"
+	                                    },
                                         {
                                             "type": "input-file",
                                             "label": "文件上传",
@@ -661,19 +629,11 @@
                                             "value": "1",
                                             "hidden": true
                                         },
-                                        {
-                                            "type": "input-rich-text",
-                                            "receiver": {
-                                                "url": "/mgr/uploadImgAmis",
-                                                "method": "post"
-                                            },
-                                            "label": "文字介绍",
-                                            "name": "jieshao",
-                                            "id": "u:aa105bcfd51b",
-                                            "minRows": 10,
-                                            "maxRows": 20,
-                                            "required": true
-                                        },
+	                                    {
+		                                    "name": "jieshao",
+		                                    "type": "textarea",
+		                                    "label": "文字介绍"
+	                                    },
                                         {
                                             "type": "input-file",
                                             "label": "文件上传",
@@ -811,19 +771,11 @@
                                             "value": "7",
                                             "hidden": true
                                         },
-                                        {
-                                            "type": "input-rich-text",
-                                            "receiver": {
-                                                "url": "/mgr/uploadImgAmis",
-                                                "method": "post"
-                                            },
-                                            "label": "文字介绍",
-                                            "name": "jieshao",
-                                            "id": "u:aa105bcfd51b",
-                                            "minRows": 10,
-                                            "maxRows": 20,
-                                            "required": true
-                                        },
+	                                    {
+		                                    "name": "jieshao",
+		                                    "type": "textarea",
+		                                    "label": "文字介绍"
+	                                    },
                                         {
                                             "type": "input-file",
                                             "label": "文件上传",
@@ -961,19 +913,11 @@
                                             "value": "8",
                                             "hidden": true
                                         },
-                                        {
-                                            "type": "input-rich-text",
-                                            "receiver": {
-                                                "url": "/mgr/uploadImgAmis",
-                                                "method": "post"
-                                            },
-                                            "label": "文字介绍",
-                                            "name": "jieshao",
-                                            "id": "u:aa105bcfd51b",
-                                            "minRows": 10,
-                                            "maxRows": 20,
-                                            "required": true
-                                        },
+	                                    {
+		                                    "name": "jieshao",
+		                                    "type": "textarea",
+		                                    "label": "文字介绍"
+	                                    },
                                         {
                                             "type": "input-file",
                                             "label": "文件上传",
@@ -1111,19 +1055,11 @@
                                             "value": "10",
                                             "hidden": true
                                         },
-                                        {
-                                            "type": "input-rich-text",
-                                            "receiver": {
-                                                "url": "/mgr/uploadImgAmis",
-                                                "method": "post"
-                                            },
-                                            "label": "文字介绍",
-                                            "name": "jieshao",
-                                            "id": "u:aa105bcfd51b",
-                                            "minRows": 10,
-                                            "maxRows": 20,
-                                            "required": true
-                                        },
+	                                    {
+		                                    "name": "jieshao",
+		                                    "type": "textarea",
+		                                    "label": "文字介绍"
+	                                    },
                                         {
                                             "type": "input-file",
                                             "label": "文件上传",
@@ -1261,19 +1197,11 @@
                                             "value": "11",
                                             "hidden": true
                                         },
-                                        {
-                                            "type": "input-rich-text",
-                                            "receiver": {
-                                                "url": "/mgr/uploadImgAmis",
-                                                "method": "post"
-                                            },
-                                            "label": "文字介绍",
-                                            "name": "jieshao",
-                                            "id": "u:aa105bcfd51b",
-                                            "minRows": 10,
-                                            "maxRows": 20,
-                                            "required": true
-                                        },
+	                                    {
+		                                    "name": "jieshao",
+		                                    "type": "textarea",
+		                                    "label": "文字介绍"
+	                                    },
                                         {
                                             "type": "input-file",
                                             "label": "文件上传",
@@ -1412,17 +1340,9 @@
 						                    "hidden": true
 					                    },
 					                    {
-						                    "type": "input-rich-text",
-						                    "receiver": {
-							                    "url": "/mgr/uploadImgAmis",
-							                    "method": "post"
-						                    },
-						                    "label": "文字介绍",
 						                    "name": "jieshao",
-						                    "id": "u:aa105bcfd51b",
-						                    "minRows": 10,
-						                    "maxRows": 20,
-						                    "required": true
+						                    "type": "textarea",
+						                    "label": "文字介绍"
 					                    },
 					                    {
 						                    "type": "input-file",
@@ -1562,17 +1482,9 @@
 						                    "hidden": true
 					                    },
 					                    {
-						                    "type": "input-rich-text",
-						                    "receiver": {
-							                    "url": "/mgr/uploadImgAmis",
-							                    "method": "post"
-						                    },
-						                    "label": "文字介绍",
 						                    "name": "jieshao",
-						                    "id": "u:aa105bcfd51b",
-						                    "minRows": 10,
-						                    "maxRows": 20,
-						                    "required": true
+						                    "type": "textarea",
+						                    "label": "文字介绍"
 					                    },
 					                    {
 						                    "type": "input-file",
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/finance/RechargeRecords.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/finance/RechargeRecords.html
index 71cf6af..e4e2e6b 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/finance/RechargeRecords.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/finance/RechargeRecords.html
@@ -61,9 +61,6 @@
                     </div>
                 </div>
                 <div class="hidden-xs" id="TCompetitionTableToolbar" role="group">
-                    <#button name="上架" icon="fa-plus" clickFun="TCompetition.updateState(1)"/>
-                    <#button name="下架" icon="fa-edit" clickFun="TCompetition.updateState(2)" space="true"/>
-                    <#button name="查看详情" icon="fa-remove" clickFun="TCompetition.info()" space="true"/>
                 </div>
                     <div class="ibox-title">
                         <h5 id = "amount"></h5>
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/storeValueConfig/StoreValueConfig.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/storeValueConfig/StoreValueConfig.html
index 9c7026e..87386d7 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/storeValueConfig/StoreValueConfig.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/storeValueConfig/StoreValueConfig.html
@@ -13,8 +13,8 @@
                 <div class="ibox-title">
                     <h5>储值管理</h5>
                 </div>
-                <input type="hidden" id="content"       value='${content}'>
-                <input type="hidden" id="time"          value="${time}">
+                <input type="hidden" id="content" value='${content}'>
+                <input type="hidden" id="time" value="${time}">
                 <div class="ibox-title">
                     <div style="display: flex">
                         <label for="editor_1">*常规储值:</label>
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoach/TCoach_add.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoach/TCoach_add.html
index 4d1b2c2..fcbc477 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoach/TCoach_add.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoach/TCoach_add.html
@@ -66,9 +66,11 @@
             <div class="form-group" >
                 <label class="col-sm-3 control-label">*所属账号:</label>
                 <div class="col-sm-9">
-                    <select style="width: 300px" class="form-control" id="account" name="account">
+                    <select style="width: 300px;display: inline" class="form-control" id="account" name="account">
                         <option value="" style="color: #676A6C" disabled selected>请选择所属账号</option>
                     </select>
+	                &nbsp;&nbsp;&nbsp;&nbsp;
+	                <input type="checkbox" id="platform_account" value="0">平台
                 </div>
             </div>
             @}
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoach/TCoach_edit.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoach/TCoach_edit.html
index 391e25d..43c9077 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoach/TCoach_edit.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoach/TCoach_edit.html
@@ -51,11 +51,14 @@
             <div class="form-group">
                 <label class="col-sm-3 control-label">*所属账号:</label>
                 <div class="col-sm-9">
-                    <select style="width: 300px" class="form-control" id="account" name="account">
-                        @for(obj in cityManagers){
+                    <select style="width: 300px;display: inline" class="form-control" id="account" name="account" ${data.cityManagerId == 0 ? 'disabled' : ''}>
+		                <option value="" style="color: #b6b6b6" disabled selected>请选择所属账号</option>
+		                @for(obj in cityManagers){
                         <option value="${obj.id}" ${obj.id == data.cityManagerId ? 'selected=selected' : ''}>${obj.name}</option>
                         @}
                     </select>
+	                &nbsp;&nbsp;&nbsp;&nbsp;
+	                <input type="checkbox" id="platform_account" value="0" ${data.cityManagerId == 0 ? 'checked' : ''}>平台
                 </div>
             </div>
             @}
@@ -63,7 +66,7 @@
             <div class="form-group" id="siteType">
                 <label class="col-sm-3 control-label">*教练类型:</label>
                 <div class="col-sm-9">
-                    <select style="width: 300px"  class="form-control" id="coachTypeId" name = "typeId">
+                    <select style="width: 300px"  class="form-control" id="coachTypeId" name = "typeId" >
                         <option value="" style="color: #b6b6b6" disabled selected>请选择教练类型</option>
                         @for(obj in coachType){
                         <option value="${obj.id}" ${obj.id == data.coachTypeId ? 'selected=selected' : ''}>${obj.name}</option>
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop.html
index b5e0830..56a376c 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop.html
@@ -69,7 +69,7 @@
                     @}
                     <#button name="免费福利" icon="fa-remove" clickFun="TCompetition.gift()" space="true"/>
                     <#button name="首页设置" icon="fa-remove" clickFun="TCompetition.indexSet()" space="true"/>
-                    <#button name="SUTU设置" icon="fa-plus" clickFun="TCompetition.addDevice()" space="true"/>
+                    
                     @if(role == '1'){
                         @if(shiro.hasPermission("/tHomeModule/tHomeModule_platformSet")){
                         <#button name="图文模块设置" icon="fa-edit" clickFun="TCompetition.platformSet()" space="true"/>
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/appUser/tAppUser.js b/cloud-server-management/src/main/webapp/static/modular/system/appUser/tAppUser.js
index a2c4be2..3c3ed88 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/appUser/tAppUser.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/appUser/tAppUser.js
@@ -32,6 +32,7 @@
                 return {1:"是",0:"否"}[data]
             }
         },
+        {title: '注册时间', field: 'insertTime', visible: true, align: 'center', valign: 'middle'},
         {title: '状态', field: 'state', visible: true, align: 'center', valign: 'middle',
             formatter:function (data) {
                 return {1:"正常",2:"冻结",3:"已注销"}[data]
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/ball/yuyue.js b/cloud-server-management/src/main/webapp/static/modular/system/ball/yuyue.js
index 166f873..dcc182d 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/ball/yuyue.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/ball/yuyue.js
@@ -61,7 +61,7 @@
             visible: true,
             align: 'center',
             valign: 'middle',
-            formatter: function(value, row) {
+            formatter: function(value, row) {//0=待支付,1=待核销,2=已到店,3=已完成,4=已过期,5=已取消
                 switch (value) {
                     case 0:
                         return '待支付';
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/benefits/tBenefitsVideos.js b/cloud-server-management/src/main/webapp/static/modular/system/benefits/tBenefitsVideos.js
index f4ead97..ce90287 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/benefits/tBenefitsVideos.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/benefits/tBenefitsVideos.js
@@ -16,7 +16,7 @@
 TQuestion.initColumn = function () {
     return [
         {field: 'selectItem', checkbox: true},
-        {title: '序号', field: 'id', visible: true, align: 'center', valign: 'middle'},
+        {title: '序号', field: 'benefitsVideosId', visible: true, align: 'center', valign: 'middle'},
         {title: 'benefitsVideosId', field: 'benefitsVideosId', visible: false, align: 'center', valign: 'middle'},
         {title: '视频类型', field: 'type', visible: true, align: 'center', valign: 'middle',
             formatter:function (data) {
@@ -89,8 +89,8 @@
         state:null
     };
     selected.forEach(function(obj) {
-        var id = obj.id;
-        data1.ids.push(obj.benefitsVideosId);
+        var id = obj.benefitsVideosId;
+        data1.ids.push(id);
     });
     data1.state = 1;
     $.ajax({
@@ -125,8 +125,8 @@
             state:null
         };
         selected.forEach(function(obj) {
-            var id = obj.id;
-            data1.ids.push(obj.benefitsVideosId);
+            var id = obj.benefitsVideosId;
+            data1.ids.push(id);
         });
         data1.state = 2;
         $.ajax({
@@ -230,7 +230,7 @@
             state:null
         };
         selected.forEach(function(obj) {
-            var id = obj.id;
+            var id = obj.benefitsVideosId;
             data1.ids.push(id);
         });
         data1.state = 3;
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/benefits/tBenefitsVideos_add.js b/cloud-server-management/src/main/webapp/static/modular/system/benefits/tBenefitsVideos_add.js
index 0a9776d..10414df 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/benefits/tBenefitsVideos_add.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/benefits/tBenefitsVideos_add.js
@@ -16,7 +16,7 @@
 TQuestion.initColumn = function () {
     return [
         {field: 'selectItem', checkbox: true},
-        {title: 'id', field: 'id', visible: false, align: 'center', valign: 'middle'},
+        {title: 'id', field: 'benefitsVideosId', visible: false, align: 'center', valign: 'middle'},
         {title: '视频类型', field: 'type', visible: true, align: 'center', valign: 'middle',
             formatter:function (data) {
                 return {1:"课后练习",2:"运动教学视频",3:"器材教学视频"}[data]
@@ -121,7 +121,7 @@
         state:null
     };
     selected.forEach(function(obj) {
-        var id = obj.id;
+        var id = obj.benefitsVideosId;
         data1.ids.push(id);
     });
     data1.state = 1;
@@ -157,7 +157,7 @@
             state:null
         };
         selected.forEach(function(obj) {
-            var id = obj.id;
+            var id = obj.benefitsVideosId;
             data1.ids.push(id);
         });
         data1.state = 2;
@@ -236,7 +236,7 @@
             state:null
         };
         selected.forEach(function(obj) {
-            var id = obj.id;
+            var id = obj.benefitsVideosId;
             data1.ids.push(id);
         });
         data1.state = 3;
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/benefits/tBenefitsVideos_edit.js b/cloud-server-management/src/main/webapp/static/modular/system/benefits/tBenefitsVideos_edit.js
index d996035..0801cf0 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/benefits/tBenefitsVideos_edit.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/benefits/tBenefitsVideos_edit.js
@@ -16,7 +16,7 @@
 TQuestion.initColumn = function () {
     return [
         {field: 'selectItem', checkbox: true},
-        {title: 'id', field: 'id', visible: false, align: 'center', valign: 'middle'},
+        {title: 'id', field: 'benefitsVideosId', visible: false, align: 'center', valign: 'middle'},
         {title: '视频类型', field: 'type', visible: true, align: 'center', valign: 'middle',
             formatter:function (data) {
                 return {1:"课后练习",2:"运动教学视频",3:"器材教学视频"}[data]
@@ -108,7 +108,7 @@
         state:null
     };
     selected.forEach(function(obj) {
-        var id = obj.id;
+        var id = obj.benefitsVideosId;
         data1.ids.push(id);
     });
     data1.state = 1;
@@ -144,7 +144,7 @@
             state:null
         };
         selected.forEach(function(obj) {
-            var id = obj.id;
+            var id = obj.benefitsVideosId;
             data1.ids.push(id);
         });
         data1.state = 2;
@@ -223,7 +223,7 @@
             state:null
         };
         selected.forEach(function(obj) {
-            var id = obj.id;
+            var id = obj.benefitsVideosId;
             data1.ids.push(id);
         });
         data1.state = 3;
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/bodySideAppointment/tBodySideAppointment_edit.js b/cloud-server-management/src/main/webapp/static/modular/system/bodySideAppointment/tBodySideAppointment_edit.js
index 7e19457..5a8d5ed 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/bodySideAppointment/tBodySideAppointment_edit.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/bodySideAppointment/tBodySideAppointment_edit.js
@@ -14,7 +14,7 @@
 TQuestion.initColumn = function () {
     return [
         {field: 'selectItem', checkbox: true},
-        {title: '序号', field: 'id', visible: true, align: 'center', valign: 'middle'},
+        {title: '序号', field: 'benefitsVideosId', visible: true, align: 'center', valign: 'middle'},
         {title: '视频类型', field: 'type', visible: true, align: 'center', valign: 'middle',
             formatter:function (data) {
                 return {1:"课后练习",2:"运动教学视频",3:"器材教学视频"}[data]
@@ -147,7 +147,7 @@
         state:null
     };
     selected.forEach(function(obj) {
-        var id = obj.id;
+        var id = obj.benefitsVideosId;
         data1.ids.push(id);
     });
     data1.state = 1;
@@ -183,7 +183,7 @@
             state:null
         };
         selected.forEach(function(obj) {
-            var id = obj.id;
+            var id = obj.benefitsVideosId;
             data1.ids.push(id);
         });
         data1.state = 2;
@@ -262,7 +262,7 @@
             state:null
         };
         selected.forEach(function(obj) {
-            var id = obj.id;
+            var id = obj.benefitsVideosId;
             data1.ids.push(id);
         });
         data1.state = 3;
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tCoach/tCoach_add.js b/cloud-server-management/src/main/webapp/static/modular/system/tCoach/tCoach_add.js
index e64677f..320f4ba 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/tCoach/tCoach_add.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/tCoach/tCoach_add.js
@@ -340,7 +340,10 @@
     data.graduateSchool     = $('#graduateSchool').val()
     data.diploma            = $('#img').val()
     data.certificate        = $('#certificate').val()
-
+    if($('#platform_account').is(':checked')){
+        data.cityManagerId = $("#platform_account").val()
+    }
+    
     var temp = ""
 
     for (let i = 0; i < TSite.goodsPicArray.length; i++) {
@@ -358,7 +361,7 @@
         Feng.info("请选择市")
         return;
     }
-    if($("#account").val()=='' ){
+    if(data.cityManagerId=='' ){
         Feng.info("请选择账号")
         return;
     }
@@ -472,6 +475,9 @@
     data.graduateSchool     = $('#graduateSchool').val()
     data.diploma            = $('#img').val()
     data.certificate        = $('#certificate').val()
+    if($('#platform_account').is(':checked')){
+        data.cityManagerId = $("#platform_account").val()
+    }
     var goodImgs = this.goodsPicArray;
     if(goodImgs.length==0){
         Feng.info("请上传实景图")
@@ -493,7 +499,7 @@
         Feng.info("请选择市")
         return;
     }
-    if($("#account").val()=='' ){
+    if(data.cityManagerId=='' ){
         Feng.info("请选择账号")
         return;
     }
@@ -597,4 +603,14 @@
     var carPhoto = new $WebUpload("img");
     carPhoto.setUploadBarId("progressBar");
     carPhoto.init();
+    
+    
+    $('#platform_account').on('click', function (){
+        if($('#platform_account').is(':checked')){
+            $('#account').val("");
+            $('#account').attr("disabled", 'disabled');
+        }else{
+            $('#account').removeAttr("disabled");
+        }
+    });
 });
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tCoach/tCoach_info.js b/cloud-server-management/src/main/webapp/static/modular/system/tCoach/tCoach_info.js
index 152f2e9..25bb80e 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/tCoach/tCoach_info.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/tCoach/tCoach_info.js
@@ -213,6 +213,9 @@
     var sm =data.appointmentStartTime.split(':')[1];
     var eh =data.appointmentEndTime.split(':')[0];
     var em =data.appointmentEndTime.split(':')[1];
+    if($('#platform_account').is(':checked')){
+        data.cityManagerId = $("#platform_account").val()
+    }
 
     if($("#pCode").val()==''){
         Feng.info("请选择省")
@@ -222,7 +225,7 @@
         Feng.info("请选择市")
         return;
     }
-    if($("#account").val()=='' ){
+    if(data.cityManagerId=='' ){
         Feng.info("请选择账号")
         return;
     }
@@ -390,6 +393,13 @@
     carPhoto1.setUploadBarId("progressBar");
     carPhoto1.init();
     TSiteInfo.getTime()
-
-
+    
+    $('#platform_account').on('click', function (){
+        if($('#platform_account').is(':checked')){
+            $('#account').val("");
+            $('#account').attr("disabled", 'disabled');
+        }else{
+            $('#account').removeAttr("disabled");
+        }
+    });
 });
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tGoods/tPay_info.js b/cloud-server-management/src/main/webapp/static/modular/system/tGoods/tPay_info.js
index 4341dc6..9aab871 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/tGoods/tPay_info.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/tGoods/tPay_info.js
@@ -16,6 +16,7 @@
         {title: '序号', field: 'id', visible: true, align: 'center', valign: 'middle'},
         {title: '姓名', field: 'name', visible: true, align: 'center', valign: 'middle'},
         {title: '联系方式', field: 'phone', visible: true, align: 'center', valign: 'middle'},
+        {title: '购买时间', field: 'payTime', visible: true, align: 'center', valign: 'middle'},
         {title: '使用状态', field: 'status', visible: true, align: 'center', valign: 'middle',
             formatter: function (value, row, index) {
                 return {1: "未使用", 2: "已核销"}[value]
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tShop/tShopOther.js b/cloud-server-management/src/main/webapp/static/modular/system/tShop/tShopOther.js
index c9d5e92..947d00e 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/tShop/tShopOther.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/tShop/tShopOther.js
@@ -317,7 +317,7 @@
 };
 
 TCompetition.saveAllImg = function (e) {
-    var id = $("#id").val()
+    var id1 = $("#id").val()
     var px1 = $("#px1").val()
     var px2 = $("#px2").val()
     var px3 = $("#px3").val()
@@ -416,7 +416,7 @@
         Feng.error("保存失败!" + data.responseJSON.message + "!");
 
     });
-    ajax.set("id",id);
+    ajax.set("id",id1);
     ajax.set("px1",px1);
     ajax.set("px2",px2);
     ajax.set("px3",px3);
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/worldCup/worldCup_info.js b/cloud-server-management/src/main/webapp/static/modular/system/worldCup/worldCup_info.js
index 631ffc9..95dcffd 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/worldCup/worldCup_info.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/worldCup/worldCup_info.js
@@ -400,10 +400,10 @@
                 $('.cash').hide();
             }
             if(v == 2){
-                $('.classHour').hide();
+                $('.paiCoin').hide();
             }
             if(v == 3){
-                $('.paiCoin').hide();
+                $('.classHour').hide();
             }
         }
 
diff --git a/cloud-server-other/src/main/java/com/dsh/other/controller/GameController.java b/cloud-server-other/src/main/java/com/dsh/other/controller/GameController.java
index bc18bca..f17ac8a 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/controller/GameController.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/controller/GameController.java
@@ -414,7 +414,7 @@
             map.put("space_id", spaceId + "");
             map.put("sutu_id", sutuId + "");
 
-            String s = HttpRequestUtil.postRequest("https://try.daowepark.com/v7/user_api/general/gameStart", map);
+            String s = HttpRequestUtil.postRequest("https://port.daowepark.com/v7/user_api/general/gameStart", map);
             JSONObject jsonObject = JSONObject.parseObject(s);
             Object code = jsonObject.get("code");
             if (String.valueOf(code) != null && "200".equals(String.valueOf(code))) {
@@ -433,7 +433,7 @@
             map.put("api_url", "http://221.182.45.100:56666/communityWorldCup/base/worldCup/endWorldCupCallback");
             map.put("custom", "{\"gameType\": 2}");
 
-            String s = HttpRequestUtil.postRequest("https://try.daowepark.com/v7/user_api/general/quickStart", map);
+            String s = HttpRequestUtil.postRequest("https://port.daowepark.com/v7/user_api/general/quickStart", map);
             JSONObject jsonObject = JSONObject.parseObject(s);
             Integer code1 = jsonObject.getInteger("code");
             String message = jsonObject.getString("message");
diff --git a/cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java b/cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java
index 8c26b25..b611816 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java
@@ -433,7 +433,7 @@
         map.put("space_id", spaceId + "");
         map.put("sutu_id", sutuId + "");
 
-        String s = HttpRequestUtil.postRequest("https://try.daowepark.com/v7/user_api/general/gameStart", map);
+        String s = HttpRequestUtil.postRequest("https://port.daowepark.com/v7/user_api/general/gameStart", map);
         JSONObject jsonObject = JSONObject.parseObject(s);
         Object code = jsonObject.get("code");
         if (String.valueOf(code) != null && "200".equals(String.valueOf(code))) {
@@ -524,7 +524,7 @@
     }
 
     public List<Integer> getIds(Integer siteId) {
-        HttpRequest httpRequest = HttpRequest.get("https://try.daowepark.com/v7/user_api/general/get_space_area?space_id=" + siteId);
+        HttpRequest httpRequest = HttpRequest.get("https://port.daowepark.com/v7/user_api/general/get_space_area?space_id=" + siteId);
         HttpResponse execute = httpRequest.execute();
         String body = execute.body();
         JSONObject jsonObject = JSONObject.parseObject(body);
diff --git a/cloud-server-other/src/main/java/com/dsh/other/controller/TGameController.java b/cloud-server-other/src/main/java/com/dsh/other/controller/TGameController.java
index 9fd8a77..877bcb0 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/controller/TGameController.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/controller/TGameController.java
@@ -50,7 +50,7 @@
     })
     public ResultUtil getSpaceId(String name) {
         try {
-            HttpRequest httpRequest = HttpRequest.get("https://try.daowepark.com/v7/user_api/general/space_list?page=1&page_num=100");
+            HttpRequest httpRequest = HttpRequest.get("https://port.daowepark.com/v7/user_api/general/space_list?page=1&page_num=100");
             HttpResponse execute = httpRequest.execute();
             String body = execute.body();
             return ResultUtil.success();
diff --git a/cloud-server-other/src/main/java/com/dsh/other/util/PayMoneyUtil.java b/cloud-server-other/src/main/java/com/dsh/other/util/PayMoneyUtil.java
index 96f2a61..84fcdae 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/util/PayMoneyUtil.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/util/PayMoneyUtil.java
@@ -60,7 +60,7 @@
 
     private String key = "6f5e0c2dcabfa9c27b5da5836a362fef";//微信商户号
 
-    private String callbackPath = "http://8.137.22.229:56666/other";//支付回调网关地址
+    private String callbackPath = "https://online.daowepark.com:443/other";//支付回调网关地址
 
     private String app_cert_path = "C:/cert/alipay/user/app_cert_path.crt";//应用公钥证书路径
 
diff --git a/cloud-server-other/src/main/resources/mapper/BannerMapper.xml b/cloud-server-other/src/main/resources/mapper/BannerMapper.xml
index 0accb48..2fa33fa 100644
--- a/cloud-server-other/src/main/resources/mapper/BannerMapper.xml
+++ b/cloud-server-other/src/main/resources/mapper/BannerMapper.xml
@@ -52,7 +52,7 @@
       select tb.id as id,tb.img as img, tb.page as page,tb.name as name,tb.type as type,
       tb.turnId as turnId  , tb.model as model, tb.typeId
       from t_banner tb
-      where tb.position = #{position} and tb.state =1
+      where tb.position = #{position} and tb.state =1 order by tb.sort desc
     </select>
 
 </mapper>

--
Gitblit v1.7.1