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

---
 service-daylucky/src/main/java/com/ks/daylucky/controller/api/client/ActivityController.java |  161 ++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 120 insertions(+), 41 deletions(-)

diff --git a/service-daylucky/src/main/java/com/ks/daylucky/controller/api/client/ActivityController.java b/service-daylucky/src/main/java/com/ks/daylucky/controller/api/client/ActivityController.java
index db54b72..0b124cd 100644
--- a/service-daylucky/src/main/java/com/ks/daylucky/controller/api/client/ActivityController.java
+++ b/service-daylucky/src/main/java/com/ks/daylucky/controller/api/client/ActivityController.java
@@ -1,19 +1,22 @@
 package com.ks.daylucky.controller.api.client;
 
-import com.ks.daylucky.pojo.DO.ActivityTag;
-import com.ks.daylucky.pojo.DO.UserInfo;
+import com.ks.daylucky.pojo.DO.ActivityScanRecord;
+import com.ks.daylucky.pojo.DO.AppConfig;
+import com.ks.daylucky.pojo.DTO.ConfigKeyEnum;
 import com.ks.daylucky.pojo.VO.AcceptData;
-import com.ks.daylucky.pojo.VO.ActivityDetailInfoVO;
-import com.ks.daylucky.pojo.VO.SimpleUser;
-import com.ks.daylucky.service.ActivityTagService;
-import com.ks.daylucky.service.UserInfoService;
+import com.ks.daylucky.pojo.DTO.ActivityDetailInfoDTO;
+import com.ks.daylucky.pojo.VO.ActivityDetailVO;
+import com.ks.daylucky.pojo.VO.ActivityListItemInfoVO;
+import com.ks.daylucky.service.*;
 import com.ks.daylucky.util.Constant;
-import com.ks.daylucky.util.UserInfoUtil;
+import com.ks.daylucky.util.factory.vo.ActivityDetailVOFactory;
+import com.ks.daylucky.util.factory.vo.ActivityListItemInfoVOFactory;
 import com.ks.lucky.pojo.DO.LuckyActivity;
-import com.ks.lucky.pojo.DO.LuckyActivityJoinRecord;
-import com.ks.lucky.pojo.DTO.ActivitySimpleUser;
+import com.ks.lucky.remote.service.LuckyActivityJoinAssistService;
 import com.ks.lucky.remote.service.LuckyActivityJoinService;
 import com.ks.lucky.remote.service.LuckyActivityService;
+import net.sf.json.JSONObject;
+import org.apache.dubbo.config.annotation.Reference;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.ResponseBody;
@@ -22,66 +25,142 @@
 import javax.annotation.Resource;
 import java.util.ArrayList;
 import java.util.List;
