From 8c1c003c60d2f27b3c55e248451caeec7f2b5631 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期四, 28 一月 2021 19:06:28 +0800
Subject: [PATCH] 活动管理界面完善

---
 service-daylucky/src/main/java/com/ks/daylucky/controller/api/client/ActivityJoinController.java |  107 +++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 94 insertions(+), 13 deletions(-)

diff --git a/service-daylucky/src/main/java/com/ks/daylucky/controller/api/client/ActivityJoinController.java b/service-daylucky/src/main/java/com/ks/daylucky/controller/api/client/ActivityJoinController.java
index c99cc09..a628a92 100644
--- a/service-daylucky/src/main/java/com/ks/daylucky/controller/api/client/ActivityJoinController.java
+++ b/service-daylucky/src/main/java/com/ks/daylucky/controller/api/client/ActivityJoinController.java
@@ -1,19 +1,24 @@
 package com.ks.daylucky.controller.api.client;
 
 import com.ks.daylucky.pojo.DO.UserInfo;
-import com.ks.daylucky.pojo.VO.AcceptData;
-import com.ks.daylucky.pojo.VO.ActivityJoinerRankInfoVO;
-import com.ks.daylucky.pojo.VO.DrawnProbabilityVO;
-import com.ks.daylucky.pojo.VO.SimpleUser;
+import com.ks.daylucky.pojo.DTO.ActivityDetailInfoDTO;
+import com.ks.daylucky.pojo.VO.*;
+import com.ks.daylucky.service.ActivityService;
 import com.ks.daylucky.service.UserInfoService;
 import com.ks.daylucky.util.Constant;
 import com.ks.daylucky.util.UserInfoUtil;
-import com.ks.lucky.pojo.DTO.ActivityDrawnProbabilityStatistic;
-import com.ks.lucky.pojo.DTO.ActivityJoinStatisticInfo;
-import com.ks.lucky.pojo.DTO.ActivityJoinerRankInfo;
-import com.ks.lucky.pojo.DTO.ActivitySimpleUser;
+import com.ks.daylucky.util.activity.ActivityUtil;
+import com.ks.daylucky.util.factory.vo.ActivityListItemInfoVOFactory;
+import com.ks.lucky.exception.LuckyActivityException;
+import com.ks.lucky.exception.LuckyActivityJoinException;
+import com.ks.lucky.pojo.DO.LuckyActivity;
+import com.ks.lucky.pojo.DO.LuckyActivityJoinRecord;
+import com.ks.lucky.pojo.DTO.*;
+import com.ks.lucky.remote.service.LuckyActivityAwardResultService;
 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;
