From 478e6722fd36bf9b5d8608c8cca2000190da5496 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 22 十二月 2020 19:16:15 +0800
Subject: [PATCH] 功能完善

---
 service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityJoinServiceImpl.java |   24 ++++++++++++++++++------
 1 files changed, 18 insertions(+), 6 deletions(-)

diff --git a/service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityJoinServiceImpl.java b/service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityJoinServiceImpl.java
index 15ad4a6..61d7227 100644
--- a/service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityJoinServiceImpl.java
+++ b/service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityJoinServiceImpl.java
@@ -5,16 +5,15 @@
 import com.ks.lucky.exception.LuckyActivityJoinException;
 import com.ks.lucky.mapper.LuckyActivityAwardsMapper;
 import com.ks.lucky.mapper.LuckyActivityJoinRecordMapper;
-import com.ks.lucky.pojo.DO.LuckyActivity;
-import com.ks.lucky.pojo.DO.LuckyActivityAwards;
-import com.ks.lucky.pojo.DO.LuckyActivityJoinRecord;
-import com.ks.lucky.pojo.DO.LuckyActivityUserWeightRecord;
+import com.ks.lucky.pojo.DO.*;
 import com.ks.lucky.pojo.DTO.*;
 import com.ks.lucky.query.ActivityAwardQuery;
 import com.ks.lucky.query.ActivityJoinRecordQuery;
 import com.ks.lucky.remote.service.LuckyActivityJoinService;
+import com.ks.lucky.remote.service.LuckyActivityOpenService;
 import com.ks.lucky.service.impl.LuckyActivityJoinManager;
 import com.ks.lucky.service.impl.LuckyActivityManager;
+import com.ks.lucky.service.impl.LuckyActivityOpenInfoManager;
 import com.ks.lucky.service.impl.LuckyActivityUserWeightRecordManager;
 import com.ks.lucky.util.factory.LuckyActivityUserWeightRecordFactory;
 import org.apache.dubbo.config.annotation.Service;
@@ -46,6 +45,10 @@
 
     @Resource
     private LuckyActivityAwardsMapper luckyActivityAwardsMapper;
+
+
+    @Resource
+    private LuckyActivityOpenInfoManager luckyActivityOpenInfoManager;
 
 
     @Transactional(rollbackFor = Exception.class)
@@ -227,6 +230,7 @@
         ActivityDrawnProbabilityStatistic statistic = new ActivityDrawnProbabilityStatistic();
         ActivityAwardQuery awardQuery = new ActivityAwardQuery();
         awardQuery.activityId = activityId;
+        awardQuery.count = 100;
         //濂栭」鏁伴噺
         int awardCount = 0;
         List<LuckyActivityAwards> awards = luckyActivityAwardsMapper.list(awardQuery);
@@ -234,8 +238,16 @@
             for (LuckyActivityAwards award : awards) {
                 awardCount += award.getCount();
             }
-
         }
+
+        LuckyActivityOpenInfo openInfo = luckyActivityOpenInfoManager.getOpenInfo(activityId);
+
+        //杩樺樊澶氬皯浜哄紑濂�
+        int difJoinnerCount = openInfo.getMinPersonCount() - (int) joinerCount;
+        difJoinnerCount = difJoinnerCount > 0 ? difJoinnerCount : 0;
+
+        joinerCount = joinerCount < openInfo.getMinPersonCount() ? (openInfo.getMinPersonCount()) : joinerCount;
+
         //骞冲潎涓姒傜巼
         BigDecimal averageProbability = new BigDecimal(awardCount).divide(new BigDecimal(joinerCount), 8, BigDecimal.ROUND_DOWN);
         statistic.setAverageDrawnProbability(averageProbability);
@@ -245,7 +257,7 @@
             LuckyActivityJoinRecord record = luckyActivityJoinManager.getRecord(activityId, appId, uid);
             if (record != null) {
                 //鎴戠殑涓姒傜巼
-                BigDecimal myProbability = new BigDecimal(awardCount * record.getWeight()).divide(new BigDecimal(weight), 8, BigDecimal.ROUND_DOWN);
+                BigDecimal myProbability = new BigDecimal(awardCount * record.getWeight()).divide(new BigDecimal(weight).add(new BigDecimal(difJoinnerCount)), 8, BigDecimal.ROUND_DOWN);
                 statistic.setMyDrawnProbability(myProbability);
             }
         }

--
Gitblit v1.8.0