From d8d576c5220e9d24251b51a59a58271c6e0cb4a4 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期四, 17 十二月 2020 10:22:34 +0800
Subject: [PATCH] resource修改

---
 service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityServiceImpl.java |  102 ++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 76 insertions(+), 26 deletions(-)

diff --git a/service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityServiceImpl.java b/service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityServiceImpl.java
index ff16ad1..d116241 100644
--- a/service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityServiceImpl.java
+++ b/service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityServiceImpl.java
@@ -1,6 +1,5 @@
 package com.ks.lucky.service.impl.remote;
 
-import com.ks.app.exception.AppException;
 import com.ks.lib.common.exception.ParamsException;
 import com.ks.lucky.exception.LuckyActivityException;
 import com.ks.lucky.exception.LuckyMQException;
@@ -16,6 +15,8 @@
 import org.springframework.validation.annotation.Validated;
 
 import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
 
@@ -43,9 +44,6 @@
     @Resource
     private LuckyMQService luckyMQService;
 
-    private Long getAppId(String appKey) throws AppException {
-        return appManager.getAppId(appKey);
-    }
 
     private void notNull(LuckyActivity activity) throws LuckyActivityException {
         if (activity == null) {
@@ -54,17 +52,12 @@
     }
 
     @Override
-    public List<LuckyActivity> getActivityList(String appKey, Long sponsorId, List<Integer> stateList, String key, int page, int pageSize) {
+    public List<LuckyActivity> getActivityList(Long appId, Long sponsorId, List<Integer> stateList, String key, int page, int pageSize) {
         ActivityDaoQuery query = new ActivityDaoQuery();
         query.stateList = stateList;
         query.key = key;
         query.sponsorId = sponsorId;
-
-        try {
-            query.appId = getAppId(appKey);
-        } catch (AppException e) {
-            return null;
-        }
+        query.appId = appId;
         query.start = (page - 1) * pageSize;
         query.count = pageSize;
         query.sort = "start_time desc";
@@ -72,16 +65,13 @@
     }
 
     @Override
-    public long countActivity(String appKey, Long sponsorId, List<Integer> stateList, String key) {
+    public long countActivity(Long appId, Long sponsorId, List<Integer> stateList, String key) {
         ActivityDaoQuery query = new ActivityDaoQuery();
         query.stateList = stateList;
         query.key = key;
         query.sponsorId = sponsorId;
-        try {
-            query.appId = getAppId(appKey);
-        } catch (AppException e) {
-            return 0L;
-        }
+        query.appId = appId;
+
         return luckyActivityMapper.count(query);
     }
 
@@ -185,29 +175,25 @@
             throw new LuckyActivityException(2, "娲诲姩灏氭湭澶勪簬宸插彂甯冪姸鎬�");
         }
 
-        luckyActivityManager.startUpActivity(activityId);
-
-        //灏濊瘯鍒犻櫎娑堟伅
         try {
-            LuckyMQ mq = LuckyMQFactory.createStartUpActivity(activity);
-            luckyMQService.removeUnSendMsg(mq.getTaskId());
+            luckyActivityManager.startUpActivity(activityId);
         } catch (LuckyMQException e) {
-            e.printStackTrace();
+            throw new LuckyActivityException(e.getCode(), e.getMsg());
         }
-
     }
 
     @Transactional(rollbackFor = Exception.class)
     @Override
     public void verifyActivity(Long activityId, boolean pass, String remarks) throws LuckyActivityException {
         LuckyActivity activity = luckyActivityMapper.selectByPrimaryKeyForUpdate(activityId);
+        notNull(activity);
         if (activity.getState() != LuckyActivity.STATE_WAITING_VERIFY) {
             throw new LuckyActivityException(2, "娲诲姩灏氭湭澶勪簬瀹℃牳鐘舵��");
         }
 
         //瀹℃牳娲诲姩
-        //瀹℃牳閫氳繃
         if (pass) {
+            //瀹℃牳閫氳繃
             luckyActivityManager.setState(activityId, LuckyActivity.STATE_NOT_PUBLISH, remarks);
         } else {
             //瀹℃牳鏈�氳繃
@@ -220,7 +206,11 @@
     public void forceFinishActivity(Long activityId, String remarks) throws LuckyActivityException {
         LuckyActivity activity = luckyActivityMapper.selectByPrimaryKey(activityId);
         notNull(activity);
-        luckyActivityManager.finishActivity(activityId, true, remarks);
+        try {
+            luckyActivityManager.finishActivity(activityId, true, remarks);
+        } catch (LuckyMQException e) {
+            throw new LuckyActivityException(e.getCode(), e.getMsg());
+        }
     }
 
     @Transactional(rollbackFor = Exception.class)
@@ -244,6 +234,17 @@
             throw new LuckyActivityException(2, e.getMsg());
         }
 
+    }
+
+    @Override
+    public void cancelVerify(Long activityId) throws LuckyActivityException {
+        LuckyActivity activity = luckyActivityMapper.selectByPrimaryKeyForUpdate(activityId);
+        notNull(activity);
+        if (activity.getState() != LuckyActivity.STATE_WAITING_VERIFY) {
+            throw new LuckyActivityException(1, "娲诲姩鏈浜庣瓑寰呭鏍哥姸鎬�");
+        }
+
+        luckyActivityManager.setState(activityId, LuckyActivity.STATE_NOT_SUBMIT_VERIFY, "涓诲姩鍙栨秷瀹℃牳");
     }
 
     @Override
@@ -271,13 +272,62 @@
     }
 
     @Override
