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);
|
}
|
|
|
}
|