From 45189f71f0eb2c119ea15de98c76839e9ee4b570 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Fri, 21 Oct 2022 18:14:48 +0800
Subject: [PATCH] 20221021
---
src/main/java/cc/mrbird/febs/job/OnHookPlanJob.java | 16 +++++--
src/main/java/cc/mrbird/febs/dapp/service/impl/ApiIgtOnHookPlanServiceImpl.java | 6 ++-
src/main/java/cc/mrbird/febs/dapp/enumerate/MemberOnHookPlanEnum.java | 10 +++-
src/test/java/cc/mrbird/febs/JunitTest.java | 49 ++++++++++++++++++++++++
4 files changed, 70 insertions(+), 11 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/dapp/enumerate/MemberOnHookPlanEnum.java b/src/main/java/cc/mrbird/febs/dapp/enumerate/MemberOnHookPlanEnum.java
index 938983f..cc5fb77 100644
--- a/src/main/java/cc/mrbird/febs/dapp/enumerate/MemberOnHookPlanEnum.java
+++ b/src/main/java/cc/mrbird/febs/dapp/enumerate/MemberOnHookPlanEnum.java
@@ -31,8 +31,8 @@
//当实际的收益小于预期的收益时,按照随机,否则只中奖第一方案
int randomInt = 1;
- if(profitTotal.compareTo(profitTotalNow)>0){
- randomInt = RandomUtil.randomInt(1, 4);
+ if(profitTotalNow.compareTo(profitTotal)>0){
+ randomInt = RandomUtil.randomInt(1, 3);
}
if(1 == randomInt){
String planKey = Integer.toString(randomInt);
@@ -63,7 +63,11 @@
}
BigDecimal amount = new BigDecimal(jsonObject.get("amount").toString());
BigDecimal profit = amount.multiply(hangingRevenue).setScale(4, BigDecimal.ROUND_DOWN);
- profitTotalNow = profitTotalNow.add(profit).setScale(4, BigDecimal.ROUND_DOWN);
+ if(j != randomInt){
+ profitTotalNow = profitTotalNow.add(profit).subtract(amount).setScale(4, BigDecimal.ROUND_DOWN);
+ }else{
+ profitTotalNow = profitTotalNow.add(profit).setScale(4, BigDecimal.ROUND_DOWN);
+ }
jsonObject.set("profit",profit);
linkedList.add(JSONUtil.toJsonStr(jsonObject));
maxTimes --;
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 fb1a8ba..ec83cb7 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
@@ -61,6 +61,7 @@
* 定时器五分钟去更新一下详细记录的状态
*
*/
+ //todo 发送一条mq消息,根据受益方案生成挂机字表未生效详细记录(目前定时器)
DappMemberEntity dappMemberEntity = LoginUserUtil.getAppUser();
Long memberId = dappMemberEntity.getId();
DappMemberEntity member = dappMemberDao.selectById(memberId);
@@ -172,7 +173,8 @@
igtOnHookPlanOrderItem.setProfit(profit.multiply(new BigDecimal(planCode)));
igtOnHookPlanOrderItem.setState(2);
igtOnHookPlanOrderItem.setPlanCode(planCode);
- igtOnHookPlanOrderItem.setIsGoal(1);
+ String isGoal = jsonObject.get("isGoal").toString();
+ igtOnHookPlanOrderItem.setIsGoal(Integer.parseInt(isGoal));
igtOnHookPlanOrderItem.setBelongNum(dappOnHookAwardNext.getRecordNum());
igtOnHookPlanOrderItem.setOrderNum(orderNum);
igtOnHookPlanOrderItemDao.insert(igtOnHookPlanOrderItem);
@@ -261,7 +263,7 @@
ArrayList<ApiAwardInfoVo> apiAwardInfoVos = new ArrayList<>();
DateTime date = DateUtil.date();
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm");
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
String yyyyMMddHHMM = sdf.format(date);
List<DappOnHookAward> dappOnHookAwards = dappOnHookAwardDao.selectInfoByByAwardTime(yyyyMMddHHMM);
if(CollUtil.isNotEmpty(dappOnHookAwards)){
diff --git a/src/main/java/cc/mrbird/febs/job/OnHookPlanJob.java b/src/main/java/cc/mrbird/febs/job/OnHookPlanJob.java
index 41e93a7..ecfc0b9 100644
--- a/src/main/java/cc/mrbird/febs/job/OnHookPlanJob.java
+++ b/src/main/java/cc/mrbird/febs/job/OnHookPlanJob.java
@@ -213,14 +213,20 @@
}
public static void main(String[] args) {
+
DateTime date = DateUtil.date();
- System.out.println(date);
- String yyyyMMddHHMM = DateUtil.format(date, "yyyy-MM-dd hh:mm");
+
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+ String yyyyMMddHHMM = sdf.format(date);
+
System.out.println(yyyyMMddHHMM);
- SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
- String yyyyMMdd = sdf.format(date);
- System.out.println(yyyyMMdd);
+ DateTime date1 = DateUtil.date();
+
+ SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+ String yyyyMMddHHMM1 = sdf1.format(date1);
+
+ System.out.println(yyyyMMddHHMM1);
}
}
diff --git a/src/test/java/cc/mrbird/febs/JunitTest.java b/src/test/java/cc/mrbird/febs/JunitTest.java
index 53fd20b..0958fac 100644
--- a/src/test/java/cc/mrbird/febs/JunitTest.java
+++ b/src/test/java/cc/mrbird/febs/JunitTest.java
@@ -102,11 +102,58 @@
System.out.println(awardTime);
DateTime dateTime = DateUtil.offsetMinute(awardTime, 5);
for(int i =1; i < 100;i++){
- String yyyyMMddHHMM = DateUtil.format(dateTime, "yyyy-MM-dd hh:mm");
+ String yyyyMMddHHMM = DateUtil.format(dateTime, "yyyy-MM-dd HH:mm");
// DappOnHookAward dappOnHookAwardNext = dappOnHookAwardDao.selectByByAwardTime(yyyyMMddHHMM);
System.out.println(yyyyMMddHHMM);
dateTime = DateUtil.offsetMinute(dateTime, 5);
}
}
+ @Autowired
+ private DappMemberDao dappMemberDao;
+ @Test
+ public void getplan(){
+ DappMemberEntity dappMember = dappMemberDao.selectById(33);
+ List<DataDictionaryCustom> dataDictionaryCustoms = dataDictionaryCustomMapper.selectDicByType(DataDictionaryEnum.PLAN_A.getType());
+ LinkedList<Map<String,String>> strings = new LinkedList<>();
+ for(DataDictionaryCustom dataDictionaryCustom : dataDictionaryCustoms){
+ Map<String, String> stringStringHashMap = new HashMap<>();
+ stringStringHashMap.put(dataDictionaryCustom.getDescription(),dataDictionaryCustom.getValue());
+ strings.add(stringStringHashMap);
+ }
+ //收益率
+ BigDecimal hangingRevenue = BigDecimal.ZERO;
+ //挂机时长
+ DataDictionaryCustom maxHours = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.MAX_HOURS.getType(), DataDictionaryEnum.MAX_HOURS.getCode());
+ if(ObjectUtil.isEmpty(maxHours)){
+ throw new FebsException(MessageSourceUtils.getString("login_err_003"));
+ }
+
+ Double maxHoursValue = Double.parseDouble(maxHours.getValue());
+ //获取用户信息的是否盈利字段
+ Integer isProfit = dappMember.getIsProfit() == null ? 1 : dappMember.getIsProfit();
+ String identity = null;
+ if(isProfit == 2){
+ identity = "IS_PROFIT_NO";
+ }else{
+ identity = "LEVEL_MB";
+ DataDictionaryCustom levelMember = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.LEVEL_MB.getType(), dappMember.getIdentity());
+ if(ObjectUtil.isEmpty(levelMember)){
+ throw new FebsException(MessageSourceUtils.getString("login_err_003"));
+ }
+ String levelMemberValue = levelMember.getValue();
+ JSONObject levelMemberValueParse = JSONUtil.parseObj(levelMemberValue);
+ hangingRevenue = new BigDecimal(levelMemberValueParse.get("hangingRevenue").toString())
+ .multiply(new BigDecimal(0.01)).setScale(4,BigDecimal.ROUND_DOWN);
+ }
+ //获取挂机字表的顺序
+ LinkedList<String> isProfitPlan = new LinkedList<>();
+ Map<String, LinkedList<String>> identity_level = MemberOnHookPlanEnum.valueOf(identity)
+ .getMemberOnHook(maxHoursValue,hangingRevenue,strings);
+ isProfitPlan = identity_level.get(identity);
+ System.out.println(isProfitPlan);
+
+ }
+
+
}
--
Gitblit v1.9.1