Browse Source

Merge branch 'dev/2024/0419/update-admin' of Harper/feifan-backend-zx-admin into master

更新代码加用户创建的名称
Yangzw 10 months ago
parent
commit
8f771a1f3a
13 changed files with 35 additions and 288 deletions
  1. 3 0
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/duser/vo/DuserRespVO.java
  2. 1 1
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/sharepath/vo/SharePathTreeReqVO.java
  3. 0 1
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/sharepath/vo/TreeNode.java
  4. 0 2
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/dal/mysql/sharepath/SharePathMapper.java
  5. 11 10
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/duser/DuserServiceImpl.java
  6. 4 4
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/sharepath/SharePathServiceImpl.java
  7. 1 0
      feifan-module-pay/feifan-module-pay-biz/src/main/java/cn/newfeifan/mall/module/pay/service/wallet/PayWalletServiceImpl.java
  8. 2 0
      feifan-module-pay/feifan-module-pay-biz/src/main/java/cn/newfeifan/mall/module/pay/service/wallet/PayWalletTransactionServiceImpl.java
  9. 3 0
      feifan-module-system/feifan-module-system-biz/src/main/java/cn/newfeifan/mall/module/system/controller/admin/user/vo/user/UserPageReqVO.java
  10. 2 1
      feifan-module-system/feifan-module-system-biz/src/main/java/cn/newfeifan/mall/module/system/controller/admin/user/vo/user/UserRespVO.java
  11. 2 1
      feifan-module-system/feifan-module-system-biz/src/main/java/cn/newfeifan/mall/module/system/controller/admin/user/vo/user/UserSaveReqVO.java
  12. 6 0
      feifan-module-system/feifan-module-system-biz/src/main/java/cn/newfeifan/mall/module/system/dal/dataobject/user/AdminUserDO.java
  13. 0 268
      feifan-server/src/main/resources/application-pro.yaml

+ 3 - 0
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/duser/vo/DuserRespVO.java

