From d6ed2678974b2750fd3b552cd607f487fbac0927 Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Tue, 20 Feb 2024 16:51:23 +0800
Subject: [PATCH] 抽奖

---
 src/main/java/cc/mrbird/febs/mall/entity/CjInfo.java                              |   23 
 src/main/java/cc/mrbird/febs/mall/mapper/CjInfoMapper.java                        |   14 
 src/main/java/cc/mrbird/febs/mall/quartz/OrderSettlementJob.java                  |   16 
 src/main/java/cc/mrbird/febs/rabbit/consumer/AgentConsumer.java                   |   89 -
 src/main/java/cc/mrbird/febs/pay/service/impl/WxPayServiceImpl.java               |    4 
 src/main/java/cc/mrbird/febs/mall/controller/ApiCjController.java                 |   69 +
 src/main/java/cc/mrbird/febs/mall/entity/TzInfo.java                              |   16 
 src/main/java/cc/mrbird/febs/mall/dto/ApiCreateDto.java                           |   15 
 src/main/resources/mapper/modules/KjRecordMapper.xml                              |   51 +
 src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java              |    2 
 src/main/java/cc/mrbird/febs/mall/quartz/OrderOvertimeJob.java                    |   34 
 src/main/java/cc/mrbird/febs/mall/conversion/TzInfoConversion.java                |   15 
 src/main/java/cc/mrbird/febs/common/configure/RabbitConfigure.java                |  196 +--
 src/main/java/cc/mrbird/febs/mall/service/impl/CJServiceImpl.java                 |  284 +++++
 src/main/java/cc/mrbird/febs/rabbit/constants/QueueConstants.java                 |   17 
 src/main/java/cc/mrbird/febs/rabbit/producter/AgentProducer.java                  |   53 
 src/main/resources/application-dev.yml                                            |    6 
 src/main/resources/mapper/modules/MallMoneyFlowMapper.xml                         |   30 
 src/main/java/cc/mrbird/febs/mall/dto/ForgetPwdDto.java                           |   14 
 src/main/java/cc/mrbird/febs/mall/entity/KjRecord.java                            |   12 
 src/main/java/cc/mrbird/febs/pay/service/impl/LaKaLaServiceImpl.java              |    5 
 src/main/java/cc/mrbird/febs/rabbit/enumerates/RabbitQueueEnum.java               |   49 
 src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberWithdrawServiceImpl.java |  121 -
 src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java       |    5 
 src/main/resources/mapper/modules/MallMemberMapper.xml                            |    2 
 src/main/resources/templates/febs/views/modules/mallMember/moneyFlow.html         |   89 -
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java      |  163 --
 src/main/java/cc/mrbird/febs/pay/controller/UnipayController.java                 |    4 
 src/main/java/cc/mrbird/febs/mall/dto/WithdrawalDto.java                          |   15 
 src/main/resources/mapper/modules/CjInfoMapper.xml                                |   45 
 src/main/resources/templates/febs/views/modules/mallMember/addMember.html         |    6 
 src/main/java/cc/mrbird/febs/mall/quartz/ProfitJob.java                           |  117 --
 src/test/java/cc/mrbird/febs/PayTest.java                                         |   55 -
 src/main/java/cc/mrbird/febs/mall/dto/OpenPrice.java                              |   12 
 src/main/java/cc/mrbird/febs/mall/mapper/KjRecordMapper.java                      |   17 
 src/main/java/cc/mrbird/febs/mall/vo/ApiKjRecordVo.java                           |   14 
 src/test/java/cc/mrbird/febs/ProfitTest.java                                      |  268 -----
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java   |    5 
 src/main/java/cc/mrbird/febs/mall/entity/MallMemberPayment.java                   |   18 
 src/main/java/cc/mrbird/febs/pay/service/impl/AliPayServiceImpl.java              |    1 
 src/main/java/cc/mrbird/febs/mall/vo/MoneyFlowVo.java                             |   17 
 src/main/java/cc/mrbird/febs/mall/entity/CjItem.java                              |   21 
 src/main/java/cc/mrbird/febs/mall/vo/ApiTzInfoVo.java                             |   26 
 src/main/java/cc/mrbird/febs/mall/dto/RegisterDto.java                            |   26 
 src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java           |    1 
 src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java         |  118 --
 src/main/java/cc/mrbird/febs/mall/service/CJService.java                          |   33 
 src/main/java/cc/mrbird/febs/mall/vo/MemberBankListVo.java                        |   29 
 src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java            |    8 
 src/main/java/cc/mrbird/febs/mall/dto/ApiCreateItemDto.java                       |   19 
 src/main/java/cc/mrbird/febs/mall/conversion/CjInfoConversion.java                |   15 
 src/main/java/cc/mrbird/febs/common/configure/WebMvcConfigure.java                |    1 
 src/main/java/cc/mrbird/febs/mall/mapper/CjItemMapper.java                        |    7 
 src/main/java/cc/mrbird/febs/mall/dto/AddMemberBankDto.java                       |   33 
 src/main/java/cc/mrbird/febs/mall/vo/ApiTzListVo.java                             |   30 
 src/test/java/cc/mrbird/febs/AgentTest.java                                       |   27 
 src/main/java/cc/mrbird/febs/mall/controller/ApiLoginController.java              |   14 
 src/main/java/cc/mrbird/febs/mall/dto/UpdateMemberBankDto.java                    |   31 
 src/main/java/cc/mrbird/febs/mall/service/impl/ScoreServiceImpl.java              |    4 
 src/main/java/cc/mrbird/febs/common/enumerates/MoneyFlowTypeNewEnum.java          |   25 
 src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html    |  357 ------
 src/main/java/cc/mrbird/febs/mall/vo/ApiTzItemVos.java                            |   24 
 src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java                            |   73 -
 src/main/java/cc/mrbird/febs/mall/dto/KjRecordDto.java                            |   24 
 src/main/java/cc/mrbird/febs/common/utils/AppContants.java                        |    8 
 src/main/java/cc/mrbird/febs/mall/vo/AdminMallMoneyFlowVo.java                    |   10 
 src/main/java/cc/mrbird/febs/mall/vo/ApiKjInfoVo.java                             |   22 
 src/main/java/cc/mrbird/febs/mall/mapper/TzInfoMapper.java                        |    7 
 68 files changed, 1,159 insertions(+), 1,822 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/common/configure/RabbitConfigure.java b/src/main/java/cc/mrbird/febs/common/configure/RabbitConfigure.java
index 7079411..a2c82db 100644
--- a/src/main/java/cc/mrbird/febs/common/configure/RabbitConfigure.java
+++ b/src/main/java/cc/mrbird/febs/common/configure/RabbitConfigure.java
@@ -31,137 +31,93 @@
         return new RabbitTemplate(connectionFactory);
     }
 
-    @Bean
-    public DirectExchange defaultExchange() {
-        return new DirectExchange(ExchangeConstants.EXCHANGE_DEFAULT);
-    }
 
+    // === 延时  start ===
     @Bean
-    public Queue defaultQueue() {
-        return new Queue(QueueConstants.QUEUE_DEFAULT);
+    public DirectExchange delayExchangeTtl() {
+        return new DirectExchange(RabbitQueueEnum.CHOU_JIANG_TIME_TTL.getExchange());
     }
-
-    @Bean
-    public Binding defaultBind() {
-        return BindingBuilder.bind(defaultQueue()).to(defaultExchange()).with(RouteKeyConstants.ROUTE_KEY_DEFAULT);
-    }
-
-    @Bean
-    public DirectExchange delayTtlExchange() {
-        return new DirectExchange(RabbitQueueEnum.ORDER_CANCEL_DELAY_TTL.getExchange());
-    }
-
-    @Bean
-    public DirectExchange orderDelayExchange() {
-        return new DirectExchange(RabbitQueueEnum.ORDER_CANCEL_DELAY.getExchange());
-    }
-
-    @Bean
-    public Queue orderDelayQueue() {
-        return new Queue(RabbitQueueEnum.ORDER_CANCEL_DELAY.getQueue());
-    }
-
-    @Bean
-    public Queue orderDelayQueueTtl() {
-        return QueueBuilder.durable(RabbitQueueEnum.ORDER_CANCEL_DELAY_TTL.getQueue())
-                //到期后转发的交换机
-                .withArgument("x-dead-letter-exchange", RabbitQueueEnum.ORDER_CANCEL_DELAY.getExchange())
-                //到期后转发的路由键
-                .withArgument("x-dead-letter-routing-key", RabbitQueueEnum.ORDER_CANCEL_DELAY.getRoute())
-                .build();
-    }
-
-    @Bean
-    public Binding orderDelayBind() {
-        return BindingBuilder.bind(orderDelayQueue()).to(orderDelayExchange()).with(RabbitQueueEnum.ORDER_CANCEL_DELAY.getRoute());
-    }
-
     @Bean
     public Binding orderDelayBindTtl() {
-        return BindingBuilder.bind(orderDelayQueueTtl()).to(delayTtlExchange()).with(RabbitQueueEnum.ORDER_CANCEL_DELAY_TTL.getRoute());
+        return BindingBuilder.bind(orderDelayQueueTtl()).to(delayExchangeTtl()).with(RabbitQueueEnum.CHOU_JIANG_TIME_TTL.getRoute());
+    }
+    @Bean
+    public Queue orderDelayQueueTtl() {
+        return QueueBuilder.durable(RabbitQueueEnum.CHOU_JIANG_TIME_TTL.getQueue())
+                //到期后转发的交换机
+                .withArgument("x-dead-letter-exchange", RabbitQueueEnum.CHOU_JIANG_TIME.getExchange())
+                //到期后转发的路由键
+                .withArgument("x-dead-letter-routing-key", RabbitQueueEnum.CHOU_JIANG_TIME.getRoute())
+                .build();
+    }
+    @Bean
+    public DirectExchange orderDelayExchange() {
+        return new DirectExchange(RabbitQueueEnum.CHOU_JIANG_TIME.getExchange());
+    }
+    @Bean
+    public Queue orderDelayQueue() {
+        return new Queue(RabbitQueueEnum.CHOU_JIANG_TIME.getQueue());
+    }
+    @Bean
+    public Binding orderDelayBind() {
+        return BindingBuilder.bind(orderDelayQueue()).to(orderDelayExchange()).with(RabbitQueueEnum.CHOU_JIANG_TIME.getRoute());
+    }
+    // ===  延时  end ===
+
+
+    // === 延时  start ===
+    @Bean
+    public DirectExchange delayExchangeTtlNoTime() {
+        return new DirectExchange(RabbitQueueEnum.NO_TIME_TTL.getExchange());
+    }
+    @Bean
+    public Binding orderDelayBindTtlNoTime() {
+        return BindingBuilder.bind(orderDelayQueueTtlNoTime())
+                .to(delayExchangeTtlNoTime())
+                .with(RabbitQueueEnum.NO_TIME_TTL.getRoute());
+    }
+    @Bean
+    public Queue orderDelayQueueTtlNoTime() {
+        return QueueBuilder.durable(RabbitQueueEnum.NO_TIME_TTL.getQueue())
+                //到期后转发的交换机
+                .withArgument("x-dead-letter-exchange", RabbitQueueEnum.NO_TIME.getExchange())
+                //到期后转发的路由键
+                .withArgument("x-dead-letter-routing-key", RabbitQueueEnum.NO_TIME.getRoute())
+                .build();
+    }
+    @Bean
+    public DirectExchange orderDelayExchangeNoTime() {
+        return new DirectExchange(RabbitQueueEnum.NO_TIME.getExchange());
+    }
+    @Bean
+    public Queue orderDelayQueueNoTime() {
+        return new Queue(RabbitQueueEnum.NO_TIME.getQueue());
+    }
+    @Bean
+    public Binding orderDelayBindNoTime() {
+        return BindingBuilder.bind(orderDelayQueueNoTime())
+                .to(orderDelayExchangeNoTime())
+                .with(RabbitQueueEnum.NO_TIME.getRoute());
+    }
+    // ===  延时  end ===
+
+
+
+    // === 处理中奖  start ===
+    @Bean
+    public DirectExchange openPriceExchange() {
+        return new DirectExchange(RabbitQueueEnum.OPEN_PRICE.getExchange());
     }
 
     @Bean
-    public Queue autoLevelUpAgentQueue() {
-        return new Queue(QueueConstants.AGENT_AUTO_LEVEL_UP);
+    public Queue openPriceQueue() {
+        return new Queue(RabbitQueueEnum.OPEN_PRICE.getQueue());
     }
 
     @Bean
-    public Binding autoLevelUpBind() {
-        return BindingBuilder.bind(autoLevelUpAgentQueue()).to(defaultExchange()).with(RouteKeyConstants.ROUTE_KEY_DEFAULT);
+    public Binding openPriceBind() {
+        return BindingBuilder.bind(openPriceQueue()).to(openPriceExchange()).with(RabbitQueueEnum.OPEN_PRICE.getRoute());
     }
-
-    @Bean
-    public DirectExchange agentReturnMoneyExchange() {
-        return new DirectExchange(RabbitQueueEnum.AGENT_REUTRN_MONEY.getExchange());
-    }
-
-    @Bean
-    public Queue agentReturnMoneyQueue() {
-        return new Queue(QueueConstants.AGENT_RETURN_MONEY);
-    }
-
-    @Bean
-    public Binding agentReturnMoneyBind() {
-        return BindingBuilder.bind(agentReturnMoneyQueue()).to(agentReturnMoneyExchange()).with(RabbitQueueEnum.AGENT_REUTRN_MONEY.getRoute());
-    }
-
-
-    @Bean
-    public DirectExchange orderReturnMoneyExchange() {
-        return new DirectExchange(RabbitQueueEnum.ORDER_RETURN_MONEY.getExchange());
-    }
-
-    @Bean
-    public Queue orderReturnMoneyQueue() {
-        return new Queue(QueueConstants.ORDER_RETURN_MONEY);
-    }
-
-    @Bean
-    public Binding orderReturnMoneyBind() {
-        return BindingBuilder.bind(orderReturnMoneyQueue()).to(orderReturnMoneyExchange()).with(RabbitQueueEnum.ORDER_RETURN_MONEY.getRoute());
-    }
-
-    /**
-     * 补贴金额
-     * @return
-     */
-    //补贴金额 start
-    @Bean
-    public DirectExchange perkMoneyExchange() {
-        return new DirectExchange(RabbitQueueEnum.PERK_MONEY.getExchange());
-    }
-
-    @Bean
-    public Queue perkMoneyQueue() {
-        return new Queue(QueueConstants.PERK_MONEY);
-    }
-
-    @Bean
-    public Binding perkMoneyBind() {
-        return BindingBuilder.bind(perkMoneyQueue()).to(perkMoneyExchange()).with(RabbitQueueEnum.PERK_MONEY.getRoute());
-    }
-    //补贴金额 end
-
-    /**
-     * 强制卖出
-     * @return
-     */
-    //强制卖出 start
-    @Bean
-    public DirectExchange forceVoucherSaleExchange() {
-        return new DirectExchange(RabbitQueueEnum.FORCE_VOUCHER_SALE.getExchange());
-    }
-
-    @Bean
-    public Queue forceVoucherSaleQueue() {
-        return new Queue(QueueConstants.FORCE_VOUCHER_SALE);
-    }
-
-    @Bean
-    public Binding forceVoucherSaleBind() {
-        return BindingBuilder.bind(forceVoucherSaleQueue()).to(forceVoucherSaleExchange()).with(RabbitQueueEnum.FORCE_VOUCHER_SALE.getRoute());
-    }
-    //强制卖出 end
+    // ===  处理中奖  end ===
 
 }
diff --git a/src/main/java/cc/mrbird/febs/common/configure/WebMvcConfigure.java b/src/main/java/cc/mrbird/febs/common/configure/WebMvcConfigure.java
index ff77fd2..df6fc30 100644
--- a/src/main/java/cc/mrbird/febs/common/configure/WebMvcConfigure.java
+++ b/src/main/java/cc/mrbird/febs/common/configure/WebMvcConfigure.java
@@ -23,6 +23,7 @@
         registration.excludePathPatterns("/api/login/pwdForget");
         registration.excludePathPatterns("/api/login/addRegisterAppeal");
         registration.excludePathPatterns("/api/common/**");
+        registration.excludePathPatterns("/api/cj/**");
         registration.excludePathPatterns("/api/category/**");
         registration.excludePathPatterns("/api/goods/**");
         registration.excludePathPatterns("/api/pay/**");
diff --git a/src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java b/src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java
index 82c087e..5e33d00 100644
--- a/src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java
+++ b/src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java
@@ -6,6 +6,14 @@
 @Getter
 public enum DataDictionaryEnum {
     /**
+     * 停止开关
+     */
+    NO_TIME("NO_TIME","NO_TIME"),
+    /**
+     * 时间间隔
+     */
+    TIME_INTERVAL("TIME_INTERVAL","TIME_INTERVAL"),
+    /**
      * 银行转账设置-客户号
      */
     BANK_TRANS_softwareId("BANK_TRANS_SET","BANK_TRANS_softwareId"),
diff --git a/src/main/java/cc/mrbird/febs/common/enumerates/MoneyFlowTypeNewEnum.java b/src/main/java/cc/mrbird/febs/common/enumerates/MoneyFlowTypeNewEnum.java
new file mode 100644
index 0000000..74bb5a0
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/common/enumerates/MoneyFlowTypeNewEnum.java
@@ -0,0 +1,25 @@
+package cc.mrbird.febs.common.enumerates;
+
+import lombok.Getter;
+
+/**
+ *
+ * 1-静态收益 2-直推奖 3-代理收益 4-排名收益 5-总监收益 6-社区点补 7-一代收益 8-提现 9-转增 10-支付 11-退款
+ * @author wzy
+ * @date 2021-09-24
+ **/
+@Getter
+public enum MoneyFlowTypeNewEnum {
+    STATIC_BONUS(1,"投注"),
+    DYNAMIC_ACHIEVE(2,"中奖"),
+    AGENT_BONUS(3,"充值"),
+    RANK_BONUS(4,"提现");
+
+    private final int value;
+    private final String description;
+
+    MoneyFlowTypeNewEnum(int value,String description) {
+        this.value = value;
+        this.description = description;
+    }
+}
diff --git a/src/main/java/cc/mrbird/febs/common/utils/AppContants.java b/src/main/java/cc/mrbird/febs/common/utils/AppContants.java
index f33ff3d..c7743c6 100644
--- a/src/main/java/cc/mrbird/febs/common/utils/AppContants.java
+++ b/src/main/java/cc/mrbird/febs/common/utils/AppContants.java
@@ -1,12 +1,16 @@
 package cc.mrbird.febs.common.utils;
 
-import java.math.BigDecimal;
-
 public class AppContants {
+
+    public static final String KJ_RECORD_NO_OLD = "KJ_NO_OLD";//上一期的开奖编号
+    public static final String KJ_RECORD_NUM_OLD = "KJ_NUM_OLD";//上一期的开奖编号
+    public static final String KJ_RECORD_NO = "KJ_NO";//开奖编号
+    public static final String KJ_RECORD_TIME = "KJ_TIME";//开奖时间
 
     /**
      * 系统用户
      */
+    public static final String PUBLIC_CODE = "system_add_member";
     public static final String SYSTEM_USER = "system";
     
     public static final String PUBLIC_KEY = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCzIfAF0gZs9zn9ENRtz6ocHa8MGljmMmCsjLsRvTIAilBMypMJz/VNooAOhd8GTdsWm8FNGVhRauv7RfxorFJ4Um2UbweUQBIZP2pzZMnclHxhUmYZsn/6IaPzijiUNfEjygtE7ezvso/67ecZJwqfrtlbEjqUbRgo17Qj23suwQIDAQAB";
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java b/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java
index f0fd5ad..a91e89a 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java
@@ -4,6 +4,7 @@
 import cc.mrbird.febs.common.controller.BaseController;
 import cc.mrbird.febs.common.entity.FebsResponse;
 import cc.mrbird.febs.common.entity.QueryRequest;
+import cc.mrbird.febs.common.utils.AppContants;
 import cc.mrbird.febs.common.utils.excl.ExcelSheetPO;
 import cc.mrbird.febs.common.utils.excl.ExcelUtil;
 import cc.mrbird.febs.common.utils.excl.ExcelVersion;
@@ -476,10 +477,8 @@
     public FebsResponse memberAdd(MallMember member) {
         RegisterDto registerDto = new RegisterDto();
         registerDto.setAccount(member.getAccount());
-        registerDto.setRegistType("admin");
         registerDto.setPassword("a123456");
-        registerDto.setInviteId(member.getInviteId());
-        registerDto.setName(member.getName());
+        registerDto.setCode(AppContants.PUBLIC_CODE);
         apiMallMemberService.register(registerDto);
         return new FebsResponse().success();
     }
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java b/src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java
index 19b024b..4d33ad7 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java
@@ -235,7 +235,6 @@
                 GreenScoreEnum.SCORE_PRICE.getType(),
                 GreenScoreEnum.SCORE_PRICE.getCode()
         );
-        agentProducer.sendForceVoucherSaleMsg(scorePriceDic.getValue());
         return new FebsResponse().success();
     }
 
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ApiCjController.java b/src/main/java/cc/mrbird/febs/mall/controller/ApiCjController.java
new file mode 100644
index 0000000..e259567
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/controller/ApiCjController.java
@@ -0,0 +1,69 @@
+package cc.mrbird.febs.mall.controller;
+
+import cc.mrbird.febs.common.entity.FebsResponse;
+import cc.mrbird.febs.mall.dto.ApiCreateDto;
+import cc.mrbird.febs.mall.dto.KjRecordDto;
+import cc.mrbird.febs.mall.service.CJService;
+import cc.mrbird.febs.mall.vo.*;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.*;
+
+@Slf4j
+@CrossOrigin("*")
+@RequiredArgsConstructor
+@RestController
+@RequestMapping(value = "/api/cj")
+@Api(value = "ApiCjController", tags = "抽奖类")
+public class ApiCjController {
+
+    private final CJService cjService;
+
+    @ApiOperation(value = "历史中奖号码")
+    @ApiResponses({
+            @ApiResponse(code = 200, message = "success", response = ApiKjRecordVo.class)
+    })
+    @PostMapping(value = "/kjRecord")
+    public FebsResponse kjRecord(@RequestBody KjRecordDto kjRecordDto) {
+        return cjService.kjRecord(kjRecordDto);
+    }
+
+
+    @ApiOperation(value = "首页头部信息", notes = "首页头部信息")
+    @ApiResponses({
+            @ApiResponse(code = 200, message = "success", response = ApiKjInfoVo.class)
+    })
+    @GetMapping(value = "/kjInfo")
+    public FebsResponse kjInfo() {
+        return cjService.kjInfo();
+    }
+
+
+    @ApiOperation(value = "首页下注信息", notes = "首页下注信息")
+    @ApiResponses({
+            @ApiResponse(code = 200, message = "success", response = ApiTzInfoVo.class)
+    })
+    @GetMapping(value = "/tzInfo")
+    public FebsResponse tzInfo() {
+        return cjService.tzInfo();
+    }
+
+    @ApiOperation(value = "马上投注", notes = "马上投注")
+    @PostMapping(value = "/create")
+    public FebsResponse create(@RequestBody ApiCreateDto apiCreateDto) {
+        return cjService.create(apiCreateDto);
+    }
+
+    @ApiOperation(value = "投注列表")
+    @ApiResponses({
+            @ApiResponse(code = 200, message = "success", response = ApiTzListVo.class)
+    })
+    @PostMapping(value = "/tzInfoList")
+    public FebsResponse tzInfoList(@RequestBody KjRecordDto kjRecordDto) {
+        return cjService.tzInfoList(kjRecordDto);
+    }
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ApiLoginController.java b/src/main/java/cc/mrbird/febs/mall/controller/ApiLoginController.java
index d5ee563..3af1767 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/ApiLoginController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/ApiLoginController.java
@@ -29,21 +29,19 @@
 
     private final IApiMallMemberService memberService;
 
-    @ApiOperation(value = "app注册接口", notes = "app注册接口")
+    @ApiOperation(value = "创建账户", notes = "创建账户")
     @PostMapping(value = "/register")
     public FebsResponse register(@RequestBody RegisterDto registerDto) {
         return memberService.register(registerDto);
     }
 
-
-    @ApiOperation(value = "账号密码登录接口", notes = "账号密码登录接口")
+    @ApiOperation(value = "登录", notes = "登录")
     @PostMapping(value = "/toLogin")
     public FebsResponse login(@RequestBody LoginDto loginDto) {
         return memberService.toLogin(loginDto);
     }
 
-
-    @ApiOperation(value = "忘记/修改密码", notes = "忘记/修改密码")
+    @ApiOperation(value = "修改密码", notes = "修改密码")
     @PostMapping(value = "/forgetPwd")
     public FebsResponse forgetPwd(@RequestBody ForgetPwdDto forgetPwdDto) {
         return memberService.forgetPwd(forgetPwdDto);
@@ -55,10 +53,4 @@
         return memberService.pwdForget(forgetPwdDto);
     }
 
-    @ApiOperation(value = "提交注册申诉", notes = "提交注册申诉")
-    @PostMapping(value = "addRegisterAppeal")
-    public FebsResponse addRegisterAppeal(@RequestBody RegisterAppealDto registerAppeal) {
-        memberService.addRegisterAppeal(registerAppeal);
-        return new FebsResponse().success().message("申请成功");
-    }
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java
index e787aaa..fc63774 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java
@@ -29,14 +29,14 @@
 @CrossOrigin("*")
 @RequestMapping(value = "/api/member")
 @RequiredArgsConstructor
-@Api(value = "ApiMallMemberController", tags = "商城用户接口类")
+@Api(value = "ApiMallMemberController", tags = "我的接口类")
 public class ApiMallMemberController {
 
     private final IApiMallMemberService memberService;
     private final IMallMemberWithdrawService mallMemberWithdrawService;
     private final IApiMallMemberWalletService walletService;
 
-    @ApiOperation(value = "获取商城用户信息", notes = "获取商城用户信息")
+    @ApiOperation(value = "获取用户信息", notes = "获取用户信息")
     @ApiResponses({
             @ApiResponse(code = 200, message = "success", response = MallMemberVo.class)
     })
@@ -51,34 +51,6 @@
         return memberService.logout();
     }
 
-    @ApiOperation(value = "获取购物车、订单等角标数量")
-    @GetMapping(value = "/findMarkCnt")
-    public FebsResponse findMarkCnt() {
-        return memberService.findMemberMarkCnt();
-    }
-
-    @ApiOperation(value = "设置支付密码")
-    @PostMapping(value = "/setTradePwd")
-    public FebsResponse setTradePwd(@RequestBody ForgetPwdDto forgetPwdDto) {
-        return memberService.setTradePwd(forgetPwdDto);
-    }
-
-    @ApiOperation(value = "修改用户信息")
-    @PostMapping(value = "/modifyInfo")
-    public FebsResponse modifyInfo(@RequestBody ModifyMemberInfoDto modifyMemberInfoDto) {
-        return memberService.modifyMemberInfo(modifyMemberInfoDto);
-    }
-
-    @ApiOperation(value = "我的团队列表")
-    @ApiResponses({
-            @ApiResponse(code = 200, message = "success", response = MyTeamVo.class)
-    })
-    @PostMapping(value = "/teamList")
-    public FebsResponse teamList(@RequestBody TeamListDto teamListDto) {
-        return memberService.teamList(teamListDto);
-    }
-
-
     @ApiOperation(value = "资金流水列表")
     @ApiResponses({
             @ApiResponse(code = 200, message = "success", response = MoneyFlowVo.class)
@@ -88,95 +60,17 @@
         return memberService.moneyFlows(moneyFlowDto);
     }
 
-    @ApiOperation(value = "转账")
-    @PostMapping(value = "/transfer")
-    public FebsResponse transfer(@RequestBody @Validated TransferDto transferDto) {
-        memberService.transfer(transferDto);
-        return new FebsResponse().success().message("转账成功");
-    }
-
-    @ApiOperation(value = "提现规则", notes = "提现规则")
-    @ApiResponses({
-            @ApiResponse(code = 200, message = "success", response = CashOutSettingVo.class)
-    })
-    @GetMapping(value = "/cashOutSetting")
-    public FebsResponse cashOutSetting() {
-        return new FebsResponse().success().data(memberService.cashOutSetting());
-    }
-
-    @ApiOperation(value = "提现")
+    @ApiOperation(value = "提现", notes = "提现")
     @PostMapping(value = "/withdrawal")
     public FebsResponse withdrawal(@RequestBody @Validated WithdrawalDto withdrawalDto) {
         mallMemberWithdrawService.withdrawal(withdrawalDto);
         return new FebsResponse().success().message("提交成功");
     }
 
-    @ApiOperation(value = "设置收款方式")
-    @PostMapping(value = "/setPayment")
-    public FebsResponse setPayment(@RequestBody MallMemberPayment mallMemberPayment) {
-        memberService.setPayment(mallMemberPayment);
-        return new FebsResponse().success().message("设置成功");
-    }
-
-    @ApiOperation(value = "获取收款方式")
-    @GetMapping(value = "/findPayment")
-    public FebsResponse findPayment() {
-        return new FebsResponse().success().data(memberService.findMemberPayment());
-    }
-
-    @ApiOperation(value = "绑定手机号")
-    @PostMapping(value = "/bindPhone")
-    public FebsResponse bindPhone(@RequestBody AccountAndCodeDto accountAndCodeDto) {
-        memberService.bindPhone(accountAndCodeDto);
-        return new FebsResponse().success().message("绑定成功");
-    }
-
     @ApiOperation(value = "可提现金额")
     @GetMapping(value = "/canWithdrawal")
     public FebsResponse canWithdrawal() {
         return new FebsResponse().success().data(memberService.canMoney());
-    }
-
-    @ApiOperation(value = "用户消费排名")
-    @PostMapping(value = "/findRankList")
-    public FebsResponse findRankList(@RequestBody RankListDto rankListDto) {
-//        return new FebsResponse().success().data(memberService.findRankList(rankListDto));
-        return new FebsResponse().success();
-    }
-
-    @ApiOperation(value = "根据邀请码或者手机号获取昵称")
-    @PostMapping(value = "/findMemberInfoByAccount/{phone}")
-    public FebsResponse findMemberInfoByAccount(@PathVariable("phone") String phone) {
-        MallMember account = memberService.findMemberInfoByAccount(phone);
-        if (account == null) {
-            return new FebsResponse().fail().message("用户不存在");
-        }
-
-        MallMemberVo member = new MallMemberVo();
-        member.setName(account.getName());
-        return new FebsResponse().success().data(member);
-    }
-
-    @ApiOperation(value = "佣金划转")
-    @PostMapping(value = "/commissionChange")
-    public FebsResponse commissionChange(@RequestBody @Validated CommissionChangeDto commissionChange) {
-        walletService.commissionChange(commissionChange);
-        return new FebsResponse().success();
-    }
-
-    @ApiOperation(value = "我的权益")
-    @ApiResponses(
-            @ApiResponse(code = 200, message = "success", response = MyCommissionVo.class)
-    )
-    @PostMapping(value = "/myCommission")
-    public FebsResponse myCommission() {
-        return new FebsResponse().success().data(memberService.myCommission());
-    }
-
-    @ApiOperation(value = "商铺申请是否存在")
-    @PostMapping(value = "/shopApplyIsExist")
-    public FebsResponse shopApplyIsExist() {
-        return null;
     }
 
     @ApiOperation(value = "新增银行卡")
@@ -213,12 +107,6 @@
     @PostMapping(value = "/delMemberBank/{id}")
     public FebsResponse delMemberBank(@PathVariable("id") Long id) {
         return memberService.delMemberBank(id);
-    }
-
-    @ApiOperation(value = "银行名称列表", notes = "银行名称列表")
-    @GetMapping(value = "/memberBankName")
-    public FebsResponse memberBankDetails() {
-        return memberService.findBankName();
     }
 
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/conversion/CjInfoConversion.java b/src/main/java/cc/mrbird/febs/mall/conversion/CjInfoConversion.java
new file mode 100644
index 0000000..88a5652
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/conversion/CjInfoConversion.java
@@ -0,0 +1,15 @@
+package cc.mrbird.febs.mall.conversion;
+
+import cc.mrbird.febs.mall.entity.CjInfo;
+import cc.mrbird.febs.mall.vo.ApiTzListVo;
+import org.mapstruct.Mapper;
+import org.mapstruct.factory.Mappers;
+
+import java.util.List;
+
+@Mapper
+public abstract class CjInfoConversion {
+
+    public static final CjInfoConversion INSTANCE = Mappers.getMapper(CjInfoConversion.class);
+    public abstract List<ApiTzListVo> entitysToVos(List<CjInfo> cjInfos);
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/conversion/TzInfoConversion.java b/src/main/java/cc/mrbird/febs/mall/conversion/TzInfoConversion.java
new file mode 100644
index 0000000..47f9368
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/conversion/TzInfoConversion.java
@@ -0,0 +1,15 @@
+package cc.mrbird.febs.mall.conversion;
+
+import cc.mrbird.febs.mall.entity.TzInfo;
+import cc.mrbird.febs.mall.vo.ApiTzInfoVo;
+import org.mapstruct.Mapper;
+import org.mapstruct.factory.Mappers;
+
+
+@Mapper
+public abstract class TzInfoConversion {
+
+    public static final TzInfoConversion INSTANCE = Mappers.getMapper(TzInfoConversion.class);
+
+    public abstract ApiTzInfoVo entityToVo(TzInfo tzInfo);
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/AddMemberBankDto.java b/src/main/java/cc/mrbird/febs/mall/dto/AddMemberBankDto.java
index 56bce32..595d886 100644
--- a/src/main/java/cc/mrbird/febs/mall/dto/AddMemberBankDto.java
+++ b/src/main/java/cc/mrbird/febs/mall/dto/AddMemberBankDto.java
@@ -8,41 +8,12 @@
 @ApiModel(value = "AddMemberBankDto", description = "参数接收类")
 public class AddMemberBankDto {
 
-    // 姓名
     @ApiModelProperty(value = "姓名")
     private String name;
-    //证件类型
-    @ApiModelProperty(value = "证件类型")
-    private String idType;
-    //证件号码
-    @ApiModelProperty(value = "证件号码")
+    @ApiModelProperty(value = "身份证")
     private String idCardNum;
-    // 银行卡号
-    @ApiModelProperty(value = "银行卡号")
+    @ApiModelProperty(value = "卡号")
     private String bankNo;
-    // 银行卡号
-    @ApiModelProperty(value = "数字账号")
-    private String digitalNo;
-    // 手机号
     @ApiModelProperty(value = "手机号")
     private String phone;
-    // 开户行
-    @ApiModelProperty(value = "开户行")
-    private String bankName;
-    // 开户行
-    @ApiModelProperty(value = "支行")
-    private String subbranchName;
-    // 省
-    @ApiModelProperty(value = "省")
-    private String province;
-    // 市
-    @ApiModelProperty(value = "市")
-    private String city;
-
-    @ApiModelProperty(value = "区")
-    private String qu;
-    // 收款行号
-    @ApiModelProperty(value = "收款行号")
-    private String skhh;
-
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/ApiCreateDto.java b/src/main/java/cc/mrbird/febs/mall/dto/ApiCreateDto.java
new file mode 100644
index 0000000..c1dd03f
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/dto/ApiCreateDto.java
@@ -0,0 +1,15 @@
+package cc.mrbird.febs.mall.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+@ApiModel(value = "ApiCreateDto", description = "参数接收类")
+public class ApiCreateDto {
+    @ApiModelProperty(value = "投注记录")
+    private List<ApiCreateItemDto> items;
+
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/ApiCreateItemDto.java b/src/main/java/cc/mrbird/febs/mall/dto/ApiCreateItemDto.java
new file mode 100644
index 0000000..cbda8bd
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/dto/ApiCreateItemDto.java
@@ -0,0 +1,19 @@
+package cc.mrbird.febs.mall.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+@ApiModel(value = "ApiCreateItemDto", description = "参数接收类")
+public class ApiCreateItemDto {
+
+    @ApiModelProperty(value = "首页下注信息ID")
+    private Long id;//类型 1-按大小 2-按单双 3-按数字
+
+    @ApiModelProperty(value = "投注金额")
+    private BigDecimal tzAmount;//值
+
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/ForgetPwdDto.java b/src/main/java/cc/mrbird/febs/mall/dto/ForgetPwdDto.java
index a07ec67..347a370 100644
--- a/src/main/java/cc/mrbird/febs/mall/dto/ForgetPwdDto.java
+++ b/src/main/java/cc/mrbird/febs/mall/dto/ForgetPwdDto.java
@@ -15,21 +15,17 @@
 @ApiModel(value = "ForgetPwdDto", description = "忘记/修改密码参数接收类")
 public class ForgetPwdDto {
 
-    @ApiModelProperty(value = "登录账号", example = "15773001234")
-    private String accountLogin;
-
-    @NotBlank(message = "账号不能为空")
     @ApiModelProperty(value = "账号", example = "15773001234")
-    private String phone;
-
-    @NotBlank(message = "绑定号码不能为空")
-    @ApiModelProperty(value = "绑定号码", example = "15773001234")
     private String account;
 
     @NotBlank(message = "密码不能为空")
-    @ApiModelProperty(value = "新密码", example = "123456")
+    @ApiModelProperty(value = "密码", example = "123456")
     private String password;
 
+    @NotBlank(message = "确认密码不能为空")
+    @ApiModelProperty(value = "确认密码", example = "123456")
+    private String passwordAgain;
+
     @NotBlank(message = "验证码不能为空")
     @ApiModelProperty(value = "验证码", example = "123456")
     private String code;
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/KjRecordDto.java b/src/main/java/cc/mrbird/febs/mall/dto/KjRecordDto.java
new file mode 100644
index 0000000..7c7794f
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/dto/KjRecordDto.java
@@ -0,0 +1,24 @@
+package cc.mrbird.febs.mall.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author wzy
+ * @date 2021-09-24
+ **/
+@Data
+@ApiModel(value = "KjRecordDto", description = "接收参数类")
+public class KjRecordDto {
+
+    @ApiModelProperty(value = "一页多少个", example = "10")
+    private Integer pageSize;
+
+    @ApiModelProperty(value = "页码", example = "1")
+    private Integer pageNum;
+
+    @ApiModelProperty(hidden = true)
+    private Long memberId;
+
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/OpenPrice.java b/src/main/java/cc/mrbird/febs/mall/dto/OpenPrice.java
new file mode 100644
index 0000000..6a6f9cf
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/dto/OpenPrice.java
@@ -0,0 +1,12 @@
+package cc.mrbird.febs.mall.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class OpenPrice implements Serializable {
+    private static final long serialVersionUID = -1277171780468841527L;
+    private String kjNo;
+    private String kjNum;
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/RegisterDto.java b/src/main/java/cc/mrbird/febs/mall/dto/RegisterDto.java
index d637872..5f688b6 100644
--- a/src/main/java/cc/mrbird/febs/mall/dto/RegisterDto.java
+++ b/src/main/java/cc/mrbird/febs/mall/dto/RegisterDto.java
@@ -11,37 +11,23 @@
  * @date 2021-09-16
  **/
 @Data
-@ApiModel(value = "RegisterDto", description = "用户注册参数接收类")
+@ApiModel(value = "RegisterDto", description = "创建用户")
 public class RegisterDto {
 
-    @NotBlank(message = "账号不能为空")
-    @ApiModelProperty(value = "账号", example = "hjsj")
-    private String accountLogin;
-
-    @NotBlank(message = "手机号不能为空")
-    @ApiModelProperty(value = "手机号", example = "15773001234")
+    @NotBlank(message = "用户名不能为空")
+    @ApiModelProperty(value = "用户名", example = "15773001234")
     private String account;
-
-    @NotBlank(message = "姓名不能为空")
-    @ApiModelProperty(value = "姓名", example = "王大洋")
-    private String name;
 
     @NotBlank(message = "密码不能为空")
     @ApiModelProperty(value = "密码", example = "123456")
     private String password;
 
-    @ApiModelProperty(value = "类型 1-手机号 2-邮箱", example = "1")
-    private String type = "1";
+    @NotBlank(message = "确认密码不能为空")
+    @ApiModelProperty(value = "确认密码", example = "123456")
+    private String passwordAgain;
 
     @NotBlank(message = "验证码不能为空")
     @ApiModelProperty(value = "验证码", example = "123456")
     private String code;
-
-    @NotBlank(message = "邀请码不能为空")
-    @ApiModelProperty(value = "邀请码")
-    private String inviteId;
-
-    @ApiModelProperty(hidden = true)
-    private String registType;
 
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/UpdateMemberBankDto.java b/src/main/java/cc/mrbird/febs/mall/dto/UpdateMemberBankDto.java
index ab64c26..83c9ea6 100644
--- a/src/main/java/cc/mrbird/febs/mall/dto/UpdateMemberBankDto.java
+++ b/src/main/java/cc/mrbird/febs/mall/dto/UpdateMemberBankDto.java
@@ -7,41 +7,14 @@
 @Data
 @ApiModel(value = "UpdateMemberBankDto", description = "参数接收类")
 public class UpdateMemberBankDto {
-
     @ApiModelProperty(value = "ID")
     private Long id;
-    // 姓名
     @ApiModelProperty(value = "姓名")
     private String name;
-    //证件类型
-    @ApiModelProperty(value = "证件类型")
-    private String idType;
-    //证件号码
-    @ApiModelProperty(value = "证件号码")
+    @ApiModelProperty(value = "身份证")
     private String idCardNum;
-    // 银行卡号
-    @ApiModelProperty(value = "银行卡号")
+    @ApiModelProperty(value = "卡号")
     private String bankNo;
-    // 手机号
     @ApiModelProperty(value = "手机号")
     private String phone;
-    // 银行卡号
-    @ApiModelProperty(value = "数字账号")
-    private String digitalNo;
-    // 开户行
-    @ApiModelProperty(value = "开户行")
-    private String bankName;
-    @ApiModelProperty(value = "支行")
-    private String subbranchName;
-    // 省
-    @ApiModelProperty(value = "省")
-    private String province;
-    // 市
-    @ApiModelProperty(value = "市")
-    private String city;
-    @ApiModelProperty(value = "区")
-    private String qu;
-    // 收款行号
-    @ApiModelProperty(value = "收款行号")
-    private String skhh;
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/WithdrawalDto.java b/src/main/java/cc/mrbird/febs/mall/dto/WithdrawalDto.java
index 9e37ecf..74f61e2 100644
--- a/src/main/java/cc/mrbird/febs/mall/dto/WithdrawalDto.java
+++ b/src/main/java/cc/mrbird/febs/mall/dto/WithdrawalDto.java
@@ -18,22 +18,9 @@
 public class WithdrawalDto {
 
     @Min(0)
-    @NotNull(message = "参数不能为空")
+    @NotNull(message = "金额不能为空")
     @ApiModelProperty(value = "金额")
     private BigDecimal amount;
-
-    @ApiModelProperty(value = "绿色积分数量")
-    private BigDecimal voucherCnt;
-
-    @NotBlank(message = "参数不能为空")
-    @ApiModelProperty(value = "交易密码")
-    private String tradePwd;
-
-    @ApiModelProperty(value = "银行卡号")
-    private String bankNo;
-
-    @ApiModelProperty(value = "姓名")
-    private String name;
 
     @NotNull(message = "银行卡不能为空")
     @ApiModelProperty(value = "用户银行卡ID")
diff --git a/src/main/java/cc/mrbird/febs/mall/entity/CjInfo.java b/src/main/java/cc/mrbird/febs/mall/entity/CjInfo.java
new file mode 100644
index 0000000..ff59c37
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/entity/CjInfo.java
@@ -0,0 +1,23 @@
+package cc.mrbird.febs.mall.entity;
+
+import cc.mrbird.febs.common.entity.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+@Data
+@TableName("cj_info")
+public class CjInfo extends BaseEntity {
+    private Long memberId;//
+    private BigDecimal totalAmount;//投注总金额
+    private String kjNo;//开奖编号
+    private String kjNum;//开奖数字
+    private Integer kjState;//是否开奖 0-未开奖 1-已开奖
+    private Integer zjState;//中奖状态 0-未中奖 1-中奖
+    private BigDecimal perkAmount;//中奖总金额
+    @TableField(exist = false)
+    private List<CjItem> items;
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/entity/CjItem.java b/src/main/java/cc/mrbird/febs/mall/entity/CjItem.java
new file mode 100644
index 0000000..24b5870
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/entity/CjItem.java
@@ -0,0 +1,21 @@
+package cc.mrbird.febs.mall.entity;
+
+import cc.mrbird.febs.common.entity.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+@TableName("cj_item")
+public class CjItem extends BaseEntity {
+
+    private Long infoId;//主表ID
+    private Long memberId;//
+    private Long tzId;//投注信息ID
+    private Integer type;//投注类型 1-按大小 2-按单双 3-按数字
+    private BigDecimal amount;//投入金额
+    private String itemNum;//投注数字
+    private String kjNum;//中奖号码
+    private BigDecimal perkAmount;//中奖金额
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/entity/KjRecord.java b/src/main/java/cc/mrbird/febs/mall/entity/KjRecord.java
new file mode 100644
index 0000000..9298d64
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/entity/KjRecord.java
@@ -0,0 +1,12 @@
+package cc.mrbird.febs.mall.entity;
+
+import cc.mrbird.febs.common.entity.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+@Data
+@TableName("kj_record")
+public class KjRecord  extends BaseEntity {
+    private String kjNo;//开奖编号
+    private String kjNum;//开奖数字
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/entity/MallMemberPayment.java b/src/main/java/cc/mrbird/febs/mall/entity/MallMemberPayment.java
index 396c31f..710cb01 100644
--- a/src/main/java/cc/mrbird/febs/mall/entity/MallMemberPayment.java
+++ b/src/main/java/cc/mrbird/febs/mall/entity/MallMemberPayment.java
@@ -2,6 +2,7 @@
 
 import cc.mrbird.febs.common.entity.BaseEntity;
 import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 /**
@@ -26,18 +27,13 @@
 
     private String aliAccount;
 
-    /**
-     * 持卡人姓名
-     */
+    @ApiModelProperty(value = "姓名")
     private String bankName;
-
-    /**
-     * 银行卡号
-     */
+    @ApiModelProperty(value = "身份证号")
+    private String idCardNo;
+    @ApiModelProperty(value = "卡号")
     private String bankNo;
+    @ApiModelProperty(value = "手机号")
+    private String phone;
 
-    /**
-     * 开户行
-     */
-    private String bank;
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/entity/TzInfo.java b/src/main/java/cc/mrbird/febs/mall/entity/TzInfo.java
new file mode 100644
index 0000000..7b45594
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/entity/TzInfo.java
@@ -0,0 +1,16 @@
+package cc.mrbird.febs.mall.entity;
+
+import cc.mrbird.febs.common.entity.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+@TableName("tz_info")
+public class TzInfo extends BaseEntity {
+
+    private Integer type;//类型 1-按大小 2-按单双 3-按数字
+    private String tzCode;//值
+    private BigDecimal tzPercent;//获奖倍率
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/CjInfoMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/CjInfoMapper.java
new file mode 100644
index 0000000..b958b14
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/CjInfoMapper.java
@@ -0,0 +1,14 @@
+package cc.mrbird.febs.mall.mapper;
+
+import cc.mrbird.febs.mall.dto.KjRecordDto;
+import cc.mrbird.febs.mall.entity.CjInfo;
+import cc.mrbird.febs.mall.vo.ApiTzListVo;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.ibatis.annotations.Param;
+
+public interface CjInfoMapper  extends BaseMapper<CjInfo> {
+
+    IPage<CjInfo> selectTzListByMemberId(IPage<CjInfo> page, @Param("record")KjRecordDto kjRecordDto);
+
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/CjItemMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/CjItemMapper.java
new file mode 100644
index 0000000..8066114
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/CjItemMapper.java
@@ -0,0 +1,7 @@
+package cc.mrbird.febs.mall.mapper;
+
+import cc.mrbird.febs.mall.entity.CjItem;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+public interface CjItemMapper extends BaseMapper<CjItem> {
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/KjRecordMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/KjRecordMapper.java
new file mode 100644
index 0000000..7d73f53
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/KjRecordMapper.java
@@ -0,0 +1,17 @@
+package cc.mrbird.febs.mall.mapper;
+
+import cc.mrbird.febs.mall.dto.KjRecordDto;
+import cc.mrbird.febs.mall.entity.KjRecord;
+import cc.mrbird.febs.mall.vo.ApiKjRecordVo;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.ibatis.annotations.Param;
+
+public interface KjRecordMapper extends BaseMapper<KjRecord> {
+
+    IPage<ApiKjRecordVo> selectListInPage(IPage<ApiKjRecordVo> page, KjRecordDto kjRecordDto);
+
+    KjRecord selectOneByLimitZero(@Param("limitFrom")int limitFrom, @Param("limitSize")int limitSize);
+
+    KjRecord selectKjNo(@Param("kjNo")String kjNo);
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/TzInfoMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/TzInfoMapper.java
new file mode 100644
index 0000000..40d546f
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/TzInfoMapper.java
@@ -0,0 +1,7 @@
+package cc.mrbird.febs.mall.mapper;
+
+import cc.mrbird.febs.mall.entity.TzInfo;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+public interface TzInfoMapper extends BaseMapper<TzInfo> {
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/quartz/OrderOvertimeJob.java b/src/main/java/cc/mrbird/febs/mall/quartz/OrderOvertimeJob.java
index c9ca6a6..8e77687 100644
--- a/src/main/java/cc/mrbird/febs/mall/quartz/OrderOvertimeJob.java
+++ b/src/main/java/cc/mrbird/febs/mall/quartz/OrderOvertimeJob.java
@@ -25,21 +25,21 @@
     @Autowired
     private MallOrderInfoMapper orderInfoMapper;
 
-    @Scheduled(cron = "0 0/5 * * * ? ")
-    public void overtimeJob() {
-        log.info("订单超时任务执行");
-        List<MallOrderInfo> orderList = orderInfoMapper.selectOrderInfoByStatus(OrderStatusEnum.WAIT_PAY.getValue());
-        if (CollUtil.isNotEmpty(orderList)) {
-            for (MallOrderInfo orderInfo : orderList) {
-                long subTime = DateUtil.between(orderInfo.getOrderTime(), new Date(), DateUnit.MINUTE, false);
-
-                if (subTime > 15) {
-                    orderInfo.setStatus(OrderStatusEnum.CANCEL.getValue());
-                    orderInfo.setCancelType(MallOrderInfo.CANCEL_OVERTIME_NO_PAY);
-                    orderInfoMapper.updateById(orderInfo);
-                }
-            }
-        }
-
-    }
+//    @Scheduled(cron = "0 0/5 * * * ? ")
+//    public void overtimeJob() {
+//        log.info("订单超时任务执行");
+//        List<MallOrderInfo> orderList = orderInfoMapper.selectOrderInfoByStatus(OrderStatusEnum.WAIT_PAY.getValue());
+//        if (CollUtil.isNotEmpty(orderList)) {
+//            for (MallOrderInfo orderInfo : orderList) {
+//                long subTime = DateUtil.between(orderInfo.getOrderTime(), new Date(), DateUnit.MINUTE, false);
+//
+//                if (subTime > 15) {
+//                    orderInfo.setStatus(OrderStatusEnum.CANCEL.getValue());
+//                    orderInfo.setCancelType(MallOrderInfo.CANCEL_OVERTIME_NO_PAY);
+//                    orderInfoMapper.updateById(orderInfo);
+//                }
+//            }
+//        }
+//
+//    }
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/quartz/OrderSettlementJob.java b/src/main/java/cc/mrbird/febs/mall/quartz/OrderSettlementJob.java
index cd0becc..608bedb 100644
--- a/src/main/java/cc/mrbird/febs/mall/quartz/OrderSettlementJob.java
+++ b/src/main/java/cc/mrbird/febs/mall/quartz/OrderSettlementJob.java
@@ -90,12 +90,12 @@
 //        }
 //    }
 
-    /**
-     * 自动确认收货
-     */
-    @Scheduled(cron = "0 0 0 * * ?")
-    public void orderAutoConfirmJob() {
-        log.info("自动确认收货");
-        mallOrderInfoMapper.updateOrderConfirmStatus(DateUtil.offsetDay(new Date(), -7));
-    }
+//    /**
+//     * 自动确认收货
+//     */
+//    @Scheduled(cron = "0 0 0 * * ?")
+//    public void orderAutoConfirmJob() {
+//        log.info("自动确认收货");
+//        mallOrderInfoMapper.updateOrderConfirmStatus(DateUtil.offsetDay(new Date(), -7));
+//    }
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/quartz/ProfitJob.java b/src/main/java/cc/mrbird/febs/mall/quartz/ProfitJob.java
index fe90cf4..c1a44ac 100644
--- a/src/main/java/cc/mrbird/febs/mall/quartz/ProfitJob.java
+++ b/src/main/java/cc/mrbird/febs/mall/quartz/ProfitJob.java
@@ -7,10 +7,7 @@
 import cc.mrbird.febs.mall.entity.MallMoneyFlow;
 import cc.mrbird.febs.mall.mapper.MallMemberMapper;
 import cc.mrbird.febs.mall.mapper.MallMoneyFlowMapper;
-import cc.mrbird.febs.mall.service.IAgentService;
-import cc.mrbird.febs.mall.service.IApiMallMemberService;
-import cc.mrbird.febs.mall.service.IApiMallMemberWalletService;
-import cc.mrbird.febs.mall.service.IMemberProfitService;
+import cc.mrbird.febs.mall.service.*;
 import cc.mrbird.febs.mall.service.impl.CommonService;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.date.DateTime;
@@ -36,112 +33,14 @@
 public class ProfitJob {
 
     @Autowired
-    private IMemberProfitService memberProfitService;
-    @Autowired
-    private IAgentService agentService;
-
+    private CJService cjService;
     /**
-     * 代理分红
+     * 十分钟开奖一次
+     *      生成一条开奖记录(只生成编号)
+     *      十分钟延迟的消息队列去开奖(产生一个中奖号码)
      */
-//    @Scheduled(cron = "0 30 0 * * ?")
-//    public void profitJob() {
-//        memberProfitService.agentProfit(null);
-//    }
-
-//    @Scheduled(cron = "0 30 1 * * ?")
-//    public void storeAndDirectorJob() {
-//        memberProfitService.storeAndDirectorProfit(null);
-//    }
-
-//    /**
-//     * 线下服务中心补贴
-//     */
-//    @Scheduled(cron = "0 0 1 * * ?")
-//    public void thankfulJob() {
-//        memberProfitService.thankfulProfit(null);
-//    }
-
-    /**
-     * 代理商补贴 TODO 需要去掉注释
-     */
-    @Scheduled(cron = "0 0 1 * * ?")
-    public void agentPerkJob() {
-        memberProfitService.agentPerkJob(null);
+    @Scheduled(cron = "0 0/10 * * * ? ")
+    public void createKjRecord() {
+        cjService.createKjRecord();
     }
-
-    /**
-     * 线下服务中心补贴
-     */
-    @Scheduled(cron = "0 0 1 * * ?")
-    public void offLinePerkJob() {
-        memberProfitService.offLinePerkJob(null);
-    }
-
-    /**
-     * 平级奖励补贴
-     */
-    @Scheduled(cron = "0 0 1 * * ?")
-    public void teamEqualsPerkJob() {
-        memberProfitService.teamEqualsPerkJob(null);
-    }
-
-    /**
-     * 补贴消息--重试
-     *  一个小时运行一次
-     */
-    @Scheduled(cron = "0 0/5 * * * ?")
-    public void mqPerkRetryJob() {
-        memberProfitService.mqPerkRetryJob();
-    }
-    /**
-     * 联创、合伙人的每日绿色凭证释放
-     */
-    @Scheduled(cron = "0 0 1 * * ?")
-    public void scoreRecordReleaseJob() {
-        memberProfitService.scoreRecordReleaseJob();
-    }
-
-    /**
-     * 业绩产生凭证
-     */
-    @Scheduled(cron = "0 0 1 * * ?")
-    public void achieveReleaseJob() {
-        memberProfitService.achieveReleaseJob();
-    }
-
-    /**
-     * 代理星级补贴
-     */
-    @Scheduled(cron = "0 0 0 * * ?")
-    public void perkAgentAchieveJob() {
-        agentService.perkAgent();
-    }
-
-
-
-
-    /**
-     * 静态分红
-     */
-//    @Scheduled(cron = "0 0 0 * * ?")
-//    public void staticProfitJob() {
-//        memberProfitService.staticProfit(null);
-//    }
-
-    /**
-     * 排名奖 每月1号
-     */
-//    @Scheduled(cron = "0 30 0 1 * ?")
-//    public void rankJob() {
-//        memberProfitService.rankProfit();
-//    }
-
-    /**
-     * 积分池,所有消费拿出10%放到积分池,然后按1%每天释放加权平分
-     */
-//    @Scheduled(cron = "0 0 2 * * ?")
-//    @Scheduled(cron = "0 0/5 * * * ? ")
-//    public void scorePool() {
-//        memberProfitService.scorePool();
-//    }
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/service/CJService.java b/src/main/java/cc/mrbird/febs/mall/service/CJService.java
new file mode 100644
index 0000000..a453aa9
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/service/CJService.java
@@ -0,0 +1,33 @@
+package cc.mrbird.febs.mall.service;
+
+import cc.mrbird.febs.common.entity.FebsResponse;
+import cc.mrbird.febs.mall.dto.ApiCreateDto;
+import cc.mrbird.febs.mall.dto.KjRecordDto;
+import cc.mrbird.febs.mall.entity.CjInfo;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+public interface CJService extends IService<CjInfo> {
+
+    FebsResponse kjRecord(KjRecordDto kjRecordDto);
+
+    /**
+     * 十分钟开奖一次
+     *      生成一条开奖记录(只生成编号)
+     *      十分钟延迟的消息队列去开奖(产生一个中奖号码)
+     */
+    void createKjRecord();
+
+    FebsResponse kjInfo();
+
+    void getChouJiangDelayMsg(String kjNo);
+
+    FebsResponse tzInfo();
+
+    FebsResponse create(ApiCreateDto apiCreateDto);
+
+    FebsResponse tzInfoList(KjRecordDto kjRecordDto);
+
+    void getNoTimeDelayMsg(String kjNo);
+
+    void getOpenPriceMsg(String kjNo, String kjNum);
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java b/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java
index eac33fe..2e1bb67 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java
@@ -59,8 +59,6 @@
 
     MallShopApply findNewestApply();
 
-    void addRegisterAppeal(RegisterAppealDto registerAppeal);
-
     CashOutSettingVo cashOutSetting();
 
     List<ShopListVo> findShopListVo(ShopListDto shopListDto);
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
index c308fb8..b584790 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
@@ -67,109 +67,47 @@
     @Transactional(rollbackFor = Exception.class)
     @Override
     public FebsResponse register(RegisterDto registerDto) {
-//        MallMember mallMember = this.baseMapper.selectInfoByAccount(registerDto.getAccount());
-//        if (mallMember != null) {
-//            throw new FebsException("该账号已被占用");
-//        }
-        String accountLogin = registerDto.getAccountLogin();
-        MallMember mallMember = this.baseMapper.selectByAccountLogin(accountLogin);
-        if (mallMember != null) {
-            throw new FebsException("该账号已被占用");
-        }
-
-//        List<MallMember> mallMembers = this.baseMapper.selectMemberByName(registerDto.getName());
-//        if (CollUtil.isNotEmpty(mallMembers)) {
-//            MallRegisterAppeal registerAppeal = mallRegisterAppealMapper.selectByPhoneAndName(registerDto.getName(), registerDto.getAccount());
-//            if (registerAppeal == null || registerAppeal.getStatus() != 1) {
-//                return new FebsResponse().code(HttpStatus.ACCEPTED).message("用户名已存在");
-//            }
-//        }
-
         String account = registerDto.getAccount();
-        if (!"admin".equals(registerDto.getRegistType())) {
-            String code = registerDto.getCode();
+        MallMember mallMember = this.baseMapper.selectInfoByAccount(account);
+        if (mallMember != null) {
+            throw new FebsException("账号已注册");
+        }
+        String code = registerDto.getCode();
+        if(!AppContants.PUBLIC_CODE.equals(code)){
             boolean flags = commonService.verifyCode(account, code);
             if (!flags) {
                 throw new FebsException("验证码错误");
             }
         }
-
         mallMember = new MallMember();
-        mallMember.setAccountLogin(accountLogin);
+        mallMember.setAccountLogin(account);
         mallMember.setPassword(SecureUtil.md5(registerDto.getPassword()));
-
-        // 判断账号类型
-        if (AppContants.ACCOUNT_TYPE_MOBILE.equals(registerDto.getType())) {
-            mallMember.setPhone(registerDto.getAccount());
-        } else {
-            mallMember.setEmail(registerDto.getAccount());
-        }
-
-        Integer count = this.baseMapper.selectCount(null);
-        if (count != null && count != 0) {
-            MallMember inviteMember = this.baseMapper.selectInfoByInviteId(registerDto.getInviteId());
-            if (inviteMember == null) {
-                throw new FebsException("邀请码不存在");
-            }
-
-            mallMember.setReferrerId(registerDto.getInviteId());
-
-        }
-        mallMember.setName(registerDto.getName());
+        mallMember.setPhone(registerDto.getAccount());
+        mallMember.setEmail(registerDto.getAccount());
+        mallMember.setName(account);
         mallMember.setAccountStatus(MallMember.ACCOUNT_STATUS_ENABLE);
         mallMember.setAccountType(MallMember.ACCOUNT_TYPE_NORMAL);
         mallMember.setLevel(AgentLevelEnum.ZERO_LEVEL.getCode());
         mallMember.setSex("男");
-        mallMember.setBindPhone(registerDto.getAccount());
-
-        this.baseMapper.insert(mallMember);
-
+        mallMember.setBindPhone(account);
         String inviteId = ShareCodeUtil.toSerialCode(mallMember.getId());
         mallMember.setInviteId(inviteId);
-
-        //推荐人和推荐人链
-        boolean flag = false;
-        String parentId = mallMember.getReferrerId();
-        if (StrUtil.isBlank(parentId)) {
-            flag = true;
-        }
-        String ids = "";
-        while (!flag) {
-            if (StrUtil.isBlank(ids)) {
-                ids += parentId;
-            } else {
-                ids += ("," + parentId);
-            }
-            MallMember parentMember = this.baseMapper.selectInfoByInviteId(parentId);
-            if (parentMember == null) {
-                break;
-            }
-            parentId = parentMember.getReferrerId();
-            if (StrUtil.isBlank(parentMember.getReferrerId())) {
-                flag = true;
-            }
-        }
-
-        if (StrUtil.isNotBlank(ids)) {
-            mallMember.setReferrerIds(ids);
-        }
-        this.baseMapper.updateById(mallMember);
+        this.baseMapper.insert(mallMember);
 
         MallMemberWallet wallet = new MallMemberWallet();
         wallet.setBalance(BigDecimal.ZERO);
         wallet.setMemberId(mallMember.getId());
         mallMemberWalletMapper.insert(wallet);
-        return new FebsResponse().success().message("注册成功");
+        return new FebsResponse().success().message("操作成功");
     }
 
     @Override
     public FebsResponse toLogin(LoginDto loginDto) {
         String md5Pwd = SecureUtil.md5(loginDto.getPassword());
 
-//        MallMember mallMember = this.baseMapper.selectInfoByAccountAndPwd(loginDto.getAccount(), md5Pwd);
-        MallMember mallMember = this.baseMapper.selectInfoByAccountLoginAndPwd(loginDto.getAccount(), md5Pwd);
+        MallMember mallMember = this.baseMapper.selectInfoByAccountAndPwd(loginDto.getAccount(), md5Pwd);
         if (mallMember == null) {
-            throw new FebsException("用户不存在或账号密码错误");
+            throw new FebsException("账号密码错误");
         }
 
         if (MallMember.ACCOUNT_STATUS_DISABLED.equals(mallMember.getAccountStatus())) {
@@ -204,13 +142,11 @@
         Long id = LoginUserUtil.getLoginUser().getId();
         MallMember mallMember = this.baseMapper.selectById(id);
 
-//        MallMember mallMember = this.baseMapper.selectInfoByAccount(forgetPwdDto.getPhone());
-//        MallMember mallMember = this.baseMapper.selectInfoByAccount(forgetPwdDto.getAccount());
         if (mallMember == null) {
             throw new FebsException("账号不存在");
         }
 
-        boolean b = commonService.verifyCode(forgetPwdDto.getAccount(), forgetPwdDto.getCode());
+        boolean b = commonService.verifyCode(mallMember.getPhone(), forgetPwdDto.getCode());
         if (!b) {
             throw new FebsException("验证码错误");
         }
@@ -219,49 +155,23 @@
         mallMember.setPassword(pwd);
 
         this.baseMapper.updateById(mallMember);
-        return new FebsResponse().success().message("重置成功");
+        return new FebsResponse().success().message("操作成功");
     }
 
     @Override
     public FebsResponse logout() {
         Long id = LoginUserUtil.getLoginUser().getId();
         redisUtils.del(AppContants.APP_LOGIN_PREFIX + id);
-        return new FebsResponse().success().message("退出登录");
+        return new FebsResponse().success().message("操作成功");
     }
 
     @Override
     public FebsResponse findMemberInfo() {
         Long id = LoginUserUtil.getLoginUser().getId();
         MallMember mallMember = this.baseMapper.selectById(id);
-
         MallMemberVo mallMemberVo = MallMemberConversion.INSTANCE.entityToVo(mallMember);
-
-        MallMember referMember = this.baseMapper.selectInfoByInviteId(mallMember.getReferrerId());
-        if (referMember != null) {
-            mallMemberVo.setReferrerName(referMember.getName());
-        }
-
-        if (StrUtil.isNotBlank(mallMember.getTradePassword())) {
-            mallMemberVo.setHasTradePwd(1);
-        }
-
-        MallMemberPayment payment = mallMemberPaymentMapper.selectByMemberId(id);
-        if (payment != null) {
-            mallMemberVo.setHasPayment(1);
-        }
-
-        DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(AppContants.AGENT_LEVEL, mallMember.getLevel());
-        if (dic != null) {
-            mallMemberVo.setLevelName(dic.getDescription());
-        }
         MallMemberWallet wallet = mallMemberWalletMapper.selectWalletByMemberId(mallMemberVo.getId());
         mallMemberVo.setBalance(wallet.getBalance());
-        mallMemberVo.setScore(wallet.getScore());
-        mallMemberVo.setPrizeScore(wallet.getPrizeScore());
-        mallMemberVo.setTotalScore(wallet.getTotalScore());
-        mallMemberVo.setStar(wallet.getStar());
-        mallMemberVo.setVoucherCnt(wallet.getVoucherCnt());
-        mallMemberVo.setTotalCost(mallOrderInfoMapper.selectTotalAmount(id));
         return new FebsResponse().success().data(mallMemberVo);
     }
 
@@ -469,14 +379,7 @@
     public BigDecimal canMoney() {
         Long memberId = LoginUserUtil.getLoginUser().getId();
         MallMemberWallet wallet = mallMemberWalletMapper.selectWalletByMemberId(memberId);
-        BigDecimal profit = mallMoneyFlowMapper.selectProfitByDateAndMemberId(memberId);
-
-        BigDecimal canMoney = wallet.getCommission();
-        if (profit != null) {
-            if(canMoney.compareTo(BigDecimal.ZERO) > 0) {
-                canMoney = canMoney.subtract(profit);
-            }
-        }
+        BigDecimal canMoney = wallet.getBalance();
         return canMoney;
     }
 
@@ -551,21 +454,6 @@
     }
 
     @Override
-    public void addRegisterAppeal(RegisterAppealDto registerAppeal) {
-        MallRegisterAppeal isExist = mallRegisterAppealMapper.selectByPhoneAndName(registerAppeal.getName(), registerAppeal.getPhone());
-        if (isExist != null) {
-            throw new FebsException("申诉已存在");
-        }
-
-        isExist = new MallRegisterAppeal();
-        isExist.setName(registerAppeal.getName());
-        isExist.setPhone(registerAppeal.getPhone());
-        isExist.setStatus(2);
-
-        mallRegisterAppealMapper.insert(isExist);
-    }
-
-    @Override
     public CashOutSettingVo cashOutSetting() {
         CashOutSettingVo cashOutSettingVo = new CashOutSettingVo();
         DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.CASHOUT_SETTING.getType(), DataDictionaryEnum.CASHOUT_SETTING.getCode());
@@ -608,7 +496,7 @@
         MallMemberBank mallMemberBank = MallMemberBankConversion.INSTANCE.dtoToentity(addMemberBankDto);
         mallMemberBank.setMemberId(member.getId());
         mallMemberBankMapper.insert(mallMemberBank);
-        return new FebsResponse().success();
+        return new FebsResponse().success().message("操作成功");
     }
 
     @Override
@@ -633,16 +521,9 @@
         Long id = updateMemberBankDto.getId();
         MallMemberBank mallMemberBank = mallMemberBankMapper.selectById(id);
         mallMemberBank.setName(updateMemberBankDto.getName());
-        mallMemberBank.setIdType(updateMemberBankDto.getIdType());
         mallMemberBank.setIdCardNum(updateMemberBankDto.getIdCardNum());
         mallMemberBank.setBankNo(updateMemberBankDto.getBankNo());
         mallMemberBank.setPhone(updateMemberBankDto.getPhone());
-        mallMemberBank.setDigitalNo(updateMemberBankDto.getDigitalNo());
-        mallMemberBank.setBankName(updateMemberBankDto.getBankName());
-        mallMemberBank.setSubbranchName(updateMemberBankDto.getSubbranchName());
-        mallMemberBank.setProvince(updateMemberBankDto.getProvince());
-        mallMemberBank.setCity(updateMemberBankDto.getCity());
-        mallMemberBank.setSkhh(updateMemberBankDto.getSkhh());
         mallMemberBankMapper.updateById(mallMemberBank);
         return new FebsResponse().success();
     }
@@ -666,7 +547,7 @@
 
     @Override
     public FebsResponse pwdForget(ForgetPwdDto forgetPwdDto) {
-        MallMember mallMember = this.baseMapper.selectInfoByAccountNew(forgetPwdDto.getAccountLogin(),forgetPwdDto.getPhone());
+        MallMember mallMember = this.baseMapper.selectInfoByAccount(forgetPwdDto.getAccount());
         if(ObjectUtil.isEmpty(mallMember)){
             throw new FebsException("账号不存在");
         }
@@ -680,6 +561,6 @@
         mallMember.setPassword(pwd);
 
         this.baseMapper.updateById(mallMember);
-        return new FebsResponse().success().message("重置成功");
+        return new FebsResponse().success().message("操作成功");
     }
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
index d23ad06..b2c00aa 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
@@ -236,7 +236,6 @@
         }
         this.baseMapper.updateById(orderInfo);
 
-        agentProducer.sendOrderCancelDelayMsg(orderInfo.getId(), 15 * 60 * 1000L);
         return orderInfo.getId();
     }
 
@@ -361,10 +360,6 @@
                 mallMqRecord.setRetryTimes(2);
                 mallMqRecord.setCreateTime(orderInfo.getPayTime());
                 mallMqRecordMapper.insert(mallMqRecord);
-                //发送补贴消息
-                agentProducer.sendPerkMoneyMsg(orderInfo.getId());
-                //发送代理自动升级消息
-                agentProducer.sendAutoLevelUpMsg(member.getId());
                 break;
             case "4":
                 if (orderInfo.getOrderType() != 2) {
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/CJServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/CJServiceImpl.java
new file mode 100644
index 0000000..3df8f3b
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/CJServiceImpl.java
@@ -0,0 +1,284 @@
+package cc.mrbird.febs.mall.service.impl;
+
+import cc.mrbird.febs.common.entity.FebsResponse;
+import cc.mrbird.febs.common.enumerates.DataDictionaryEnum;
+import cc.mrbird.febs.common.enumerates.FlowTypeEnum;
+import cc.mrbird.febs.common.enumerates.MoneyFlowTypeNewEnum;
+import cc.mrbird.febs.common.exception.FebsException;
+import cc.mrbird.febs.common.utils.*;
+import cc.mrbird.febs.mall.conversion.CjInfoConversion;
+import cc.mrbird.febs.mall.conversion.TzInfoConversion;
+import cc.mrbird.febs.mall.dto.ApiCreateDto;
+import cc.mrbird.febs.mall.dto.ApiCreateItemDto;
+import cc.mrbird.febs.mall.dto.KjRecordDto;
+import cc.mrbird.febs.mall.dto.OpenPrice;
+import cc.mrbird.febs.mall.entity.*;
+import cc.mrbird.febs.mall.mapper.*;
+import cc.mrbird.febs.mall.service.CJService;
+import cc.mrbird.febs.mall.service.IApiMallMemberService;
+import cc.mrbird.febs.mall.vo.ApiKjInfoVo;
+import cc.mrbird.febs.mall.vo.ApiKjRecordVo;
+import cc.mrbird.febs.mall.vo.ApiTzInfoVo;
+import cc.mrbird.febs.mall.vo.ApiTzListVo;
+import cc.mrbird.febs.rabbit.producter.AgentProducer;
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.RandomUtil;
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.math.BigDecimal;
+import java.text.ParseException;
+import java.util.ArrayList;
+import java.util.List;
+
+@Slf4j
+@Service
+@RequiredArgsConstructor
+public class CJServiceImpl extends ServiceImpl<CjInfoMapper, CjInfo> implements CJService {
+
+    private final KjRecordMapper kjRecordMapper;
+    private final RedisUtils redisUtils;
+    private final DataDictionaryCustomMapper dataDictionaryCustomMapper;
+    private final AgentProducer agentProducer;
+    private final TzInfoMapper tzInfoMapper;
+    private final MallMemberWalletMapper mallMemberWalletMapper;
+    private final CjInfoMapper cjInfoMapper;
+    private final CjItemMapper cjItemMapper;
+    private final IApiMallMemberService mallMemberService;
+
+    @Override
+    public FebsResponse kjRecord(KjRecordDto kjRecordDto) {
+        IPage<ApiKjRecordVo> page = new Page<>(kjRecordDto.getPageNum(), kjRecordDto.getPageSize());
+        IPage<ApiKjRecordVo> pages = kjRecordMapper.selectListInPage(page, kjRecordDto);
+        return new FebsResponse().success().data(pages);
+    }
+
+    @Override
+    public void createKjRecord() {
+        KjRecord kjRecord = new KjRecord();
+        String kjNo = MallUtils.getOrderNum();
+        kjRecord.setKjNo(kjNo);
+        kjRecordMapper.insert(kjRecord);
+        /**
+         * redis中设置下一期的开奖编号和开奖时间
+         */
+        //开奖编号
+        String recordNoExit = redisUtils.getString(AppContants.KJ_RECORD_NO);
+        if (StrUtil.isNotBlank(recordNoExit)) {
+            redisUtils.del(AppContants.KJ_RECORD_NO);
+        }
+        redisUtils.set(AppContants.KJ_RECORD_NO, kjNo, 600);
+        //开奖时间
+        if (StrUtil.isNotBlank(redisUtils.getString(AppContants.KJ_RECORD_TIME))) {
+            redisUtils.del(AppContants.KJ_RECORD_TIME);
+        }
+        redisUtils.set(AppContants.KJ_RECORD_TIME, kjRecord.getCreatedTime(), 600);
+
+        agentProducer.sendChouJiangDelayMsg(kjNo, 10 * 60 * 1000L);
+        agentProducer.sendNoTimeDelayMsg(kjNo, 95 * 6 * 1000L);//提前三十秒停止下注
+
+    }
+
+    @Override
+    public FebsResponse kjInfo() {
+        ApiKjInfoVo apiKjInfoVo = new ApiKjInfoVo();
+        String kjNoOld = redisUtils.getString(AppContants.KJ_RECORD_NO_OLD);
+        String kjNumOld = redisUtils.getString(AppContants.KJ_RECORD_NUM_OLD);
+        if(StrUtil.isBlank(kjNoOld)){
+            KjRecord kjRecordOld = kjRecordMapper.selectOneByLimitZero(1,1);
+            if(ObjectUtil.isNotEmpty(kjRecordOld)){
+                apiKjInfoVo.setKjNoOld(kjRecordOld.getKjNo());
+                apiKjInfoVo.setKjNumOld(kjRecordOld.getKjNum());
+            }
+        }else{
+            apiKjInfoVo.setKjNoOld(kjNoOld);
+            apiKjInfoVo.setKjNumOld(kjNumOld);
+        }
+
+        String kjNo = redisUtils.getString(AppContants.KJ_RECORD_NO);
+        String createdTime = redisUtils.getString(AppContants.KJ_RECORD_TIME);
+        if(StrUtil.isBlank(kjNo)){
+            KjRecord kjRecord = kjRecordMapper.selectOneByLimitZero(0,1);
+            if(ObjectUtil.isNotEmpty(kjRecord)){
+                apiKjInfoVo.setKjNo(kjRecord.getKjNo());
+                apiKjInfoVo.setCreatedTime(kjRecord.getCreatedTime().toString());
+            }
+        }else{
+            apiKjInfoVo.setKjNo(kjNo);
+            try {
+                apiKjInfoVo.setCreatedTime(DateUtil.formatCstTime(createdTime, DateUtil.FULL_TIME_SPLIT_PATTERN));
+            } catch (ParseException e) {
+                e.printStackTrace();
+            }
+        }
+
+        DataDictionaryCustom timeIntervalDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.TIME_INTERVAL.getType(),
+                DataDictionaryEnum.TIME_INTERVAL.getCode()
+        );
+        apiKjInfoVo.setDjs(Integer.parseInt(timeIntervalDic.getValue()));
+        return new FebsResponse().success().data(apiKjInfoVo);
+    }
+
+    @Override
+    public void getChouJiangDelayMsg(String kjNo) {
+        //开启下注
+        DataDictionaryCustom noTimeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.NO_TIME.getType(),
+                DataDictionaryEnum.NO_TIME.getCode()
+        );
+        noTimeDic.setValue("1");
+        dataDictionaryCustomMapper.updateById(noTimeDic);
+        //开奖
+        KjRecord kjRecord = kjRecordMapper.selectKjNo(kjNo);
+        if(ObjectUtil.isEmpty(kjRecord)){
+            return;
+        }
+        int randomInt = RandomUtil.randomInt(1, 25);
+        kjRecord.setKjNum( String.valueOf(randomInt));
+        kjRecordMapper.updateById(kjRecord);
+
+        //开奖编号
+        String recordNoExit = redisUtils.getString(AppContants.KJ_RECORD_NO_OLD);
+        if (StrUtil.isNotBlank(recordNoExit)) {
+            redisUtils.del(AppContants.KJ_RECORD_NO_OLD);
+        }
+        redisUtils.set(AppContants.KJ_RECORD_NO_OLD, kjNo, 600);
+
+        //开奖号码
+        if (StrUtil.isNotBlank(redisUtils.getString(AppContants.KJ_RECORD_NUM_OLD))) {
+            redisUtils.del(AppContants.KJ_RECORD_NUM_OLD);
+        }
+        redisUtils.set(AppContants.KJ_RECORD_NUM_OLD, randomInt, 600);
+        OpenPrice openPrice = new OpenPrice();
+        openPrice.setKjNo(kjNo);
+        openPrice.setKjNum(String.valueOf(randomInt));
+        agentProducer.sendOpenPriceMsg(openPrice);
+
+    }
+
+    @Override
+    public FebsResponse tzInfo() {
+        ArrayList<ApiTzInfoVo> objects = new ArrayList<>();
+
+        List<TzInfo> tzInfos = tzInfoMapper.selectList(null);
+        if(CollUtil.isNotEmpty(tzInfos)){
+            for(TzInfo tzInfo : tzInfos){
+                ApiTzInfoVo apiTzInfoVo = TzInfoConversion.INSTANCE.entityToVo(tzInfo);
+                objects.add(apiTzInfoVo);
+            }
+        }
+        return new FebsResponse().success().data(objects);
+    }
+
+    @Override
+    @Transactional
+    public FebsResponse create(ApiCreateDto apiCreateDto) {
+//        Long memberId = LoginUserUtil.getLoginUser().getId();
+        Long memberId = 1L;
+        //开启下注
+        DataDictionaryCustom noTimeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.NO_TIME.getType(),
+                DataDictionaryEnum.NO_TIME.getCode()
+        );
+        if(noTimeDic.getValue().equals(2)){
+            throw new FebsException("请等待下一期");
+        }
+
+        List<ApiCreateItemDto> items = apiCreateDto.getItems();
+        if(CollUtil.isEmpty(items)){
+            throw new FebsException("参数有误,请刷新页面");
+        }
+        MallMemberWallet mallMemberWallet = mallMemberWalletMapper.selectWalletByMemberId(memberId);
+        BigDecimal totalAmount = BigDecimal.ZERO;
+        for(ApiCreateItemDto apiCreateItemDto : items){
+            BigDecimal tzAmount = apiCreateItemDto.getTzAmount().setScale(2,BigDecimal.ROUND_DOWN);//投注金额
+            if(BigDecimal.ZERO.compareTo(tzAmount) >= 0){
+                throw new FebsException("金额必须大于0");
+            }
+            totalAmount = totalAmount.add(tzAmount);
+        }
+        if(mallMemberWallet.getBalance().compareTo(totalAmount) < 0){
+            throw new FebsException("余额不足");
+        }
+        //新增一条投注主表记录
+        CjInfo cjInfo = new CjInfo();
+        cjInfo.setMemberId(memberId);
+        String kjNo = redisUtils.getString(AppContants.KJ_RECORD_NO);
+        cjInfo.setKjNo(kjNo);
+        cjInfo.setKjState(1);
+        cjInfo.setZjState(1);
+        cjInfo.setPerkAmount(BigDecimal.ZERO);
+        cjInfo.setTotalAmount(totalAmount);
+        cjInfoMapper.insert(cjInfo);
+
+        for(ApiCreateItemDto apiCreateItemDto : items){
+            Long id = apiCreateItemDto.getId();//投注ID
+            TzInfo tzInfo = tzInfoMapper.selectById(id);
+            if(ObjectUtil.isEmpty(tzInfo)){
+                throw new FebsException("参数有误,请刷新页面");
+            }
+            BigDecimal tzAmount = apiCreateItemDto.getTzAmount().setScale(2,BigDecimal.ROUND_DOWN);//投注金额
+            totalAmount = totalAmount.add(tzAmount);
+
+            CjItem cjItem = new CjItem();
+            cjItem.setInfoId(cjInfo.getId());
+            cjItem.setMemberId(memberId);
+            cjItem.setTzId(id);
+            cjItem.setType(tzInfo.getType());
+            cjItem.setAmount(tzAmount);
+            cjItem.setItemNum(tzInfo.getTzCode());
+            cjItem.setPerkAmount(BigDecimal.ZERO);
+            cjItemMapper.insert(cjItem);
+        }
+
+        String orderNo = MallUtils.getOrderNum("T");
+        mallMemberService.addMoneyFlow(
+                memberId,
+                totalAmount,
+                MoneyFlowTypeNewEnum.STATIC_BONUS.getValue(),
+                orderNo,
+                MoneyFlowTypeNewEnum.STATIC_BONUS.getDescription(),
+                null,
+                cjInfo.getId(),
+                2,
+                FlowTypeEnum.BALANCE.getValue());
+
+        return new FebsResponse().success().message("操作成功");
+    }
+
+    @Override
+    public FebsResponse tzInfoList(KjRecordDto kjRecordDto) {
+//        Long memberId = LoginUserUtil.getLoginUser().getId();
+        Long memberId = 1L;
+        kjRecordDto.setMemberId(memberId);
+        IPage<CjInfo> page = new Page<>(kjRecordDto.getPageNum(), kjRecordDto.getPageSize());
+        IPage<CjInfo> pages = cjInfoMapper.selectTzListByMemberId(page, kjRecordDto);
+        List<CjInfo> records = pages.getRecords();
+        List<ApiTzListVo> apiTzListVos = CjInfoConversion.INSTANCE.entitysToVos(records);
+        return new FebsResponse().success().data(apiTzListVos);
+    }
+
+    @Override
+    public void getNoTimeDelayMsg(String kjNo) {
+        DataDictionaryCustom noTimeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.NO_TIME.getType(),
+                DataDictionaryEnum.NO_TIME.getCode()
+        );
+        noTimeDic.setValue("2");
+        dataDictionaryCustomMapper.updateById(noTimeDic);
+    }
+
+    @Override
+    public void getOpenPriceMsg(String kjNo, String kjNum) {
+
+    }
+
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberWithdrawServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberWithdrawServiceImpl.java
index d9eddd8..c7d109f 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberWithdrawServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberWithdrawServiceImpl.java
@@ -1,9 +1,6 @@
 package cc.mrbird.febs.mall.service.impl;
 
-import cc.mrbird.febs.common.enumerates.DataDictionaryEnum;
-import cc.mrbird.febs.common.enumerates.FlowTypeEnum;
-import cc.mrbird.febs.common.enumerates.GreenScoreEnum;
-import cc.mrbird.febs.common.enumerates.MoneyFlowTypeEnum;
+import cc.mrbird.febs.common.enumerates.*;
 import cc.mrbird.febs.common.exception.FebsException;
 import cc.mrbird.febs.common.utils.AppContants;
 import cc.mrbird.febs.common.utils.LoginUserUtil;
@@ -54,113 +51,45 @@
         Long memberId = LoginUserUtil.getLoginUser().getId();
         MallMember mallMember = mallMemberService.getById(memberId);
 
-        Integer outsideWith = mallMember.getOutsideWith() == null ? 2 :mallMember.getOutsideWith();
-        if (1 != outsideWith) {
-            throw new FebsException("功能升级中");
-        }
-
-        if (StrUtil.isBlank(mallMember.getTradePassword())) {
-            throw new FebsException("未设置支付密码");
-        }
-
-        if (!mallMember.getTradePassword().equals(SecureUtil.md5(withdrawalDto.getTradePwd()))) {
-            throw new FebsException("支付密码错误");
-        }
-
         CashOutSettingVo cashOutSettingVo = new CashOutSettingVo();
         DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.CASHOUT_SETTING.getType(), DataDictionaryEnum.CASHOUT_SETTING.getCode());
         if (dic != null) {
             cashOutSettingVo = JSONObject.parseObject(dic.getValue(), CashOutSettingVo.class);
         }
 
-        //每日提现额度上限
-        BigDecimal allCashOut = cashOutSettingVo.getAllCashOut();
-        if(withdrawalDto.getAmount().compareTo(allCashOut) > 0){
-            throw new FebsException("每日限额为"+cashOutSettingVo.getAllCashOut().setScale(2,BigDecimal.ROUND_DOWN));
-        }
-        List<MallMemberWithdraw> mallMemberWithdrawListDone = this.baseMapper.selectListByMemberIdAndDate(memberId,new Date());
-        if(CollUtil.isNotEmpty(mallMemberWithdrawListDone)){
-            BigDecimal amountTCAll = mallMemberWithdrawListDone.stream().map(MallMemberWithdraw::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
-            amountTCAll = amountTCAll.add(withdrawalDto.getAmount());
-            if (amountTCAll.compareTo(allCashOut) > 0) {
-                throw new FebsException("每日限额为"+cashOutSettingVo.getAllCashOut().setScale(2,BigDecimal.ROUND_DOWN));
-            }
-        }
-
-        if (withdrawalDto.getAmount().compareTo(cashOutSettingVo.getMinCashOut()) < 0) {
-            throw new FebsException("最小提现金额为"+cashOutSettingVo.getMinCashOut().setScale(2,BigDecimal.ROUND_DOWN));
-        }
+//        //每日提现额度上限
+//        BigDecimal allCashOut = cashOutSettingVo.getAllCashOut();
+//        if(withdrawalDto.getAmount().compareTo(allCashOut) > 0){
+//            throw new FebsException("每日限额为"+cashOutSettingVo.getAllCashOut().setScale(2,BigDecimal.ROUND_DOWN));
+//        }
+//        List<MallMemberWithdraw> mallMemberWithdrawListDone = this.baseMapper.selectListByMemberIdAndDate(memberId,new Date());
+//        if(CollUtil.isNotEmpty(mallMemberWithdrawListDone)){
+//            BigDecimal amountTCAll = mallMemberWithdrawListDone.stream().map(MallMemberWithdraw::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
+//            amountTCAll = amountTCAll.add(withdrawalDto.getAmount());
+//            if (amountTCAll.compareTo(allCashOut) > 0) {
+//                throw new FebsException("每日限额为"+cashOutSettingVo.getAllCashOut().setScale(2,BigDecimal.ROUND_DOWN));
+//            }
+//        }
+//
+//        if (withdrawalDto.getAmount().compareTo(cashOutSettingVo.getMinCashOut()) < 0) {
+//            throw new FebsException("最小提现金额为"+cashOutSettingVo.getMinCashOut().setScale(2,BigDecimal.ROUND_DOWN));
+//        }
 
         MallMemberBank mallMemberBank = mallMemberBankMapper.selectById(withdrawalDto.getBankId());
         if(ObjectUtil.isEmpty(mallMemberBank)){
             throw new FebsException("未找到银行卡信息");
         }
-        if(ObjectUtil.isEmpty(mallMemberBank.getBankName())){
-            throw new FebsException("请填写所属银行");
-        }
-        if(ObjectUtil.isEmpty(mallMemberBank.getSubbranchName())){
-            throw new FebsException("请填写所属支行");
-        }
-//        if(ObjectUtil.isEmpty(mallMemberBank.getDigitalNo())){
-//            throw new FebsException("请填写数字货币账号");
-//        }
 
         MallMemberWallet wallet = mallMemberWalletMapper.selectWalletByMemberId(memberId);
         // 可提现
         BigDecimal canMoney = wallet.getBalance();
 
         if(withdrawalDto.getAmount().compareTo(canMoney) > 0) {
-            throw new FebsException("提现金额不足");
+            throw new FebsException("金额不足");
         }
 
         BigDecimal serviceFeePercent = cashOutSettingVo.getServiceFee().multiply(BigDecimal.valueOf(0.01));
         BigDecimal serviceFee = serviceFeePercent.multiply(withdrawalDto.getAmount());
-        String remark = AppContants.MEMBER_WITHDRAW_NORMAL;
-        DataDictionaryCustom voucherOnOffDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
-                GreenScoreEnum.VOUCHER_ON_OFF.getType(),
-                GreenScoreEnum.VOUCHER_ON_OFF.getCode()
-        );
-        if(ObjectUtil.isNotEmpty(voucherOnOffDic)){
-            String voucherOnOff = voucherOnOffDic.getValue();
-            /**
-             * 绿色凭证提现开关 1:开启 2:关闭
-             *      验证账户凭证数量
-             *      不需要手续费
-             *      减少用户的凭证数量
-             */
-            if("1".equals(voucherOnOff)){
-                BigDecimal voucherCntDto = withdrawalDto.getVoucherCnt();
-                if(voucherCntDto.compareTo(BigDecimal.ZERO) <= 0){
-                    throw new FebsException("能量不足");
-                }
-                //提现需要的凭证数量 = 提现金额 * 余额提现需要绿色凭证比例
-                DataDictionaryCustom voucherPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
-                        GreenScoreEnum.VOUCHER_PERCENT.getType(),
-                        GreenScoreEnum.VOUCHER_PERCENT.getCode()
-                );
-                BigDecimal voucherPercent = new BigDecimal(voucherPercentDic.getValue() == null ? "0" : voucherPercentDic.getValue()).multiply(new BigDecimal(0.01));
-                BigDecimal voucherPercentNeed = withdrawalDto.getAmount().multiply(voucherPercent).setScale(2,BigDecimal.ROUND_DOWN);
-
-                DataDictionaryCustom scorePriceDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
-                        GreenScoreEnum.SCORE_PRICE.getType(),
-                        GreenScoreEnum.SCORE_PRICE.getCode());
-                BigDecimal scorePrice = new BigDecimal(scorePriceDic.getValue()).setScale(2, BigDecimal.ROUND_DOWN);
-                voucherPercentNeed = voucherPercentNeed.divide(scorePrice,2,BigDecimal.ROUND_DOWN);
-
-//                BigDecimal voucherCnt = wallet.getVoucherCnt();
-                BigDecimal voucherFireCnt = wallet.getVoucherFireCnt();
-                if(voucherFireCnt.compareTo(voucherPercentNeed) < 0){
-                    throw new FebsException("能量不足");
-                }
-
-//                walletService.reduce(voucherCntDto, memberId, "voucherCnt");
-                walletService.reduce(voucherCntDto, memberId, "voucherFireCnt");
-                serviceFee = voucherCntDto;
-                remark = AppContants.MEMBER_WITHDRAW_VOUCHER;
-            }
-        }
-
-
         walletService.reduce(withdrawalDto.getAmount(), memberId, "balance");
         String orderNo = MallUtils.getOrderNum("W");
 
@@ -170,10 +99,18 @@
         withdraw.setAmount(withdrawalDto.getAmount());
         withdraw.setStatus(1);
         withdraw.setAmountFee(serviceFee);
-        withdraw.setRemark(remark);
         withdraw.setWtihdrawTypeId(mallMemberBank.getId());
         this.baseMapper.insert(withdraw);
 
-        mallMemberService.addMoneyFlow(memberId, withdrawalDto.getAmount().negate(), MoneyFlowTypeEnum.WITHDRAWAL.getValue(), orderNo, null, null, null, 1, FlowTypeEnum.BALANCE.getValue());
+        mallMemberService.addMoneyFlow(
+                memberId,
+                withdrawalDto.getAmount().negate(),
+                MoneyFlowTypeNewEnum.RANK_BONUS.getValue(),
+                orderNo,
+                MoneyFlowTypeNewEnum.RANK_BONUS.getDescription(),
+                null,
+                null,
+                1,
+                FlowTypeEnum.BALANCE.getValue());
     }
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ScoreServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ScoreServiceImpl.java
index 86b2f8a..3b2ceba 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ScoreServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ScoreServiceImpl.java
@@ -278,10 +278,6 @@
             throw new FebsException("未设置支付密码");
         }
 
-        if (!mallMember.getTradePassword().equals(SecureUtil.md5(withdrawalDto.getTradePwd()))) {
-            throw new FebsException("支付密码错误");
-        }
-
         CashOutSettingVo cashOutSettingVo = new CashOutSettingVo();
         DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.CASHOUT_SETTING.getType(), DataDictionaryEnum.CASHOUT_SETTING.getCode());
         if (dic != null) {
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/AdminMallMoneyFlowVo.java b/src/main/java/cc/mrbird/febs/mall/vo/AdminMallMoneyFlowVo.java
index cac24eb..b4478d8 100644
--- a/src/main/java/cc/mrbird/febs/mall/vo/AdminMallMoneyFlowVo.java
+++ b/src/main/java/cc/mrbird/febs/mall/vo/AdminMallMoneyFlowVo.java
@@ -16,18 +16,8 @@
 
     private BigDecimal amount;
 
-    private Integer type;
-
-    private Integer flowType;
-
     private String orderNo;
 
     private String description;
-
-    private String remark;
-    /**
-     * 来源
-     */
-    private String fromMemberName;
 
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/ApiKjInfoVo.java b/src/main/java/cc/mrbird/febs/mall/vo/ApiKjInfoVo.java
new file mode 100644
index 0000000..669f30f
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/vo/ApiKjInfoVo.java
@@ -0,0 +1,22 @@
+package cc.mrbird.febs.mall.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+@ApiModel(value = "ApiKjInfoVo", description = "首页头部信息")
+public class ApiKjInfoVo {
+    @ApiModelProperty(value = "上一期期号")
+    private String kjNoOld;//开奖编号
+    @ApiModelProperty(value = "上一期开奖号码")
+    private String kjNumOld;//开奖数字
+    @ApiModelProperty(value = "期号")
+    private String kjNo;//开奖编号
+    @ApiModelProperty(value = "倒计时开始时间")
+    private String createdTime;
+    @ApiModelProperty(value = "倒计时(分钟)")
+    private Integer djs;//开奖数字
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/ApiKjRecordVo.java b/src/main/java/cc/mrbird/febs/mall/vo/ApiKjRecordVo.java
new file mode 100644
index 0000000..9a75c60
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/vo/ApiKjRecordVo.java
@@ -0,0 +1,14 @@
+package cc.mrbird.febs.mall.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "ApiKjRecordVo", description = "历史开奖记录")
+public class ApiKjRecordVo {
+    @ApiModelProperty(value = "期号")
+    private String kjNo;//开奖编号
+    @ApiModelProperty(value = "开奖号码 null-代表未开奖")
+    private String kjNum;//开奖数字
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/ApiTzInfoVo.java b/src/main/java/cc/mrbird/febs/mall/vo/ApiTzInfoVo.java
new file mode 100644
index 0000000..4b504cf
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/vo/ApiTzInfoVo.java
@@ -0,0 +1,26 @@
+package cc.mrbird.febs.mall.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+@ApiModel(value = "ApiTzInfoVo", description = "首页信息")
+public class ApiTzInfoVo {
+
+
+    @ApiModelProperty(value = "ID")
+    private Long id;//类型 1-按大小 2-按单双 3-按数字
+
+    @ApiModelProperty(value = "类型 1-按大小 2-按单双 3-按数字")
+    private Integer type;//类型 1-按大小 2-按单双 3-按数字
+
+    @ApiModelProperty(value = "值")
+    private String tzCode;//值
+
+    @ApiModelProperty(value = "获奖倍率")
+    private BigDecimal tzPercent;//获奖倍率
+
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/ApiTzItemVos.java b/src/main/java/cc/mrbird/febs/mall/vo/ApiTzItemVos.java
new file mode 100644
index 0000000..8dfab41
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/vo/ApiTzItemVos.java
@@ -0,0 +1,24 @@
+package cc.mrbird.febs.mall.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+@ApiModel(value = "ApiTzItemVos", description = "投注列表")
+public class ApiTzItemVos {
+
+    @ApiModelProperty(value = "投注类型 1-按大小 2-按单双 3-按数字")
+    private Integer type;
+    @ApiModelProperty(value = "投入金额")
+    private BigDecimal amount;//投入金额
+    @ApiModelProperty(value = "投注数字")
+    private String itemNum;//投注数字
+    @ApiModelProperty(value = "中奖号码")
+    private String kjNum;//中奖号码
+    @ApiModelProperty(value = "中奖金额")
+    private BigDecimal perkAmount;//中奖金额
+
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/ApiTzListVo.java b/src/main/java/cc/mrbird/febs/mall/vo/ApiTzListVo.java
new file mode 100644
index 0000000..3b1b38d
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/vo/ApiTzListVo.java
@@ -0,0 +1,30 @@
+package cc.mrbird.febs.mall.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+@Data
+@ApiModel(value = "ApiTzListVo", description = "投注列表")
+public class ApiTzListVo {
+
+    @ApiModelProperty(value = "开奖编号")
+    private String kjNo;
+    @ApiModelProperty(value = "时间")
+    private Date createdTime;
+    @ApiModelProperty(value = "开奖号码")
+    private String kjNum;//开奖数字
+    @ApiModelProperty(value = "投注总金额")
+    private BigDecimal totalAmount;//投注总金额
+    @ApiModelProperty(value = "中奖总金额")
+    private BigDecimal perkAmount;//投注总金额
+    @ApiModelProperty(value = "详情")
+    private List<ApiTzItemVos> items;//投注总金额
+
+
+
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java b/src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java
index 20d222a..b975d1f 100644
--- a/src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java
+++ b/src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java
@@ -15,40 +15,11 @@
     @ApiModelProperty(value = "id")
     private Long id;
 
-    @ApiModelProperty(value = "登录账号")
-    private String accountLogin;
-
-    @ApiModelProperty(value = "昵称")
-    private String name;
-
-    @ApiModelProperty(value = "手机号")
+    @ApiModelProperty(value = "账号")
     private String phone;
-
-    @ApiModelProperty(value = "邮箱")
-    private String email;
-
-    @ApiModelProperty(value = "性别")
-    private String sex;
-
-    @ApiModelProperty(value = "邀请码")
-    private String inviteId;
-
-    @ApiModelProperty(value = "头像")
-    private String avatar;
 
     @ApiModelProperty(value = "余额")
     private BigDecimal balance;
-
-    @ApiModelProperty(value = "代理等级")
-    private String levelName;
-
-    @ApiModelProperty(value = "推荐人昵称")
-    private String referrerName;
-
-    private String level;
-
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
-    private Date createdTime;
 
     /**
      * 账户状态;1-正常 2-禁用
@@ -56,47 +27,5 @@
     private Integer accountStatus;
     public static final int ACCOUNTSTATUS_Y = 1;
     public static final int ACCOUNTSTATUS_N = 2;
-
-    @ApiModelProperty(value = "是否设置收款方式", example = "1是2否")
-    private Integer hasPayment = 2;
-
-    @ApiModelProperty(value = "是否设置交易密码", example = "1是2否")
-    private Integer hasTradePwd = 2;
-
-    @ApiModelProperty(value = "绑定手机号")
-    private String bindPhone;
-
-    @ApiModelProperty(value = "累计消费")
-    private BigDecimal totalCost;
-
-    @ApiModelProperty(value = "赠送积分")
-    private BigDecimal score;
-
-    @ApiModelProperty(value = "抽奖积分")
-    private BigDecimal prizeScore;
-
-    /**
-     * 董事
-     */
-    @ApiModelProperty(value = "是否为董事 1-是 2-否")
-    private Integer director;
-
-    /**
-     * 店长
-     */
-    @ApiModelProperty(value = "是否店长 1-是 2-否")
-    private Integer storeMaster;
-
-    @ApiModelProperty(value = "补贴额度")
-    private BigDecimal totalScore;
-
-    @ApiModelProperty(value = "贡献点")
-    private Integer star;
-
-    @ApiModelProperty(value = "凭证数量")
-    private BigDecimal voucherCnt;
-
-    @ApiModelProperty(value = "内转标识 1:开启 2:关闭")
-    private Integer insideWith;
 
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/MemberBankListVo.java b/src/main/java/cc/mrbird/febs/mall/vo/MemberBankListVo.java
index 50ebea2..c040eef 100644
--- a/src/main/java/cc/mrbird/febs/mall/vo/MemberBankListVo.java
+++ b/src/main/java/cc/mrbird/febs/mall/vo/MemberBankListVo.java
@@ -8,37 +8,12 @@
 @ApiModel(value = "MemberBankListVo", description = "信息返回类")
 public class MemberBankListVo {
     private Long id;
-    // 姓名
     @ApiModelProperty(value = "姓名")
     private String name;
-    //证件类型
-    @ApiModelProperty(value = "证件类型")
-    private String idType;
-    //证件号码
-    @ApiModelProperty(value = "证件号码")
+    @ApiModelProperty(value = "身份证")
     private String idCardNum;
-    // 银行卡号
-    @ApiModelProperty(value = "银行卡号")
+    @ApiModelProperty(value = "卡号")
     private String bankNo;
-    // 手机号
     @ApiModelProperty(value = "手机号")
     private String phone;
-    // 银行卡号
-    @ApiModelProperty(value = "数字账号")
-    private String digitalNo;
-    // 开户行
-    @ApiModelProperty(value = "开户行")
-    private String bankName;
-
-    @ApiModelProperty(value = "支行")
-    private String subbranchName;
-    // 省
-    @ApiModelProperty(value = "省")
-    private String province;
-    // 市
-    @ApiModelProperty(value = "市")
-    private String city;
-    // 收款行号
-    @ApiModelProperty(value = "收款行号")
-    private String skhh;
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/MoneyFlowVo.java b/src/main/java/cc/mrbird/febs/mall/vo/MoneyFlowVo.java
index cae1628..687df16 100644
--- a/src/main/java/cc/mrbird/febs/mall/vo/MoneyFlowVo.java
+++ b/src/main/java/cc/mrbird/febs/mall/vo/MoneyFlowVo.java
@@ -22,22 +22,11 @@
     @ApiModelProperty(value = "金额,有正负")
     private BigDecimal amount;
 
-    @ApiModelProperty(value = "类型 1-静态收益 2-直推奖 3-代理收益 4-排名收益 5-总监收益 6-社区点补 7-一代收益 8-提现 9-转增 10-支付 11-退款")
-    private Integer type;
-
-    @ApiModelProperty(value = "类型 1-静态收益 2-直推奖 3-代理收益 4-排名收益 5-总监收益 6-社区点补 7-一代收益 8-提现 9-转增 10-支付 11-退款")
-    private Integer flowType;
-
-    @ApiModelProperty(value = "对方手机号")
-    private String phone;
-
-    @ApiModelProperty(value = "代理等级")
-    private String memberLevel;
-
-    @ApiModelProperty(value = "提现状态 1-提现中2-成功 3-拒绝")
-    private Integer status;
+    @ApiModelProperty(value = "描述")
+    private String description;
 
     @ApiModelProperty(value = "时间")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date createdTime;
+
 }
diff --git a/src/main/java/cc/mrbird/febs/pay/controller/UnipayController.java b/src/main/java/cc/mrbird/febs/pay/controller/UnipayController.java
index d3a7a68..b64894b 100644
--- a/src/main/java/cc/mrbird/febs/pay/controller/UnipayController.java
+++ b/src/main/java/cc/mrbird/febs/pay/controller/UnipayController.java
@@ -137,8 +137,6 @@
                     }
 
                     mallMoneyFlowService.addMoneyFlow(mallMember.getId(), orderInfo.getAmount().negate(), MoneyFlowTypeEnum.PAY.getValue(), orderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue());
-                    agentProducer.sendAutoLevelUpMsg(mallMember.getId());
-                    agentProducer.sendOrderReturn(orderInfo.getId());
                 }
             }
         }
@@ -250,8 +248,6 @@
                     }
 
                     mallMoneyFlowService.addMoneyFlow(mallMember.getId(), orderInfo.getAmount().negate(), MoneyFlowTypeEnum.PAY.getValue(), orderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue());
-                    agentProducer.sendAutoLevelUpMsg(mallMember.getId());
-                    agentProducer.sendOrderReturn(orderInfo.getId());
                 }
             }
         }
diff --git a/src/main/java/cc/mrbird/febs/pay/service/impl/AliPayServiceImpl.java b/src/main/java/cc/mrbird/febs/pay/service/impl/AliPayServiceImpl.java
index fe9f294..c4eec41 100644
--- a/src/main/java/cc/mrbird/febs/pay/service/impl/AliPayServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/pay/service/impl/AliPayServiceImpl.java
@@ -107,7 +107,6 @@
         orderInfoMapper.updateById(orderInfo);
 
 //        agentProducer.sendReturnMoneyMsg(orderInfo.getId());
-        agentProducer.sendAutoLevelUpMsg(orderInfo.getMemberId());
 
 //        memberService.addMoneyFlow(orderInfo.getMemberId(), orderInfo.getAmount().negate(), MoneyFlowTypeEnum.PAY.getValue(), orderInfo.getOrderNo(), null, null, null, null, FlowTypeEnum.BALANCE.getValue());
     }
diff --git a/src/main/java/cc/mrbird/febs/pay/service/impl/LaKaLaServiceImpl.java b/src/main/java/cc/mrbird/febs/pay/service/impl/LaKaLaServiceImpl.java
index 82e317a..56aa9bd 100644
--- a/src/main/java/cc/mrbird/febs/pay/service/impl/LaKaLaServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/pay/service/impl/LaKaLaServiceImpl.java
@@ -360,11 +360,6 @@
             mallMqRecord.setState(2);
             mallMqRecord.setRetryTimes(2);
             mallMqRecordMapper.insert(mallMqRecord);
-            //发送补贴消息
-            agentProducer.sendPerkMoneyMsg(orderInfo.getId());
-            //发送代理自动升级消息
-            agentProducer.sendAutoLevelUpMsg(orderInfo.getMemberId());
-
             return "SUCCESS";
         }else{
             return "FAIL";
diff --git a/src/main/java/cc/mrbird/febs/pay/service/impl/WxPayServiceImpl.java b/src/main/java/cc/mrbird/febs/pay/service/impl/WxPayServiceImpl.java
index db57367..9c4535b 100644
--- a/src/main/java/cc/mrbird/febs/pay/service/impl/WxPayServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/pay/service/impl/WxPayServiceImpl.java
@@ -123,9 +123,5 @@
         mallMqRecord.setState(2);
         mallMqRecord.setRetryTimes(2);
         mallMqRecordMapper.insert(mallMqRecord);
-        //发送补贴消息
-        agentProducer.sendPerkMoneyMsg(orderInfo.getId());
-        //发送代理自动升级消息
-        agentProducer.sendAutoLevelUpMsg(orderInfo.getMemberId());
     }
 }
diff --git a/src/main/java/cc/mrbird/febs/rabbit/constants/QueueConstants.java b/src/main/java/cc/mrbird/febs/rabbit/constants/QueueConstants.java
index 458cedf..690389c 100644
--- a/src/main/java/cc/mrbird/febs/rabbit/constants/QueueConstants.java
+++ b/src/main/java/cc/mrbird/febs/rabbit/constants/QueueConstants.java
@@ -6,15 +6,16 @@
  **/
 public class QueueConstants {
 
-    public static final String QUEUE_DEFAULT = "hlm_queue_default";
-    public static final String AGENT_AUTO_LEVEL_UP = "hlm_queue_agent_auto_level_up";
-    public static final String AGENT_RETURN_MONEY = "hlm_queue_agent_return_money";
-    public static final String ORDER_RETURN_MONEY = "hlm_queue_order_return_money";
+    public static final String QUEUE_OPEN_PRICE = "queue_open_price";
     /**
-     * 补贴金额 ,
-     *      分享补贴,星级补贴
+     * 延时
      */
-    public static final String PERK_MONEY = "hlm_queue_perk_money";
+    public static final String QUEUE_NO_TIME = "queue_no_time";
+    public static final String QUEUE_NO_TIME_TTL = "queue_no_time_ttl";
 
-    public static final String FORCE_VOUCHER_SALE = "hlm_queue_force_voucher_sale";
+    /**
+     * 延时
+     */
+    public static final String QUEUE_CHOU_JIANG_TIME = "queue_chou_jiang_time";
+    public static final String QUEUE_CHOU_JIANG_TIME_TTL = "queue_chou_jiang_time_ttl";
 }
diff --git a/src/main/java/cc/mrbird/febs/rabbit/consumer/AgentConsumer.java b/src/main/java/cc/mrbird/febs/rabbit/consumer/AgentConsumer.java
index 30df9c7..47bd6ee 100644
--- a/src/main/java/cc/mrbird/febs/rabbit/consumer/AgentConsumer.java
+++ b/src/main/java/cc/mrbird/febs/rabbit/consumer/AgentConsumer.java
@@ -1,13 +1,9 @@
 package cc.mrbird.febs.rabbit.consumer;
 
-import cc.mrbird.febs.mall.service.IAgentService;
-import cc.mrbird.febs.mall.service.IApiMallOrderInfoService;
-import cc.mrbird.febs.mall.service.IMemberProfitService;
+import cc.mrbird.febs.mall.dto.OpenPrice;
+import cc.mrbird.febs.mall.service.CJService;
 import cc.mrbird.febs.rabbit.constants.QueueConstants;
-import cc.mrbird.febs.rabbit.enumerates.RabbitQueueEnum;
-import com.rabbitmq.client.Channel;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.amqp.core.Message;
 import org.springframework.amqp.rabbit.annotation.RabbitListener;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
@@ -23,75 +19,40 @@
 public class AgentConsumer {
 
     @Autowired
-    private IApiMallOrderInfoService orderInfoService;
-    @Autowired
-    private IAgentService agentService;
-    @Autowired
-    private IMemberProfitService memberProfitService;
+    private CJService cjService;
 
-    @RabbitListener(queues = QueueConstants.QUEUE_DEFAULT)
-    public void agentReturn(Message message, Channel channel) {
-        log.info("消费者:{}", new String(message.getBody()));
-    }
+    @RabbitListener(queues = QueueConstants.QUEUE_CHOU_JIANG_TIME)
+    public void getChouJiangDelayMsg(String kjNo) {
 
-    @RabbitListener(queues = "hlm_queue_order_delay")
-    public void orderCancelDelay(String id) {
+        log.info("收到延时开奖信息消息,编号:{}",kjNo);
         try {
-            orderInfoService.autoCancelOrder(Long.parseLong(id));
+            cjService.getChouJiangDelayMsg(kjNo);
         } catch (Exception e) {
-            log.error("订单超时支付异常", e);
-        }
-    }
-
-    @RabbitListener(queues = QueueConstants.AGENT_AUTO_LEVEL_UP)
-    public void agentAutoLevelUp(String id) {
-        log.info("收到合伙人自动升级消息:{}", id);
-        try {
-            agentService.autoUpAgentLevel(Long.parseLong(id));
-        } catch (Exception e) {
-            log.error("合伙人自动升级异常", e);
-        }
-    }
-
-    @RabbitListener(queues = QueueConstants.AGENT_RETURN_MONEY)
-    public void agentReturnMoney(String orderId) {
-        log.info("收到返利消息:{}", orderId);
-        try {
-            agentService.returnMoneyToAgent(Long.parseLong(orderId));
-        } catch (Exception e) {
-            log.error("返利异常", e);
-        }
-    }
-
-    @RabbitListener(queues = QueueConstants.ORDER_RETURN_MONEY)
-    public void orderReturnMoney(String orderId) {
-        log.info("收到订单返利消息:{}", orderId);
-        try {
-            memberProfitService.dynamicProfit(Long.parseLong(orderId));
-        } catch (Exception e) {
-            log.error("订单返利异常:", e);
-        }
-    }
-
-    @RabbitListener(queues = QueueConstants.PERK_MONEY)
-    public void perkMoneyConsumer(String id) {
-        log.info("收到补贴消息:{}", id);
-        try {
-            agentService.perkMoneyConsumer(Long.parseLong(id));
-        } catch (Exception e) {
-            log.error("用户补贴异常", e);
+            log.error("延时开奖异常", e);
             // todo 更新表
 
         }
     }
 
-    @RabbitListener(queues = QueueConstants.FORCE_VOUCHER_SALE)
-    public void forceVoucherSaleConsumer(String price) {
-        log.info("收到强制卖出消息,价格:{}",price);
+    @RabbitListener(queues = QueueConstants.QUEUE_NO_TIME)
+    public void getNoTimeDelayMsg(String kjNo) {
+        log.info("收到停止下注消息,编号:{}",kjNo);
         try {
-            memberProfitService.selaHalfVoucher(price);
+            cjService.getNoTimeDelayMsg(kjNo);
         } catch (Exception e) {
-            log.error("强制卖出异常", e);
+            log.error("停止下注异常", e);
+            // todo 更新表
+
+        }
+    }
+
+    @RabbitListener(queues = QueueConstants.QUEUE_OPEN_PRICE)
+    public void getOpenPriceMsg(OpenPrice openPrice) {
+        log.info("收到开奖信息:{}, {}", openPrice.getKjNo(), openPrice.getKjNum());
+        try {
+            cjService.getOpenPriceMsg(openPrice.getKjNo(), openPrice.getKjNum());
+        } catch (Exception e) {
+            log.error("开奖信息异常", e);
             // todo 更新表
 
         }
diff --git a/src/main/java/cc/mrbird/febs/rabbit/enumerates/RabbitQueueEnum.java b/src/main/java/cc/mrbird/febs/rabbit/enumerates/RabbitQueueEnum.java
index ea6f262..e2cf99b 100644
--- a/src/main/java/cc/mrbird/febs/rabbit/enumerates/RabbitQueueEnum.java
+++ b/src/main/java/cc/mrbird/febs/rabbit/enumerates/RabbitQueueEnum.java
@@ -1,36 +1,31 @@
 package cc.mrbird.febs.rabbit.enumerates;
 
+import cc.mrbird.febs.rabbit.constants.QueueConstants;
 import lombok.Getter;
 
 @Getter
 public enum RabbitQueueEnum {
-
-    DEFAULT("hlm_exchange_default",
-            "hlm_route_key_default",
-            "hlm_queue_default"),
-
-    ORDER_CANCEL_DELAY_TTL("hlm_exchange_order_delay_ttl",
-            "hlm_route_key_order_delay_ttl",
-            "hlm_queue_order_delay_ttl"),
-    ORDER_CANCEL_DELAY("hlm_exchange_order_delay",
-            "hlm_route_key_order_delay",
-            "hlm_queue_order_delay"),
-
-    AGENT_REUTRN_MONEY("hlm_exchange_agent_return_money",
-            "hlm_route_key_agent_return_money",
-            "hlm_queue_agent_return_money"),
-
-    ORDER_RETURN_MONEY("hlm_exchange_order_return_money",
-            "hlm_route_key_order_return_money",
-            "hlm_queue_order_return_money"),
-
-    PERK_MONEY("hlm_exchange_perk_money",
-            "hlm_route_key_perk_money",
-            "hlm_queue_perk_money"),
-
-    FORCE_VOUCHER_SALE("hlm_exchange_force_voucher_sale",
-            "hlm_route_key_force_voucher_sale",
-            "hlm_queue_force_voucher_sale");
+    OPEN_PRICE("exchange_open_price",
+            "route_key_open_price",
+            QueueConstants.QUEUE_OPEN_PRICE),
+    /**
+     * 延时不允许下注
+     */
+    NO_TIME("exchange_no_time",
+            "route_key_no_time",
+            QueueConstants.QUEUE_NO_TIME),
+    NO_TIME_TTL("exchange_no_time_ttl",
+            "route_key_no_time_ttl",
+            QueueConstants.QUEUE_NO_TIME_TTL),
+    /**
+     * 延时
+     */
+    CHOU_JIANG_TIME("exchange_chou_jiang_time",
+            "route_key_chou_jiang_time",
+            QueueConstants.QUEUE_CHOU_JIANG_TIME),
+    CHOU_JIANG_TIME_TTL("exchange_chou_jiang_time_ttl",
+            "route_key_chou_jiang_time_ttl",
+            QueueConstants.QUEUE_CHOU_JIANG_TIME_TTL);
 
     private String exchange;
 
diff --git a/src/main/java/cc/mrbird/febs/rabbit/producter/AgentProducer.java b/src/main/java/cc/mrbird/febs/rabbit/producter/AgentProducer.java
index e44c1a2..30330c5 100644
--- a/src/main/java/cc/mrbird/febs/rabbit/producter/AgentProducer.java
+++ b/src/main/java/cc/mrbird/febs/rabbit/producter/AgentProducer.java
@@ -1,8 +1,10 @@
 package cc.mrbird.febs.rabbit.producter;
 
+import cc.mrbird.febs.mall.dto.OpenPrice;
 import cc.mrbird.febs.rabbit.constants.ExchangeConstants;
 import cc.mrbird.febs.rabbit.constants.RouteKeyConstants;
 import cc.mrbird.febs.rabbit.enumerates.RabbitQueueEnum;
+import cn.hutool.core.util.IdUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.amqp.AmqpException;
 import org.springframework.amqp.core.Message;
@@ -45,15 +47,11 @@
 
     }
 
-    public void sendOrderReturn(Long id) {
-        log.info("发送消息:{}", id);
-        CorrelationData correlationData = new CorrelationData(UUID.randomUUID().toString());
-        rabbitTemplate.convertAndSend(RabbitQueueEnum.ORDER_RETURN_MONEY.getExchange(), RabbitQueueEnum.ORDER_RETURN_MONEY.getRoute(), id, correlationData);
-    }
-
-    public void sendOrderCancelDelayMsg(Long id, Long times) {
-        log.info("发送自动取消订单消息:{}, {}", id, times);
-        rabbitTemplate.convertAndSend(RabbitQueueEnum.ORDER_CANCEL_DELAY_TTL.getExchange(), RabbitQueueEnum.ORDER_CANCEL_DELAY_TTL.getRoute(), id, new MessagePostProcessor() {
+    public void sendChouJiangDelayMsg(String id, Long times) {
+        log.info("发送延时开奖信息消息:{}, {}", id, times);
+        rabbitTemplate.convertAndSend(RabbitQueueEnum.CHOU_JIANG_TIME_TTL.getExchange(),
+                RabbitQueueEnum.CHOU_JIANG_TIME_TTL.getRoute(),
+                id, new MessagePostProcessor() {
             @Override
             public Message postProcessMessage(Message message) throws AmqpException {
                 message.getMessageProperties().setExpiration(String.valueOf(times));
@@ -62,28 +60,23 @@
         });
     }
 
-    /**
-     * 发送代理自动升级消息
-     *
-     * @param memberId
-     */
-    public void sendAutoLevelUpMsg(@NotNull Long memberId) {
-        log.info("发送代理自动升级消息:{}", memberId);
-        rabbitTemplate.convertAndSend(ExchangeConstants.EXCHANGE_DEFAULT, RouteKeyConstants.ROUTE_KEY_DEFAULT, memberId);
+    public void sendNoTimeDelayMsg(String id, Long times) {
+        log.info("发送停止下注:{}, {}", id, times);
+        rabbitTemplate.convertAndSend(RabbitQueueEnum.NO_TIME_TTL.getExchange(),
+                RabbitQueueEnum.NO_TIME_TTL.getRoute(),
+                id, new MessagePostProcessor() {
+                    @Override
+                    public Message postProcessMessage(Message message) throws AmqpException {
+                        message.getMessageProperties().setExpiration(String.valueOf(times));
+                        return message;
+                    }
+                });
     }
 
-    public void sendReturnMoneyMsg(Long orderId) {
-        log.info("发送返利消息:{}", orderId);
-        rabbitTemplate.convertAndSend(RabbitQueueEnum.AGENT_REUTRN_MONEY.getExchange(), RabbitQueueEnum.AGENT_REUTRN_MONEY.getRoute(), orderId);
-    }
-
-    public void sendPerkMoneyMsg(Long orderId) {
-        log.info("发送补贴消息:{}", orderId);
-        rabbitTemplate.convertAndSend(RabbitQueueEnum.PERK_MONEY.getExchange(), RabbitQueueEnum.PERK_MONEY.getRoute(), orderId);
-    }
-
-    public void sendForceVoucherSaleMsg(String value) {
-        log.info("发送强制卖出消息,价格:{}",value);
-        rabbitTemplate.convertAndSend(RabbitQueueEnum.FORCE_VOUCHER_SALE.getExchange(), RabbitQueueEnum.FORCE_VOUCHER_SALE.getRoute(),value);
+    public void sendOpenPriceMsg(OpenPrice openPrice) {
+        log.info("发送开奖信息:{}, {}", openPrice.getKjNo(), openPrice.getKjNum());
+        CorrelationData correlationData = new CorrelationData(IdUtil.simpleUUID());
+        rabbitTemplate.convertAndSend(RabbitQueueEnum.OPEN_PRICE.getExchange(),
+                RabbitQueueEnum.OPEN_PRICE.getRoute(), openPrice, correlationData);
     }
 }
diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml
index 083a895..43ed108 100644
--- a/src/main/resources/application-dev.yml
+++ b/src/main/resources/application-dev.yml
@@ -15,10 +15,10 @@
       datasource:
         # 数据源-1,名称为 base
         base:
-          username: ct_test
-          password: 123456
+          username: root
+          password: root
           driver-class-name: com.mysql.cj.jdbc.Driver
-          url: jdbc:mysql://120.27.238.55:3406/db_hongloumeng?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&allowMultiQueries=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2b8
+          url: jdbc:mysql://127.0.0.1:3306/db_hongloumeng?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&allowMultiQueries=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2b8
 
   redis:
     # Redis数据库索引(默认为 0)
diff --git a/src/main/resources/mapper/modules/CjInfoMapper.xml b/src/main/resources/mapper/modules/CjInfoMapper.xml
new file mode 100644
index 0000000..2f06ad5
--- /dev/null
+++ b/src/main/resources/mapper/modules/CjInfoMapper.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cc.mrbird.febs.mall.mapper.CjInfoMapper">
+
+    <resultMap id="CjInfoMap" type="cc.mrbird.febs.mall.entity.CjInfo">
+        <id column="id" property="id" />
+        <result column="total_amount" property="totalAmount" />
+        <result column="kj_num" property="kjNum" />
+        <result column="kj_no" property="kjNo" />
+        <result column="kj_state" property="kjState" />
+        <result column="zj_state" property="zjState" />
+        <result column="perk_amount" property="perkAmount" />
+        <result column="CREATED_TIME" property="createdTime" />
+        <collection property="items" ofType="cc.mrbird.febs.mall.entity.CjItem">
+            <id column="item_id" property="id"  />
+            <result column="type"  property="type" />
+            <result column="amount" property="amount" />
+            <result column="item_kj_num" property="kjNum" />
+            <result column="item_num" property="itemNum"  />
+            <result column="item_perk_amount" property="perkAmount"  />
+            <result column="item_CREATED_TIME" property="createdTime"  />
+        </collection>
+    </resultMap>
+
+    <select id="selectTzListByMemberId" resultMap="CjInfoMap">
+        select
+        a.*,
+        b.id item_id,
+        b.type,
+        b.amount,
+        b.item_num,
+        b.kj_num item_kj_num,
+        b.CREATED_TIME item_CREATED_TIME,
+        b.perk_amount item_perk_amount
+        from cj_info a
+        inner join cj_item b on a.id = b.info_id
+        <where>
+            <if test="record.memberId != null">
+                and a.member_id=#{record.memberId}
+            </if>
+        </where>
+        order by a.created_time desc
+    </select>
+
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/modules/KjRecordMapper.xml b/src/main/resources/mapper/modules/KjRecordMapper.xml
new file mode 100644
index 0000000..4f8abd1
--- /dev/null
+++ b/src/main/resources/mapper/modules/KjRecordMapper.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cc.mrbird.febs.mall.mapper.KjRecordMapper">
+
+<!--    <select id="selectAchieveTotal" resultType="java.math.BigDecimal">-->
+<!--        select IFNULL(sum(IFNULL(amount,0)),0) from mall_achieve_record-->
+<!--        where 1=1-->
+<!--        <if test='type == "D"'>-->
+<!--            and date_format(achieve_time, '%Y-%m-%d') = date_format(#{date}, '%Y-%m-%d');-->
+<!--        </if>-->
+<!--        <if test='type == "M"'>-->
+<!--            and date_format(achieve_time, '%Y-%m') = date_format(#{date}, '%Y-%m');-->
+<!--        </if>-->
+<!--    </select>-->
+
+<!--    <select id="selectSumAchieveByMemberIds" resultType="java.math.BigDecimal">-->
+<!--        select IFNULL(sum(IFNULL(amount,0)),0)-->
+<!--        from mall_achieve_record-->
+<!--        where  member_id IN-->
+<!--        <foreach collection = "list" item = "item"  separator=","  open = "(" close = ")" >-->
+<!--            #{item}-->
+<!--        </foreach >-->
+<!--        and date_format(achieve_time, '%Y-%m-%d') = date_format(#{date}, '%Y-%m-%d');-->
+<!--    </select>-->
+
+    <select id="selectListInPage" resultType="cc.mrbird.febs.mall.vo.ApiKjRecordVo">
+        select *
+        from kj_record
+        order by CREATED_TIME desc ;
+    </select>
+
+    <select id="selectOneByLimitZero" resultType="cc.mrbird.febs.mall.entity.KjRecord">
+        select *
+        from kj_record
+        ORDER BY CREATED_TIME DESC
+        limit #{limitFrom},#{limitSize};
+    </select>
+
+    <select id="selectKjNo" resultType="cc.mrbird.febs.mall.entity.KjRecord">
+        select *
+        from kj_record
+        where kj_no = #{kjNo};
+    </select>
+
+<!--    <select id="selectSumAchieveByMemberId" resultType="java.math.BigDecimal">-->
+<!--        select IFNULL(sum(IFNULL(amount,0)),0)-->
+<!--        from mall_achieve_record-->
+<!--        where  member_id = #{memberId};-->
+<!--    </select>-->
+
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/modules/MallMemberMapper.xml b/src/main/resources/mapper/modules/MallMemberMapper.xml
index 44ea668..e3d9b98 100644
--- a/src/main/resources/mapper/modules/MallMemberMapper.xml
+++ b/src/main/resources/mapper/modules/MallMemberMapper.xml
@@ -80,7 +80,7 @@
     </select>
 
     <select id="selectInfoByAccount" resultType="cc.mrbird.febs.mall.entity.MallMember">
-        select * from mall_member where phone=#{account} or email=#{account} or invite_id=#{account}
+        select * from mall_member where phone = #{account} or email = #{account} or invite_id=#{account}
     </select>
 
     <select id="selectInfoByAccountNew" resultType="cc.mrbird.febs.mall.entity.MallMember">
diff --git a/src/main/resources/mapper/modules/MallMoneyFlowMapper.xml b/src/main/resources/mapper/modules/MallMoneyFlowMapper.xml
index 8fe8066..7ebba37 100644
--- a/src/main/resources/mapper/modules/MallMoneyFlowMapper.xml
+++ b/src/main/resources/mapper/modules/MallMoneyFlowMapper.xml
@@ -4,41 +4,17 @@
 
     <select id="selectMoneyFlowInPage" resultType="cc.mrbird.febs.mall.vo.AdminMallMoneyFlowVo">
         select
-               a.*,
-               b.name fromMemberName
+               a.*
         from mall_money_flow a
-        left join mall_member b on a.rt_member_id = b.id
         where a.member_id = #{record.id}
         order by a.CREATED_TIME desc
     </select>
 
     <select id="selectApiMoneyFlowInPage" resultType="cc.mrbird.febs.mall.vo.MoneyFlowVo">
         select
-            a.*,
-            case when a.rt_member_id is null then (select n.phone from mall_member n where n.id=a.member_id)
-                 when a.rt_member_id is not null then (select m.phone from mall_member m where m.id=a.rt_member_id)
-            end phone,
-            c.description memberLevel
+            a.*
         from mall_money_flow a
-            left join mall_member b on a.rt_member_id=b.id
-            left join data_dictionary_custom c on b.level = c.code and c.type='AGENT_LEVEL'
-        <where>
-            <if test="record.inOrOut == 3">
-                and a.amount > 0
-            </if>
-            <if test="record.inOrOut == 2">
-                and 0 > a.amount
-            </if>
-            <if test="record.memberId != null">
-                and a.member_id=#{record.memberId}
-            </if>
-            <if test="record.flowType != null and record.flowType != ''">
-                and a.flow_type=#{record.flowType}
-            </if>
-            <if test="record.type != null and record.type != ''">
-                and a.type=#{record.type}
-            </if>
-        </where>
+        where a.member_id=#{record.memberId}
         order by a.created_time desc
     </select>
 
diff --git a/src/main/resources/templates/febs/views/modules/mallMember/addMember.html b/src/main/resources/templates/febs/views/modules/mallMember/addMember.html
index 55344f8..fc9df26 100644
--- a/src/main/resources/templates/febs/views/modules/mallMember/addMember.html
+++ b/src/main/resources/templates/febs/views/modules/mallMember/addMember.html
@@ -34,12 +34,6 @@
                 <input type="text" name="name" lay-verify="required" autocomplete="off" class="layui-input">
             </div>
         </div>
-        <div class="layui-form-item">
-            <label class="layui-form-label febs-form-item-require">推荐人:</label>
-            <div class="layui-input-block">
-                <input type="text" name="inviteId" lay-verify="required" autocomplete="off" class="layui-input">
-            </div>
-        </div>
         <div class="layui-form-item febs-hide">
             <button class="layui-btn" lay-submit="" lay-filter="member-add-form-submit" id="submit"></button>
         </div>
diff --git a/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html b/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html
index c55ce9d..9fd8b69 100644
--- a/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html
+++ b/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html
@@ -8,48 +8,21 @@
                             <div class="layui-col-md10">
                                 <div class="layui-form-item">
                                     <div class="layui-inline">
-                                        <label class="layui-form-label">登录账户:</label>
-                                        <div class="layui-input-inline">
-                                            <input type="text" placeholder="登录账户" name="accountLogin" autocomplete="off" class="layui-input">
-                                        </div>
-                                    </div>
-                                    <div class="layui-inline">
-                                        <label class="layui-form-label">名称:</label>
-                                        <div class="layui-input-inline">
-                                            <input type="text" placeholder="名称" name="name" autocomplete="off" class="layui-input">
-                                        </div>
-                                    </div>
-                                    <div class="layui-inline">
                                         <label class="layui-form-label">账号:</label>
                                         <div class="layui-input-inline">
                                             <input type="text" placeholder="手机号码/邀请码" name="account" autocomplete="off" class="layui-input">
                                         </div>
                                     </div>
-                                    <div class="layui-inline">
-                                        <label class="layui-form-label">账户状态:</label>
-                                        <div class="layui-input-inline">
-                                            <select name="accountStatus">
-                                                <option value="">请选择</option>
-                                                <option value="1">正常</option>
-                                                <option value="2">禁用</option>
-                                            </select>
-                                        </div>
-                                    </div>
-                                    <div class="layui-inline">
-                                        <label class="layui-form-label">会员类型:</label>
-                                        <div class="layui-input-inline">
-                                            <select name="level">
-                                                <option value="">请选择</option>
-                                                <option value="ZERO_LEVEL">普通会员</option>
-                                                <option value="SECOND_LEVEL">1星</option>
-                                                <option value="THIRD_LEVEL">2星</option>
-                                                <option value="FOUR_LEVEL">3星</option>
-                                                <option value="FIFTH_LEVEL">4星</option>
-                                                <option value="SIX_LEVEL">5星</option>
-                                                <option value="SEVEN_LEVEL">6星</option>
-                                            </select>
-                                        </div>
-                                    </div>
+<!--                                    <div class="layui-inline">-->
+<!--                                        <label class="layui-form-label">账户状态:</label>-->
+<!--                                        <div class="layui-input-inline">-->
+<!--                                            <select name="accountStatus">-->
+<!--                                                <option value="">请选择</option>-->
+<!--                                                <option value="1">正常</option>-->
+<!--                                                <option value="2">禁用</option>-->
+<!--                                            </select>-->
+<!--                                        </div>-->
+<!--                                    </div>-->
                                 </div>
                             </div>
                             <div class="layui-col-md2 layui-col-sm12 layui-col-xs12 table-action-area">
@@ -72,55 +45,12 @@
 <!-- 表格操作栏 start -->
 <script type="text/html" id="mallmember-option">
     <button class="layui-btn layui-btn-normal layui-btn-xs" type="button" shiro:hasPermission="moneyFlow:update" lay-event="moneyFlow">资金流水</button>
-    <button class="layui-btn layui-btn-normal layui-btn-xs" type="button" shiro:hasPermission="updateReferer:update" lay-event="updateReferer">修改推荐人</button>
 </script>
 <script type="text/html" id="switchStatus">
     {{# if(d.accountStatus === 1) { }}
     <input type="checkbox" value={{d.id}} lay-text="正常|禁用" checked lay-skin="switch" lay-filter="switchStatus">
     {{# } else { }}
     <input type="checkbox" value={{d.id}} lay-text="正常|禁用" lay-skin="switch" lay-filter="switchStatus">
-    {{# } }}
-</script>
-<script type="text/html" id="switchStoreMaster">
-    {{# if(d.storeMaster === 1) { }}
-    <input type="checkbox" value={{d.id}} lay-text="是|否" checked lay-skin="switch" lay-filter="switchStoreMaster">
-    {{# } else { }}
-    <input type="checkbox" value={{d.id}} lay-text="是|否" lay-skin="switch" lay-filter="switchStoreMaster">
-    {{# } }}
-</script>
-<script type="text/html" id="switchDirector">
-    {{# if(d.director === 1) { }}
-    <input type="checkbox" value={{d.id}} lay-text="是|否" checked lay-skin="switch" lay-filter="switchDirector">
-    {{# } else { }}
-    <input type="checkbox" value={{d.id}} lay-text="是|否" lay-skin="switch" lay-filter="switchDirector">
-    {{# } }}
-</script>
-<script type="text/html" id="switchCreate">
-    {{# if(d.creater === 1) { }}
-    <input type="checkbox" value={{d.id}} lay-text="是|否" checked lay-skin="switch" lay-filter="switchCreate">
-    {{# } else { }}
-    <input type="checkbox" value={{d.id}} lay-text="是|否" lay-skin="switch" lay-filter="switchCreate">
-    {{# } }}
-</script>
-<script type="text/html" id="switchPartner">
-    {{# if(d.partner === 1) { }}
-    <input type="checkbox" value={{d.id}} lay-text="是|否" checked lay-skin="switch" lay-filter="switchPartner">
-    {{# } else { }}
-    <input type="checkbox" value={{d.id}} lay-text="是|否" lay-skin="switch" lay-filter="switchPartner">
-    {{# } }}
-</script>
-<script type="text/html" id="switchInsideWith">
-    {{# if(d.insideWith === 1) { }}
-    <input type="checkbox" value={{d.id}} lay-text="是|否" checked lay-skin="switch" lay-filter="switchInsideWith">
-    {{# } else { }}
-    <input type="checkbox" value={{d.id}} lay-text="是|否" lay-skin="switch" lay-filter="switchInsideWith">
-    {{# } }}
-</script>
-<script type="text/html" id="switchOutsideWith">
-    {{# if(d.outsideWith === 1) { }}
-    <input type="checkbox" value={{d.id}} lay-text="是|否" checked lay-skin="switch" lay-filter="switchOutsideWith">
-    {{# } else { }}
-    <input type="checkbox" value={{d.id}} lay-text="是|否" lay-skin="switch" lay-filter="switchOutsideWith">
     {{# } }}
 </script>
 <style>
@@ -130,15 +60,9 @@
 </style>
 <script type="text/html" id="tableMemberBar">
     <div class="layui-btn-container">
-        <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" lay-event="exportMember">导出会员信息</button>
         <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" shiro:hasPermission="addMember:update" lay-event="registMember">添加会员</button>
         <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" shiro:hasPermission="mallSystemPay:update" lay-event="balance">拨付余额</button>
-<!--        <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" shiro:hasPermission="mallSystemPay:update" lay-event="score">拨付赠送积分</button>-->
-        <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" shiro:hasPermission="mallSystemPay:update" lay-event="prizeScore">拨付现金积分</button>
         <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" shiro:hasPermission="resetPwd:update" lay-event="resetPwd">重置登录密码</button>
-        <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" shiro:hasPermission="resetPwd:update" lay-event="resetPayPwd">重置支付密码</button>
-        <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" shiro:hasPermission="agentLevelSet:update" lay-event="agentLevel">设置代理等级</button>
-        <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" shiro:hasPermission="voucherUpdate:update" lay-event="voucherUpdate">拨付绿色凭证</button>
     </div>
 </script>
 <!-- 表格操作栏 end -->
@@ -160,9 +84,9 @@
         let toolbarMallmember = $.trim($("#mallmember-option").html())==="" ? true : false;
         // alert($.trim($("#mallmember-option").html()));
         form.render();
-        let currPageGoods = 1;//首先默认值为1,防止出错
+        let currPageMember = 1;//首先默认值为1,防止出错
         //获取当前页
-        currPageGoods = $view.find(".layui-laypage-em").next().html();
+        currPageMember = $view.find(".layui-laypage-em").next().html();
 
         // 表格初始化
         initTable();
@@ -183,60 +107,13 @@
                 });
             }
 
-            if (layEvent === 'see') {
-                febs.modal.open( '个人信息', 'modules/mallMember/detail/' + data.id, {
-                    btn: ['提交', '取消'],
-                    yes: function (index, layero) {
-                        $('#user-update').find('#submit').trigger('click');
-                    },
-                    btn2: function () {
-                        layer.closeAll();
-                    }
-                });
-            }
             if (layEvent === 'moneyFlow') {
                 febs.modal.open( '用户资金流水', 'modules/mallMember/moneyFlow/' + data.id, {
                     maxmin: true,
                 });
             }
 
-            if (layEvent == 'updateReferer') {
-                febs.modal.open( '修改推荐人', 'modules/mallMember/updateReferer/' + data.id, {
-                    btn: ['提交', '取消'],
-                    yes: function (index, layero) {
-                        $('#referer-update').find('#submit').trigger('click');
-                    },
-                    btn2: function () {
-                        layer.closeAll();
-                    }
-                });
-            }
-
         });
-        function outsideWithYes(id) {
-            febs.get(ctx + 'admin/mallMember/outsideWithYes/' + id, null, function () {
-                febs.alert.success('操作成功');
-                $query.click();
-            });
-        }
-        function outsideWithNo(id) {
-            febs.get(ctx + 'admin/mallMember/outsideWithNo/' + id, null, function () {
-                febs.alert.success('操作成功');
-                $query.click();
-            });
-        }
-        function insideWithYes(id) {
-            febs.get(ctx + 'admin/mallMember/insideWithYes/' + id, null, function () {
-                febs.alert.success('操作成功');
-                $query.click();
-            });
-        }
-        function insideWithNo(id) {
-            febs.get(ctx + 'admin/mallMember/insideWithNo/' + id, null, function () {
-                febs.alert.success('操作成功');
-                $query.click();
-            });
-        }
         function closeAccount(id) {
             febs.get(ctx + 'admin/mallMember/closeAccount/' + id, null, function () {
                 febs.alert.success('禁用成功');
@@ -246,19 +123,6 @@
         function openAccount(id) {
             febs.get(ctx + 'admin/mallMember/openAccount/' + id, null, function () {
                 febs.alert.success('开启成功');
-                $query.click();
-            });
-        }
-
-        function changeIdentityYes(type, id) {
-            febs.get(ctx + 'admin/mallMember/changeIdentityYes/' + type + "/" + id, null, function () {
-                febs.alert.success('设置成功');
-                $query.click();
-            });
-        }
-        function changeIdentityNo(type, id) {
-            febs.get(ctx + 'admin/mallMember/changeIdentityNo/' + type + "/" + id, null, function () {
-                febs.alert.success('设置成功');
                 $query.click();
             });
         }
@@ -274,14 +138,14 @@
         // 查询按钮
         $query.on('click', function () {
             var params = $.extend(getQueryParams(), {field: sortObject.field, order: sortObject.type});
-            tableIns.reload({where: params, page: {curr: currPageGoods}});
+            tableIns.reload({where: params, page: {curr: currPageMember}});
         });
 
         // 刷新按钮
         $reset.on('click', function () {
             $searchForm[0].reset();
             sortObject.type = 'null';
-            tableIns.reload({where: getQueryParams(), page: {curr: currPageGoods}, initSort: sortObject});
+            tableIns.reload({where: getQueryParams(), page: {curr: currPageMember}, initSort: sortObject});
         });
 
         function initTable() {
@@ -294,46 +158,10 @@
                 totalRow: true ,// 开启合计行
                 cols: [[
                     {type: 'checkbox'},
-                    {field: 'accountLogin', title: '登录账户', minWidth: 150,align:'left'},
-                    {field: 'phone', title: '手机号码', minWidth: 150,align:'left',hide:toolbarMallmember},
-                    {field: 'name', title: '名称', minWidth: 100,align:'left', totalRowText: '合计:'},
-                    {field: 'inviteId', title: '邀请码', minWidth: 100,align:'left'},
+                    {field: 'phone', title: '账号', minWidth: 150,align:'left',hide:toolbarMallmember},
                     {field: 'balance', title: '余额', minWidth: 100,align:'left',totalRow: '{{= parseInt(d.balance) }}'},
-                    {field: 'prizeScore', title: '现金积分', minWidth: 100,align:'left',totalRow: '{{= parseInt(d.prizeScore) }}'},
-                    {field: 'star', title: '贡献点', minWidth: 100,align:'left',totalRow: '{{= parseInt(d.star) }}'},
-                    {field: 'totalScore', title: '补贴额度', minWidth: 100,align:'left',totalRow: '{{= parseInt(d.totalScore) }}'},
-                    {field: 'voucherCnt', title: '绿色凭证', minWidth: 100,align:'left',totalRow: '{{= parseInt(d.voucherCnt) }}'},
-                    {field: 'voucherCntSurplus', title: '待释放数量', minWidth: 100,align:'left',totalRow: '{{= parseInt(d.voucherCntSurplus) }}'},
-                    {field: 'voucherAmount', title: '凭证现金', minWidth: 100,align:'left',totalRow: '{{= parseInt(d.voucherAmount) }}'},
-                    {field: 'voucherFireCnt', title: '能量值', minWidth: 100,align:'left',totalRow: '{{= parseInt(d.voucherFireCnt) }}'},
-                    {field: 'referrerName', title: '推荐人', minWidth: 100,align:'left'},
-                    {field: 'levelName', title: '会员类型', minWidth: 100,align:'left'},
-                    {field: 'storeMaster', title: '线下服务中心', templet:'#switchStoreMaster', minWidth: 120,align:'left',hide:toolbarMallmember},
-                    {field: 'director', title: '代理商', templet:'#switchDirector', minWidth: 120,align:'left' ,hide:toolbarMallmember},
-                    {field: 'creater', title: '联创', templet:'#switchCreate', minWidth: 120,align:'left' ,hide:toolbarMallmember},
-                    {field: 'partner', title: '合伙人', templet:'#switchPartner', minWidth: 120,align:'left' ,hide:toolbarMallmember},
-                    {field: 'insideWith', title: '是否内转', templet:'#switchInsideWith', minWidth: 120,align:'left' ,hide:toolbarMallmember},
-                    {field: 'outsideWith', title: '是否提现', templet:'#switchOutsideWith', minWidth: 120,align:'left' ,hide:toolbarMallmember},
-                    {field: 'accountType', title: '账号类型',
-                        templet: function (d) {
-                            if (d.accountType === 2) {
-                                return '<span style="color:red;">测试账号</span>'
-                            } else if (d.accountType === 1) {
-                                return '<span style="color:green;">正常账号</span>'
-                            }else{
-                                return ''
-                            }
-                        }, minWidth: 100,align:'left'},
                     {field: 'accountStatus', title: '账号状态', templet: '#switchStatus', minWidth: 100,align:'left',hide:toolbarMallmember},
                     {field: 'createdTime', title: '注册时间', minWidth: 180,align:'left'},
-                    // {title: '操作',
-                    //     templet: function (d) {
-                    //     // '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="see" shiro:hasPermission="user:update">详情</button>'
-                    //         return '<button class="layui-btn layui-btn-normal layui-btn-sm" type="button" shiro:hasPermission="moneyFlow:update" lay-event="moneyFlow">资金流水</button>'
-                    //         + '<button class="layui-btn layui-btn-normal layui-btn-sm" type="button" shiro:hasPermission="user:update" lay-event="updateReferer">修改推荐人</button>'
-                    //         // '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="moneyFlow" shiro:hasPermission="moneyFlow:update">资金流水</button>'
-                    //         //  + '<button class="layui-btn layui-btn-normal layui-btn-xs" type="button" lay-event="updateReferer" shiro:hasPermission="user:update">修改推荐人</button>'
-                    //     },minWidth: 200,align:'center', fixed:"right"}
                     {title: '操作', minWidth: 200 ,toolbar: '#mallmember-option',hide:toolbarMallmember,align:'left', fixed:'right'}
                 ]]
             });
@@ -342,11 +170,6 @@
         table.on('toolbar(userTable)', function(obj){
             var data = obj.data,
                 layEvent = obj.event;
-
-            if (layEvent === 'exportMember') {
-                window.location.href = ctx + "admin/mallMember/exportMember";
-            }
-
             if (layEvent === 'registMember') {
 
                 febs.modal.open( '添加会员', 'modules/mallMember/addMember', {
@@ -361,12 +184,6 @@
 
                 return;
             }
-
-            // var checkData = table.checkStatus('userTable').data;
-            // if (checkData.length <= 0) {
-            //     febs.alert.warn('请选择需要的用户');
-            //     return;
-            // }
 
             if (layEvent === 'resetPwd') {
                 var checkData = table.checkStatus('userTable').data;
@@ -383,22 +200,6 @@
                 });
             }
 
-            if (layEvent === 'resetPayPwd') {
-                var checkData = table.checkStatus('userTable').data;
-                if (checkData.length <= 0) {
-                    febs.alert.warn('请选择需要的用户');
-                    return;
-                }
-                febs.modal.confirm('重置交易密码', '是否重置选中账号交易密码为【123456】?', function () {
-                    var ids = [];
-                    layui.each(checkData, function (key, item) {
-                        ids.push(item.id)
-                    });
-
-                    resetPwd(ids.join(','), 1);
-                });
-            }
-
             if (layEvent === 'balance') {
                 var checkData = table.checkStatus('userTable').data;
                 if (checkData.length <= 0) {
@@ -409,84 +210,13 @@
                     febs.alert.warn('请选择一个用户');
                     return;
                 }
-                systemPay("修改余额", checkData[0].id, 1);
-            }
-
-            if (layEvent === 'voucherUpdate') {
-                var checkData = table.checkStatus('userTable').data;
-                if (checkData.length <= 0) {
-                    febs.alert.warn('请选择需要的用户');
-                    return;
-                }
-                if (checkData.length > 1) {
-                    febs.alert.warn('请选择一个用户');
-                    return;
-                }
-                voucherUpdate("拨付绿色凭证", checkData[0].id, 1);
-            }
-
-            if (layEvent === 'score') {
-                var checkData = table.checkStatus('userTable').data;
-                if (checkData.length <= 0) {
-                    febs.alert.warn('请选择需要的用户');
-                    return;
-                }
-                if (checkData.length > 1) {
-                    febs.alert.warn('请选择一个用户');
-                    return;
-                }
-                systemPay("修改赠送积分", checkData[0].id, 2);
-            }
-
-            if (layEvent === 'prizeScore') {
-                var checkData = table.checkStatus('userTable').data;
-                if (checkData.length <= 0) {
-                    febs.alert.warn('请选择需要的用户');
-                    return;
-                }
-                if (checkData.length > 1) {
-                    febs.alert.warn('请选择一个用户');
-                    return;
-                }
-                systemPay("修改竞猜积分", checkData[0].id, 3);
-            }
-
-            if (layEvent === 'agentLevel') {
-                var checkData = table.checkStatus('userTable').data;
-                if (checkData.length <= 0) {
-                    febs.alert.warn('请选择需要的用户');
-                    return;
-                }
-                if (checkData.length > 1) {
-                    febs.alert.warn('请选择一个用户');
-                    return;
-                }
-                febs.modal.open('设置代理级别', 'modules/mallMember/agentLevelSet/' + checkData[0].id, {
-                    btn: ['确认', '取消'],
-                    yes: function (index, layero) {
-                        $('#agent-level-set').find('#submit').trigger('click');
-                    },
-                    btn2: function () {
-                        layer.closeAll();
-                    }
-                });
+                systemPay("拨付余额", checkData[0].id, 1);
             }
         });
 
-        function voucherUpdate(text, id, type) {
-            febs.modal.open(text, 'modules/mallMember/voucherUpdate/' + type +'/'+ id, {
-                btn: ['提交', '取消'],
-                yes: function (index, layero) {
-                    $('#voucher-update').find('#submit').trigger('click');
-                },
-                btn2: function () {
-                    layer.closeAll();
-                }
-            });
-        }
 
         function systemPay(text, id, type) {
-            febs.modal.open('text', 'modules/mallMember/mallSystemPay/' + type +'/'+ id, {
+            febs.modal.open(text, 'modules/mallMember/mallSystemPay/' + type +'/'+ id, {
                 btn: ['提交', '取消'],
                 yes: function (index, layero) {
                     $('#systemPay-update').find('#submit').trigger('click');
@@ -500,67 +230,14 @@
         // 获取查询参数
         function getQueryParams() {
             return {
-                name: $searchForm.find('input[name="name"]').val().trim(),
                 account: $searchForm.find('input[name="account"]').val().trim(),
-                accountLogin: $searchForm.find('input[name="accountLogin"]').val().trim(),
-                accountStatus: $searchForm.find("select[name='accountStatus']").val(),
-                level: $searchForm.find("select[name='level']").val(),
             };
         }
-
-        form.on('switch(switchInsideWith)', function (data) {
-            if (data.elem.checked) {
-                insideWithYes(data.value);
-            } else {
-                insideWithNo(data.value);
-            }
-        })
-
-        form.on('switch(switchOutsideWith)', function (data) {
-            if (data.elem.checked) {
-                outsideWithYes(data.value);
-            } else {
-                outsideWithNo(data.value);
-            }
-        })
-
         form.on('switch(switchStatus)', function (data) {
             if (data.elem.checked) {
                 openAccount(data.value);
             } else {
                 closeAccount(data.value);
-            }
-        })
-
-        form.on('switch(switchStoreMaster)', function (data) {
-            if (data.elem.checked) {
-                changeIdentityYes(2, data.value);
-            } else {
-                changeIdentityNo(2, data.value);
-            }
-        })
-
-        form.on('switch(switchDirector)', function (data) {
-            if (data.elem.checked) {
-                changeIdentityYes(1, data.value);
-            } else {
-                changeIdentityNo(1, data.value);
-            }
-        })
-
-        form.on('switch(switchCreate)', function (data) {
-            if (data.elem.checked) {
-                changeIdentityYes(3, data.value);
-            } else {
-                changeIdentityNo(3, data.value);
-            }
-        })
-
-        form.on('switch(switchPartner)', function (data) {
-            if (data.elem.checked) {
-                changeIdentityYes(4, data.value);
-            } else {
-                changeIdentityNo(4, data.value);
             }
         })
     })
diff --git a/src/main/resources/templates/febs/views/modules/mallMember/moneyFlow.html b/src/main/resources/templates/febs/views/modules/mallMember/moneyFlow.html
index 4dcd385..0b64db2 100644
--- a/src/main/resources/templates/febs/views/modules/mallMember/moneyFlow.html
+++ b/src/main/resources/templates/febs/views/modules/mallMember/moneyFlow.html
@@ -47,100 +47,19 @@
                     {field: 'type', title: '流水类型',
                         templet: function (d) {
                             if (d.type === 1) {
-                                return '<span>静态收益</span>'
+                                return '<span>投注</span>'
                             } else if (d.type === 2) {
-                                return '<span>直推奖</span>'
+                                return '<span>中奖</span>'
                             } else if (d.type === 3) {
-                                return '<span>代理收益</span>'
+                                return '<span>充值</span>'
                             } else if (d.type === 4) {
-                                return '<span>排名收益</span>'
-                            }else if (d.type === 5) {
-                                return '<span>总监收益</span>'
-                            }else if (d.type === 6) {
-                                return '<span>社区店补</span>'
-                            }else if (d.type === 7) {
-                                return '<span>一代收益</span>'
-                            }else if (d.type === 8) {
                                 return '<span>提现</span>'
-                            }else if (d.type === 9) {
-                                return '<span>转账</span>'
-                            }else if (d.type === 10) {
-                                return '<span>支付</span>'
-                            }else if (d.type === 11) {
-                                return '<span>退款</span>'
-                            }else if (d.type === 12) {
-                                return '<span>佣金转竞猜积分</span>'
-                            }else if (d.type === 13) {
-                                return '<span>佣金转余额</span>'
-                            }else if (d.type === 14) {
-                                return '<span>签到</span>'
-                            }else if (d.type === 15) {
-                                return '<span>感恩奖</span>'
-                            }else if (d.type === 16) {
-                                return '<span>系统拨付</span>'
-                            }else if (d.type === 17) {
-                                return '<span>抽奖</span>'
-                            }else if (d.type === 18) {
-                                return '<span>积分池收益</span>'
-                            }else if (d.type === 19) {
-                                return '<span>1星合伙人补贴</span>'
-                            }else if (d.type === 20) {
-                                return '<span>2星合伙人补贴</span>'
-                            }else if (d.type === 21) {
-                                return '<span>3星合伙人补贴</span>'
-                            }else if (d.type === 22) {
-                                return '<span>4星合伙人补贴</span>'
-                            }else if (d.type === 23) {
-                                return '<span>5星合伙人补贴</span>'
-                            }else if (d.type === 24) {
-                                return '<span>6星合伙人补贴</span>'
-                            }else if (d.type === 25) {
-                                return '<span>贡献点</span>'
-                            }else if (d.type === 26) {
-                                return '<span>补贴额度</span>'
-                            }else if (d.type === 27) {
-                                return '<span>团队补贴</span>'
-                            }else if (d.type === 28) {
-                                return '<span>平级奖励补贴</span>'
-                            }else if (d.type === 29) {
-                                return '<span>线下服务中心补贴</span>'
-                            }else if (d.type === 30) {
-                                return '<span>代理商补贴</span>'
-                            }else if (d.type === 31) {
-                                return '<span>联创合伙人释放凭证</span>'
-                            }else if (d.type === 32) {
-                                return '<span>业绩释放联创凭证</span>'
-                            }else if (d.type === 33) {
-                                return '<span>业绩释放合伙人凭证</span>'
-                            }else if (d.type === 34) {
-                                return '<span>业绩释放贡献点凭证</span>'
-                            }else if (d.type === 35) {
-                                return '<span>业绩释放星级凭证</span>'
-                            }else if (d.type === 36) {
-                                return '<span>能量值买入</span>'
-                            }else if (d.type === 37) {
-                                return '<span>红豆卖出</span>'
                             }else{
                                 return ''
                             }
                         }, minWidth: 80,align:'center'},
-                    {field: 'flowType', title: '资金类型',
-                        templet: function (d) {
-                            if (d.flowType === 1) {
-                                return '余额';
-                            } else if(d.flowType === 3) {
-                                return '现金积分'
-                            } else if(d.flowType === 5) {
-                                return '贡献点'
-                            } else if(d.flowType === 7) {
-                                return '能量值'
-                            } else {
-                                return '-';
-                            }
-                        }, minWidth: 80,align:'center'},
-                    {field: 'fromMemberName', title: '来自', minWidth: 80,align:'center'},
                     {field: 'orderNo', title: '订单编号', minWidth: 150,align:'center'},
-                    {field: 'remark', title: '备注', minWidth: 150,align:'left'},
+                    {field: 'description', title: '备注', minWidth: 150,align:'left'},
                     {field: 'createdTime', title: '时间', minWidth: 150,align:'left'}
                 ]]
             });
diff --git a/src/test/java/cc/mrbird/febs/AgentTest.java b/src/test/java/cc/mrbird/febs/AgentTest.java
index 220c1b1..18a1ded 100644
--- a/src/test/java/cc/mrbird/febs/AgentTest.java
+++ b/src/test/java/cc/mrbird/febs/AgentTest.java
@@ -1,35 +1,8 @@
 package cc.mrbird.febs;
 
-import cc.mrbird.febs.common.enumerates.AgentLevelEnum;
-import cc.mrbird.febs.common.enumerates.DataDictionaryEnum;
-import cc.mrbird.febs.common.exception.FebsException;
-import cc.mrbird.febs.common.utils.LoginUserUtil;
-import cc.mrbird.febs.mall.dto.AgentLevelUpdateDto;
-import cc.mrbird.febs.mall.dto.ApiMallActWinDetailsDto;
-import cc.mrbird.febs.mall.entity.*;
-import cc.mrbird.febs.mall.mapper.*;
-import cc.mrbird.febs.mall.quartz.ProfitJob;
-import cc.mrbird.febs.mall.service.IAgentService;
-import cc.mrbird.febs.mall.vo.ApiMallActWinDetailsVo;
-import cc.mrbird.febs.mall.vo.ApiMallAwardDetailsVo;
-import cc.mrbird.febs.rabbit.consumer.AgentConsumer;
-import cc.mrbird.febs.rabbit.producter.AgentProducer;
-import cn.hutool.core.collection.CollUtil;
-import cn.hutool.core.util.ObjectUtil;
-import cn.hutool.core.util.RandomUtil;
-import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import lombok.extern.slf4j.Slf4j;
-import org.aspectj.weaver.loadtime.Agent;
-import org.junit.jupiter.api.Test;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
 
-import java.math.BigDecimal;
-import java.math.RoundingMode;
-import java.util.ArrayList;
-import java.util.List;
 
 /**
  * @author wzy
diff --git a/src/test/java/cc/mrbird/febs/PayTest.java b/src/test/java/cc/mrbird/febs/PayTest.java
index 8820dad..127dbd9 100644
--- a/src/test/java/cc/mrbird/febs/PayTest.java
+++ b/src/test/java/cc/mrbird/febs/PayTest.java
@@ -1,22 +1,6 @@
 package cc.mrbird.febs;
 
-import cc.mrbird.febs.pay.properties.WxPayProperties;
-import cn.hutool.core.date.DateUtil;
-import cn.hutool.core.lang.UUID;
-import cn.hutool.core.util.RandomUtil;
-import com.alibaba.fastjson.JSONObject;
-import com.alipay.api.AlipayApiException;
-import com.alipay.api.domain.AlipayTradeAppPayModel;
-import com.alipay.api.response.AlipayTradeAppPayResponse;
-import com.github.binarywang.wxpay.bean.order.WxPayAppOrderResult;
-import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderRequest;
-import com.github.binarywang.wxpay.bean.result.WxPayUnifiedOrderResult;
-import com.github.binarywang.wxpay.exception.WxPayException;
-import com.github.binarywang.wxpay.service.WxPayService;
-import com.ijpay.alipay.AliPayApi;
 import lombok.extern.slf4j.Slf4j;
-import org.junit.jupiter.api.Test;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
 
 /**
@@ -27,43 +11,4 @@
 @SpringBootTest
 public class PayTest {
 
-//    @Test
-//    public void aliPay() throws AlipayApiException {
-//        AlipayTradeAppPayModel model = new AlipayTradeAppPayModel();
-//        model.setBody("这是测试用");
-//        model.setSubject("支付测试用的");
-//        model.setOutTradeNo("2021092712215802974");
-//        model.setTimeoutExpress("15m");
-//        model.setTotalAmount("0.01");
-//        model.setPassbackParams("callback params");
-//        model.setProductCode("QUICK_MSECURITY_PAY");
-//        AlipayTradeAppPayResponse resp = AliPayApi.appPayToResponse(model, "");
-//        log.info("=====>>>{}", JSONObject.toJSONString(resp));
-//    }
-//
-//    @Autowired
-//    private WxPayService wxPayService;
-//
-//    @Autowired
-//    private WxPayProperties wxPayProperties;
-//
-//    @Test
-//    public void wxPayTest() {
-//        WxPayUnifiedOrderRequest request = new WxPayUnifiedOrderRequest();
-//        request.setAppid(wxPayProperties.getAppId());
-//        request.setMchId(wxPayProperties.getMchId());
-//        request.setNotifyUrl(wxPayProperties.getNoticeUrl());
-//        request.setBody("这是body");
-//        request.setOutTradeNo(RandomUtil.randomString(32));
-//        request.setTimeExpire("20230407114500");
-//        request.setSpbillCreateIp("127.0.0.1");
-//        request.setTradeType("APP");
-//        request.setTotalFee(1);
-//        try {
-//            WxPayAppOrderResult result = wxPayService.createOrder(request);
-//            System.out.println(1111);
-//        } catch (WxPayException e) {
-//            e.printStackTrace();
-//        }
-//    }
 }
diff --git a/src/test/java/cc/mrbird/febs/ProfitTest.java b/src/test/java/cc/mrbird/febs/ProfitTest.java
index 7215f1e..e79c148 100644
--- a/src/test/java/cc/mrbird/febs/ProfitTest.java
+++ b/src/test/java/cc/mrbird/febs/ProfitTest.java
@@ -1,34 +1,7 @@
 package cc.mrbird.febs;
 
-import cc.mrbird.febs.common.entity.FebsResponse;
-import cc.mrbird.febs.common.utils.MallUtils;
-import cc.mrbird.febs.mall.entity.MallMember;
-import cc.mrbird.febs.mall.entity.MallOrderItem;
-import cc.mrbird.febs.mall.mapper.MallMemberMapper;
-import cc.mrbird.febs.mall.mapper.MallOrderInfoMapper;
-import cc.mrbird.febs.mall.mapper.MallOrderItemMapper;
-import cc.mrbird.febs.mall.quartz.OrderSettlementJob;
-import cc.mrbird.febs.mall.service.*;
-import cc.mrbird.febs.pay.model.*;
-import cc.mrbird.febs.pay.service.LaKaLaService;
-import cc.mrbird.febs.pay.service.NBYHService;
-import cc.mrbird.febs.pay.service.UnipayService;
-import cc.mrbird.febs.rabbit.producter.AgentProducer;
-import cn.hutool.core.collection.CollUtil;
-import cn.hutool.core.date.DateUtil;
-import cn.hutool.core.util.StrUtil;
-import com.alibaba.fastjson.JSON;
-import org.junit.jupiter.api.Test;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.core.io.ClassPathResource;
-import org.springframework.core.io.ResourceLoader;
 
-import java.io.IOException;
-import java.math.BigDecimal;
-import java.text.DecimalFormat;
-import java.util.*;
-import java.util.stream.Collectors;
 
 /**
  * @author wzy
@@ -37,247 +10,6 @@
 @SpringBootTest
 public class ProfitTest {
 
-    @Autowired
-    private IAgentService agentService;
-//    @Autowired
-//    private AgentConsumer agentConsumer;
-//
-//    @Autowired
-//    private IAgentService agentService;
-//
-//    @Autowired
-//    private IMemberProfitService memberProfitService;
-//
-//    @Autowired
-//    private IApiMallOrderInfoService iApiMallOrderInfoService;
-//
-//    @Autowired
-//    private MallMemberMapper memberMapper;
-//
-//    @Autowired
-//    private AgentProducer agentProducer;
-//
-//    @Test
-//    public void dynamicProfit() {
-//        agentService.perkMoneyConsumer(Long.parseLong("796"));
-////        memberProfitService.dynamicProfit(Long.parseLong("709"));
-////        memberProfitService.scoreRecordReleaseJob();
-////        memberProfitService.achieveReleaseJob();
-////        agentProducer.sendPerkMoneyMsg(679L);
-////        agentService.perkMoneyConsumer(665L);
-////        memberProfitService.teamEqualsPerkJob(null);
-////        List<MallMember> mallMemberTeamPerk = new ArrayList<>();
-////        MallMember mallMember = memberMapper.selectById(233L);
-////        List<String> ids = StrUtil.split(mallMember.getReferrerIds(), ',');
-////        List<MallMember> mallMembers = memberMapper.selectByInviteIds(ids);
-////        Map<String, List<MallMember>> collect = mallMembers.stream().collect(Collectors.groupingBy(MallMember::getLevel));
-////        Set<String> set = collect.keySet(); // 得到所有key的集合
-////        for (String key : set) {
-////            List<MallMember> value = collect.get(key);
-////            System.out.println(key + " " + value);
-////            mallMemberTeamPerk.add(value.get(0));
-////
-////            System.out.println(value.get(0).getName());
-////
-////        }
-////        List<Long> mallMemberStarIds = mallMemberTeamPerk.stream().map(MallMember::getId).collect(Collectors.toList());
-////
-////        System.out.println(mallMemberStarIds);
-//    }
 
 
-    @Autowired
-    private LaKaLaService laKaLaService;
-    @Autowired
-    ResourceLoader resourceLoader;
-    @Autowired
-    private NBYHService nbyhService;
-    @Autowired
-    private IAdminMallMemberService mallMemberService;
-
-    @Test
-    public void agentProfitTrade() {
-//        try {
-//            System.out.println(resourceLoader.getResource("classpath:lkl/api_private_key.pem").getInputStream());
-//        } catch (IOException e) {
-//            e.printStackTrace();
-//        }
-//        nbyhService.tradeSinge(306L);
-//        nbyhService.tradeSingeOuterTransfer(306L);
-//        nbyhService.accountInfoQuery(306L);
-//        nbyhService.transferResultInfoQuery(315L);
-//
-//        mallMemberService.chargeAgree(307L);
-//        mallMemberService.searchInfo(307L);
-
-//        agentService.perkAgent();
-    }
-    @Test
-    public void agentProfit() {
-//        try {
-//            System.out.println(resourceLoader.getResource("classpath:lkl/api_private_key.pem").getInputStream());
-//        } catch (IOException e) {
-//            e.printStackTrace();
-//        }
-//        LaKaLaCreateOrderReqDate laKaLaCreateOrderReqDate = new LaKaLaCreateOrderReqDate();
-//        //订单编号
-//        laKaLaCreateOrderReqDate.setOut_order_no("2023041918302032901");
-//        //订单金额,分计
-//        laKaLaCreateOrderReqDate.setTotal_amount(new BigDecimal(1).longValue());
-//        laKaLaCreateOrderReqDate.setOrder_info("礼品一");
-//        laKaLaService.verifyCreateOrder(laKaLaCreateOrderReqDate);
-    }
-//
-//
-////    @Test
-////    public void staticProfit() {
-////        memberProfitService.staticProfit(new Date());
-////    }
-//
-//    @Test
-//    public void thankfulProfit() {
-//        memberProfitService.mqPerkRetryJob();
-//    }
-//
-//    @Test
-//    public void rankProfit() {
-//        memberProfitService.rankProfit();
-//    }
-//
-//    @Autowired
-//    private MallOrderInfoMapper mallOrderInfoMapper;
-//
-//    @Test
-//    public void directorProfitTest() {
-//        memberProfitService.storeAndDirectorProfit(new Date());
-//    }
-//
-//    @Autowired
-//    private MallOrderItemMapper mallOrderItemMapper;
-//
-//    @Autowired
-//    private IMallAchieveService mallAchieveService;
-//
-//    @Test
-//    public void achieveTest() {
-//        List<MallOrderItem> items = mallOrderItemMapper.selectList(null);
-//        for (MallOrderItem item : items) {
-//            mallAchieveService.add(item.getId());
-//        }
-//    }
-//
-//    @Test
-//    public void paramTest() {
-//        Map<String, Integer> map = new HashMap<>();
-//        BigDecimal amount = new BigDecimal("100");
-//        map.put("amount", 1);
-//        changeAmount(map);
-//        System.out.println(map.get("amount"));
-//    }
-//
-//    public void changeAmount(Map<String, Integer> amount) {
-//        amount.put("amount", 2);
-//    }
-//
-//    @Test
-//    public void scorePool(){
-//        memberProfitService.scorePool();
-//    }
-//
-//    @Test
-//    public void staticProfit(){
-//        memberProfitService.staticProfit(null);
-//    }
-//
-//    @Autowired
-//    private OrderSettlementJob orderSettlementJob;
-//
-//    @Test
-//    public void orderSettlementJobTest() {
-////        orderSettlementJob.normalGoodsSettlementJob();
-//
-//        mallAchieveService.add(83L);
-//    }
-//
-//
-//    @Autowired
-//    private UnipayService unipayService;
-//    @Test
-//    public void unipay(){
-//        UnipayDto unipayDto = new UnipayDto();
-//        unipayDto.setAmount(new BigDecimal("0.01"));
-//        unipayDto.setFrpCode("ALIPAY_H5");
-//        unipayDto.setTradeMerchantNo("777180800385820");
-////        unipayDto.setFrpCode("WEIXIN_APP3");
-//        unipayDto.setOrderNo("2022082316415386395");
-//        unipayDto.setProductName("洗护套装");
-//        unipayService.unipay(unipayDto);
-//    }
-//    @Test
-//    public void getAgreeMentPaySms(){
-//        AgreeMentPaySmsDto agreeMentPaySmsDto = new AgreeMentPaySmsDto();
-//        agreeMentPaySmsDto.setOrderNo("2022082617305930328");
-//
-//        BigDecimal value = new BigDecimal("0.1").setScale(2, BigDecimal.ROUND_DOWN);
-//        DecimalFormat decimalFormat = new DecimalFormat("0.00#");
-//        String strVal = decimalFormat.format(value);
-//        agreeMentPaySmsDto.setOrderAmount(new BigDecimal(strVal));
-//        agreeMentPaySmsDto.setName("肖永");
-//        agreeMentPaySmsDto.setCreatedTime(DateUtil.now());
-//        agreeMentPaySmsDto.setIdType("1");
-//        agreeMentPaySmsDto.setIdCardNum("430321199310113713");
-//        agreeMentPaySmsDto.setBankNo("6222031901002389639");
-//        agreeMentPaySmsDto.setPhone("15274802129");
-//        String agreeMentPaySms = unipayService.getAgreeMentPaySms(agreeMentPaySmsDto);
-//        if("JS000000".equals(agreeMentPaySms)){
-//            System.out.println("获取成功");
-//        }else{
-//            System.out.println(agreeMentPaySms);
-//        }
-//    }
-//
-//    @Test
-//    public void agreementSign(){
-//        AgreementSignDto agreementSignDto = new AgreementSignDto();
-//        agreementSignDto.setOrderNo("2022082614465345250");
-//        agreementSignDto.setSmsCode("841243");
-//        unipayService.agreementSign(agreementSignDto);
-//    }
-//
-//    @Test
-//    public void agreementPay(){
-//        AgreementPayDto agreementPayDto = new AgreementPayDto();
-//        agreementPayDto.setOrderNo("2022082614465345250");
-//
-//        BigDecimal value = new BigDecimal("0.1").setScale(2, BigDecimal.ROUND_DOWN);
-//        DecimalFormat decimalFormat = new DecimalFormat("0.00#");
-//        String strVal = decimalFormat.format(value);
-//        agreementPayDto.setOrderAmount(new BigDecimal(strVal));
-//        agreementPayDto.setOrderTime(DateUtil.now());
-//        agreementPayDto.setOrderDesc("测试");
-//        agreementPayDto.setBankNo("6222031901002389639");
-//        unipayService.agreementPay(agreementPayDto);
-//    }
-//
-//    @Test
-//    public void singlePay(){
-//        /**
-//         * 调用汇聚代付
-//         */
-//        String orderNo = MallUtils.getOrderNum("W");
-//        SinglePayDto singlePayDto = new SinglePayDto();
-//        singlePayDto.setMerchantOrderNo(orderNo);
-//        singlePayDto.setReceiverAccountNoEncBankNo("6222031903210023839639");
-//        singlePayDto.setReceiverAccountNoEncName("肖永");
-//        singlePayDto.setReceiverAccountType("201");
-//        BigDecimal paidAmount = new BigDecimal(1.00);
-//        singlePayDto.setPaidAmount(paidAmount);
-//        singlePayDto.setCurrency("201");
-//        singlePayDto.setIsChecked("202");
-//        singlePayDto.setPaidDesc("用户提现");
-//        singlePayDto.setPaidUse("202");
-//        String singlePayRep = unipayService.singlePay(singlePayDto);
-//
-//        System.out.println(singlePayRep);
-//    }
 }

--
Gitblit v1.9.1