From 8ac93bd9b45e3d25783798e1fe8cfc26bedd57d2 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期六, 05 十二月 2020 17:17:48 +0800 Subject: [PATCH] 完善天天抽奖 --- service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityAwardResultServiceImpl.java | 72 ++++++++++++++++++++++++++++++----- 1 files changed, 61 insertions(+), 11 deletions(-) diff --git a/service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityAwardResultServiceImpl.java b/service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityAwardResultServiceImpl.java index f533cab..ec60125 100644 --- a/service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityAwardResultServiceImpl.java +++ b/service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityAwardResultServiceImpl.java @@ -17,6 +17,9 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; import java.util.List; @Service(version = "1.0") @@ -32,15 +35,11 @@ private LuckyActivityAwardResultManager luckyActivityAwardResultManager; @Resource - private AppManager appManager; - - @Resource private LuckyActivityManager luckyActivityManager; @Override - public LuckyActivityAwardResult getResult(String appKey, String uid, Long activityId, Long awardId) { - Long appId = appManager.getAppId(appKey); + public LuckyActivityAwardResult getResult(Long appId, String uid, Long activityId, Long awardId) { if (appId == null) { return null; } @@ -50,8 +49,8 @@ query.activityId = activityId; query.uid = uid; query.awardId = awardId; - query.start=0; - query.count=1; + query.start = 0; + query.count = 1; List<LuckyActivityAwardResult> list = luckyActivityAwardResultMapper.list(query); if (list != null && list.size() > 0) { @@ -64,9 +63,8 @@ @Transactional(rollbackFor = Exception.class) @Override - public void recieveAward(String appKey, String uid, Long activityId) throws LuckyActivityException, LuckyActivityAwardException, LuckyActivityAwardResultException { + public void recieveAward(Long appId, String uid, Long activityId) throws LuckyActivityException, LuckyActivityAwardException, LuckyActivityAwardResultException { //----------楠岃瘉寮�濮�----------- - Long appId = appManager.getAppId(appKey); LuckyActivity activity = luckyActivityManager.selectByPrimaryKey(activityId); if (activity == null) { //涓嶅瓨鍦� @@ -80,8 +78,8 @@ query.uid = uid; query.appId = appId; query.activityId = activityId; - query.start=0; - query.count=1; + query.start = 0; + query.count = 1; List<LuckyActivityAwardResult> list = luckyActivityAwardResultMapper.list(query); if (list == null || list.size() == 0) { throw new LuckyActivityAwardException(LuckyActivityAwardException.CODE_NOT_EXIST, "灏氭湭涓"); @@ -98,4 +96,56 @@ //鍙戝 luckyActivityAwardResultManager.sendAward(result, extra); } + + @Override + public List<Long> getDrawnActivityIdList(Long appId, Long uid, int page, int pageSize) { + List<LuckyActivityAwardResult> list = luckyActivityAwardResultMapper.listUserAwardResult(appId, uid, Arrays.asList(new Integer[]{LuckyActivityAwardResult.STATE_NOT_RECIEVE, LuckyActivityAwardResult.STATE_RECIEVED, LuckyActivityAwardResult.STATE_OUT_OF_DATE, LuckyActivityAwardResult.STATE_RECIEVE_FAILED}), Arrays.asList(new Integer[]{LuckyActivity.STATE_OPENED}), (page - 1) * pageSize, pageSize); + List<Long> activityIdList = new ArrayList<>(); + if (list != null) { + for (LuckyActivityAwardResult result : list) { + activityIdList.add(result.getActivityId()); + } + } + return activityIdList; + } + + @Override + public long countDrawnActivityIdList(Long appId, Long uid) { + return luckyActivityAwardResultMapper.countUserAwardResult(appId, uid, Arrays.asList(new Integer[]{LuckyActivityAwardResult.STATE_NOT_RECIEVE, LuckyActivityAwardResult.STATE_RECIEVED, LuckyActivityAwardResult.STATE_OUT_OF_DATE, LuckyActivityAwardResult.STATE_RECIEVE_FAILED}), Arrays.asList(new Integer[]{LuckyActivity.STATE_OPENED})); + } + + @Override + public List<LuckyActivityAwardResult> getResultListWithAwardInfo(Long activityId, Long awardId, int page, int pageSize) { + ActivityAwardResultQuery query = new ActivityAwardResultQuery(); + query.activityId = activityId; + query.awardId = awardId; + query.start = (page - 1) * pageSize; + query.count = pageSize; + return luckyActivityAwardResultMapper.list(query); + } + + @Override + public long countResultWithAwardInfo(Long activityId, Long awardId) { + ActivityAwardResultQuery query = new ActivityAwardResultQuery(); + query.activityId = activityId; + query.awardId = awardId; + + return luckyActivityAwardResultMapper.count(query); + } + + @Override + public Date getLatestUpdateTime(Long activityId) { + ActivityAwardResultQuery query = new ActivityAwardResultQuery(); + query.activityId = activityId; + query.count = 1; + query.sortList = Arrays.asList(new String[]{"update_time desc"}); + + List<LuckyActivityAwardResult> list = luckyActivityAwardResultMapper.list(query); + if (list == null || list.size() == 0) { + return null; + } + return list.get(0).getUpdateTime() == null ? list.get(0).getCreateTime() : list.get(0).getUpdateTime(); + } + + } -- Gitblit v1.8.0