@@ -56,6 +56,9 @@ public class DuserRespVO {
     @ExcelProperty("用户名称")
     private String nickName;
 
+    @Schema(description = "推荐人姓名", example = "张三")
+    private String ancNickName;
+
     @Schema(description = "直推人总数")
     private Long descendantCount;
 

+ 1 - 1
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/sharepath/vo/SharePathTreeReqVO.java

@@ -11,7 +11,7 @@ import javax.validation.constraints.NotNull;
 @ToString(callSuper = true)
 public class SharePathTreeReqVO {
     @Schema(description = "名称")
-    private String name;
+    private String nickName;
 
     @Schema(description = "电话")
     private String mobile;

+ 0 - 1
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/sharepath/vo/TreeNode.java

@@ -29,4 +29,3 @@ public class TreeNode {
         return !children.isEmpty();
     }
 }
-

+ 0 - 2
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/dal/mysql/sharepath/SharePathMapper.java

@@ -39,8 +39,6 @@ public interface SharePathMapper extends BaseMapperX<SharePathDO> {
         if(reqVO.getDepth() != null){
             queryWrapper.eq(SharePathDO::getDepth, 1);
             queryWrapper.orderByAsc(SharePathDO::getSort);
-        }else {
-            queryWrapper.ne(SharePathDO::getDepth, 1);
         }
         return selectPage(reqVO, queryWrapper);
     }

+ 11 - 10
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/duser/DuserServiceImpl.java

@@ -11,7 +11,6 @@ import cn.newfeifan.mall.module.distri.service.ptprofitlog.PtProfitLogService;
 import cn.newfeifan.mall.module.distri.service.sharepath.SharePathService;
 import cn.newfeifan.mall.module.distri.service.socialstatus.SocialStatusService;
 import cn.newfeifan.mall.module.member.dal.dataobject.user.MemberUserDO;
-import cn.newfeifan.mall.module.member.dal.mysql.user.MemberUserMapper;
 import cn.newfeifan.mall.module.member.service.user.MemberUserService;
 import org.springframework.stereotype.Service;
 
@@ -49,9 +48,6 @@ public class DuserServiceImpl implements DuserService {
     @Resource
     private SharePathMapper sharePathMapper;
 
-    @Resource
-    private MemberUserMapper memberUserMapper;
-
     @Resource
     private SharePathService sharePathService;
 
@@ -98,20 +94,20 @@ public class DuserServiceImpl implements DuserService {
 
     @Override
     public DuserDO getDuserByUser(Long id) {
-        return duserMapper.selectOne(new LambdaQueryWrapperX<DuserDO>().eq(DuserDO::getUserId,id));
+        return duserMapper.selectOne(new LambdaQueryWrapperX<DuserDO>().eq(DuserDO::getUserId, id));
     }
 
     @Override
     public List<DuserDO> getDuserByName(String name) {
         return duserMapper.selectList(new LambdaQueryWrapperX<DuserDO>()
-                .eq(DuserDO::getName,name)
+                .eq(DuserDO::getNickName, name)
         );
     }
 
     @Override
     public DuserDO getDuserByMobile(String mobile) {
         return duserMapper.selectOne(new LambdaQueryWrapperX<DuserDO>()
-                .eq(DuserDO::getMobile,mobile)
+                .eq(DuserDO::getMobile, mobile)
         );
     }
 
@@ -160,7 +156,7 @@ public class DuserServiceImpl implements DuserService {
 
         List<Long> sonsId = sharePathService.sonsId(userId);
         IntegralDO integral = integralService.getIntegral(userId);
-        if (integral == null){
+        if (integral == null) {
             throw exception(INTEGRAL_NOT_EXISTS);
         }
         DuserInfoVO.DuserInfoVOBuilder duserInfoVOBuilder = DuserInfoVO.builder()
@@ -215,12 +211,17 @@ public class DuserServiceImpl implements DuserService {
         for (DuserRespVO duserRespVO : list) {
             duserRespVO.setDescendantCount(sharePathMapper.selectCount(new LambdaQueryWrapperX<SharePathDO>()
                     .eq(SharePathDO::getAncestor, duserRespVO.getUserId())
-                    .eq(SharePathDO::getDepth,1)
+                    .eq(SharePathDO::getDepth, 1)
             ));
             duserRespVO.setChildrenCount(sharePathMapper.selectCount(new LambdaQueryWrapperX<SharePathDO>()
                     .eq(SharePathDO::getAncestor, duserRespVO.getUserId())
-                    .ne(SharePathDO::getDepth,1)
             ));
+
+            SharePathDO sharePathDO = sharePathMapper.selectOne(new LambdaQueryWrapperX<SharePathDO>()
+                    .eq(SharePathDO::getDescendant, duserRespVO.getUserId())
+                    .eq(SharePathDO::getDepth, 1)
+            );
+            duserRespVO.setAncNickName(sharePathDO != null ? sharePathDO.getAncNickName() : "");
         }
     }
 }

+ 4 - 4
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/sharepath/SharePathServiceImpl.java

@@ -7,7 +7,7 @@ import cn.newfeifan.mall.module.distri.service.duser.DuserService;
 import cn.newfeifan.mall.module.distri.service.ordercalc.OrderCalcService;
 import cn.newfeifan.mall.module.member.dal.dataobject.user.MemberUserDO;
 import cn.newfeifan.mall.module.member.service.user.MemberUserService;
-import com.aliyuncs.utils.StringUtils;
+import com.alibaba.druid.util.StringUtils;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 
@@ -171,8 +171,8 @@ public class SharePathServiceImpl implements SharePathService {
         List<TreeNode> deep = sharePathDO2TreeNode(sharePathDOS);
         if (maxDepth > 1) {
             List<Long> descs = sharePathDOS.stream().filter(k -> k.getDepth() > 1).map(SharePathDO::getDescendant).collect(Collectors.toList());
-            if (!descs.isEmpty()) {
-                // 获取大于1层级的数据
+            // 获取大于1层级的数据
+            if (!descs.isEmpty()){
                 List<SharePathDO> descList = sharePathMapper.selectList(new LambdaQueryWrapperX<SharePathDO>().ne(SharePathDO::getAncestor, 1).in(SharePathDO::getDescendant, descs));
                 List<TreeNode> treeNodes1 = sharePathDO2TreeNode(descList);
                 deep = deep.stream().filter(k -> k.getDeep() == 1).collect(Collectors.toList());
@@ -193,7 +193,7 @@ public class SharePathServiceImpl implements SharePathService {
     @Override
     public TreeNode getTreeByNameOrMobile(SharePathTreeReqVO sharePathTreeReqVO) {
         //拿到当前用户ID
-        Long userId = getUserIdByNameOrMobile(sharePathTreeReqVO.getName(), sharePathTreeReqVO.getMobile());
+        Long userId = getUserIdByNameOrMobile(sharePathTreeReqVO.getNickName(), sharePathTreeReqVO.getMobile());
 
         //拿到推荐人ID
         Long ancestor = sharePathMapper.selectAncestorByDescendant(userId);

+ 1 - 0
feifan-module-pay/feifan-module-pay-biz/src/main/java/cn/newfeifan/mall/module/pay/service/wallet/PayWalletServiceImpl.java

@@ -37,6 +37,7 @@ public class PayWalletServiceImpl implements  PayWalletService {
     @Resource
     private PayWalletMapper walletMapper;
     @Resource
+    @Lazy
     private PayWalletTransactionService walletTransactionService;
     @Resource
     @Lazy

+ 2 - 0
feifan-module-pay/feifan-module-pay-biz/src/main/java/cn/newfeifan/mall/module/pay/service/wallet/PayWalletTransactionServiceImpl.java

@@ -12,6 +12,7 @@ import cn.newfeifan.mall.module.pay.dal.redis.no.PayNoRedisDAO;
 import cn.newfeifan.mall.module.pay.enums.wallet.PayWalletBizTypeEnum;
 import cn.newfeifan.mall.module.pay.service.wallet.bo.WalletTransactionCreateReqBO;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 import org.springframework.validation.annotation.Validated;
 
@@ -38,6 +39,7 @@ public class PayWalletTransactionServiceImpl implements PayWalletTransactionServ
     private static final String WALLET_NO_PREFIX = "W";
 
     @Resource
+    @Lazy
     private PayWalletService payWalletService;
     @Resource
     private PayWalletTransactionMapper payWalletTransactionMapper;

+ 3 - 0
feifan-module-system/feifan-module-system-biz/src/main/java/cn/newfeifan/mall/module/system/controller/admin/user/vo/user/UserPageReqVO.java

@@ -44,6 +44,9 @@ public class UserPageReqVO extends PageParam {
     @Schema(description = "店铺id", example = "9887")
     private Long shopId;
 
+    @Schema(description = "姓名,只是用来看的,不是用户名", example = "赵六")
+    private String name;
+
 
 
 

+ 2 - 1
feifan-module-system/feifan-module-system-biz/src/main/java/cn/newfeifan/mall/module/system/controller/admin/user/vo/user/UserRespVO.java

@@ -82,7 +82,8 @@ public class UserRespVO{
     @Schema(description = "店铺id", example = "9887")
     private Long shopId;
 
-
+    @Schema(description = "姓名,只是用来看的,不是用户名", example = "赵六")
+    private String name;
 
 
 

+ 2 - 1
feifan-module-system/feifan-module-system-biz/src/main/java/cn/newfeifan/mall/module/system/controller/admin/user/vo/user/UserSaveReqVO.java

@@ -25,7 +25,6 @@ public class UserSaveReqVO {
 
     @Schema(description = "用户账号", requiredMode = Schema.RequiredMode.REQUIRED, example = "feifan")
     @NotBlank(message = "用户账号不能为空")
-    @Pattern(regexp = "^[a-zA-Z0-9]{4,30}$", message = "用户账号由 数字、字母 组成")
     @Size(min = 4, max = 30, message = "用户账号长度为 4-30 个字符")
     private String username;
 
@@ -86,4 +85,6 @@ public class UserSaveReqVO {
                 || (ObjectUtil.isAllNotEmpty(password)); // 新增时,必须都传递 password
     }
 
+    @Schema(description = "姓名,只是用来看的,不是用户名", example = "赵六")
+    private String name;
 }

+ 6 - 0
feifan-module-system/feifan-module-system-biz/src/main/java/cn/newfeifan/mall/module/system/dal/dataobject/user/AdminUserDO.java

@@ -112,5 +112,11 @@ public class AdminUserDO extends TenantBaseDO {
 
     private Long merchantId;
 
+    /**
+     * 姓名,只是用来看的,不是用户名
+     */
+    private String name;
+
+
 
 }

+ 0 - 268
feifan-server/src/main/resources/application-pro.yaml

@@ -1,268 +0,0 @@
-server:
-  port: 8002
-
---- #################### 数据库相关配置 ####################
-
-spring:
-  # 数据源配置项
-  autoconfigure:
-    exclude:
-      - com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure # 排除 Druid 的自动配置,使用 dynamic-datasource-spring-boot-starter 配置多数据源
-#      - org.springframework.boot.autoconfigure.quartz.QuartzAutoConfiguration # 默认 local 环境,不开启 Quartz 的自动配置
-#      - de.codecentric.boot.admin.server.config.AdminServerAutoConfiguration # 禁用 Spring Boot Admin 的 Server 的自动配置
-#      - de.codecentric.boot.admin.server.ui.config.AdminServerUiAutoConfiguration # 禁用 Spring Boot Admin 的 Server UI 的自动配置
-#      - de.codecentric.boot.admin.client.config.SpringBootAdminClientAutoConfiguration # 禁用 Spring Boot Admin 的 Client 的自动配置
-  datasource:
-    druid: # Druid 【监控】相关的全局配置
-      web-stat-filter:
-        enabled: true
-      stat-view-servlet:
-        enabled: true
-        allow: # 设置白名单,不填则允许所有访问
-        url-pattern: /druid/*
-        login-username: # 控制台管理用户名和密码
-        login-password:
-      filter:
-        stat:
-          enabled: true
-          log-slow-sql: true # 慢 SQL 记录
-          slow-sql-millis: 100
-          merge-sql: true
-        wall:
-          config:
-            multi-statement-allow: true
-    dynamic: # 多数据源配置
-      druid: # Druid 【连接池】相关的全局配置
-        initial-size: 1 # 初始连接数
-        min-idle: 1 # 最小连接池数量
-        max-active: 20 # 最大连接池数量
-        max-wait: 600000 # 配置获取连接等待超时的时间,单位:毫秒
-        time-between-eviction-runs-millis: 60000 # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位:毫秒
-        min-evictable-idle-time-millis: 300000 # 配置一个连接在池中最小生存的时间,单位:毫秒
-        max-evictable-idle-time-millis: 900000 # 配置一个连接在池中最大生存的时间,单位:毫秒
-        validation-query: SELECT 1 FROM DUAL # 配置检测连接是否有效
-        test-while-idle: true
-        test-on-borrow: false
-        test-on-return: false
-      primary: master
-      datasource:
-        master:
-          name: mall-letcgo
-          url: jdbc:mysql://120.78.5.233:3306/${spring.datasource.dynamic.datasource.master.name}?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true # MySQL Connector/J 8.X 连接的示例
-          username: root
-          password: PA55W0RD
-        slave: # 模拟从库,可根据自己需要修改
-          name: mall-letcgo
-          lazy: true # 开启懒加载,保证启动速度
-          url: jdbc:mysql://120.78.5.233:3306/${spring.datasource.dynamic.datasource.slave.name}?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true # MySQL Connector/J 8.X 连接的示例
-          username: root
-          password: PA55W0RD
-
-  # Redis 配置。Redisson 默认的配置足够使用,一般不需要进行调优
-  redis:
-    host: 47.107.29.61  # 地址
-    port: 6379 # 端口
-    database: 0 # 数据库索引
-#    password: 123456 # 密码,建议生产环境开启
-
---- #################### 定时任务相关配置 ####################
-
-# Quartz 配置项,对应 QuartzProperties 配置类
-spring:
-  quartz:
-    auto-startup: true # 本地开发环境,尽量不要开启 Job
-    scheduler-name: schedulerName # Scheduler 名字。默认为 schedulerName
-    job-store-type: jdbc # Job 存储器类型。默认为 memory 表示内存,可选 jdbc 使用数据库。
-    wait-for-jobs-to-complete-on-shutdown: true # 应用关闭时,是否等待定时任务执行完成。默认为 false ,建议设置为 true
-    properties: # 添加 Quartz Scheduler 附加属性,更多可以看 http://www.quartz-scheduler.org/documentation/2.4.0-SNAPSHOT/configuration.html 文档
-      org:
-        quartz:
-          # Scheduler 相关配置
-          scheduler:
-            instanceName: schedulerName
-            instanceId: AUTO # 自动生成 instance ID
-          # JobStore 相关配置
-          jobStore:
-            # JobStore 实现类。可见博客:https://blog.csdn.net/weixin_42458219/article/details/122247162
-            class: org.springframework.scheduling.quartz.LocalDataSourceJobStore
-            isClustered: true # 是集群模式
-            clusterCheckinInterval: 15000 # 集群检查频率,单位:毫秒。默认为 15000,即 15 秒
-            misfireThreshold: 60000 # misfire 阀值,单位:毫秒。
-          # 线程池相关配置
-          threadPool:
-            threadCount: 25 # 线程池大小。默认为 10 。
-            threadPriority: 5 # 线程优先级
-            class: org.quartz.simpl.SimpleThreadPool # 线程池类型
-    jdbc: # 使用 JDBC 的 JobStore 的时候,JDBC 的配置
-      initialize-schema: NEVER # 是否自动使用 SQL 初始化 Quartz 表结构。这里设置成 never ,我们手动创建表结构。
-
---- #################### 消息队列相关 ####################
-
-# rocketmq 配置项,对应 RocketMQProperties 配置类
-rocketmq:
-  name-server: 127.0.0.1:9876 # RocketMQ Namesrv
-
-spring:
-  # RabbitMQ 配置项,对应 RabbitProperties 配置类
-  rabbitmq:
-    host: 127.0.0.1 # RabbitMQ 服务的地址
-    port: 5672 # RabbitMQ 服务的端口
-    username: rabbit # RabbitMQ 服务的账号
-    password: rabbit # RabbitMQ 服务的密码
-  # Kafka 配置项,对应 KafkaProperties 配置类
-  kafka:
-    bootstrap-servers: 127.0.0.1:9092 # 指定 Kafka Broker 地址,可以设置多个,以逗号分隔
-
---- #################### 服务保障相关配置 ####################
-
-# Lock4j 配置项
-lock4j:
-  acquire-timeout: 3000 # 获取分布式锁超时时间,默认为 3000 毫秒
-  expire: 30000 # 分布式锁的超时时间,默认为 30 毫秒
-
-# Resilience4j 配置项
-resilience4j:
-  ratelimiter:
-    instances:
-      backendA:
-        limit-for-period: 1 # 每个周期内,允许的请求数。默认为 50
-        limit-refresh-period: 60s # 每个周期的时长,单位:微秒。默认为 500
-        timeout-duration: 1s # 被限流时,阻塞等待的时长,单位:微秒。默认为 5s
-        register-health-indicator: true # 是否注册到健康监测
-
---- #################### 监控相关配置 ####################
-
-# Actuator 监控端点的配置项
-management:
-  endpoints:
-    web:
-      base-path: /actuator # Actuator 提供的 API 接口的根目录。默认为 /actuator
-      exposure:
-        include: '*' # 需要开放的端点。默认值只打开 health 和 info 两个端点。通过设置 * ,可以开放所有端点。
-
-# Spring Boot Admin 配置项
-spring:
-  boot:
-    admin:
-      # Spring Boot Admin Client 客户端的相关配置
-      client:
-        url: http://47.107.28.221:${server.port}/${spring.boot.admin.context-path} # 设置 Spring Boot Admin Server 地址
-        instance:
-          service-host-type: IP # 注册实例时,优先使用 IP [IP, HOST_NAME, CANONICAL_HOST_NAME]
-      # Spring Boot Admin Server 服务端的相关配置
-      context-path: /admin # 配置 Spring
-
-# 日志文件配置
-logging:
-  file:
-    name: ${user.home}/logs/${spring.application.name}.log # 日志文件名,全路径
-  level:
-    # 配置自己写的 MyBatis Mapper 打印日志
-    cn.newfeifan.mall.module.bpm.dal.mysql: debug
-    cn.newfeifan.mall.module.infra.dal.mysql: debug
-    cn.newfeifan.mall.module.infra.dal.mysql.job.JobLogMapper: INFO # 配置 JobLogMapper 的日志级别为 info
-    cn.newfeifan.mall.module.infra.dal.mysql.file.FileConfigMapper: INFO # 配置 FileConfigMapper 的日志级别为 info
-    cn.newfeifan.mall.module.pay.dal.mysql: debug
-    cn.newfeifan.mall.module.pay.dal.mysql.notify.PayNotifyTaskMapper: INFO # 配置 JobLogMapper 的日志级别为 info
-    cn.newfeifan.mall.module.system.dal.mysql: debug
-    cn.newfeifan.mall.module.system.dal.mysql.sensitiveword.SensitiveWordMapper: INFO # 配置 SensitiveWordMapper 的日志级别为 info
-    cn.newfeifan.mall.module.system.dal.mysql.sms.SmsChannelMapper: INFO # 配置 SmsChannelMapper 的日志级别为 info
-    cn.newfeifan.mall.module.tool.dal.mysql: debug
-    cn.newfeifan.mall.module.member.dal.mysql: debug
-    cn.newfeifan.mall.module.trade.dal.mysql: debug
-    cn.newfeifan.mall.module.promotion.dal.mysql: debug
-    cn.newfeifan.mall.module.statistics.dal.mysql: debug
-    cn.newfeifan.mall.module.crm.dal.mysql: debug
-    org.springframework.context.support.PostProcessorRegistrationDelegate: ERROR # TODO 非繁人:先禁用,Spring Boot 3.X 存在部分错误的 WARN 提示
-
-debug: false
-
---- #################### 微信公众号、小程序相关配置 ####################
-wx:
-  mp: # 公众号配置(必填),参见 https://github.com/Wechat-Group/WxJava/blob/develop/spring-boot-starters/wx-java-mp-spring-boot-starter/README.md 文档
-#    app-id: wx041349c6f39b268b # 测试号(牛希尧提供的)
-#    secret: 5abee519483bc9f8cb37ce280e814bd0
-    app-id: wx917c16ecb85e8fb8 # 测试号(自己的)
-    secret: e6be2d75ba7dc0f3d833469645062b79
-#    app-id: wxa69ab825b163be19 # 测试号(Kongdy 提供的)
-#    secret: bd4f9fab889591b62aeac0d7b8d8b4a0
-    # 存储配置,解决 AccessToken 的跨节点的共享
-    config-storage:
-      type: RedisTemplate # 采用 RedisTemplate 操作 Redis,会自动从 Spring 中获取
-      key-prefix: wx # Redis Key 的前缀
-      http-client-type: HttpClient # 采用 HttpClient 请求微信公众号平台
-  miniapp: # 小程序配置(必填),参见 https://github.com/Wechat-Group/WxJava/blob/develop/spring-boot-starters/wx-java-miniapp-spring-boot-starter/README.md 文档
-    #    appid: wx62056c0d5e8db250 # 测试号(牛希尧提供的)
-    #    secret: 333ae72f41552af1e998fe1f54e1584a
-    appid: wx63c280fe3248a3e7 # wenhualian的接口测试号
-    secret: 6f270509224a7ae1296bbf1c8cb97aed
-#    appid: wxc4598c446f8a9cb3 # 测试号(Kongdy 提供的)
-#    secret: 4a1a04e07f6a4a0751b39c3064a92c8b
-    config-storage:
-      type: RedisTemplate # 采用 RedisTemplate 操作 Redis,会自动从 Spring 中获取
-      key-prefix: wa # Redis Key 的前缀
-      http-client-type: HttpClient # 采用 HttpClient 请求微信公众号平台
-
---- #################### 非繁相关配置 ####################
-
-# 非繁配置项,设置当前项目所有自定义的配置
-feifan:
-  captcha:
-    enable: false # 本地环境,暂时关闭图片验证码,方便登录等接口的测试;
-  security:
-    mock-enable: true
-  xss:
-    enable: false
-    exclude-urls: # 如下两个 url,仅仅是为了演示,去掉配置也没关系
-      - ${spring.boot.admin.context-path}/** # 不处理 Spring Boot Admin 的请求
-      - ${management.endpoints.web.base-path}/** # 不处理 Actuator 的请求
-  pay:
-    order-notify-url: http://zxgz.newfeifan.cn/admin-api/pay/notify/order # 支付渠道的【支付】回调地址
-    refund-notify-url: http://zxgz.newfeifan.cn/admin-api/pay/notify/refund # 支付渠道的【退款】回调地址
-  access-log: # 访问日志的配置项
-    enable: false
-  error-code: # 错误码相关配置项
-    enable: false
-  demo: false # 关闭演示模式
-  tencent-lbs-key: TVDBZ-TDILD-4ON4B-PFDZA-RNLKH-VVF6E # QQ 地图的密钥 https://lbs.qq.com/service/staticV2/staticGuide/staticDoc
-
-justauth:
-  enabled: true
-  type:
-    DINGTALK: # 钉钉
-      client-id: dingvrnreaje3yqvzhxg
-      client-secret: i8E6iZyDvZj51JIb0tYsYfVQYOks9Cq1lgryEjFRqC79P3iJcrxEwT6Qk2QvLrLI
-      ignore-check-redirect-uri: true
-    WECHAT_ENTERPRISE: # 企业微信
-      client-id: wwd411c69a39ad2e54
-      client-secret: 1wTb7hYxnpT2TUbIeHGXGo7T0odav1ic10mLdyyATOw
-      agent-id: 1000004
-      ignore-check-redirect-uri: true
-    WECHAT_MINI_APP: # 微信小程序
-      client-id: ${wx.miniapp.appid}
-      client-secret: ${wx.miniapp.secret}
-      ignore-check-redirect-uri: true
-      ignore-check-state: true # 微信小程序,不会使用到 state,所以不进行校验
-    WECHAT_MP: # 微信公众号
-      client-id: ${wx.mp.app-id}
-      client-secret: ${wx.mp.secret}
-      ignore-check-redirect-uri: true
-  cache:
-    type: REDIS
-    prefix: 'social_auth_state:' # 缓存前缀,目前只对 Redis 缓存生效,默认 JUSTAUTH::STATE::
-    timeout: 24h # 超时时长,目前只对 Redis 缓存生效,默认 3 分钟
-
-# TODO 赤焰:这个配置的目的是?
-#ureport配置
-#ureport:
-#  disableHttpSessionReportCache: true #是否禁用
-#  disableFileProvider: true #是否禁用
-#  debug: true
-#  fileStoreDir: D://ureport//files
-#  provider:
-#    database:
-#       disabled: true
-#    file:
-#       disabled: true
-
-