admin
2020-12-05 8ac93bd9b45e3d25783798e1fe8cfc26bedd57d2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
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.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.util.Constant;
import com.ks.daylucky.util.UserInfoUtil;
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.LuckyActivityService;
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 javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
 
@Controller
@RequestMapping("api/client/activity")
public class ActivityController {
 
    @Resource
    private LuckyActivityService luckyActivityService;
 
    @Resource
    private ActivityTagService activityTagService;
 
    @Resource
    private LuckyActivityJoinService luckyActivityJoinService;
 
    @Resource
    private UserInfoService userInfoService;
 
 
    @ResponseBody
    @RequestMapping("getActivityDetail")
    public String getActivityDetail(AcceptData acceptData, Long activityId) {
 
        ActivityDetailInfoVO vo = new ActivityDetailInfoVO();
 
        LuckyActivity actiivty = luckyActivityService.getActivityDetail(activityId);
        //获取tag
        List<ActivityTag> tagList = activityTagService.getTagList(activityId);
 
        //获取参与者数量
        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);
        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()));
                }
            }
        }
 
        //获取是否参加
        LuckyActivityJoinRecord record = luckyActivityJoinService.getJoinInfo(activityId, acceptData.getApp().getId(), acceptData.getUid() + "");
 
        boolean join = false;
        if (record != null) {
            join = true;
        }
 
        vo.setActivity(actiivty);
        vo.setJoin(join);
        vo.setJoinerList(userList);
        vo.setTagList(tagList);
 
        return JsonUtil.loadTrueResult(vo);
    }
 
 
}