From 7b710c5bb30d97005b06b28dfb09dca8bf6a04c5 Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Tue, 27 Feb 2024 11:49:00 +0800
Subject: [PATCH] 抽奖
---
src/main/java/cc/mrbird/febs/mall/service/impl/CJServiceImpl.java | 83 ++++++++++++++++++++++++++++++++++++-----
1 files changed, 72 insertions(+), 11 deletions(-)
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 58cc496..f9c49e1 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
@@ -26,6 +26,9 @@
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.RandomUtil;
import cn.hutool.core.util.StrUtil;
+import cn.hutool.json.JSON;
+import cn.hutool.json.JSONObject;
+import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -37,8 +40,12 @@
import java.math.BigDecimal;
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;
@Slf4j
@Service
@@ -161,6 +168,12 @@
DataDictionaryEnum.TIME_INTERVAL.getCode()
);
apiKjInfoVo.setDjs(Integer.parseInt(timeIntervalDic.getValue()));
+
+ // 获取当前时间
+ LocalDateTime currentTime = LocalDateTime.now();
+ // 定义时间格式
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+ apiKjInfoVo.setSystemTime(currentTime.format(formatter));
return new FebsResponse().success().data(apiKjInfoVo);
}
@@ -212,16 +225,14 @@
@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);
- }
+ LinkedHashMap<String, JSON> tzInfo1 = new LinkedHashMap<>();
+ Object tzInfoMap = redisUtils.get(AppContants.TZ_INFO);
+ if(ObjectUtil.isEmpty(tzInfoMap)){
+ tzInfo1 = this.getTzInfo();
+ }else{
+ tzInfo1 = JSONUtil.toBean(JSONUtil.parseObj(tzInfoMap), LinkedHashMap.class);
}
- return new FebsResponse().success().data(objects);
+ return new FebsResponse().success().data(tzInfo1);
}
@Override
@@ -233,8 +244,8 @@
DataDictionaryEnum.NO_TIME.getType(),
DataDictionaryEnum.NO_TIME.getCode()
);
- if(noTimeDic.getValue().equals(2)){
- throw new FebsException("请等待下一期");
+ if("2".equals(noTimeDic.getValue())){
+ throw new FebsException("已停止投注");
}
List<ApiCreateItemDto> items = apiCreateDto.getItems();
@@ -338,6 +349,56 @@
}
}
+ @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));
+
+ //投注信息
+ String tzInfoNoExit = redisUtils.getString(AppContants.TZ_INFO);
+ if (StrUtil.isNotBlank(tzInfoNoExit)) {
+ redisUtils.del(AppContants.TZ_INFO);
+ }
+ JSON jsonStr = JSONUtil.parse(linkedHashMap);
+ redisUtils.set(AppContants.TZ_INFO, jsonStr);
+ return linkedHashMap;
+ }
+
/**
* 取模运算符%来判断该数字是否为偶数。如果余数为0,则该数字为偶数,返回"双数";否则,该数字为奇数,返回"单数"
* @param num
--
Gitblit v1.9.1