+    public List<LuckyActivity> getActivityDetail(List<Long> ids) {
+        List<LuckyActivity> activityList = new ArrayList<>();
+        for (Long id : ids) {
+            LuckyActivity luckyActivity = getActivityDetail(id);
+            activityList.add(luckyActivity);
+        }
+        return activityList;
+    }
+
+    @Override
     public void updateActivity(LuckyActivity activity) throws LuckyActivityException {
         if (activity.getState() != null) {
             throw new LuckyActivityException(1, "涓嶈兘鏇存敼娲诲姩鐘舵��");
         }
+        if (!luckyActivityManager.canUpdate(activity.getId())) {
+            throw new LuckyActivityException(1, "褰撳墠娲诲姩涓嶈兘淇敼");
+        }
+
         activity.setUpdateTime(new Date());
         luckyActivityMapper.updateByPrimaryKeySelective(activity);
     }
 
+    @Override
+    public List<LuckyActivity> getRecommendActivity(Long appId, String uid, int page, int pageSize) {
+        ActivityDaoQuery query = new ActivityDaoQuery();
+        query.appId = appId;
+        query.start = (page - 1) * pageSize;
+        query.count = pageSize;
+        query.sort = "actual_start_time desc";
+
+        query.stateList = Arrays.asList(new Integer[]{
+                LuckyActivity.STATE_STARTED,
+                LuckyActivity.STATE_FINISH,
+                LuckyActivity.STATE_PRE_OPENED,
+                LuckyActivity.STATE_OPENED,
+        });
+
+
+        return luckyActivityMapper.list(query);
+    }
+
+    @Override
+    public Long getRecommendActivityCount(Long appId, String uid) {
+        ActivityDaoQuery query = new ActivityDaoQuery();
+        query.appId = appId;
+
+        query.stateList = Arrays.asList(new Integer[]{
+                LuckyActivity.STATE_STARTED,
+                LuckyActivity.STATE_FINISH,
+                LuckyActivity.STATE_PRE_OPENED,
+                LuckyActivity.STATE_OPENED,
+        });
+
+
+        return luckyActivityMapper.count(query);
+    }
+
 
 }

--
Gitblit v1.8.0