From 7c0f65f4ce925b5a591816922d439335e8f0049a Mon Sep 17 00:00:00 2001
From: 13233904609 <13233904609@163.cm>
Date: Tue, 3 Sep 2024 09:33:43 +0800
Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E7=8E=B0=E9=80=BB=E8=BE=91?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../common/util/alipay/KeyContent.java        |   6 +-
 .../BrokerageWithdrawController.java          |   5 +-
 .../brokerage/AppBrokerageUserController.java |   6 +
 .../AppBrokerageUserChildSummaryRespVO.java   |   6 +
 .../brokerage/BrokerageWithdrawService.java   |   3 +-
 .../BrokerageWithdrawServiceImpl.java         |  15 +-
 .../mapper/brokerage/BrokerageUserMapper.xml  |   4 +-
 .../vo/DistributionConfigPageReqVO.java       |   6 +
 .../vo/DistributionConfigRespVO.java          |   6 +
 .../vo/DistributionConfigSaveReqVO.java       |   5 +
 .../DistributionConfigDO.java                 |   4 +
 .../service/user/MemberUserServiceImpl.java   | 146 +++++++++---------
 .../resources/alipayCertPublicKey_RSA2.crt    |  43 ++++++
 .../src/main/resources/alipayRootCert.crt     |  88 +++++++++++
 .../appCertPublicKey_2021004170631369.crt     |  24 +++
 .../src/main/resources/application-dev.yaml   |   2 +-
 .../src/main/resources/application-local.yaml |   2 +-
 .../src/main/resources/application.yaml       |   2 +-
 18 files changed, 284 insertions(+), 89 deletions(-)

