From 6c09cbd70388ae53ec593de253f69cfa1a3eeda7 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期六, 06 二月 2021 15:41:25 +0800 Subject: [PATCH] 活动管理界面完善 --- service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityJoinServiceImpl.java | 27 +++++++++++++++++++-------- 1 files changed, 19 insertions(+), 8 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 e4d7731..f52fd66 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 @@ -16,6 +16,7 @@ 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.LoggerUtil; import com.ks.lucky.util.factory.LuckyActivityUserWeightRecordFactory; import com.ks.lucky.util.mq.CMQManager; import org.apache.dubbo.config.annotation.Service; @@ -56,7 +57,7 @@ @Transactional(rollbackFor = Exception.class) @Validated @Override - public void join(Long activityId, Long appId, String uid, Integer weight, JoinInfo joinInfo,int userType) throws LuckyActivityException, LuckyActivityJoinException { + public void join(Long activityId, Long appId, String uid, Integer weight, JoinInfo joinInfo, int userType) throws LuckyActivityException, LuckyActivityJoinException { luckyActivityManager.canJoin(activityId); LuckyActivityJoinRecord record = luckyActivityJoinManager.getRecord(activityId, appId, uid); if (record != null) { @@ -86,6 +87,8 @@ } catch (ParamsException e) { throw new LuckyActivityJoinException(1, "娣诲姞璁板綍鍑洪敊"); } + + LoggerUtil.activityJoinLogger.info("鍙傚姞娲诲姩鎴愬姛锛歛ctivityId-{} uid-{}", activityId, uid); CMQManager.getInstance().publishActivityJoinMsg(ActivityJoinMsgDTO.create(record)); } @@ -188,11 +191,11 @@ } @Override - public List<ActivitySimpleUser> getJoinerList(Long activityId,Integer userType, int page, int count) { + public List<ActivitySimpleUser> getJoinerList(Long activityId, Integer userType, int page, int count) { ActivityJoinRecordQuery query = new ActivityJoinRecordQuery(); query.activityId = activityId; query.sortList = Arrays.asList(new String[]{"id asc"}); - query.userType=userType; + query.userType = userType; query.count = count; query.start = (page - 1) * count; @@ -207,10 +210,10 @@ } @Override - public long countJoiner(Long activityId,Integer userType) { + public long countJoiner(Long activityId, Integer userType) { ActivityJoinRecordQuery query = new ActivityJoinRecordQuery(); query.activityId = activityId; - query.userType=userType; + query.userType = userType; return luckyActivityJoinRecordMapper.count(query); } @@ -258,21 +261,29 @@ int difJoinnerCount = openInfo.getMinPersonCount() - (int) joinerCount; difJoinnerCount = difJoinnerCount > 0 ? difJoinnerCount : 0; - joinerCount = joinerCount < openInfo.getMinPersonCount() ? (openInfo.getMinPersonCount()) : joinerCount; + long joinerCountCompute = joinerCount < openInfo.getMinPersonCount() ? (openInfo.getMinPersonCount()) : joinerCount; //骞冲潎涓姒傜巼 - BigDecimal averageProbability = new BigDecimal(awardCount).divide(new BigDecimal(joinerCount), 8, BigDecimal.ROUND_DOWN); + BigDecimal averageProbability = new BigDecimal(awardCount).divide(new BigDecimal(joinerCountCompute), 8, BigDecimal.ROUND_DOWN); statistic.setAverageDrawnProbability(averageProbability); + LuckyActivityJoinRecord record=null; if (!StringUtil.isNullOrEmpty(uid)) { query.appId = appId; query.uid = uid; - LuckyActivityJoinRecord record = luckyActivityJoinManager.getRecord(activityId, appId, uid); + record = luckyActivityJoinManager.getRecord(activityId, appId, uid); if (record != null) { //鎴戠殑涓姒傜巼 BigDecimal myProbability = new BigDecimal(awardCount * record.getWeight()).divide(new BigDecimal(weight).add(new BigDecimal(difJoinnerCount)), 8, BigDecimal.ROUND_DOWN); statistic.setMyDrawnProbability(myProbability); } } + //瓒呰繃浜嗗灏戜汉 + query = new ActivityJoinRecordQuery(); + query.activityId = activityId; + query.maxWeight=record.getWeight(); + long lessCount = luckyActivityJoinRecordMapper.count(query); + statistic.setExceedPersonPercent(new BigDecimal(lessCount).multiply(new BigDecimal(100).divide(new BigDecimal(joinerCount), 2, BigDecimal.ROUND_DOWN))); + statistic.setActivityId(activityId); return statistic; } -- Gitblit v1.8.0