@@ -29,11 +34,20 @@
 @RequestMapping("api/client/activity/join")
 public class ActivityJoinController {
 
-    @Resource
+    @Reference(version = "1.0.0", check = false)
     private LuckyActivityJoinService luckyActivityJoinService;
+
+    @Reference(version = "1.0.0", check = false)
+    private LuckyActivityAwardResultService luckyActivityAwardResultService;
+
+    @Reference(version = "1.0.0", check = false)
+    private LuckyActivityService luckyActivityService;
 
     @Resource
     private UserInfoService userInfoService;
+
+    @Resource
+    private ActivityService activityService;
 
 
     /**
@@ -49,12 +63,16 @@
     public String getRankList(AcceptData acceptData, Long activityId, int page) {
         List<ActivityJoinerRankInfoVO> voList = new ArrayList<>();
 
-        List<ActivityJoinerRankInfo> list = luckyActivityJoinService.getWeightRankList(activityId, page, Constant.PAGE_SIZE);
+        List<ActivityJoinerRankInfo> list = luckyActivityJoinService.getWeightRankList(activityId, page,10);
         if (list != null && list.size() > 0) {
             Map<Long, UserInfo> userInfoMap = userInfoService.listUserInfoAsMap(UserInfoUtil.getBaseUserList(list));
             for (ActivityJoinerRankInfo info : list) {
-                UserInfo user = userInfoMap.get(info.getUid());
+                UserInfo user = userInfoMap.get(Long.parseLong(info.getUid()));
+
                 if (user != null) {
+//                    if (user.getId().longValue() == acceptData.getUid()) {
+//                        continue;
+//                    }
                     voList.add(new ActivityJoinerRankInfoVO(new SimpleUser(user.getId(), user.getNickName(), user.getPortrait()), info.getRank(), info.getWeight()));
                 }
             }
@@ -136,11 +154,11 @@
     public String getJoinerList(AcceptData acceptData, Long activityId, int page) {
         List<SimpleUser> voList = new ArrayList<>();
 
-        List<ActivitySimpleUser> list = luckyActivityJoinService.getJoinerList(activityId, page, Constant.PAGE_SIZE);
+        List<ActivitySimpleUser> list = luckyActivityJoinService.getJoinerList(activityId, null, page, Constant.PAGE_SIZE);
         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());
+                UserInfo user = userInfoMap.get(Long.parseLong(info.getUid()));
                 if (user != null) {
                     voList.add(new SimpleUser(user.getId(), user.getNickName(), user.getPortrait()));
                 }
@@ -165,5 +183,68 @@
         return JsonUtil.loadTrueResult(data);
     }
 
+    /**
+     * 鑾峰彇鎶藉璁板綍
+     *
+     * @param acceptData
+     * @param type       1-寰呭紑濂�  2-宸蹭腑濂�  3-鏈腑濂�
+     * @return
+     */
+    @ResponseBody
+    @RequestMapping("getJoinRecord")
+    public String getJoinRecord(AcceptData acceptData, int type, int page) {
+        List<Long> activityIdList = new ArrayList<>();
+        long count = 0;
+        Long appId = acceptData.getApp().getId();
+        Long uid = acceptData.getUid();
+        switch (type) {
+            case 1:
+                activityIdList = luckyActivityJoinService.getUnOpenActivityIdList(appId, uid + "", page, Constant.PAGE_SIZE);
+                count = luckyActivityJoinService.countUnOpenActivityIdList(appId, uid + "");
+                break;
+            case 2:
+                activityIdList = luckyActivityAwardResultService.getDrawnActivityIdList(appId, uid + "", page, Constant.PAGE_SIZE);
+                count = luckyActivityAwardResultService.countDrawnActivityIdList(appId, uid + "");
+                break;
+            case 3:
+                activityIdList = luckyActivityJoinService.getUnDrawnActivityIdList(appId, uid + "", page, Constant.PAGE_SIZE);
+                count = luckyActivityJoinService.countUnDrawnActivityIdList(appId, uid + "");
+                break;
+        }
+
+        List<ActivityDetailInfoDTO> voList = activityService.getActivityDetail(activityIdList, appId, uid, type == 2 ? true : false);
+
+        JSONObject data = new JSONObject();
+        data.put("data", JsonUtil.getSimpleGson().toJson(ActivityListItemInfoVOFactory.create(voList)));
+        data.put("count", count);
+
+        return JsonUtil.loadTrueResult(data);
+    }
+
+    @ResponseBody
+    @RequestMapping("join")
+    public String join(AcceptData acceptData, Long activityId) {
+        UserInfo userInfo = userInfoService.getUserDetail(acceptData.getUid());
+        if (userInfo == null) {
+            return JsonUtil.loadFalseResult("鐢ㄦ埛涓嶅瓨鍦�");
+        }
+
+        JoinInfo joinInfo = new JoinInfo();
+        joinInfo.setAlipayUid(userInfo.getAlipayUid());
+        try {
+            int weight = 1;
+            luckyActivityJoinService.join(activityId, acceptData.getApp().getId(), acceptData.getUid() + "", 1, joinInfo, LuckyActivityJoinRecord.USER_TYPE_REAL);
+
+            LuckyActivity activity = luckyActivityService.getActivity(activityId);
+            //TODO 鎶藉娲诲姩鐨勭被鍨嬮渶瑕佹浛鎹�
+            return JsonUtil.loadTrueResult(new JoinResultInfoVO(weight, String.format("娲诲姩鏈熷彿锛�%s\n鎶藉娲诲姩", ActivityUtil.getActivityDateNumber(activityId, activity.getCreateTime()))));
+        } catch (LuckyActivityException e) {
+            return JsonUtil.loadFalseResult(e.getMsg());
+        } catch (LuckyActivityJoinException e) {
+            return JsonUtil.loadFalseResult(e.getMsg());
+        }
+
+    }
+
 
 }

--
Gitblit v1.8.0