From 478e6722fd36bf9b5d8608c8cca2000190da5496 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 22 十二月 2020 19:16:15 +0800
Subject: [PATCH] 功能完善

---
 service-daylucky/src/main/java/com/ks/daylucky/controller/api/client/ActivityController.java |  156 ++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 132 insertions(+), 24 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 f08268c..8830d89 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,49 +1,53 @@
 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.VO.ActivityShareInfoVO;
+import com.ks.daylucky.pojo.DTO.AssistJoinInfoDTO;
+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.ActivityService;
-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.service.*;
 import com.ks.daylucky.util.Constant;
-import com.ks.daylucky.util.UserInfoUtil;
+import com.ks.daylucky.util.RSAUtil;
+import com.ks.daylucky.util.activity.ActivityUtil;
+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.LuckyActivityJoinService;
+import com.ks.lucky.remote.service.LuckyActivityJoinAssistService;
 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;
 import org.yeshi.utils.JsonUtil;
+import org.yeshi.utils.encrypt.AESUtil;
 
 import javax.annotation.Resource;
+import java.security.AccessControlContext;
 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.0")
     private LuckyActivityService luckyActivityService;
 
-    @Resource
-    private ActivityTagService activityTagService;
+    @Reference(version = "1.0.0")
+    private LuckyActivityJoinAssistService luckyActivityJoinAssistService;
 
     @Resource
-    private LuckyActivityJoinService luckyActivityJoinService;
-
-    @Resource
-    private UserInfoService userInfoService;
+    private ActivityScanRecordService activityScanRecordService;
 
     @Resource
     private ActivityService activityService;
+
+    @Resource
+    private AppConfigService appConfigService;
 
 
     /**
@@ -56,12 +60,46 @@
     @ResponseBody
     @RequestMapping("getActivityDetail")
     public String getActivityDetail(AcceptData acceptData, Long activityId) {
-        ActivityDetailInfoVO vo = activityService.getActivityDetail(activityId, acceptData.getApp().getId(), acceptData.getUid(), true, 20, false);
-        if (vo == null) {
+        ActivityDetailInfoDTO dto = activityService.getActivityDetail(activityId, acceptData.getApp().getId(), acceptData.getUid(), true, 20, false);
+        if (dto == null) {
             return JsonUtil.loadFalseResult("娲诲姩涓嶅瓨鍦�");
         }
 
-        return JsonUtil.loadTrueResult(vo);
+        AppConfig help = appConfigService.getConfigCache(acceptData.getApp().getId(), ConfigKeyEnum.activityDetailHelp, acceptData.getVersion());
+
+        Integer assistCount = null;
+        if (dto.getJoin()) {
+            long count = luckyActivityJoinAssistService.countAssistRecord(activityId, acceptData.getApp().getId(), acceptData.getUid() + "");
+            assistCount = (int) count;
+        }
+
+        //鏌ヨ璧炲姪鍟嗗凡缁忓紑濮嬬殑娲诲姩鏁伴噺
+
+        long count = luckyActivityService.countActivity(acceptData.getApp().getId(), dto.getActivity().getSponsorId(), ActivityUtil.getCanShowAcivityStateList(), null);
+
+        ActivityDetailVO vo = ActivityDetailVOFactory.create(dto, help != null ? help.getValue() : null, assistCount, (int) count);
+
+        //鍒嗕韩淇℃伅
+
+        ActivityShareInfoVO shareInfoDTO = new ActivityShareInfoVO();
+        shareInfoDTO.setPath(String.format("/pages/activity-detail/activity-detail?id=%s&joinInfo=%s", activityId, ActivityUtil.getShareJoinInfo(acceptData.getUid(), activityId)));
+        shareInfoDTO.setTitle("娴嬭瘯鏍囬");
+        shareInfoDTO.setDesc("娴嬭瘯绠�浠�");
+//        shareInfoDTO.setBgImgUrl();
+        vo.setShareInfo(shareInfoDTO);
+
+
+        //鍔犲叆娴忚璁板綍
+        ActivityScanRecord record = new ActivityScanRecord();
+        record.setActivityId(activityId);
+        record.setUid(acceptData.getUid());
+        activityScanRecordService.addRecord(record);
+
+        AppConfig config = appConfigService.getConfigCache(acceptData.getApp().getId(), ConfigKeyEnum.disclaimers, acceptData.getVersion());
+        if (config != null) {
+            vo.setDisclaimers(config.getValue());
+        }
+        return JsonUtil.loadTrueResult(JsonUtil.getSimpleGson().toJson(vo));
     }
 
 
@@ -84,12 +122,82 @@
                 activityIds.add(activity.getId());
             }
         }
-        List<ActivityDetailInfoVO> voList = activityService.getActivityDetail(activityIds, acceptData.getApp().getId(), acceptData.getUid(), false);
+        List<ActivityDetailInfoDTO> dtoList = activityService.getActivityDetail(activityIds, acceptData.getApp().getId(), acceptData.getUid(), false);
+
+        //TODO 娴嬭瘯
+        for (int i = 0; i < 20; i++) {
+            dtoList.add(dtoList.get(0));
+        }
+
         JSONObject data = new JSONObject();
-        data.put("data", voList);
+        data.put("data", JsonUtil.getSimpleGson().toJson(ActivityListItemInfoVOFactory.create(dtoList)));
         data.put("count", count);
         return JsonUtil.loadTrueResult(data);
     }
 
 
+    /**
+     * 鑾峰彇璧炲姪鍟嗙殑娲诲姩
+     *
+     * @param acceptData
+     * @param page
+     * @return
+     */
+    @ResponseBody
+    @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", JsonUtil.getSimpleGson().toJson(ActivityListItemInfoVOFactory.create(dtoList)));
+        data.put("count", count);
+        return JsonUtil.loadTrueResult(data);
+    }
+
+    /**
+     * 鑾峰彇娴忚瓒宠抗
+     *
+     * @param acceptData
+     * @param page
+     * @return
+     */
+    @ResponseBody
+    @RequestMapping("getScanActivityRecord")
+    public String getScanActivityRecord(AcceptData acceptData, int page) {
+
+        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", JsonUtil.getSimpleGson().toJson(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