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