diff --git a/ruoyi-vue-pro-master/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/alipay/KeyContent.java b/ruoyi-vue-pro-master/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/alipay/KeyContent.java
index 9949f3d..d120ae9 100644
--- a/ruoyi-vue-pro-master/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/alipay/KeyContent.java
+++ b/ruoyi-vue-pro-master/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/alipay/KeyContent.java
@@ -46,11 +46,11 @@ public class KeyContent {
      * @param fileName 文件的名称,用于定位静态文件位置
      * @return 返回Base64编码的字符串,用于后续处理或传输
      */
-    public static String getKeyContentByFileName(String fileName) {
+    public static String getKeyContentByFileName(String fileName) throws IOException {
+        ClassPathResource classPathResource = new ClassPathResource(fileName);
+        InputStream inputStream = classPathResource.getInputStream();
         String base64Encoded = "";
         try {
-            ClassPathResource classPathResource = new ClassPathResource(fileName);
-            InputStream inputStream = classPathResource.getInputStream();
             // 读取 文件的内容
             byte[] p12Bytes  = IOUtils.toByteArray(inputStream);
 
diff --git a/ruoyi-vue-pro-master/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/brokerage/BrokerageWithdrawController.java b/ruoyi-vue-pro-master/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/brokerage/BrokerageWithdrawController.java
index 609cfa4..01d41cc 100644
--- a/ruoyi-vue-pro-master/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/brokerage/BrokerageWithdrawController.java
+++ b/ruoyi-vue-pro-master/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/brokerage/BrokerageWithdrawController.java
@@ -20,6 +20,7 @@ import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
 import javax.validation.Valid;
+import java.io.IOException;
 import java.util.Map;
 
 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
@@ -40,7 +41,7 @@ public class BrokerageWithdrawController {
     @PutMapping("/approve")
     @Operation(summary = "通过申请")
     @PreAuthorize("@ss.hasPermission('trade:brokerage-withdraw:audit')")
-    public CommonResult<Boolean> approveBrokerageWithdraw(@RequestParam("id") Integer id) {
+    public CommonResult<Boolean> approveBrokerageWithdraw(@RequestParam("id") Integer id) throws IOException {
         brokerageWithdrawService.auditBrokerageWithdraw(id, BrokerageWithdrawStatusEnum.AUDIT_SUCCESS, "");
         return success(true);
     }
@@ -48,7 +49,7 @@ public class BrokerageWithdrawController {
     @PutMapping("/reject")
     @Operation(summary = "驳回申请")
     @PreAuthorize("@ss.hasPermission('trade:brokerage-withdraw:audit')")
-    public CommonResult<Boolean> rejectBrokerageWithdraw(@Valid @RequestBody BrokerageWithdrawRejectReqVO reqVO) {
+    public CommonResult<Boolean> rejectBrokerageWithdraw(@Valid @RequestBody BrokerageWithdrawRejectReqVO reqVO) throws IOException {
         brokerageWithdrawService.auditBrokerageWithdraw(reqVO.getId(), BrokerageWithdrawStatusEnum.AUDIT_FAIL, reqVO.getAuditReason());
         return success(true);
     }
diff --git a/ruoyi-vue-pro-master/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/brokerage/AppBrokerageUserController.java b/ruoyi-vue-pro-master/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/brokerage/AppBrokerageUserController.java
index ad75fca..899b7db 100644
--- a/ruoyi-vue-pro-master/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/brokerage/AppBrokerageUserController.java
+++ b/ruoyi-vue-pro-master/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/brokerage/AppBrokerageUserController.java
@@ -5,6 +5,8 @@ import cn.iocoder.yudao.framework.common.pojo.CommonResult;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.security.core.annotations.PreAuthenticated;
 import cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils;
+import cn.iocoder.yudao.module.member.api.level.MemberLevelApi;
+import cn.iocoder.yudao.module.member.api.level.dto.MemberLevelRespDTO;
 import cn.iocoder.yudao.module.member.api.user.MemberUserApi;
 import cn.iocoder.yudao.module.member.api.user.dto.MemberUserRespDTO;
 import cn.iocoder.yudao.module.pay.api.wallet.PayWalletApi;
@@ -32,6 +34,7 @@ import javax.annotation.Resource;
 import javax.validation.Valid;
 import java.time.LocalDateTime;
 import java.util.Collections;
+import java.util.List;
 import java.util.Map;
 import java.util.Optional;
 
@@ -60,6 +63,9 @@ public class AppBrokerageUserController {
     @Resource
     private PayWalletApi payWalletApi;
 
+//    @Resource
+//    private MemberLevelApi memberLevelApi;
+
     @GetMapping("/get")
     @Operation(summary = "获得个人钱包信息")
     @PreAuthenticated
diff --git a/ruoyi-vue-pro-master/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/brokerage/vo/user/AppBrokerageUserChildSummaryRespVO.java b/ruoyi-vue-pro-master/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/brokerage/vo/user/AppBrokerageUserChildSummaryRespVO.java
index 6bc4184..1d094ef 100644
--- a/ruoyi-vue-pro-master/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/brokerage/vo/user/AppBrokerageUserChildSummaryRespVO.java
+++ b/ruoyi-vue-pro-master/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/brokerage/vo/user/AppBrokerageUserChildSummaryRespVO.java
@@ -12,6 +12,12 @@ public class AppBrokerageUserChildSummaryRespVO {
     @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
     private Long id;
 
+    @Schema(description = "会员等级id", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
+    private Long levelId;
+
+    @Schema(description = "会员等级名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
+    private String levelName;
+
     @Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "小王")
     private String nickname;
 
diff --git a/ruoyi-vue-pro-master/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/brokerage/BrokerageWithdrawService.java b/ruoyi-vue-pro-master/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/brokerage/BrokerageWithdrawService.java
index 4fd3296..5daee47 100644
--- a/ruoyi-vue-pro-master/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/brokerage/BrokerageWithdrawService.java
+++ b/ruoyi-vue-pro-master/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/brokerage/BrokerageWithdrawService.java
@@ -7,6 +7,7 @@ import cn.iocoder.yudao.module.trade.dal.dataobject.brokerage.BrokerageWithdrawD
 import cn.iocoder.yudao.module.trade.enums.brokerage.BrokerageWithdrawStatusEnum;
 import cn.iocoder.yudao.module.trade.service.brokerage.bo.BrokerageWithdrawSummaryRespBO;
 
+import java.io.IOException;
 import java.util.Collection;
 import java.util.List;
 import java.util.Map;
@@ -28,7 +29,7 @@ public interface BrokerageWithdrawService {
      * @param status      审核状态
      * @param auditReason 驳回原因
      */
-    void auditBrokerageWithdraw(Integer id, BrokerageWithdrawStatusEnum status, String auditReason);
+    void auditBrokerageWithdraw(Integer id, BrokerageWithdrawStatusEnum status, String auditReason) throws IOException;
 
     /**
      * 获得佣金提现
diff --git a/ruoyi-vue-pro-master/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/brokerage/BrokerageWithdrawServiceImpl.java b/ruoyi-vue-pro-master/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/brokerage/BrokerageWithdrawServiceImpl.java
index 7531614..6a938f9 100644
--- a/ruoyi-vue-pro-master/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/brokerage/BrokerageWithdrawServiceImpl.java
+++ b/ruoyi-vue-pro-master/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/brokerage/BrokerageWithdrawServiceImpl.java
@@ -30,7 +30,6 @@ import cn.iocoder.yudao.module.trade.service.brokerage.bo.BrokerageWithdrawSumma
 import cn.iocoder.yudao.module.trade.service.config.TradeConfigService;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
-import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.validation.annotation.Validated;
@@ -42,11 +41,9 @@ import java.io.InputStreamReader;
 import java.net.HttpURLConnection;
 import java.net.URL;
 import java.time.LocalDateTime;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-
+import java.util.*;
+import org.springframework.core.io.ResourceLoader;
+import org.springframework.beans.factory.annotation.Value;
 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
 import static cn.iocoder.yudao.module.pay.enums.wallet.PayWalletBizTypeEnum.RECHARGE;
 import static cn.iocoder.yudao.module.trade.enums.ErrorCodeConstants.*;
@@ -95,10 +92,12 @@ public class BrokerageWithdrawServiceImpl implements BrokerageWithdrawService {
     @Value("${alipay.alipayRootCertPath}")
     private String alipayRootCertPath;
 
+    @Resource
+    private ResourceLoader resourceLoader;
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public void auditBrokerageWithdraw(Integer id, BrokerageWithdrawStatusEnum status, String auditReason) {
+    public void auditBrokerageWithdraw(Integer id, BrokerageWithdrawStatusEnum status, String auditReason) throws IOException {
         // 1.1 校验存在
         BrokerageWithdrawDO withdraw = validateBrokerageWithdrawExists(id);
         // 1.2 校验状态为审核中
@@ -139,7 +138,7 @@ public class BrokerageWithdrawServiceImpl implements BrokerageWithdrawService {
                 paramMap.put("account", "13233904609");//账号
                 paramMap.put("name", "马腾达");
                 paramMap.put("amount", "0.1");
-                String result= HttpUtil.post(gateway, JSON.toJSONString(paramMap));
+                String result= HttpUtil.post(gateway, paramMap);
                 System.out.println(result);
             }
             // TODO 疯狂:调用转账接口
diff --git a/ruoyi-vue-pro-master/yudao-module-mall/yudao-module-trade-biz/src/main/resources/mapper/brokerage/BrokerageUserMapper.xml b/ruoyi-vue-pro-master/yudao-module-mall/yudao-module-trade-biz/src/main/resources/mapper/brokerage/BrokerageUserMapper.xml
index aa2353f..6e8caed 100644
--- a/ruoyi-vue-pro-master/yudao-module-mall/yudao-module-trade-biz/src/main/resources/mapper/brokerage/BrokerageUserMapper.xml
+++ b/ruoyi-vue-pro-master/yudao-module-mall/yudao-module-trade-biz/src/main/resources/mapper/brokerage/BrokerageUserMapper.xml
@@ -5,7 +5,7 @@
     <select id="selectSummaryPageByUserId"
             resultType="cn.iocoder.yudao.module.trade.controller.app.brokerage.vo.user.AppBrokerageUserChildSummaryRespVO">
 
-        select * from (SELECT bu.id, bu.bind_user_time AS brokerageTime,
+        select * from (SELECT bu.id, bu.bind_user_time AS brokerageTime,u.level_id as levelId,l.name as levelName,
         (SELECT SUM(price) FROM trade_brokerage_record r
         WHERE r.user_id = bu.id AND biz_type = #{bizType} AND r.status = #{status} AND r.deleted = FALSE) AS
         brokeragePrice,
@@ -14,7 +14,7 @@
         brokerageOrderCount,
         (SELECT COUNT(1) FROM trade_brokerage_user c
         WHERE c.bind_user_id = bu.id AND c.deleted = FALSE) AS brokerageUserCount
-        FROM trade_brokerage_user AS bu
+        FROM trade_brokerage_user AS bu left join member_user as u on bu.id = u.id left join member_level as l on u.level_id = l.id
         <where>
             bu.deleted = false
         </where>
diff --git a/ruoyi-vue-pro-master/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/distributionconfig/vo/DistributionConfigPageReqVO.java b/ruoyi-vue-pro-master/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/distributionconfig/vo/DistributionConfigPageReqVO.java
index f059762..fb4f0c4 100644
--- a/ruoyi-vue-pro-master/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/distributionconfig/vo/DistributionConfigPageReqVO.java
+++ b/ruoyi-vue-pro-master/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/distributionconfig/vo/DistributionConfigPageReqVO.java
@@ -38,4 +38,10 @@ public class DistributionConfigPageReqVO extends PageParam {
     @Schema(description = "限购次数", example = "1")
     private Integer purchaseNum;
 
+    /**
+     * 是否参与5出一(0:是;1:否)
+     */
+    @Schema(description = "是否参与5出一(0:是;1:否)", example = "1")
+    private String fiveStatus;
+
 }
diff --git a/ruoyi-vue-pro-master/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/distributionconfig/vo/DistributionConfigRespVO.java b/ruoyi-vue-pro-master/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/distributionconfig/vo/DistributionConfigRespVO.java
index 4ab7ea3..106f479 100644
--- a/ruoyi-vue-pro-master/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/distributionconfig/vo/DistributionConfigRespVO.java
+++ b/ruoyi-vue-pro-master/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/distributionconfig/vo/DistributionConfigRespVO.java
@@ -51,4 +51,10 @@ public class DistributionConfigRespVO {
     @Schema(description = "限购次数", example = "1")
     private Integer purchaseNum;
 
+    /**
+     * 是否参与5出一(0:是;1:否)
+     */
+    @Schema(description = "是否参与5出一(0:是;1:否)", example = "1")
+    private String fiveStatus;
+
 }
diff --git a/ruoyi-vue-pro-master/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/distributionconfig/vo/DistributionConfigSaveReqVO.java b/ruoyi-vue-pro-master/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/distributionconfig/vo/DistributionConfigSaveReqVO.java
index 558757f..c5dee47 100644
--- a/ruoyi-vue-pro-master/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/distributionconfig/vo/DistributionConfigSaveReqVO.java
+++ b/ruoyi-vue-pro-master/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/distributionconfig/vo/DistributionConfigSaveReqVO.java
@@ -36,4 +36,9 @@ public class DistributionConfigSaveReqVO {
     @Schema(description = "限购次数", example = "1")
     private Integer purchaseNum;
 
+    /**
+     * 是否参与5出一(0:是;1:否)
+     */
+    @Schema(description = "是否参与5出一(0:是;1:否)", example = "1")
+    private String fiveStatus;
 }
diff --git a/ruoyi-vue-pro-master/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/dataobject/distributionconfig/DistributionConfigDO.java b/ruoyi-vue-pro-master/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/dataobject/distributionconfig/DistributionConfigDO.java
index d1e0068..9575325 100644
--- a/ruoyi-vue-pro-master/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/dataobject/distributionconfig/DistributionConfigDO.java
+++ b/ruoyi-vue-pro-master/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/dataobject/distributionconfig/DistributionConfigDO.java
@@ -47,5 +47,9 @@ public class DistributionConfigDO extends BaseDO {
      * 限购次数
      */
     private Integer purchaseNum;
+    /**
+     * 限购次数
+     */
+    private String fiveStatus;
 
 }
diff --git a/ruoyi-vue-pro-master/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberUserServiceImpl.java b/ruoyi-vue-pro-master/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberUserServiceImpl.java
index 33fce5c..24068b0 100644
--- a/ruoyi-vue-pro-master/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberUserServiceImpl.java
+++ b/ruoyi-vue-pro-master/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberUserServiceImpl.java
@@ -412,84 +412,90 @@ public class MemberUserServiceImpl implements MemberUserService {
             MemberUserDO user = memberUserMapper.selectById(userId);
             MemberLevelDO memberLevelDO = memberLevelMapper.selectById(user.getLevelId());
             //查询推广员配置信息
-            MemberLevelDO configLevelDO = memberLevelMapper.selectById(distributionConfigDO.getLevelId());
-            if(ObjectUtil.isEmpty(memberLevelDO)){
-                //修改购买人会员等级
-                int i = memberUserMapper.updateById(new MemberUserDO()
-                        .setId(userId)
-                        .setLevelId(distributionConfigDO.getLevelId())
-                );
-                brokerageUserMapper.updateById(new BrokerageUserDO()
-                        .setId(userId)
-                        .setLevel(configLevelDO.getLevel())
-                );
-            }else{
-                if(memberLevelDO.getLevel()<configLevelDO.getLevel()){
-                    //修改购买人会员等级
-                    int i = memberUserMapper.updateById(new MemberUserDO()
-                            .setId(userId)
-                            .setLevelId(distributionConfigDO.getLevelId())
-                    );
-                    brokerageUserMapper.updateById(new BrokerageUserDO()
-                            .setId(userId)
-                            .setLevel(configLevelDO.getLevel())
-                    );
+            if(ObjectUtil.isNotEmpty(distributionConfigDO.getLevelId())){
+                MemberLevelDO configLevelDO = memberLevelMapper.selectById(distributionConfigDO.getLevelId());
+                if(ObjectUtil.isNotNull(configLevelDO)){
+                    if(ObjectUtil.isEmpty(memberLevelDO)){
+                        //修改购买人会员等级
+                        int i = memberUserMapper.updateById(new MemberUserDO()
+                                .setId(userId)
+                                .setLevelId(distributionConfigDO.getLevelId())
+                        );
+                        brokerageUserMapper.updateById(new BrokerageUserDO()
+                                .setId(userId)
+                                .setLevel(configLevelDO.getLevel())
+                        );
+                    }else{
+                        if(memberLevelDO.getLevel()<configLevelDO.getLevel()){
+                            //修改购买人会员等级
+                            int i = memberUserMapper.updateById(new MemberUserDO()
+                                    .setId(userId)
+                                    .setLevelId(distributionConfigDO.getLevelId())
+                            );
+                            brokerageUserMapper.updateById(new BrokerageUserDO()
+                                    .setId(userId)
+                                    .setLevel(configLevelDO.getLevel())
+                            );
+                        }
+                    }
                 }
             }
-
+            MemberLevelDO userLevel = memberLevelMapper.selectById(user.getLevelId());
             //查询配置中添加的等级奖励
             List<DistributionMebConfigDO> distributionMebConfigDOS = distributionMebConfigMapper.selectList(new LambdaQueryWrapperX<DistributionMebConfigDO>()
                     .eq(DistributionMebConfigDO::getConfigId, distributionConfigDO.getId())
                     .eq(DistributionMebConfigDO::getDeleted, 0)
                     .orderByAsc(DistributionMebConfigDO::getLevelId));
             //添加5占一
-            if(ObjectUtil.isNotEmpty(distributionMebConfigDOS)){
-                Long l = distributionLogMapper.selectCount(new LambdaQueryWrapperX<DistributionLogDO>().eq(DistributionLogDO::getMebId, userId)
-                        .orderByAsc(DistributionLogDO::getCreateTime));
-                if(l == 0){
-                    //添加5占一游戏
-                    DistributionLogDO distributionLogDO = new DistributionLogDO();
-                    distributionLogDO.setMebId(userId);
-                    distributionLogDO.setStatus("1");
-//                distributionLogDO.setBrokerage();
-                    distributionLogDO.setGameStatus("1");
-                    distributionLogDO.setConvertStatus("1");
-                    distributionLogDO.setOutTime(LocalDateTime.now());
-                    distributionLogMapper.insert(distributionLogDO);
-                    //查询5占一总数
-                    List<DistributionLogDO> distributionLogDOS = distributionLogMapper.selectList(new LambdaQueryWrapperX<DistributionLogDO>()
+            if(ObjectUtil.equal(distributionConfigDO.getFiveStatus(),"0")){
+                if(ObjectUtil.isNotEmpty(distributionMebConfigDOS)){
+                    Long l = distributionLogMapper.selectCount(new LambdaQueryWrapperX<DistributionLogDO>().eq(DistributionLogDO::getMebId, userId).eq(DistributionLogDO::getGameStatus,"0")
                             .orderByAsc(DistributionLogDO::getCreateTime));
-                    int i1 = distributionLogDOS.size() % 5;
-                    if(i1 == 0){
-                    DistributionLogDO vo = distributionLogDOS.get((distributionLogDOS.size()/5)-1);
-                    vo.setGameStatus("0");
-                    distributionLogMapper.updateById(vo);
-
-                    //添加佣金记录
-                    BrokerageRecordDO brokerageRecordDO = new BrokerageRecordDO();
-                    brokerageRecordDO.setBizId(orderId+"");
-                    brokerageRecordDO.setUserId(vo.getMebId());
-                    brokerageRecordDO.setBizType(1);
-                    brokerageRecordDO.setTitle("5占一游戏分润");
-                    brokerageRecordDO.setPrice(1188*100);
-                    //查询当前总佣金
-                    Integer totalPrice = 0;
-                    List<BrokerageRecordDO> brokerageRecordDOS = brokerageRecordMapper.selectList(new LambdaQueryWrapperX<BrokerageRecordDO>()
-                            .eq(BrokerageRecordDO::getUserId, vo.getMebId())
-                            .eq(BrokerageRecordDO::getDeleted, 0)
-                            .orderByDesc(BrokerageRecordDO::getCreateTime));
-                    if(ObjectUtil.isNotEmpty(brokerageRecordDOS)){
-                        totalPrice = brokerageRecordDOS.get(0).getTotalPrice();
-                    }
-                    brokerageRecordDO.setTotalPrice(totalPrice+1188*100);//当前总佣金
-                    brokerageRecordDO.setStatus(1);
-                    brokerageRecordDO.setSourceUserLevel(configLevelDO.getLevel());
-                    brokerageRecordDO.setSourceUserId(userId);
-                    brokerageRecordMapper.insert(brokerageRecordDO);
-                    //修改推广员佣金
-                    BrokerageUserDO brokerageUserDO1 = brokerageUserMapper.selectById(vo.getMebId());
-                    brokerageUserDO1.setBrokeragePrice(1188*100+brokerageUserDO1.getBrokeragePrice());
-                    brokerageUserMapper.updateById(brokerageUserDO1);
+                    if(l == 0){
+                        //添加5占一游戏
+                        DistributionLogDO distributionLogDO = new DistributionLogDO();
+                        distributionLogDO.setMebId(userId);
+                        distributionLogDO.setStatus("1");
+//                distributionLogDO.setBrokerage();
+                        distributionLogDO.setGameStatus("1");
+                        distributionLogDO.setConvertStatus("1");
+                        distributionLogDO.setOutTime(LocalDateTime.now());
+                        distributionLogMapper.insert(distributionLogDO);
+                        //查询5占一总数
+                        List<DistributionLogDO> distributionLogDOS = distributionLogMapper.selectList(new LambdaQueryWrapperX<DistributionLogDO>()
+                                .orderByAsc(DistributionLogDO::getCreateTime));
+                        int i1 = distributionLogDOS.size() % 5;
+                        if(i1 == 0){
+                            DistributionLogDO vo = distributionLogDOS.get((distributionLogDOS.size()/5)-1);
+                            vo.setGameStatus("0");
+                            distributionLogMapper.updateById(vo);
+
+                            //添加佣金记录
+                            BrokerageRecordDO brokerageRecordDO = new BrokerageRecordDO();
+                            brokerageRecordDO.setBizId(orderId+"");
+                            brokerageRecordDO.setUserId(vo.getMebId());
+                            brokerageRecordDO.setBizType(1);
+                            brokerageRecordDO.setTitle("5占一游戏分润");
+                            brokerageRecordDO.setPrice(1188*100);
+                            //查询当前总佣金
+                            Integer totalPrice = 0;
+                            List<BrokerageRecordDO> brokerageRecordDOS = brokerageRecordMapper.selectList(new LambdaQueryWrapperX<BrokerageRecordDO>()
+                                    .eq(BrokerageRecordDO::getUserId, vo.getMebId())
+                                    .eq(BrokerageRecordDO::getDeleted, 0)
+                                    .orderByDesc(BrokerageRecordDO::getCreateTime));
+                            if(ObjectUtil.isNotEmpty(brokerageRecordDOS)){
+                                totalPrice = brokerageRecordDOS.get(0).getTotalPrice();
+                            }
+                            brokerageRecordDO.setTotalPrice(totalPrice+1188*100);//当前总佣金
+                            brokerageRecordDO.setStatus(1);
+                            brokerageRecordDO.setSourceUserLevel(userLevel.getLevel());
+                            brokerageRecordDO.setSourceUserId(userId);
+                            brokerageRecordMapper.insert(brokerageRecordDO);
+                            //修改推广员佣金
+                            BrokerageUserDO brokerageUserDO1 = brokerageUserMapper.selectById(vo.getMebId());
+                            brokerageUserDO1.setBrokeragePrice(1188*100+brokerageUserDO1.getBrokeragePrice());
+                            brokerageUserMapper.updateById(brokerageUserDO1);
+                        }
                     }
                 }
             }
@@ -531,7 +537,7 @@ public class MemberUserServiceImpl implements MemberUserService {
                                     }
                                     brokerageRecordDO.setTotalPrice(totalPrice+eg.getBrokerage()*100);//当前总佣金
                                     brokerageRecordDO.setStatus(1);
-                                    brokerageRecordDO.setSourceUserLevel(configLevelDO.getLevel());
+                                    brokerageRecordDO.setSourceUserLevel(userLevel.getLevel());
                                     brokerageRecordDO.setSourceUserId(userId);
                                     brokerageRecordMapper.insert(brokerageRecordDO);
                                     //修改推广员佣金
diff --git a/ruoyi-vue-pro-master/yudao-server/src/main/resources/alipayCertPublicKey_RSA2.crt b/ruoyi-vue-pro-master/yudao-server/src/main/resources/alipayCertPublicKey_RSA2.crt
index e69de29..63d6a92 100644
--- a/ruoyi-vue-pro-master/yudao-server/src/main/resources/alipayCertPublicKey_RSA2.crt
+++ b/ruoyi-vue-pro-master/yudao-server/src/main/resources/alipayCertPublicKey_RSA2.crt
@@ -0,0 +1,43 @@
+-----BEGIN CERTIFICATE-----
+MIIDuzCCAqOgAwIBAgIQICQIKKFZx8IHHE8qUBk1ljANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UE
+BhMCQ04xFjAUBgNVBAoMDUFudCBGaW5hbmNpYWwxIDAeBgNVBAsMF0NlcnRpZmljYXRpb24gQXV0
+aG9yaXR5MTkwNwYDVQQDDDBBbnQgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5IENs
+YXNzIDIgUjEwHhcNMjQwODI4MDcxNjQ4WhcNMjkwODI3MDcxNjQ4WjCBmzELMAkGA1UEBhMCQ04x
+NjA0BgNVBAoMLeays+WNl+mDkeWkp+S6kuiBlOe9keS/oeaBr+acjeWKoeaciemZkOWFrOWPuDEP
+MA0GA1UECwwGQWxpcGF5MUMwQQYDVQQDDDrmlK/ku5jlrp0o5Lit5Zu9Kee9kee7nOaKgOacr+ac
+iemZkOWFrOWPuC0yMDg4OTQxMDE5MDkxMTIzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
+AQEAgaTVxb2au7xBPs4c9PKeFyq4r8v9zgBeHAjzgWDEuVYWdCsFLMxNHD+Z2amx+kpEGRzoiQm2
+XP5ik814vNxK6vZ0fBPh1pxryw/bWIso0krwvIA2JbBRTmgq/T8sLrid2iJI5Z0OReAgwRofeTsH
+UdkWKIMbfFLTjn6zn3KJnacr+aS2ei8axYpaQw6vup8QTx52qAi9eKKilifd8nHkF41LFAT2fKLK
+pXrvka8zNEp2ydj7JxMAMs+IXZGxBGSGPmHpinkZzfVKiR0kbFM5gMOIdJ/jrFrLbGn3WlmCmj0q
+Tm0GbJVx0YCI1ctu/rNxZaYJ55ThNVvtMQ4c7c+NawIDAQABoxIwEDAOBgNVHQ8BAf8EBAMCA/gw
+DQYJKoZIhvcNAQELBQADggEBAJGgO3M0K4Hzy2Bcm2sewHDmlGPbY4JD5XRE+al9qL9PrcuiIiHr
+vIDF3ndt++t3o5YSN5BGKH+n5uX5mLZCZcs/zM92dCPwz3JEVWO1rixvSyGFCE3iFXdN02dw3XyB
+ACIVz6IkTRUVhukCvAtbTZe5xyoi295hAjCROKajLQaItMUuqWwZFMeureFw2jfZ+lKFjAIQkSN2
+7bse6rexpeeKaU+hOx7Blz4R9kwfyQCq+B80yShjphBVVZa6K7RC9Q7JHyNzsFv2LRbzeJaCdlqX
+6aTjG9Mw4PDR3jgTw62CDy5cMkZkSIgGtktUMGFwBAP1Byioceu9jSfWcHupSDU=
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIE4jCCAsqgAwIBAgIIYsSr5bKAMl8wDQYJKoZIhvcNAQELBQAwejELMAkGA1UEBhMCQ04xFjAU
+BgNVBAoMDUFudCBGaW5hbmNpYWwxIDAeBgNVBAsMF0NlcnRpZmljYXRpb24gQXV0aG9yaXR5MTEw
+LwYDVQQDDChBbnQgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5IFIxMB4XDTE4MDMy
+MjE0MzQxNVoXDTM3MTEyNjE0MzQxNVowgYIxCzAJBgNVBAYTAkNOMRYwFAYDVQQKDA1BbnQgRmlu
+YW5jaWFsMSAwHgYDVQQLDBdDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTE5MDcGA1UEAwwwQW50IEZp
+bmFuY2lhbCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSBDbGFzcyAyIFIxMIIBIjANBgkqhkiG9w0B
+AQEFAAOCAQ8AMIIBCgKCAQEAsLMfYaoRoPRbmDcAfXPCmKf43pWRN5yTXa/KJWO0l+mrgQvs89bA
+NEvbDUxlkGwycwtwi5DgBuBgVhLliXu+R9CYgr2dXs8D8Hx/gsggDcyGPLmVrDOnL+dyeauheARZ
+fA3du60fwEwwbGcVIpIxPa/4n3IS/ElxQa6DNgqxh8J9Xwh7qMGl0JK9+bALuxf7B541Gr4p0WEN
+G8fhgjBV4w4ut9eQLOoa1eddOUSZcy46Z7allwowwgt7b5VFfx/P1iKJ3LzBMgkCK7GZ2kiLrL7R
+iqV+h482J7hkJD+ardoc6LnrHO/hIZymDxok+VH9fVeUdQa29IZKrIDVj65THQIDAQABo2MwYTAf
+BgNVHSMEGDAWgBRfdLQEwE8HWurlsdsio4dBspzhATAdBgNVHQ4EFgQUSqHkYINtUSAtDPnS8Xoy
+oP9p7qEwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQELBQADggIB
+AIQ8TzFy4bVIVb8+WhHKCkKNPcJe2EZuIcqvRoi727lZTJOfYy/JzLtckyZYfEI8J0lasZ29wkTt
+a1IjSo+a6XdhudU4ONVBrL70U8Kzntplw/6TBNbLFpp7taRALjUgbCOk4EoBMbeCL0GiYYsTS0mw
+7xdySzmGQku4GTyqutIGPQwKxSj9iSFw1FCZqr4VP4tyXzMUgc52SzagA6i7AyLedd3tbS6lnR5B
+L+W9Kx9hwT8L7WANAxQzv/jGldeuSLN8bsTxlOYlsdjmIGu/C9OWblPYGpjQQIRyvs4Cc/mNhrh+
+14EQgwuemIIFDLOgcD+iISoN8CqegelNcJndFw1PDN6LkVoiHz9p7jzsge8RKay/QW6C03KNDpWZ
+EUCgCUdfHfo8xKeR+LL1cfn24HKJmZt8L/aeRZwZ1jwePXFRVtiXELvgJuM/tJDIFj2KD337iV64
+fWcKQ/ydDVGqfDZAdcU4hQdsrPWENwPTQPfVPq2NNLMyIH9+WKx9Ed6/WzeZmIy5ZWpX1TtTolo6
+OJXQFeItMAjHxW/ZSZTok5IS3FuRhExturaInnzjYpx50a6kS34c5+c8hYq7sAtZ/CNLZmBnBCFD
+aMQqT8xFZJ5uolUaSeXxg7JFY1QsYp5RKvj4SjFwCGKJ2+hPPe9UyyltxOidNtxjaknOCeBHytOr
+-----END CERTIFICATE-----
diff --git a/ruoyi-vue-pro-master/yudao-server/src/main/resources/alipayRootCert.crt b/ruoyi-vue-pro-master/yudao-server/src/main/resources/alipayRootCert.crt
index e69de29..76417c5 100644
--- a/ruoyi-vue-pro-master/yudao-server/src/main/resources/alipayRootCert.crt
+++ b/ruoyi-vue-pro-master/yudao-server/src/main/resources/alipayRootCert.crt
@@ -0,0 +1,88 @@
+-----BEGIN CERTIFICATE-----
+MIIBszCCAVegAwIBAgIIaeL+wBcKxnswDAYIKoEcz1UBg3UFADAuMQswCQYDVQQG
+EwJDTjEOMAwGA1UECgwFTlJDQUMxDzANBgNVBAMMBlJPT1RDQTAeFw0xMjA3MTQw
+MzExNTlaFw00MjA3MDcwMzExNTlaMC4xCzAJBgNVBAYTAkNOMQ4wDAYDVQQKDAVO
+UkNBQzEPMA0GA1UEAwwGUk9PVENBMFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAE
+MPCca6pmgcchsTf2UnBeL9rtp4nw+itk1Kzrmbnqo05lUwkwlWK+4OIrtFdAqnRT
+V7Q9v1htkv42TsIutzd126NdMFswHwYDVR0jBBgwFoAUTDKxl9kzG8SmBcHG5Yti
+W/CXdlgwDAYDVR0TBAUwAwEB/zALBgNVHQ8EBAMCAQYwHQYDVR0OBBYEFEwysZfZ
+MxvEpgXBxuWLYlvwl3ZYMAwGCCqBHM9VAYN1BQADSAAwRQIgG1bSLeOXp3oB8H7b
+53W+CKOPl2PknmWEq/lMhtn25HkCIQDaHDgWxWFtnCrBjH16/W3Ezn7/U/Vjo5xI
+pDoiVhsLwg==
+-----END CERTIFICATE-----
+
+-----BEGIN CERTIFICATE-----
+MIIF0zCCA7ugAwIBAgIIH8+hjWpIDREwDQYJKoZIhvcNAQELBQAwejELMAkGA1UE
+BhMCQ04xFjAUBgNVBAoMDUFudCBGaW5hbmNpYWwxIDAeBgNVBAsMF0NlcnRpZmlj
+YXRpb24gQXV0aG9yaXR5MTEwLwYDVQQDDChBbnQgRmluYW5jaWFsIENlcnRpZmlj
+YXRpb24gQXV0aG9yaXR5IFIxMB4XDTE4MDMyMTEzNDg0MFoXDTM4MDIyODEzNDg0
+MFowejELMAkGA1UEBhMCQ04xFjAUBgNVBAoMDUFudCBGaW5hbmNpYWwxIDAeBgNV
+BAsMF0NlcnRpZmljYXRpb24gQXV0aG9yaXR5MTEwLwYDVQQDDChBbnQgRmluYW5j
+aWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5IFIxMIICIjANBgkqhkiG9w0BAQEF
+AAOCAg8AMIICCgKCAgEAtytTRcBNuur5h8xuxnlKJetT65cHGemGi8oD+beHFPTk
+rUTlFt9Xn7fAVGo6QSsPb9uGLpUFGEdGmbsQ2q9cV4P89qkH04VzIPwT7AywJdt2
+xAvMs+MgHFJzOYfL1QkdOOVO7NwKxH8IvlQgFabWomWk2Ei9WfUyxFjVO1LVh0Bp
+dRBeWLMkdudx0tl3+21t1apnReFNQ5nfX29xeSxIhesaMHDZFViO/DXDNW2BcTs6
+vSWKyJ4YIIIzStumD8K1xMsoaZBMDxg4itjWFaKRgNuPiIn4kjDY3kC66Sl/6yTl
+YUz8AybbEsICZzssdZh7jcNb1VRfk79lgAprm/Ktl+mgrU1gaMGP1OE25JCbqli1
+Pbw/BpPynyP9+XulE+2mxFwTYhKAwpDIDKuYsFUXuo8t261pCovI1CXFzAQM2w7H
+DtA2nOXSW6q0jGDJ5+WauH+K8ZSvA6x4sFo4u0KNCx0ROTBpLif6GTngqo3sj+98
+SZiMNLFMQoQkjkdN5Q5g9N6CFZPVZ6QpO0JcIc7S1le/g9z5iBKnifrKxy0TQjtG
+PsDwc8ubPnRm/F82RReCoyNyx63indpgFfhN7+KxUIQ9cOwwTvemmor0A+ZQamRe
+9LMuiEfEaWUDK+6O0Gl8lO571uI5onYdN1VIgOmwFbe+D8TcuzVjIZ/zvHrAGUcC
+AwEAAaNdMFswCwYDVR0PBAQDAgEGMAwGA1UdEwQFMAMBAf8wHQYDVR0OBBYEFF90
+tATATwda6uWx2yKjh0GynOEBMB8GA1UdIwQYMBaAFF90tATATwda6uWx2yKjh0Gy
+nOEBMA0GCSqGSIb3DQEBCwUAA4ICAQCVYaOtqOLIpsrEikE5lb+UARNSFJg6tpkf
+tJ2U8QF/DejemEHx5IClQu6ajxjtu0Aie4/3UnIXop8nH/Q57l+Wyt9T7N2WPiNq
+JSlYKYbJpPF8LXbuKYG3BTFTdOVFIeRe2NUyYh/xs6bXGr4WKTXb3qBmzR02FSy3
+IODQw5Q6zpXj8prYqFHYsOvGCEc1CwJaSaYwRhTkFedJUxiyhyB5GQwoFfExCVHW
+05ZFCAVYFldCJvUzfzrWubN6wX0DD2dwultgmldOn/W/n8at52mpPNvIdbZb2F41
+T0YZeoWnCJrYXjq/32oc1cmifIHqySnyMnavi75DxPCdZsCOpSAT4j4lAQRGsfgI
+kkLPGQieMfNNkMCKh7qjwdXAVtdqhf0RVtFILH3OyEodlk1HYXqX5iE5wlaKzDop
+PKwf2Q3BErq1xChYGGVS+dEvyXc/2nIBlt7uLWKp4XFjqekKbaGaLJdjYP5b2s7N
+1dM0MXQ/f8XoXKBkJNzEiM3hfsU6DOREgMc1DIsFKxfuMwX3EkVQM1If8ghb6x5Y
+jXayv+NLbidOSzk4vl5QwngO/JYFMkoc6i9LNwEaEtR9PhnrdubxmrtM+RjfBm02
+77q3dSWFESFQ4QxYWew4pHE0DpWbWy/iMIKQ6UZ5RLvB8GEcgt8ON7BBJeMc+Dyi
+kT9qhqn+lw==
+-----END CERTIFICATE-----
+
+-----BEGIN CERTIFICATE-----
+MIICiDCCAgygAwIBAgIIQX76UsB/30owDAYIKoZIzj0EAwMFADB6MQswCQYDVQQG
+EwJDTjEWMBQGA1UECgwNQW50IEZpbmFuY2lhbDEgMB4GA1UECwwXQ2VydGlmaWNh
+dGlvbiBBdXRob3JpdHkxMTAvBgNVBAMMKEFudCBGaW5hbmNpYWwgQ2VydGlmaWNh
+dGlvbiBBdXRob3JpdHkgRTEwHhcNMTkwNDI4MTYyMDQ0WhcNNDkwNDIwMTYyMDQ0
+WjB6MQswCQYDVQQGEwJDTjEWMBQGA1UECgwNQW50IEZpbmFuY2lhbDEgMB4GA1UE
+CwwXQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxMTAvBgNVBAMMKEFudCBGaW5hbmNp
+YWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgRTEwdjAQBgcqhkjOPQIBBgUrgQQA
+IgNiAASCCRa94QI0vR5Up9Yr9HEupz6hSoyjySYqo7v837KnmjveUIUNiuC9pWAU
+WP3jwLX3HkzeiNdeg22a0IZPoSUCpasufiLAnfXh6NInLiWBrjLJXDSGaY7vaokt
+rpZvAdmjXTBbMAsGA1UdDwQEAwIBBjAMBgNVHRMEBTADAQH/MB0GA1UdDgQWBBRZ
+4ZTgDpksHL2qcpkFkxD2zVd16TAfBgNVHSMEGDAWgBRZ4ZTgDpksHL2qcpkFkxD2
+zVd16TAMBggqhkjOPQQDAwUAA2gAMGUCMQD4IoqT2hTUn0jt7oXLdMJ8q4vLp6sg
+wHfPiOr9gxreb+e6Oidwd2LDnC4OUqCWiF8CMAzwKs4SnDJYcMLf2vpkbuVE4dTH
+Rglz+HGcTLWsFs4KxLsq7MuU+vJTBUeDJeDjdA==
+-----END CERTIFICATE-----
+
+-----BEGIN CERTIFICATE-----
+MIIDxTCCAq2gAwIBAgIUEMdk6dVgOEIS2cCP0Q43P90Ps5YwDQYJKoZIhvcNAQEF
+BQAwajELMAkGA1UEBhMCQ04xEzARBgNVBAoMCmlUcnVzQ2hpbmExHDAaBgNVBAsM
+E0NoaW5hIFRydXN0IE5ldHdvcmsxKDAmBgNVBAMMH2lUcnVzQ2hpbmEgQ2xhc3Mg
+MiBSb290IENBIC0gRzMwHhcNMTMwNDE4MDkzNjU2WhcNMzMwNDE4MDkzNjU2WjBq
+MQswCQYDVQQGEwJDTjETMBEGA1UECgwKaVRydXNDaGluYTEcMBoGA1UECwwTQ2hp
+bmEgVHJ1c3QgTmV0d29yazEoMCYGA1UEAwwfaVRydXNDaGluYSBDbGFzcyAyIFJv
+b3QgQ0EgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOPPShpV
+nJbMqqCw6Bz1kehnoPst9pkr0V9idOwU2oyS47/HjJXk9Rd5a9xfwkPO88trUpz5
+4GmmwspDXjVFu9L0eFaRuH3KMha1Ak01citbF7cQLJlS7XI+tpkTGHEY5pt3EsQg
+wykfZl/A1jrnSkspMS997r2Gim54cwz+mTMgDRhZsKK/lbOeBPpWtcFizjXYCqhw
+WktvQfZBYi6o4sHCshnOswi4yV1p+LuFcQ2ciYdWvULh1eZhLxHbGXyznYHi0dGN
+z+I9H8aXxqAQfHVhbdHNzi77hCxFjOy+hHrGsyzjrd2swVQ2iUWP8BfEQqGLqM1g
+KgWKYfcTGdbPB1MCAwEAAaNjMGEwHQYDVR0OBBYEFG/oAMxTVe7y0+408CTAK8hA
+uTyRMB8GA1UdIwQYMBaAFG/oAMxTVe7y0+408CTAK8hAuTyRMA8GA1UdEwEB/wQF
+MAMBAf8wDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQBLnUTfW7hp
+emMbuUGCk7RBswzOT83bDM6824EkUnf+X0iKS95SUNGeeSWK2o/3ALJo5hi7GZr3
+U8eLaWAcYizfO99UXMRBPw5PRR+gXGEronGUugLpxsjuynoLQu8GQAeysSXKbN1I
+UugDo9u8igJORYA+5ms0s5sCUySqbQ2R5z/GoceyI9LdxIVa1RjVX8pYOj8JFwtn
+DJN3ftSFvNMYwRuILKuqUYSHc2GPYiHVflDh5nDymCMOQFcFG3WsEuB+EYQPFgIU
+1DHmdZcz7Llx8UOZXX2JupWCYzK1XhJb+r4hK5ncf/w8qGtYlmyJpxk3hr1TfUJX
+Yf4Zr0fJsGuv
+-----END CERTIFICATE-----
\ No newline at end of file
diff --git a/ruoyi-vue-pro-master/yudao-server/src/main/resources/appCertPublicKey_2021004170631369.crt b/ruoyi-vue-pro-master/yudao-server/src/main/resources/appCertPublicKey_2021004170631369.crt
index e69de29..d86ddcd 100644
--- a/ruoyi-vue-pro-master/yudao-server/src/main/resources/appCertPublicKey_2021004170631369.crt
+++ b/ruoyi-vue-pro-master/yudao-server/src/main/resources/appCertPublicKey_2021004170631369.crt
@@ -0,0 +1,24 @@
+-----BEGIN CERTIFICATE-----
+MIIEqTCCA5GgAwIBAgIQICQIKAnZLEyUDqSIMS3xqzANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UE
+BhMCQ04xFjAUBgNVBAoMDUFudCBGaW5hbmNpYWwxIDAeBgNVBAsMF0NlcnRpZmljYXRpb24gQXV0
+aG9yaXR5MTkwNwYDVQQDDDBBbnQgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5IENs
+YXNzIDEgUjEwHhcNMjQwODI4MDcxNjQ3WhcNMjkwODI3MDcxNjQ3WjBxMQswCQYDVQQGEwJDTjE2
+MDQGA1UECgwt5rKz5Y2X6YOR5aSn5LqS6IGU572R5L+h5oGv5pyN5Yqh5pyJ6ZmQ5YWs5Y+4MQ8w
+DQYDVQQLDAZBbGlwYXkxGTAXBgNVBAMMEDIwODg5NDEwMTkwOTExMjMwggEiMA0GCSqGSIb3DQEB
+AQUAA4IBDwAwggEKAoIBAQCVtsGcFLqb4IKcNo5OoFmVkxp881AQgNQhJdM9AFIDdEaTcyNXtWab
+TdbJxNahBfeCOK01fpHbwMSMhRVwZmP+jiO/M/22QmyVLN6cUG7uN+rB1Sw5T1hCbUmSZpLgcfzn
+aV1+2JIcx9dV4kPFJUSTokLapszCfBnmdlQ4oGUZD54zWCNHIEVckZGn/XC1PuiflxSscD9Sx2C6
+SBniG1sMz/BGFU8Sw5JwUKtzvGesUlKqeDLHQP1/WJjsajLfqPQV6SFxjDMEVZ0WSmJV0Tl80Ulu
+p8vgNKHVD06U9VhqBnIYTf3JcCBMnV4jmM1NsOnlIbdS4GqwdoH5QmI3EmMFAgMBAAGjggEpMIIB
+JTAfBgNVHSMEGDAWgBRxB+IEYRbk5fJl6zEPyeD0PJrVkTAdBgNVHQ4EFgQU1Vu2Aug+297ysuwy
+K+Dw8SdqJXMwQAYDVR0gBDkwNzA1BgdggRwBbgEBMCowKAYIKwYBBQUHAgEWHGh0dHA6Ly9jYS5h
+bGlwYXkuY29tL2Nwcy5wZGYwDgYDVR0PAQH/BAQDAgbAMC8GA1UdHwQoMCYwJKAioCCGHmh0dHA6
+Ly9jYS5hbGlwYXkuY29tL2NybDkyLmNybDBgBggrBgEFBQcBAQRUMFIwKAYIKwYBBQUHMAKGHGh0
+dHA6Ly9jYS5hbGlwYXkuY29tL2NhNi5jZXIwJgYIKwYBBQUHMAGGGmh0dHA6Ly9jYS5hbGlwYXku
+Y29tOjgzNDAvMA0GCSqGSIb3DQEBCwUAA4IBAQCxuI72P6DVSVSIDCDg8j19S5bOf7vS7n3GT2vu
+u881bArkLc+HtRyaGfC8rS+H/UfMnoQQNuIhpTBsK7fYZvITaIqlvLB+Vgr/ZFems1wGkOY5aM70
+CSHpg53/HVNQ/QAhk3m07iRjnx70p1fdY1b7tiCrBhqd37wHCxTe0/Dvv66uQ7+h++5Hlh+C8USw
+sysqk+8upDP6/UjxHnNyHlV9h8MlzHhqDKbVAt2mKkPVNdu2W1C2cywd3gsM3WTiWqa/SWGm5kza
+s6Ef0DXfGG3LCqTZRoeRWq01eMGi/E+gAarbngMBk2B6SbDtL9HCJQElJ/8v4lI1ffdOYQY/MwXi
+
+-----END CERTIFICATE-----
\ No newline at end of file
diff --git a/ruoyi-vue-pro-master/yudao-server/src/main/resources/application-dev.yaml b/ruoyi-vue-pro-master/yudao-server/src/main/resources/application-dev.yaml
index 3182612..81ae439 100644
--- a/ruoyi-vue-pro-master/yudao-server/src/main/resources/application-dev.yaml
+++ b/ruoyi-vue-pro-master/yudao-server/src/main/resources/application-dev.yaml
@@ -83,7 +83,7 @@ spring:
     host: 120.46.159.203 # 地址
     port: 16379 # 端口
     database: 0 # 数据库索引
-    password: a8EYUSoT8wHbuRkX # 密码,建议生产环境开启
+    password: a8EYUSoT8wHbuRkX
 
 --- #################### 定时任务相关配置 ####################
 
diff --git a/ruoyi-vue-pro-master/yudao-server/src/main/resources/application-local.yaml b/ruoyi-vue-pro-master/yudao-server/src/main/resources/application-local.yaml
index 860f605..3648425 100644
--- a/ruoyi-vue-pro-master/yudao-server/src/main/resources/application-local.yaml
+++ b/ruoyi-vue-pro-master/yudao-server/src/main/resources/application-local.yaml
@@ -80,7 +80,7 @@ spring:
 #    database: 0 # 数据库索引
 #    password:  # 密码,建议生产环境开启
   redis:
-    host: 47.94.137.109 # 地址
+    host: 127.0.0.1 # 地址
     port: 6379 # 端口
     database: 0 # 数据库索引
 #    password: a8EYUSoT8wHbuRkX # 密码,建议生产环境开启
diff --git a/ruoyi-vue-pro-master/yudao-server/src/main/resources/application.yaml b/ruoyi-vue-pro-master/yudao-server/src/main/resources/application.yaml
index 13af738..c076190 100644
--- a/ruoyi-vue-pro-master/yudao-server/src/main/resources/application.yaml
+++ b/ruoyi-vue-pro-master/yudao-server/src/main/resources/application.yaml
@@ -19,7 +19,7 @@ spring:
     pathmatch:
       matching-strategy: ANT_PATH_MATCHER # 解决 SpringFox 与 SpringBoot 2.6.x 不兼容的问题,参见 SpringFoxHandlerProviderBeanPostProcessor 类
   #    throw-exception-if-no-handler-found: true # 404 错误时抛出异常,方便统一处理
-  #    static-path-pattern: /static/** # 静态资源路径; 注意:如果不配置,则 throw-exception-if-no-handler-found 不生效!!! TODO 芋艿:不能配置,会导致 swagger 不生效
+#      static-path-pattern: /cert/** # 静态资源路径; 注意:如果不配置,则 throw-exception-if-no-handler-found 不生效!!! TODO 芋艿:不能配置,会导致 swagger 不生效
 
   # Jackson 配置项
   jackson: