From 3f7956fa7435a2b581336dc067cf8f25c1719e1c Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Fri, 01 Mar 2024 10:44:22 +0800
Subject: [PATCH] 抽奖

---
 src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsService.java |    1 
 src/test/java/cc/mrbird/febs/AgentTest.java                               |   57 +++-
 src/main/java/cc/mrbird/febs/mall/entity/TzInfo.java                      |    2 
 src/test/java/cc/mrbird/febs/ProfitTest.java                              |   21 +
 src/main/java/cc/mrbird/febs/mall/entity/CjItem.java                      |    2 
 src/main/java/cc/mrbird/febs/mall/vo/ApiTzInfoVo.java                     |    4 
 src/main/resources/templates/febs/views/modules/goods/tzList.html         |   14 +
 src/main/java/cc/mrbird/febs/mall/conversion/TzInfoConversion.java        |    4 
 src/main/java/cc/mrbird/febs/mall/service/impl/AsyncCjServiceImpl.java    |  174 +++++++++++----
 src/main/java/cc/mrbird/febs/mall/service/CJService.java                  |    7 
 src/main/java/cc/mrbird/febs/mall/service/impl/CJServiceImpl.java         |  319 +++++++++++++++++++++-------
 src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java    |   15 +
 src/main/java/cc/mrbird/febs/mall/dto/ApiCreateItemDto.java               |    4 
 src/main/java/cc/mrbird/febs/mall/mapper/CjItemMapper.java                |    2 
 src/main/java/cc/mrbird/febs/mall/service/AsyncCjService.java             |    5 
 15 files changed, 470 insertions(+), 161 deletions(-)

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 dac8f54..7c2b47b 100644
--- a/src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java
+++ b/src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java
@@ -7,6 +7,21 @@
 public enum DataDictionaryEnum {
 
     /**
+     * 彩球
+     */
+    COLOR_BALL("COLOR_BALL","COLOR_BALL"),
+
+    /**
+     * 蓝球
+     */
+    BLUE_BALL("BLUE_BALL","BLUE_BALL"),
+
+    /**
+     * 红球
+     */
+    RED_BALL("RED_BALL","RED_BALL"),
+
+    /**
      * 本期开奖数字
      */
     OPEN_PRICE("OPEN_PRICE","OPEN_PRICE"),
diff --git a/src/main/java/cc/mrbird/febs/mall/conversion/TzInfoConversion.java b/src/main/java/cc/mrbird/febs/mall/conversion/TzInfoConversion.java
index 47f9368..b3faa90 100644
--- a/src/main/java/cc/mrbird/febs/mall/conversion/TzInfoConversion.java
+++ b/src/main/java/cc/mrbird/febs/mall/conversion/TzInfoConversion.java
@@ -5,6 +5,8 @@
 import org.mapstruct.Mapper;
 import org.mapstruct.factory.Mappers;
 
+import java.util.List;
+
 
 @Mapper
 public abstract class TzInfoConversion {
@@ -12,4 +14,6 @@
     public static final TzInfoConversion INSTANCE = Mappers.getMapper(TzInfoConversion.class);
 
     public abstract ApiTzInfoVo entityToVo(TzInfo tzInfo);
+
+    public abstract List<ApiTzInfoVo> entitysToVo(List<TzInfo> daXiaos);
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/ApiCreateItemDto.java b/src/main/java/cc/mrbird/febs/mall/dto/ApiCreateItemDto.java
index cbda8bd..5b70dd7 100644
--- a/src/main/java/cc/mrbird/febs/mall/dto/ApiCreateItemDto.java
+++ b/src/main/java/cc/mrbird/febs/mall/dto/ApiCreateItemDto.java
@@ -1,5 +1,6 @@
 package cc.mrbird.febs.mall.dto;
 
+import cc.mrbird.febs.mall.entity.TzInfo;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -16,4 +17,7 @@
     @ApiModelProperty(value = "投注金额")
     private BigDecimal tzAmount;//值
 
+    @ApiModelProperty(hidden = true)
+    private TzInfo tzInfo;
+
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/entity/CjItem.java b/src/main/java/cc/mrbird/febs/mall/entity/CjItem.java
index 2c21d8d..92f0aa4 100644
--- a/src/main/java/cc/mrbird/febs/mall/entity/CjItem.java
+++ b/src/main/java/cc/mrbird/febs/mall/entity/CjItem.java
@@ -15,7 +15,7 @@
     private Long tzId;//投注信息ID
     private String tzCode;//投注号码
     private BigDecimal tzPercent;//获奖倍率
-    private Integer type;//投注类型 1-按大小 2-按单双 3-按数字
+    private Integer type;//投注类型 1-按大小 2-按单双 3-按数字 4- 按红蓝 5-按彩球 6-六个号码为一组  7-三个号码为一组
     private BigDecimal amount;//投入金额
     private String itemNum;//投注数字
     private String kjNum;//中奖号码
diff --git a/src/main/java/cc/mrbird/febs/mall/entity/TzInfo.java b/src/main/java/cc/mrbird/febs/mall/entity/TzInfo.java
index 6633f56..033e3dc 100644
--- a/src/main/java/cc/mrbird/febs/mall/entity/TzInfo.java
+++ b/src/main/java/cc/mrbird/febs/mall/entity/TzInfo.java
@@ -11,7 +11,7 @@
 @TableName("tz_info")
 public class TzInfo extends BaseEntity {
 
-    private Integer type;//类型 1-按大小 2-按单双 3-按数字
+    private Integer type;//类型 1-按大小 2-按单双 3-按数字 4- 按红蓝 5-按彩球 6-六个号码为一组  7-三个号码为一组
     private String tzCode;//值
     private BigDecimal tzPercent;//获奖倍率
     @TableField(exist = false)
diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/CjItemMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/CjItemMapper.java
index fb491a1..fae6bbb 100644
--- a/src/main/java/cc/mrbird/febs/mall/mapper/CjItemMapper.java
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/CjItemMapper.java
@@ -11,7 +11,7 @@
 
     List<CjItem> selectListByInfoId(@Param("infoId")Long id);
 
-    void updateBatchById(@Param("list")ArrayList<CjItem> cjItemUpdateList);
+    void updateBatchById(@Param("list")List<CjItem> cjItemUpdateList);
 
     List<CjItem> selectSumAmountByInfoId(@Param("list")List<Long> collect);
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/service/AsyncCjService.java b/src/main/java/cc/mrbird/febs/mall/service/AsyncCjService.java
index c513d16..2b3fd86 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/AsyncCjService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/AsyncCjService.java
@@ -10,10 +10,11 @@
 public interface AsyncCjService extends IService<CjInfo> {
 
     @Async(FebsConstant.ASYNC_POOL)
-    void openPriceAsync(CjInfo cjInfo, String kjNum,String danshuang,String daXiao);
+    void openPriceAsync(CjInfo cjInfo, String kjNum,String danshuang,String daXiao
+            ,String hong,String lan,String caiqiu,String liugehao,String sangehao);
 
     @Async(FebsConstant.ASYNC_POOL)
-    void create(ApiCreateDto apiCreateDto);
+    void create(ApiCreateDto apiCreateDto,Long memberId);
 
     @Async(FebsConstant.ASYNC_POOL)
     void tzInfo();
diff --git a/src/main/java/cc/mrbird/febs/mall/service/CJService.java b/src/main/java/cc/mrbird/febs/mall/service/CJService.java
index e99517f..5c5d96e 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/CJService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/CJService.java
@@ -36,4 +36,11 @@
 
     LinkedHashMap<String, JSON> getTzInfo();
 
+    /**
+     * 处理红蓝彩球
+     * @param num
+     * @return
+     */
+    String getKjNo(String num);
+
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsService.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsService.java
index a413958..999f55e 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsService.java
@@ -541,6 +541,7 @@
         if(ObjectUtil.isEmpty(tzInfo1)){
             return new FebsResponse().fail().message("设置失败");
         }
+        tzInfo1.setTzCode(tzInfo.getTzCode());
         tzInfo1.setTzPercent(tzInfo.getTzPercent());
         tzInfoMapper.updateById(tzInfo1);
 
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AsyncCjServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AsyncCjServiceImpl.java
index 85c7498..8bb6b34 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/AsyncCjServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AsyncCjServiceImpl.java
@@ -27,10 +27,7 @@
 import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 
 @Slf4j
@@ -47,25 +44,23 @@
     private final IApiMallMemberService mallMemberService;
 
     @Override
-    public void openPriceAsync(CjInfo cjInfo, String kjNum,String danshuang,String daXiao) {
+    public void openPriceAsync(CjInfo cjInfo, String kjNum,String danshuang,String daXiao
+            ,String hong,String lan,String caiqiu,String liugehao,String sangehao) {
         long l = System.currentTimeMillis();
 
         List<CjItem> cjItems = cjItemMapper.selectListByInfoId(cjInfo.getId());
         if(CollUtil.isEmpty(cjItems)){
             return;
         }
-        /**
-         * 1-按大小 2-按单双 3-按数字
-         */
         BigDecimal perkAmountTotal = BigDecimal.ZERO;//中奖总金额
 
-        ArrayList<CjItem> CjItemUpdateList = new ArrayList<>();
+        List<CjItem> CjItemUpdateList = new ArrayList<>();
         //按大小
         List<CjItem> collectDaXiao = cjItems.stream().filter(cjItem -> cjItem.getType() == 1).collect(Collectors.toList());
         if(CollUtil.isNotEmpty(collectDaXiao)){
             for(CjItem cjItem : collectDaXiao){
                 String tzCode = cjItem.getTzCode();
-                cjItem.setKjNum(daXiao);
+                cjItem.setKjNum(kjNum);
                 BigDecimal perkAmount = BigDecimal.ZERO;
                 if(daXiao.equals(tzCode)){
                     perkAmount = cjItem.getAmount().multiply(cjItem.getTzPercent()).setScale(2, BigDecimal.ROUND_DOWN);
@@ -82,7 +77,7 @@
         if(CollUtil.isNotEmpty(collectDanShuang)){
             for(CjItem cjItem : collectDanShuang){
                 String tzCode = cjItem.getTzCode();
-                cjItem.setKjNum(danshuang);
+                cjItem.setKjNum(kjNum);
                 BigDecimal perkAmount = BigDecimal.ZERO;
                 if(danshuang.equals(tzCode)){
                     perkAmount = cjItem.getAmount().multiply(cjItem.getTzPercent()).setScale(2, BigDecimal.ROUND_DOWN);
@@ -111,6 +106,92 @@
                 perkAmountTotal = perkAmountTotal.add(perkAmount);
             }
         }
+        //按红
+        List<CjItem> collectHong = cjItems.stream().filter(cjItem -> cjItem.getType() == 4).collect(Collectors.toList());
+        if(CollUtil.isNotEmpty(collectHong)){
+            for(CjItem cjItem : collectHong){
+                String tzCode = cjItem.getTzCode();
+                cjItem.setKjNum(kjNum);
+                BigDecimal perkAmount = BigDecimal.ZERO;
+                if(hong.equals(tzCode)){
+                    perkAmount = cjItem.getAmount().multiply(cjItem.getTzPercent()).setScale(2, BigDecimal.ROUND_DOWN);
+                    cjItem.setPerkAmount(perkAmount);
+                }else{
+                    cjItem.setPerkAmount(perkAmount);
+                }
+                CjItemUpdateList.add(cjItem);
+                perkAmountTotal = perkAmountTotal.add(perkAmount);
+            }
+        }
+        //按蓝
+        List<CjItem> collectLan = cjItems.stream().filter(cjItem -> cjItem.getType() == 8).collect(Collectors.toList());
+        if(CollUtil.isNotEmpty(collectLan)){
+            for(CjItem cjItem : collectLan){
+                String tzCode = cjItem.getTzCode();
+                cjItem.setKjNum(kjNum);
+                BigDecimal perkAmount = BigDecimal.ZERO;
+                if(lan.equals(tzCode)){
+                    perkAmount = cjItem.getAmount().multiply(cjItem.getTzPercent()).setScale(2, BigDecimal.ROUND_DOWN);
+                    cjItem.setPerkAmount(perkAmount);
+                }else{
+                    cjItem.setPerkAmount(perkAmount);
+                }
+                CjItemUpdateList.add(cjItem);
+                perkAmountTotal = perkAmountTotal.add(perkAmount);
+            }
+        }
+        //按彩球
+        List<CjItem> collectCaiQiu = cjItems.stream().filter(cjItem -> cjItem.getType() == 5).collect(Collectors.toList());
+        if(CollUtil.isNotEmpty(collectCaiQiu)){
+            for(CjItem cjItem : collectCaiQiu){
+                String tzCode = cjItem.getTzCode();
+                cjItem.setKjNum(kjNum);
+                BigDecimal perkAmount = BigDecimal.ZERO;
+                if(caiqiu.equals(tzCode)){
+                    perkAmount = cjItem.getAmount().multiply(cjItem.getTzPercent()).setScale(2, BigDecimal.ROUND_DOWN);
+                    cjItem.setPerkAmount(perkAmount);
+                }else{
+                    cjItem.setPerkAmount(perkAmount);
+                }
+                CjItemUpdateList.add(cjItem);
+                perkAmountTotal = perkAmountTotal.add(perkAmount);
+            }
+        }
+        //六个号码为一组
+        List<CjItem> collectLiuGeHao = cjItems.stream().filter(cjItem -> cjItem.getType() == 6).collect(Collectors.toList());
+        if(CollUtil.isNotEmpty(collectLiuGeHao)){
+            for(CjItem cjItem : collectLiuGeHao){
+                String tzCode = cjItem.getTzCode();
+                cjItem.setKjNum(kjNum);
+                BigDecimal perkAmount = BigDecimal.ZERO;
+                if(liugehao.equals(tzCode)){
+                    perkAmount = cjItem.getAmount().multiply(cjItem.getTzPercent()).setScale(2, BigDecimal.ROUND_DOWN);
+                    cjItem.setPerkAmount(perkAmount);
+                }else{
+                    cjItem.setPerkAmount(perkAmount);
+                }
+                CjItemUpdateList.add(cjItem);
+                perkAmountTotal = perkAmountTotal.add(perkAmount);
+            }
+        }
+        //三个号码为一组
+        List<CjItem> collectSanGeHao = cjItems.stream().filter(cjItem -> cjItem.getType() == 7).collect(Collectors.toList());
+        if(CollUtil.isNotEmpty(collectSanGeHao)){
+            for(CjItem cjItem : collectSanGeHao){
+                String tzCode = cjItem.getTzCode();
+                cjItem.setKjNum(kjNum);
+                BigDecimal perkAmount = BigDecimal.ZERO;
+                if(sangehao.equals(tzCode)){
+                    perkAmount = cjItem.getAmount().multiply(cjItem.getTzPercent()).setScale(2, BigDecimal.ROUND_DOWN);
+                    cjItem.setPerkAmount(perkAmount);
+                }else{
+                    cjItem.setPerkAmount(perkAmount);
+                }
+                CjItemUpdateList.add(cjItem);
+                perkAmountTotal = perkAmountTotal.add(perkAmount);
+            }
+        }
+
         cjItemMapper.updateBatchById(CjItemUpdateList);//批量更新
 
         if(perkAmountTotal.compareTo(BigDecimal.ZERO) > 0){
@@ -143,9 +224,8 @@
     }
 
     @Override
-    public void create(ApiCreateDto apiCreateDto) {
+    public void create(ApiCreateDto apiCreateDto,Long memberId) {
         long l = System.currentTimeMillis();
-        Long memberId = 1L;
         //开启下注
         DataDictionaryCustom noTimeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
                 DataDictionaryEnum.NO_TIME.getType(),
@@ -166,6 +246,12 @@
             if(BigDecimal.ZERO.compareTo(tzAmount) >= 0){
                 throw new FebsException("金额必须大于0");
             }
+            Long id = apiCreateItemDto.getId();//投注ID
+            TzInfo tzInfo = tzInfoMapper.selectById(id);
+            if(ObjectUtil.isEmpty(tzInfo)){
+                throw new FebsException("参数有误,请刷新页面");
+            }
+            apiCreateItemDto.setTzInfo(tzInfo);
             totalAmount = totalAmount.add(tzAmount);
         }
         if(mallMemberWallet.getBalance().compareTo(totalAmount) < 0){
@@ -187,7 +273,7 @@
 
         for(ApiCreateItemDto apiCreateItemDto : items){
             Long id = apiCreateItemDto.getId();//投注ID
-            TzInfo tzInfo = tzInfoMapper.selectById(id);
+            TzInfo tzInfo = apiCreateItemDto.getTzInfo();
             if(ObjectUtil.isEmpty(tzInfo)){
                 throw new FebsException("参数有误,请刷新页面");
             }
@@ -224,41 +310,31 @@
     public void tzInfo() {
         Map<String, JSON> linkedHashMap = new LinkedHashMap<>();
 
-        ArrayList<ApiTzInfoVo> objectDaxiao = new ArrayList<>();
-        QueryWrapper<TzInfo> daxiaoQueryWrapper = new QueryWrapper<>();
-        daxiaoQueryWrapper.eq("type",1);
-        List<TzInfo> daXiaos = tzInfoMapper.selectList(daxiaoQueryWrapper);
-        if(CollUtil.isNotEmpty(daXiaos)){
-            for(TzInfo tzInfoRedis : daXiaos){
-                ApiTzInfoVo apiTzInfoVo = TzInfoConversion.INSTANCE.entityToVo(tzInfoRedis);
-                objectDaxiao.add(apiTzInfoVo);
-            }
-        }
-        linkedHashMap.put("daXiao", JSONUtil.parse(objectDaxiao));
-
-        ArrayList<ApiTzInfoVo> objectDanshuang = new ArrayList<>();
-        QueryWrapper<TzInfo> danshuangQueryWrapper = new QueryWrapper<>();
-        danshuangQueryWrapper.eq("type",2);
-        List<TzInfo> danShuangs = tzInfoMapper.selectList(danshuangQueryWrapper);
-        if(CollUtil.isNotEmpty(danShuangs)){
-            for(TzInfo tzInfoRedis : danShuangs){
-                ApiTzInfoVo apiTzInfoVo = TzInfoConversion.INSTANCE.entityToVo(tzInfoRedis);
-                objectDanshuang.add(apiTzInfoVo);
-            }
-        }
-        linkedHashMap.put("danShuang",JSONUtil.parse(objectDanshuang));
-
-        ArrayList<ApiTzInfoVo> objectShuZi = new ArrayList<>();
-        QueryWrapper<TzInfo> shuZiQueryWrapper = new QueryWrapper<>();
-        shuZiQueryWrapper.eq("type",3);
-        List<TzInfo> shuZis = tzInfoMapper.selectList(shuZiQueryWrapper);
-        if(CollUtil.isNotEmpty(shuZis)){
-            for(TzInfo tzInfoRedis : shuZis){
-                ApiTzInfoVo apiTzInfoVo = TzInfoConversion.INSTANCE.entityToVo(tzInfoRedis);
-                objectShuZi.add(apiTzInfoVo);
-            }
-        }
-        linkedHashMap.put("shuZi",JSONUtil.parse(objectShuZi));
+        List<TzInfo> tzInfos = tzInfoMapper.selectList(null);
+        linkedHashMap.put("daXiao", JSONUtil.parse(
+                TzInfoConversion.INSTANCE.entitysToVo(
+                        tzInfos.stream().filter(tzInfo -> tzInfo.getType() == 1).collect(Collectors.toList()))));
+        linkedHashMap.put("danShuang", JSONUtil.parse(
+                TzInfoConversion.INSTANCE.entitysToVo(
+                        tzInfos.stream().filter(tzInfo -> tzInfo.getType() == 2).collect(Collectors.toList()))));
+        linkedHashMap.put("shuZi", JSONUtil.parse(
+                TzInfoConversion.INSTANCE.entitysToVo(
+                        tzInfos.stream().filter(tzInfo -> tzInfo.getType() == 3).collect(Collectors.toList()))));
+        linkedHashMap.put("hong", JSONUtil.parse(
+                TzInfoConversion.INSTANCE.entitysToVo(
+                        tzInfos.stream().filter(tzInfo -> tzInfo.getType() == 4).collect(Collectors.toList()))));
+        linkedHashMap.put("caiqiu", JSONUtil.parse(
+                TzInfoConversion.INSTANCE.entitysToVo(
+                        tzInfos.stream().filter(tzInfo -> tzInfo.getType() == 5).collect(Collectors.toList()))));
+        linkedHashMap.put("liuHao", JSONUtil.parse(
+                TzInfoConversion.INSTANCE.entitysToVo(
+                        tzInfos.stream().filter(tzInfo -> tzInfo.getType() == 6).collect(Collectors.toList()))));
+        linkedHashMap.put("sanHao", JSONUtil.parse(
+                TzInfoConversion.INSTANCE.entitysToVo(
+                        tzInfos.stream().filter(tzInfo -> tzInfo.getType() == 7).collect(Collectors.toList()))));
+        linkedHashMap.put("lan", JSONUtil.parse(
+                TzInfoConversion.INSTANCE.entitysToVo(
+                        tzInfos.stream().filter(tzInfo -> tzInfo.getType() == 8).collect(Collectors.toList()))));
 
         //投注信息
         String tzInfoNoExit = redisUtils.getString(AppContants.TZ_INFO);
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
index 76e0c51..901e7bc 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/CJServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/CJServiceImpl.java
@@ -42,10 +42,8 @@
 import java.text.ParseException;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
-import java.util.ArrayList;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
+import java.util.stream.Collectors;
 
 @Slf4j
 @Service
@@ -67,6 +65,12 @@
     public FebsResponse kjRecord(KjRecordDto kjRecordDto) {
         IPage<ApiKjRecordVo> page = new Page<>(kjRecordDto.getPageNum(), kjRecordDto.getPageSize());
         IPage<ApiKjRecordVo> pages = kjRecordMapper.selectListInPage(page, kjRecordDto);
+        List<ApiKjRecordVo> records = pages.getRecords();
+        if(CollUtil.isNotEmpty(records)){
+            for(ApiKjRecordVo apiKjRecordVo : records){
+                apiKjRecordVo.setKjNum(this.getKjNo(apiKjRecordVo.getKjNum()));
+            }
+        }
         return new FebsResponse().success().data(pages);
     }
 
@@ -95,51 +99,28 @@
         agentProducer.sendNoTimeDelayMsg(kjNo, (AppContants.KJ_RECORD_TIME_INTERVAL-1) * 60 * 1000L);//提一分钟停止下注
 
         //todo 测试下注
-//        ApiCreateDto apiCreateDto = new ApiCreateDto();
-//        List<ApiCreateItemDto> items = new ArrayList<>();
-//        ApiCreateItemDto apiCreateItemDto = new ApiCreateItemDto();
-//        apiCreateItemDto.setId(1L);
-//        apiCreateItemDto.setTzAmount(new BigDecimal("10"));
-//        items.add(apiCreateItemDto);
-//
-//        ApiCreateItemDto apiCreateItemDto2 = new ApiCreateItemDto();
-//        apiCreateItemDto2.setId(2L);
-//        apiCreateItemDto2.setTzAmount(new BigDecimal("10"));
-//        items.add(apiCreateItemDto2);
-//
-//        ApiCreateItemDto apiCreateItemDto3 = new ApiCreateItemDto();
-//        apiCreateItemDto3.setId(3L);
-//        apiCreateItemDto3.setTzAmount(new BigDecimal("10"));
-//        items.add(apiCreateItemDto3);
-//
-//        ApiCreateItemDto apiCreateItemDto4 = new ApiCreateItemDto();
-//        apiCreateItemDto4.setId(4L);
-//        apiCreateItemDto4.setTzAmount(new BigDecimal("10"));
-//        items.add(apiCreateItemDto4);
-//
-//        ApiCreateItemDto apiCreateItemDto5 = new ApiCreateItemDto();
-//        int randomInt = RandomUtil.randomInt(1, 25);
-//        apiCreateItemDto5.setId(Long.parseLong(String.valueOf(randomInt)));
-//        apiCreateItemDto5.setTzAmount(new BigDecimal("10"));
-//        items.add(apiCreateItemDto5);
-//        apiCreateDto.setItems(items);
-//
-//        for(int i = 0;i<=100;i++){
-//            asyncCjService.create(apiCreateDto);
-//        }
-
+        ApiCreateDto apiCreateDto = new ApiCreateDto();
+        List<ApiCreateItemDto> items = new ArrayList<>();
+        for(int i = 1;i<= 43;i++){
+            ApiCreateItemDto apiCreateItemDto6 = new ApiCreateItemDto();
+            apiCreateItemDto6.setId(Long.parseLong(String.valueOf(i)));
+            apiCreateItemDto6.setTzAmount(new BigDecimal("10"));
+            items.add(apiCreateItemDto6);
+        }
+        apiCreateDto.setItems(items);
+        asyncCjService.create(apiCreateDto,1L);
     }
 
     @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);
+        String kjNumOld = this.getKjNo(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());
+                apiKjInfoVo.setKjNumOld(this.getKjNo(kjRecordOld.getKjNum()));
             }
         }else{
             apiKjInfoVo.setKjNoOld(kjNoOld);
@@ -195,7 +176,7 @@
                 DataDictionaryEnum.OPEN_PRICE.getType(),
                 DataDictionaryEnum.OPEN_PRICE.getCode()
         );
-        int randomInt = RandomUtil.randomInt(1, 25);
+        int randomInt = RandomUtil.randomInt(1, 27);
         if(StrUtil.isNotEmpty(openPriceDic.getValue())){
             randomInt = Integer.parseInt(openPriceDic.getValue());
             openPriceDic.setValue("");
@@ -259,6 +240,12 @@
             if(BigDecimal.ZERO.compareTo(tzAmount) >= 0){
                 throw new FebsException("金额必须大于0");
             }
+            Long id = apiCreateItemDto.getId();//投注ID
+            TzInfo tzInfo = tzInfoMapper.selectById(id);
+            if(ObjectUtil.isEmpty(tzInfo)){
+                throw new FebsException("参数有误,请刷新页面");
+            }
+            apiCreateItemDto.setTzInfo(tzInfo);
             totalAmount = totalAmount.add(tzAmount);
         }
         if(mallMemberWallet.getBalance().compareTo(totalAmount) < 0){
@@ -280,10 +267,7 @@
 
         for(ApiCreateItemDto apiCreateItemDto : items){
             Long id = apiCreateItemDto.getId();//投注ID
-            TzInfo tzInfo = tzInfoMapper.selectById(id);
-            if(ObjectUtil.isEmpty(tzInfo)){
-                throw new FebsException("参数有误,请刷新页面");
-            }
+            TzInfo tzInfo = apiCreateItemDto.getTzInfo();
             BigDecimal tzAmount = apiCreateItemDto.getTzAmount().setScale(2,BigDecimal.ROUND_DOWN);//投注金额
             CjItem cjItem = new CjItem();
             cjItem.setInfoId(cjInfo.getId());
@@ -323,7 +307,13 @@
         if(CollUtil.isNotEmpty(records)){
             for(CjInfo item : records){
                 Long id = item.getId();
+                item.setKjNum(this.getKjNo(item.getKjNum()));
                 List<CjItem> cjItems = cjItemMapper.selectListByInfoId(id);
+                if(CollUtil.isNotEmpty(cjItems)){
+                    for(CjItem cjItem : cjItems){
+                        cjItem.setKjNum(this.getKjNo(cjItem.getKjNum()));
+                    }
+                }
                 item.setItems(cjItems);
             }
         }
@@ -351,51 +341,59 @@
         }
         String danshuang = judgeNumberOne(Integer.parseInt(kjNum));
         String daXiao = judgeNumberTwo(Integer.parseInt(kjNum));
+
+        DataDictionaryCustom redBallDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.RED_BALL.getType(),
+                DataDictionaryEnum.RED_BALL.getCode()
+        );
+        String hong = judgeNumberHong(kjNum, redBallDic);
+
+        DataDictionaryCustom blueBallDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.BLUE_BALL.getType(),
+                DataDictionaryEnum.BLUE_BALL.getCode()
+        );
+        String lan = judgeNumberLan(kjNum, blueBallDic);
+        DataDictionaryCustom colorBallDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.COLOR_BALL.getType(),
+                DataDictionaryEnum.COLOR_BALL.getCode()
+        );
+        String caiqiu = judgeNumberColor(kjNum, colorBallDic);
+        String liugehao = getGroupNumberSix(Integer.parseInt(kjNum));
+        String sangehao = getGroupNumberThree(Integer.parseInt(kjNum));
+
         for(CjInfo cjInfo : cjInfos){
-            asyncCjService.openPriceAsync(cjInfo,kjNum,danshuang,daXiao);
+            asyncCjService.openPriceAsync(cjInfo,kjNum,danshuang,daXiao,hong,lan,caiqiu,liugehao,sangehao);
         }
     }
 
     @Override
     public LinkedHashMap<String, JSON> getTzInfo() {
         LinkedHashMap<String, JSON> linkedHashMap = new LinkedHashMap<>();
-
-        ArrayList<ApiTzInfoVo> objectDaxiao = new ArrayList<>();
-        QueryWrapper<TzInfo> daxiaoQueryWrapper = new QueryWrapper<>();
-        daxiaoQueryWrapper.eq("type",1);
-        List<TzInfo> daXiaos = tzInfoMapper.selectList(daxiaoQueryWrapper);
-        if(CollUtil.isNotEmpty(daXiaos)){
-            for(TzInfo tzInfoRedis : daXiaos){
-                ApiTzInfoVo apiTzInfoVo = TzInfoConversion.INSTANCE.entityToVo(tzInfoRedis);
-                objectDaxiao.add(apiTzInfoVo);
-            }
-        }
-        linkedHashMap.put("daXiao", JSONUtil.parse(objectDaxiao));
-
-        ArrayList<ApiTzInfoVo> objectDanshuang = new ArrayList<>();
-        QueryWrapper<TzInfo> danshuangQueryWrapper = new QueryWrapper<>();
-        danshuangQueryWrapper.eq("type",2);
-        List<TzInfo> danShuangs = tzInfoMapper.selectList(danshuangQueryWrapper);
-        if(CollUtil.isNotEmpty(danShuangs)){
-            for(TzInfo tzInfoRedis : danShuangs){
-                ApiTzInfoVo apiTzInfoVo = TzInfoConversion.INSTANCE.entityToVo(tzInfoRedis);
-                objectDanshuang.add(apiTzInfoVo);
-            }
-        }
-        linkedHashMap.put("danShuang",JSONUtil.parse(objectDanshuang));
-
-        ArrayList<ApiTzInfoVo> objectShuZi = new ArrayList<>();
-        QueryWrapper<TzInfo> shuZiQueryWrapper = new QueryWrapper<>();
-        shuZiQueryWrapper.eq("type",3);
-        List<TzInfo> shuZis = tzInfoMapper.selectList(shuZiQueryWrapper);
-        if(CollUtil.isNotEmpty(shuZis)){
-            for(TzInfo tzInfoRedis : shuZis){
-                ApiTzInfoVo apiTzInfoVo = TzInfoConversion.INSTANCE.entityToVo(tzInfoRedis);
-                objectShuZi.add(apiTzInfoVo);
-            }
-        }
-        linkedHashMap.put("shuZi",JSONUtil.parse(objectShuZi));
-
+        List<TzInfo> tzInfos = tzInfoMapper.selectList(null);
+        linkedHashMap.put("daXiao", JSONUtil.parse(
+                TzInfoConversion.INSTANCE.entitysToVo(
+                        tzInfos.stream().filter(tzInfo -> tzInfo.getType() == 1).collect(Collectors.toList()))));
+        linkedHashMap.put("danShuang", JSONUtil.parse(
+                TzInfoConversion.INSTANCE.entitysToVo(
+                        tzInfos.stream().filter(tzInfo -> tzInfo.getType() == 2).collect(Collectors.toList()))));
+        linkedHashMap.put("shuZi", JSONUtil.parse(
+                TzInfoConversion.INSTANCE.entitysToVo(
+                        tzInfos.stream().filter(tzInfo -> tzInfo.getType() == 3).collect(Collectors.toList()))));
+        linkedHashMap.put("hong", JSONUtil.parse(
+                TzInfoConversion.INSTANCE.entitysToVo(
+                        tzInfos.stream().filter(tzInfo -> tzInfo.getType() == 4).collect(Collectors.toList()))));
+        linkedHashMap.put("caiqiu", JSONUtil.parse(
+                TzInfoConversion.INSTANCE.entitysToVo(
+                        tzInfos.stream().filter(tzInfo -> tzInfo.getType() == 5).collect(Collectors.toList()))));
+        linkedHashMap.put("liuHao", JSONUtil.parse(
+                TzInfoConversion.INSTANCE.entitysToVo(
+                        tzInfos.stream().filter(tzInfo -> tzInfo.getType() == 6).collect(Collectors.toList()))));
+        linkedHashMap.put("sanHao", JSONUtil.parse(
+                TzInfoConversion.INSTANCE.entitysToVo(
+                        tzInfos.stream().filter(tzInfo -> tzInfo.getType() == 7).collect(Collectors.toList()))));
+        linkedHashMap.put("lan", JSONUtil.parse(
+                TzInfoConversion.INSTANCE.entitysToVo(
+                        tzInfos.stream().filter(tzInfo -> tzInfo.getType() == 8).collect(Collectors.toList()))));
         //投注信息
         String tzInfoNoExit = redisUtils.getString(AppContants.TZ_INFO);
         if (StrUtil.isNotBlank(tzInfoNoExit)) {
@@ -406,12 +404,35 @@
         return linkedHashMap;
     }
 
+    @Override
+    public String getKjNo(String num) {
+        DataDictionaryCustom redBallDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.RED_BALL.getType(),
+                DataDictionaryEnum.RED_BALL.getCode()
+        );
+
+        DataDictionaryCustom blueBallDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.BLUE_BALL.getType(),
+                DataDictionaryEnum.BLUE_BALL.getCode()
+        );
+        if(redBallDic.getValue().equals(num)){
+            return "红";
+        }
+        if(blueBallDic.getValue().equals(num)){
+            return "蓝";
+        }
+        return num;
+    }
+
     /**
      * 取模运算符%来判断该数字是否为偶数。如果余数为0,则该数字为偶数,返回"双数";否则,该数字为奇数,返回"单数"
      * @param num
      * @return 1-单数 2-双数
      */
     public static String judgeNumberOne(int num) {
+        if(num > 24){
+            return String.valueOf(num);
+        }
         if (num % 2 == 0) {
             return "双";
         } else {
@@ -425,11 +446,137 @@
      * @return 1-小数 2-大数
      */
     public static String judgeNumberTwo(int num) {
-        if (num <= 12) {
-            return "小";
-        } else {
-            return "大";
+        if(num > 24){
+            return String.valueOf(num);
         }
+        if (num <= 12) {
+            return "龙1-12";
+        } else {
+            return "虎13-24";
+        }
+    }
+
+    /**
+     * 红
+     * @param num
+     */
+    public static String judgeNumberHong(String num,DataDictionaryCustom redBallDic) {
+        String redBall = redBallDic.getValue();
+        if (redBall.equals(num)) {
+            return "红球";
+        } else {
+            return num;
+        }
+    }
+
+    /**
+     * 蓝
+     * @param num
+     */
+    public static String judgeNumberLan(String num,DataDictionaryCustom blueBallDic) {
+        String blueBall = blueBallDic.getValue();
+        if (blueBall.equals(num)) {
+            return "蓝球";
+        } else {
+            return num;
+        }
+    }
+
+    /**
+     * 彩球
+     * @param num
+     */
+    public static String judgeNumberColor(String num,DataDictionaryCustom colorBallDic) {
+        String colorBall = colorBallDic.getValue();
+        List<String> colorBallList = Arrays.asList(StrUtil.split(colorBall, ","));
+        if (colorBallList.contains(num)) {
+            return "彩球";
+        } else {
+            return num;
+        }
+    }
+
+    /**
+     * 六个号
+     * 判断数字属于哪一组并返回组号
+     * @param number 1-24之间的数字
+     * @return 组号(1, 2, 3, 4)
+     */
+    /**
+     * 判断一个数字属于哪个组并返回组号
+     *
+     * @param num 输入的数字(1-24之间)
+     * @return 组号(1-4之间)
+     */
+    public static String getGroupNumberSix(int num) {
+        if(num > 24){
+            return String.valueOf(num);
+        }
+        // 使用整除来确定组号
+        int i = (num - 1) / 6 + 1;
+        if(1 == i){
+            return "1-6";
+        }else if(2 == i){
+            return "7-12";
+        }else if(3 == i){
+            return "13-18";
+        }else{
+            return "19-24";
+        }
+    }
+
+    /**
+     * 六个号
+     * 判断数字属于哪一组并返回组号
+     * @param number 1-24之间的数字
+     * @return 组号(1, 2, 3, 4)
+     */
+    /**
+     * 判断一个数字属于哪个组并返回组号
+     *
+     * @param num 输入的数字(1-24之间)
+     * @return 组号(1-4之间)
+     */
+    public static String getGroupNumberThree(int num) {
+        if(num > 24){
+            return String.valueOf(num);
+        }
+        // 使用整除来确定组号
+        int i = (num - 1) / 3 + 1;
+        if(1 == i){
+            return "1-3";
+        }else if(2 == i){
+            return "4-6";
+        }else if(3 == i){
+            return "7-9";
+        }else if(4 == i){
+            return "10-12";
+        }else if(5 == i){
+            return "13-15";
+        }else if(6 == i){
+            return "16-18";
+        }else if(7 == i){
+            return "19-21";
+        }else{
+            return "22-24";
+        }
+    }
+
+    public static void main(String[] args) {
+        ArrayList<Integer> CjItemUpdateList = new ArrayList<>();
+        for(int i =1 ;i<=10000;i++){
+            CjItemUpdateList.add(i);
+        }
+        int listSize= CjItemUpdateList.size();
+        int toIndex = 500;
+        for(int i = 0; i<CjItemUpdateList.size(); i+=toIndex){
+            if(i + toIndex > listSize){        //作用为toIndex最后没有1000条数据则剩余几条newList中就装几条
+                toIndex = listSize - i;
+            }
+            List<Integer> newList = new ArrayList<>(CjItemUpdateList.subList(i, i + toIndex));
+            System.out.println(newList.toString());
+        }
+
     }
 
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/ApiTzInfoVo.java b/src/main/java/cc/mrbird/febs/mall/vo/ApiTzInfoVo.java
index 4b504cf..00ed0d8 100644
--- a/src/main/java/cc/mrbird/febs/mall/vo/ApiTzInfoVo.java
+++ b/src/main/java/cc/mrbird/febs/mall/vo/ApiTzInfoVo.java
@@ -14,8 +14,8 @@
     @ApiModelProperty(value = "ID")
     private Long id;//类型 1-按大小 2-按单双 3-按数字
 
-    @ApiModelProperty(value = "类型 1-按大小 2-按单双 3-按数字")
-    private Integer type;//类型 1-按大小 2-按单双 3-按数字
+    @ApiModelProperty(value = "类型 1-按大小 2-按单双 3-按数字 4- 按红蓝 5-按彩球 6-六个号码为一组  7-三个号码为一组")
+    private Integer type;//类型 1-按大小 2-按单双 3-按数字 4- 按红蓝 5-按彩球 6-六个号码为一组  7-三个号码为一组
 
     @ApiModelProperty(value = "值")
     private String tzCode;//值
diff --git a/src/main/resources/templates/febs/views/modules/goods/tzList.html b/src/main/resources/templates/febs/views/modules/goods/tzList.html
index 3787916..d255d86 100644
--- a/src/main/resources/templates/febs/views/modules/goods/tzList.html
+++ b/src/main/resources/templates/febs/views/modules/goods/tzList.html
@@ -47,8 +47,20 @@
         <span class="layui-badge febs-tag-green">大小</span>
         {{# } else if (d.type == 2) { }}
         <span class="layui-badge febs-tag-cyan">单双</span>
+        {{# } else if (d.type == 3) { }}
+        <span class="layui-badge febs-tag-blue">数字</span>
+        {{# } else if (d.type == 4) { }}
+        <span class="layui-badge febs-tag-red">红</span>
+        {{# } else if (d.type == 5) { }}
+        <span class="layui-badge febs-tag-yellow">彩</span>
+        {{# } else if (d.type == 6) { }}
+        <span class="layui-badge febs-tag-cyan">六个号码</span>
+        {{# } else if (d.type == 7) { }}
+        <span class="layui-badge febs-tag-green">三个号码</span>
+        {{# } else if (d.type == 8) { }}
+        <span class="layui-badge febs-tag-green">蓝</span>
         {{# } else { }}
-        <span class="layui-badge febs-tag-orange">数字</span>
+        <span class="layui-badge febs-tag-orange">-</span>
         {{# } }}
     </div>
 </script>
diff --git a/src/test/java/cc/mrbird/febs/AgentTest.java b/src/test/java/cc/mrbird/febs/AgentTest.java
index 18a1ded..164c7db 100644
--- a/src/test/java/cc/mrbird/febs/AgentTest.java
+++ b/src/test/java/cc/mrbird/febs/AgentTest.java
@@ -1,7 +1,17 @@
 package cc.mrbird.febs;
 
+import cc.mrbird.febs.common.enumerates.AgentLevelEnum;
+import cc.mrbird.febs.mall.entity.AgentInfo;
+import cc.mrbird.febs.mall.entity.DataDictionaryCustom;
+import cc.mrbird.febs.mall.entity.TzInfo;
+import cc.mrbird.febs.mall.mapper.DataDictionaryCustomMapper;
+import cc.mrbird.febs.mall.mapper.TzInfoMapper;
 import lombok.extern.slf4j.Slf4j;
+import org.junit.Test;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
+
+import java.math.BigDecimal;
 
 
 /**
@@ -12,11 +22,29 @@
 @SpringBootTest
 public class AgentTest {
 
+
+    @Autowired
+    private TzInfoMapper tzInfoMapper;
+
+    @Test
+    public void insertTzInfo(){
+        TzInfo tzInfo = new TzInfo();
+        tzInfo.setType(4);
+        tzInfo.setTzCode("红");
+        tzInfo.setTzPercent(new BigDecimal("20"));
+        tzInfoMapper.insert(tzInfo);
+        TzInfo tzInfo1 = new TzInfo();
+        tzInfo1.setType(4);
+        tzInfo1.setTzCode("蓝");
+        tzInfo1.setTzPercent(new BigDecimal("20"));
+        tzInfoMapper.insert(tzInfo1);
+    }
+
 //    @Autowired
 //    private AgentProducer agentProducer;
 //
-//    @Autowired
-//    private DataDictionaryCustomMapper dataDictionaryCustomMapper;
+    @Autowired
+    private DataDictionaryCustomMapper dataDictionaryCustomMapper;
 //
 //    @Autowired
 //    private IAgentService agentService;
@@ -501,22 +529,15 @@
 //        System.out.println(apiMallActWinDetailsVoIPage);
 //    }
 //
-//    @Test
-//    public void insertAgentTest() {
-////        AgentInfo agentInfo = new AgentInfo();
-////        agentInfo.setOrderType(2);
-////        agentInfo.setOrderCnt(2000);
-////        agentInfo.setLastCnt(3);
-////        agentInfo.setDirectIncome(BigDecimal.valueOf(50));
-////        agentInfo.setTeamIncome(BigDecimal.valueOf(15));
-////        agentInfo.setTeamIncomeType(2);
-////
-////        DataDictionaryCustom data = new DataDictionaryCustom();
-////        data.setType("AGENT_LEVEL_REQUIRE");
-////        data.setCode(AgentLevelEnum.FOUR_LEVEL.name());
-////        data.setValue(JSONObject.toJSONString(agentInfo));
-////        dataDictionaryCustomMapper.insert(data);
-//    }
+    @Test
+    public void insertAgentTest() {
+
+        DataDictionaryCustom data = new DataDictionaryCustom();
+        data.setType("AGENT_LEVEL_REQUIRE");
+        data.setCode(AgentLevelEnum.FOUR_LEVEL.name());
+        data.setValue("1");
+        dataDictionaryCustomMapper.insert(data);
+    }
 //
 //    @Test
 //    public void insertData() {
diff --git a/src/test/java/cc/mrbird/febs/ProfitTest.java b/src/test/java/cc/mrbird/febs/ProfitTest.java
index e79c148..9f4f7ca 100644
--- a/src/test/java/cc/mrbird/febs/ProfitTest.java
+++ b/src/test/java/cc/mrbird/febs/ProfitTest.java
@@ -1,6 +1,12 @@
 package cc.mrbird.febs;
 
+import cc.mrbird.febs.mall.entity.TzInfo;
+import cc.mrbird.febs.mall.mapper.TzInfoMapper;
+import org.junit.Test;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
+
+import java.math.BigDecimal;
 
 
 /**
@@ -10,6 +16,21 @@
 @SpringBootTest
 public class ProfitTest {
 
+    @Autowired
+    private TzInfoMapper tzInfoMapper;
 
+    @Test
+    public void insertTzInfo(){
+        TzInfo tzInfo = new TzInfo();
+        tzInfo.setType(4);
+        tzInfo.setTzCode("红");
+        tzInfo.setTzPercent(new BigDecimal("20"));
+        tzInfoMapper.insert(tzInfo);
+        TzInfo tzInfo1 = new TzInfo();
+        tzInfo1.setType(4);
+        tzInfo1.setTzCode("蓝");
+        tzInfo1.setTzPercent(new BigDecimal("20"));
+        tzInfoMapper.insert(tzInfo1);
+    }
 
 }

--
Gitblit v1.9.1