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/job/OnHookPlanJob.java |   81 +++++++++++++++++++++++++++++++++++++++-
 1 files changed, 79 insertions(+), 2 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/job/OnHookPlanJob.java b/src/main/java/cc/mrbird/febs/job/OnHookPlanJob.java
index 05f9b0b..5d64ce8 100644
--- a/src/main/java/cc/mrbird/febs/job/OnHookPlanJob.java
+++ b/src/main/java/cc/mrbird/febs/job/OnHookPlanJob.java
@@ -1,10 +1,15 @@
 package cc.mrbird.febs.job;
 
+import cc.mrbird.febs.common.utils.RedisUtils;
 import cc.mrbird.febs.dapp.entity.*;
 import cc.mrbird.febs.dapp.mapper.*;
 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.core.util.RandomUtil;
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import lombok.extern.slf4j.Slf4j;
 import org.jline.utils.Log;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -12,6 +17,8 @@
 import org.springframework.stereotype.Component;
 
 import java.math.BigDecimal;
+import java.text.DecimalFormat;
+import java.text.Format;
 import java.util.List;
 
 @Slf4j
@@ -33,6 +40,12 @@
     @Autowired
     private DappMemberDao dappMemberDao;
 
+    @Autowired
+    private DappOnHookAwardDao dappOnHookAwardDao;
+
+    @Autowired
+    private RedisUtils redisUtils;
+
     /**
      * 五分钟更新一次数据
      * 让挂机字表的状态为1:已生效
@@ -43,14 +56,13 @@
 //    @Scheduled(cron = "0/5 * * * * ? ")
     @Scheduled(cron = "0 0/5 * * * ? ")
     public void updatePlanOrderItem(){
-        Log.info("开始更新挂机字表状态");
+        Log.info("开始更新挂机子表状态");
         List<IgtOnHookPlanOrder> igtOnHookPlanOrders = igtOnHookPlanOrderDao.selectByState(1);
         if(CollUtil.isEmpty(igtOnHookPlanOrders)){
             return;
         }
         for(IgtOnHookPlanOrder igtOnHookPlanOrder : igtOnHookPlanOrders){
             //让挂机子表的状态为1:已生效
-            //todo 获取所属期数去更新数据
             Long orderId = igtOnHookPlanOrder.getId();
             Long memberId = igtOnHookPlanOrder.getMemberId();
             IgtOnHookPlanOrderItem igtOnHookPlanOrderItem = igtOnHookPlanOrderItemDao.selectByOrderIdAndMemberIdAndState(orderId,memberId,2);
@@ -141,4 +153,69 @@
 
     }
 
+    @Scheduled(cron = "0 0/1 * * * ? ")
+    public void createAwardInfo(){
+        Log.info("挂架开奖记录");
+        /**
+         * 每天跑一次,直接生成全部的记录
+         * 产生中奖记录
+         */
+        //每天开奖次数 288次
+        DateTime date = DateUtil.date();
+
+        String aWardTime = DateUtil.format(date, "yyyy-MM-dd");
+        DateTime aWardTimeStart = DateUtil.parseDateTime(aWardTime + " 00:00:00");
+//        DateTime dateTime = DateUtil.offsetMinute(aWardTimeStart, 5);
+
+        String yyyyMMdd = DateUtil.format(date, "yyyyMMdd");
+        QueryWrapper<DappOnHookAward> dappOnHookAwardQueryWrapper = new QueryWrapper();
+        dappOnHookAwardQueryWrapper.like("record_num",yyyyMMdd);
+        Integer selectCount = dappOnHookAwardDao.selectCount(dappOnHookAwardQueryWrapper);
+        if(0 < selectCount){
+            return;
+        }
+        Format formatCount = new DecimalFormat("000");
+        //一般都是将累加的数字当做一些单号的一部分,format要求string
+        int dayMillise = (24 * 60) / 5;
+        for(int i= 0;i < dayMillise;i++){
+            DappOnHookAward dappOnHookAward = new DappOnHookAward();
+            int randomInt = RandomUtil.randomInt(10000, 99999);
+            dappOnHookAward.setAwardNum(Integer.toString(randomInt));
+            dappOnHookAward.setState(2);
+            String str = formatCount.format(i);
+            dappOnHookAward.setRecordNum(yyyyMMdd+str);
+            dappOnHookAward.setAwardTime(aWardTimeStart);
+            dappOnHookAwardDao.insert(dappOnHookAward);
+            aWardTimeStart = DateUtil.offsetMinute(aWardTimeStart, 5);
+        }
+    }
+
+    @Scheduled(cron = "0 0/5 * * * ? ")
+    public void updateAwardInfo(){
+        Log.info("更新挂架开奖记录");
+        DateTime date = DateUtil.date();
+        String yyyyMMddHHMM = DateUtil.format(date, "yyyy-MM-dd hh:mm");
+        DappOnHookAward dappOnHookAward = dappOnHookAwardDao.selectByByAwardTime(yyyyMMddHHMM);
+        dappOnHookAward.setState(1);
+        dappOnHookAwardDao.updateById(dappOnHookAward);
+        String redisKey = "on_hook_award_id";
+        String onHookAwardRedisId = redisUtils.getString(redisKey);
+        if(StrUtil.isBlank(onHookAwardRedisId)){
+            redisUtils.set(redisKey,dappOnHookAward.getId().toString(),0L);
+        }
+        redisUtils.set(redisKey,dappOnHookAward.getId().toString(),0L);
+
+    }
+
+    public static void main(String[] args) {
+        DateTime date = DateUtil.date();
+        String aWardTime = DateUtil.format(date, "yyyy-MM-dd");
+        DateTime aWardTimeStart = DateUtil.parseDateTime(aWardTime + " 00:00:00");
+        int dayMillise = (24 * 60) / 5;
+        for(int i= 0;i < dayMillise;i++){
+            System.out.println(aWardTimeStart);
+            aWardTimeStart = DateUtil.offsetMinute(aWardTimeStart, 5);
+        }
+    }
+
 }

--
Gitblit v1.9.1