-import java.util.Map;
 
 @Controller
 @RequestMapping("api/client/activity")
 public class ActivityController {
 
-    @Resource
+    @Reference(version = "1.0")
     private LuckyActivityService luckyActivityService;
 
-    @Resource
-    private ActivityTagService activityTagService;
+    @Reference(version = "1.0")
+    private LuckyActivityJoinAssistService luckyActivityJoinAssistService;
 
     @Resource
-    private LuckyActivityJoinService luckyActivityJoinService;
+    private ActivityScanRecordService activityScanRecordService;
 
     @Resource
-    private UserInfoService userInfoService;
+    private ActivityService activityService;
+
+    @Resource
+    private AppConfigService appConfigService;
 
 
+    /**
+     * 鑾峰彇娲诲姩璇︽儏
+     *
+     * @param acceptData
+     * @param activityId
+     * @return
+     */
     @ResponseBody
     @RequestMapping("getActivityDetail")
     public String getActivityDetail(AcceptData acceptData, Long activityId) {
+        ActivityDetailInfoDTO dto = activityService.getActivityDetail(activityId, acceptData.getApp().getId(), acceptData.getUid(), true, 20, false);
+        if (dto == null) {
+            return JsonUtil.loadFalseResult("娲诲姩涓嶅瓨鍦�");
+        }
 
-        ActivityDetailInfoVO vo = new ActivityDetailInfoVO();
+        AppConfig help = appConfigService.getConfigCache(acceptData.getApp().getId(), ConfigKeyEnum.activityDetailHelp, acceptData.getVersion());
 
-        LuckyActivity actiivty = luckyActivityService.getActivityDetail(activityId);
-        //鑾峰彇tag
-        List<ActivityTag> tagList = activityTagService.getTagList(activityId);
+        Integer assistCount = null;
+        if (dto.getJoin()) {
+            long count = luckyActivityJoinAssistService.countAssistRecord(activityId, acceptData.getApp().getId(), acceptData.getUid() + "");
+            assistCount = (int) count;
+        }
 
-        //鑾峰彇鍙備笌鑰呮暟閲�
-        long count = luckyActivityJoinService.countWeightRank(activityId);
 
-        //鑾峰彇鏈�杩戠殑鍙備笌鑰呭垪琛�
-        List<SimpleUser> userList = new ArrayList<>();
-        luckyActivityJoinService.getJoinerList(activityId, 1, 20);
-        List<ActivitySimpleUser> list = luckyActivityJoinService.getJoinerList(activityId, 1, Constant.PAGE_SIZE);
+        ActivityDetailVO vo = ActivityDetailVOFactory.create(dto, help != null ? help.getValue() : null, assistCount);
+        return JsonUtil.loadTrueResult(vo);
+    }
+
+
+    /**
+     * 鑾峰彇鎺ㄨ崘娲诲姩鍒楄〃
+     *
+     * @param acceptData
+     * @param page
+     * @return
+     */
+    @ResponseBody
+    @RequestMapping("getRecommendActivity")
+    public String getRecommendActivity(AcceptData acceptData, int page) {
+        List<LuckyActivity> list = luckyActivityService.getRecommendActivity(acceptData.getApp().getId(), acceptData.getUid() + "", page, Constant.PAGE_SIZE);
+        long count = luckyActivityService.getRecommendActivityCount(acceptData.getApp().getId(), acceptData.getUid() + "");
+
+        List<Long> activityIds = new ArrayList<>();
         if (list != null && list.size() > 0) {
-            Map<Long, UserInfo> userInfoMap = userInfoService.listUserInfoAsMap(UserInfoUtil.getBaseUserList(list));
-            for (ActivitySimpleUser info : list) {
-                UserInfo user = userInfoMap.get(info.getUid());
-                if (user != null) {
-                    userList.add(new SimpleUser(user.getId(), user.getNickName(), user.getPortrait()));
-                }
+            for (LuckyActivity activity : list) {
+                activityIds.add(activity.getId());
             }
         }
+        List<ActivityDetailInfoDTO> dtoList = activityService.getActivityDetail(activityIds, acceptData.getApp().getId(), acceptData.getUid(), false);
+        JSONObject data = new JSONObject();
+        data.put("data", ActivityListItemInfoVOFactory.create(dtoList));
+        data.put("count", count);
+        return JsonUtil.loadTrueResult(data);
+    }
 
-        //鑾峰彇鏄惁鍙傚姞
-        LuckyActivityJoinRecord record = luckyActivityJoinService.getJoinInfo(activityId, acceptData.getApp().getId(), acceptData.getUid() + "");
 
-        boolean join = false;
-        if (record != null) {
-            join = true;
+    /**
+     * 鑾峰彇璧炲姪鍟嗙殑娲诲姩
+     *
+     * @param acceptData
+     * @param page
+     * @return
+     */
+    @RequestMapping("getSponsorActivity")
+    public String getSponsorActivity(AcceptData acceptData, Long sponsorId, int page) {
+
+        List<LuckyActivity> list = luckyActivityService.getActivityList(acceptData.getApp().getId(), sponsorId, getCanShowStateList(), null, page, Constant.CLIENT_ACTIVITY_LIST_PAGE_SIZE);
+        long count = luckyActivityService.countActivity(acceptData.getApp().getId(), sponsorId, getCanShowStateList(), null);
+
+        List<Long> activityIds = new ArrayList<>();
+        if (list != null && list.size() > 0) {
+            for (LuckyActivity activity : list) {
+                activityIds.add(activity.getId());
+            }
         }
+        List<ActivityDetailInfoDTO> dtoList = activityService.getActivityDetail(activityIds, acceptData.getApp().getId(), acceptData.getUid(), false);
+        JSONObject data = new JSONObject();
+        data.put("data", ActivityListItemInfoVOFactory.create(dtoList));
+        data.put("count", count);
+        return JsonUtil.loadTrueResult(data);
+    }
 
-        vo.setActivity(actiivty);
-        vo.setJoin(join);
-        vo.setJoinerList(userList);
-        vo.setTagList(tagList);
+    /**
+     * 鑾峰彇娴忚瓒宠抗
+     *
+     * @param acceptData
+     * @param page
+     * @return
+     */
+    @RequestMapping("getScanActivityRecord")
+    public String getScanActivityRecord(AcceptData acceptData, int page) {
 
-        return JsonUtil.loadTrueResult(vo);
+        List<ActivityScanRecord> list = activityScanRecordService.getRecordList(acceptData.getUid(), page, Constant.CLIENT_ACTIVITY_LIST_PAGE_SIZE);
+        long count = activityScanRecordService.countRecord(acceptData.getUid());
+
+        List<Long> activityIds = new ArrayList<>();
+        if (list != null && list.size() > 0) {
+            for (ActivityScanRecord record : list) {
+                activityIds.add(record.getActivityId());
+            }
+        }
+        List<ActivityDetailInfoDTO> dtoList = activityService.getActivityDetail(activityIds, acceptData.getApp().getId(), acceptData.getUid(), false);
+        JSONObject data = new JSONObject();
+        data.put("data", ActivityListItemInfoVOFactory.create(dtoList));
+        data.put("count", count);
+        return JsonUtil.loadTrueResult(data);
+    }
+
+
+    private List<Integer> getCanShowStateList() {
+        List<Integer> list = new ArrayList<>();
+        list.add(LuckyActivity.STATE_OPENED);
+        list.add(LuckyActivity.STATE_STARTED);
+        list.add(LuckyActivity.STATE_FINISH);
+        return list;
     }
 
 

--
Gitblit v1.8.0