From 7e389247b3b2877c12f1eaae6e33c9c33e91d2dd Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期五, 08 一月 2021 18:41:59 +0800 Subject: [PATCH] 活动添加后台完善 --- service-daylucky/src/main/java/com/ks/daylucky/controller/api/client/ActivityAwardsController.java | 126 +++++++++++++++++++++++++++++++++++++++-- 1 files changed, 118 insertions(+), 8 deletions(-) diff --git a/service-daylucky/src/main/java/com/ks/daylucky/controller/api/client/ActivityAwardsController.java b/service-daylucky/src/main/java/com/ks/daylucky/controller/api/client/ActivityAwardsController.java index 185017f..81bbccc 100644 --- a/service-daylucky/src/main/java/com/ks/daylucky/controller/api/client/ActivityAwardsController.java +++ b/service-daylucky/src/main/java/com/ks/daylucky/controller/api/client/ActivityAwardsController.java @@ -1,17 +1,24 @@ package com.ks.daylucky.controller.api.client; +import com.ks.daylucky.pojo.DO.ActivityDrawnRecieveNotifyInfo; import com.ks.daylucky.pojo.DO.UserInfo; -import com.ks.daylucky.pojo.VO.AcceptData; -import com.ks.daylucky.pojo.VO.SimpleUser; +import com.ks.daylucky.pojo.VO.*; +import com.ks.daylucky.service.ActivityDrawnRecieveNotifyInfoService; import com.ks.daylucky.service.UserInfoService; import com.ks.daylucky.util.Constant; import com.ks.daylucky.util.UserInfoUtil; +import com.ks.daylucky.util.factory.vo.ActivityDetailVOFactory; +import com.ks.daylucky.util.factory.vo.ActivityListItemInfoVOFactory; +import com.ks.lucky.exception.LuckyActivityAwardException; +import com.ks.lucky.exception.LuckyActivityAwardResultException; +import com.ks.lucky.exception.LuckyActivityException; import com.ks.lucky.pojo.DO.LuckyActivityAwardResult; import com.ks.lucky.pojo.DO.LuckyActivityAwards; import com.ks.lucky.remote.service.LuckyActivityAwardResultService; import com.ks.lucky.remote.service.LuckyActivityAwardService; import net.sf.json.JSONArray; 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; @@ -28,14 +35,17 @@ @RequestMapping("api/client/activity/awards") public class ActivityAwardsController { - @Resource + @Reference(version = "1.0.0",check = false) private LuckyActivityAwardResultService luckyActivityAwardResultService; - @Resource + @Reference(version = "1.0.0",check = false) private LuckyActivityAwardService luckyActivityAwardService; @Resource private UserInfoService userInfoService; + + @Resource + private ActivityDrawnRecieveNotifyInfoService activityDrawnRecieveNotifyInfoService; /** @@ -49,9 +59,13 @@ public String getDrawnInfo(AcceptData acceptData, Long activityId, int count) { List<LuckyActivityAwards> list = luckyActivityAwardService.getAwardList(activityId); JSONArray array = new JSONArray(); + int p = 0; for (LuckyActivityAwards award : list) { + award = luckyActivityAwardService.getAwardDetail(award.getId()); JSONObject item = new JSONObject(); List<LuckyActivityAwardResult> awardResults = luckyActivityAwardResultService.getResultListWithAwardInfo(activityId, award.getId(), 1, count); + long resultCount = luckyActivityAwardResultService.countResultWithAwardInfo(activityId, award.getId()); + List<SimpleUser> userList = new ArrayList<>(); Map<Long, UserInfo> userMap = userInfoService.listUserInfoAsMap(UserInfoUtil.getBaseUserList(awardResults)); for (LuckyActivityAwardResult info : awardResults) { @@ -61,7 +75,8 @@ } } item.put("userList", userList); - item.put("award", JsonUtil.getApiCommonGson().toJson(award)); + item.put("userCount", resultCount); + item.put("award", ActivityListItemInfoVOFactory.create(award, p++)); array.add(item); } @@ -86,13 +101,13 @@ */ @ResponseBody - @RequestMapping("getDrawnList") - public String getDrawnList(AcceptData acceptData, Long activityId, Long awardId, int page) { + @RequestMapping("getDrawnJoinerList") + public String getDrawnJoinerList(AcceptData acceptData, Long activityId, Long awardId, int page) { List<LuckyActivityAwardResult> awardResults = luckyActivityAwardResultService.getResultListWithAwardInfo(activityId, awardId, page, Constant.PAGE_SIZE); long count = luckyActivityAwardResultService.countResultWithAwardInfo(activityId, awardId); List<SimpleUser> userList = new ArrayList<>(); - Map<Long, UserInfo> userMap =userInfoService.listUserInfoAsMap(UserInfoUtil.getBaseUserList(awardResults)); + Map<Long, UserInfo> userMap = userInfoService.listUserInfoAsMap(UserInfoUtil.getBaseUserList(awardResults)); for (LuckyActivityAwardResult info : awardResults) { UserInfo user = userMap.get(info.getUid()); if (user != null) { @@ -107,5 +122,100 @@ return JsonUtil.loadTrueResult(data); } + /** + * 鑾峰彇棰嗗閫氱煡寮规 + * + * @param acceptData + * @return + */ + @ResponseBody + @RequestMapping("getRecieveAwardNotify") + public String getRecieveAwardNotify(AcceptData acceptData, Long activityId) { + ActivityDrawnRecieveNotifyInfo info = activityDrawnRecieveNotifyInfoService.getShowNotifyInfo(acceptData.getApp().getId(), acceptData.getUid(), activityId); + if (info != null) { + UserActivityUnRecievedAwardVO vo = new UserActivityUnRecievedAwardVO(); + LuckyActivityAwards award = info.getAwards(); + + vo.setTitle("娲诲姩鏈熷彿锛歂O." + award.getActivityId()); + vo.setActivityId(activityId); + vo.setType(info.getType()); + vo.setId(info.getId()); + + switch (info.getType()) { + case ActivityDrawnRecieveNotifyInfo.TYPE_UNRECIEVE: + vo.setDesc("鏈鍙栵紝鍙湪\"鎴戠殑-鍏ㄩ儴鎶藉\"涓煡鐪�"); + vo.setAward(ActivityListItemInfoVOFactory.create(award, null)); + break; + case ActivityDrawnRecieveNotifyInfo.TYPE_OUTDATE: + vo.setDesc("娉細涓鏃ヨ捣7澶╁唴鏈鍙栧鍝侊紝灏嗕細鎶婂搴斿鍝佸師璺��鍥炶禐鍔╁晢锛屽垏璁颁腑濂栧悗鎸夋椂棰嗗彇濂栧搧銆�"); + vo.setAward(ActivityListItemInfoVOFactory.create(award, award.getLevel())); + break; + } + return JsonUtil.loadTrueResult(vo); + } + return JsonUtil.loadFalseResult(""); + } + + + /** + * 璁剧疆涓閫氱煡寮规宸茶 + * + * @param acceptData + * @param id + * @return + */ + @ResponseBody + @RequestMapping("setDrawnNotifyRead") + public String setDrawnNotifyRead(AcceptData acceptData, String id) { + + ActivityDrawnRecieveNotifyInfo info = activityDrawnRecieveNotifyInfoService.selectByPrimaryKey(id); + + String uid = null; + Long appId = null; + + if (info.getAwardResult() != null) { + uid = info.getAwardResult().getUid(); + appId = info.getAwardResult().getAppId(); + } + + if (uid == null || appId == null) { + return JsonUtil.loadFalseResult("淇℃伅鑾峰彇鍑洪敊"); + } + + if (acceptData.getUid().longValue() != Long.parseLong(uid) || acceptData.getApp().getId().longValue() != appId) { + return JsonUtil.loadFalseResult("涓嶆槸鑷繁鐨勪腑濂�"); + } + activityDrawnRecieveNotifyInfoService.setNotifyShown(info.getId()); + return JsonUtil.loadTrueResult(""); + } + + + /** + * 棰嗗彇濂栧搧 + * + * @param acceptData + * @param activityId + * @return + */ + @ResponseBody + @RequestMapping("recieveAward") + public String recieveAward(AcceptData acceptData, Long activityId) { + LuckyActivityAwardResult result = luckyActivityAwardResultService.getResult(acceptData.getApp().getId(), acceptData.getUid() + "", activityId); + if (result == null) { + return JsonUtil.loadFalseResult("鏈壘鍒颁腑濂栬褰�"); + } + try { + luckyActivityAwardResultService.recieveAward(acceptData.getApp().getId(), acceptData.getUid() + "", activityId); + return JsonUtil.loadTrueResult("棰嗗彇鎴愬姛"); + } catch (LuckyActivityException e) { + e.printStackTrace(); + } catch (LuckyActivityAwardException e) { + e.printStackTrace(); + } catch (LuckyActivityAwardResultException e) { + e.printStackTrace(); + } + return JsonUtil.loadFalseResult("棰嗗彇澶辫触"); + } + } -- Gitblit v1.8.0