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