From 74196bcc835d9b76cdd1bc3d85b0dfbe0191fc00 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期四, 31 十二月 2020 19:23:43 +0800 Subject: [PATCH] 活动信息缓存 --- service-daylucky/src/main/java/com/ks/daylucky/controller/api/client/ActivityJoinController.java | 98 +++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 86 insertions(+), 12 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..1de58ee 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,21 @@ 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.factory.vo.ActivityListItemInfoVOFactory; +import com.ks.lucky.exception.LuckyActivityException; +import com.ks.lucky.exception.LuckyActivityJoinException; +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 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 +31,17 @@ @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; @Resource private UserInfoService userInfoService; + + @Resource + private ActivityService activityService; /** @@ -53,8 +61,12 @@ 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 +148,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 +177,67 @@ 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); + + //TODO 鎶藉娲诲姩鐨勭被鍨嬮渶瑕佹浛鎹� + return JsonUtil.loadTrueResult(new JoinResultInfoVO(weight, String.format("娲诲姩鏈熷彿锛歂O.%s\n鎶藉娲诲姩", activityId))); + } catch (LuckyActivityException e) { + return JsonUtil.loadFalseResult(e.getMsg()); + } catch (LuckyActivityJoinException e) { + return JsonUtil.loadFalseResult(e.getMsg()); + } + + } + } -- Gitblit v1.8.0