From c6e21fc6d22a2168fb21a662c16c60fab05a7d75 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Fri, 21 Oct 2022 15:28:47 +0800
Subject: [PATCH] 20221021

---
 src/main/java/cc/mrbird/febs/dapp/service/impl/ApiIgtOnHookPlanServiceImpl.java |   50 ++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 46 insertions(+), 4 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/ApiIgtOnHookPlanServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/ApiIgtOnHookPlanServiceImpl.java
index ae11270..c238dca 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/impl/ApiIgtOnHookPlanServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/ApiIgtOnHookPlanServiceImpl.java
@@ -5,14 +5,17 @@
 import cc.mrbird.febs.common.entity.FebsResponse;
 import cc.mrbird.febs.common.exception.FebsException;
 import cc.mrbird.febs.common.utils.LoginUserUtil;
+import cc.mrbird.febs.common.utils.RedisUtils;
 import cc.mrbird.febs.dapp.dto.ApiStartDto;
 import cc.mrbird.febs.dapp.entity.*;
 import cc.mrbird.febs.dapp.enumerate.DataDictionaryEnum;
 import cc.mrbird.febs.dapp.enumerate.MemberOnHookPlanEnum;
 import cc.mrbird.febs.dapp.mapper.*;
 import cc.mrbird.febs.dapp.service.ApiIgtOnHookPlanService;
+import cc.mrbird.febs.dapp.vo.ApiAwardInfoVo;
 import cc.mrbird.febs.dapp.vo.ApiPlanInfoVo;
 import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.json.JSON;
@@ -28,10 +31,7 @@
 import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 @Slf4j
 @Service
@@ -44,6 +44,8 @@
     private final DataDictionaryCustomMapper dataDictionaryCustomMapper;
     private final DappMemberDao dappMemberDao;
     private final DappAccountMoneyChangeDao dappAccountMoneyChangeDao;
+    private final RedisUtils redisUtils;
+    private final DappOnHookAwardDao dappOnHookAwardDao;
     @Override
     @Transactional(rollbackFor = Exception.class)
     public FebsResponse start(ApiStartDto apiStartDto) {
@@ -143,8 +145,20 @@
         if(CollUtil.isEmpty(isProfitPlan)){
             throw new FebsException(MessageSourceUtils.getString("login_err_003"));
         }
+        //获取下一个开奖
+        String redisKey = "on_hook_award_id";
+        String onHookAwardRedisId = redisUtils.getString(redisKey);
+        DappOnHookAward dappOnHookAward = dappOnHookAwardDao.selectById(Long.parseLong(onHookAwardRedisId));
+        if(ObjectUtil.isEmpty(dappOnHookAward)){
+            throw new FebsException(MessageSourceUtils.getString("login_err_003"));
+        }
+        Date awardTime = dappOnHookAward.getAwardTime();
+        DateTime dateTime = DateUtil.offsetMinute(awardTime, 5);
         int orderNum = 1;
         for(String profitPlan : isProfitPlan){
+            String yyyyMMddHHMM = DateUtil.format(dateTime, "yyyy-MM-dd hh:mm");
+            DappOnHookAward dappOnHookAwardNext = dappOnHookAwardDao.selectByByAwardTime(yyyyMMddHHMM);
+
             JSONObject jsonObject = JSONUtil.parseObj(profitPlan);
             IgtOnHookPlanOrderItem igtOnHookPlanOrderItem = new IgtOnHookPlanOrderItem();
             igtOnHookPlanOrderItem.setMemberId(memberId);
@@ -155,9 +169,11 @@
             igtOnHookPlanOrderItem.setState(2);
             igtOnHookPlanOrderItem.setPlanCode(planCode);
             igtOnHookPlanOrderItem.setIsGoal(1);
+            igtOnHookPlanOrderItem.setBelongNum(dappOnHookAwardNext.getRecordNum());
             igtOnHookPlanOrderItem.setOrderNum(orderNum);
             igtOnHookPlanOrderItemDao.insert(igtOnHookPlanOrderItem);
             orderNum++;
+            dateTime = DateUtil.offsetMinute(dateTime, 5);
         }
 
         DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(memberId, availableAmount, balance
@@ -234,6 +250,32 @@
         return totalProfit;
     }
 
+    @Override
+    public FebsResponse awardInfo() {
+        DappMemberEntity dappMemberEntity = LoginUserUtil.getAppUser();
+        Long memberId = dappMemberEntity.getId();
+        ArrayList<ApiAwardInfoVo> apiAwardInfoVos = new ArrayList<>();
+        DateTime date = DateUtil.date();
+        String yyyyMMddHHMM = DateUtil.format(date, "yyyy-MM-dd hh:mm");
+        List<DappOnHookAward> dappOnHookAwards = dappOnHookAwardDao.selectInfoByByAwardTime(yyyyMMddHHMM);
+        if(CollUtil.isNotEmpty(dappOnHookAwards)){
+            for(DappOnHookAward dappOnHookAward : dappOnHookAwards){
+                ApiAwardInfoVo apiAwardInfoVo = new ApiAwardInfoVo();
+                apiAwardInfoVo.setAwardNum(dappOnHookAward.getAwardNum());
+                apiAwardInfoVo.setRecordNum(dappOnHookAward.getRecordNum());
+                IgtOnHookPlanOrderItem igtOnHookPlanOrderItem = igtOnHookPlanOrderItemDao.selectByMemberIdAndBelongNum(memberId,dappOnHookAward.getRecordNum());
+                if(ObjectUtil.isNotEmpty(igtOnHookPlanOrderItem)){
+                    BigDecimal bigDecimal = igtOnHookPlanOrderItem.getAmount().setScale(1, BigDecimal.ROUND_DOWN);
+                    apiAwardInfoVo.setAmount(bigDecimal.toString());
+                }else{
+                    apiAwardInfoVo.setAmount("-");
+                }
+                apiAwardInfoVos.add(apiAwardInfoVo);
+            }
+        }
+        return new FebsResponse().success().data(apiAwardInfoVos);
+    }
+
     private String getProfitCase(String identity,BigDecimal balance){
         //匹配会员等级获取对应的收益率
         List<DataDictionaryCustom> dataDictionaryCustoms = dataDictionaryCustomMapper.selectDicByType(DataDictionaryEnum.LEVEL_MB.getType());

--
Gitblit v1.9.1