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/ActivityController.java | 97 ++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 84 insertions(+), 13 deletions(-) diff --git a/service-daylucky/src/main/java/com/ks/daylucky/controller/api/client/ActivityController.java b/service-daylucky/src/main/java/com/ks/daylucky/controller/api/client/ActivityController.java index 0b124cd..96904f7 100644 --- a/service-daylucky/src/main/java/com/ks/daylucky/controller/api/client/ActivityController.java +++ b/service-daylucky/src/main/java/com/ks/daylucky/controller/api/client/ActivityController.java @@ -2,18 +2,19 @@ import com.ks.daylucky.pojo.DO.ActivityScanRecord; import com.ks.daylucky.pojo.DO.AppConfig; +import com.ks.daylucky.pojo.VO.AlipayXCXShareInfoVO; import com.ks.daylucky.pojo.DTO.ConfigKeyEnum; import com.ks.daylucky.pojo.VO.AcceptData; import com.ks.daylucky.pojo.DTO.ActivityDetailInfoDTO; import com.ks.daylucky.pojo.VO.ActivityDetailVO; -import com.ks.daylucky.pojo.VO.ActivityListItemInfoVO; +import com.ks.daylucky.pojo.VO.SimpleUser; import com.ks.daylucky.service.*; import com.ks.daylucky.util.Constant; +import com.ks.daylucky.util.activity.ActivityUtil; import com.ks.daylucky.util.factory.vo.ActivityDetailVOFactory; import com.ks.daylucky.util.factory.vo.ActivityListItemInfoVOFactory; import com.ks.lucky.pojo.DO.LuckyActivity; import com.ks.lucky.remote.service.LuckyActivityJoinAssistService; -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; @@ -24,16 +25,17 @@ import javax.annotation.Resource; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; @Controller @RequestMapping("api/client/activity") public class ActivityController { - @Reference(version = "1.0") + @Reference(version = "1.0.0", check = false) private LuckyActivityService luckyActivityService; - @Reference(version = "1.0") + @Reference(version = "1.0.0", check = false) private LuckyActivityJoinAssistService luckyActivityJoinAssistService; @Resource @@ -44,6 +46,15 @@ @Resource private AppConfigService appConfigService; + + @Resource + private ActivityExtraInfoService activityExtraInfoService; + + @Resource + private UserActivityExtraInfoService userActivityExtraInfoService; + + @Resource + private UserInfoService userInfoService; /** @@ -56,7 +67,7 @@ @ResponseBody @RequestMapping("getActivityDetail") public String getActivityDetail(AcceptData acceptData, Long activityId) { - ActivityDetailInfoDTO dto = activityService.getActivityDetail(activityId, acceptData.getApp().getId(), acceptData.getUid(), true, 20, false); + ActivityDetailInfoDTO dto = activityService.getActivityDetail(activityId, acceptData.getApp().getId(), acceptData.getUid(), true, 8, false); if (dto == null) { return JsonUtil.loadFalseResult("娲诲姩涓嶅瓨鍦�"); } @@ -69,9 +80,60 @@ assistCount = (int) count; } + //鏌ヨ璧炲姪鍟嗗凡缁忓紑濮嬬殑娲诲姩鏁伴噺 - ActivityDetailVO vo = ActivityDetailVOFactory.create(dto, help != null ? help.getValue() : null, assistCount); - return JsonUtil.loadTrueResult(vo); + long count = luckyActivityService.countActivity(acceptData.getApp().getId(), dto.getActivity().getSponsorId(), ActivityUtil.getCanShowAcivityStateList(), null); + + ActivityDetailVO vo = ActivityDetailVOFactory.create(dto, help != null ? help.getValue() : null, assistCount, (int) count); + + //鍒嗕韩淇℃伅 + + String activityShareImage = null; + try { + activityShareImage = activityExtraInfoService.getShareImageLink(activityId, vo.getActivity().getAwardList(), acceptData.getApp().getId()); + } catch (Exception e) { + e.printStackTrace(); + } + + AlipayXCXShareInfoVO shareInfoDTO = new AlipayXCXShareInfoVO(); + shareInfoDTO.setPath(String.format("/pages/activity-detail/activity-detail?id=%s&joinInfo=%s", activityId, ActivityUtil.getShareJoinInfo(acceptData.getUid(), activityId))); + shareInfoDTO.setTitle("娴嬭瘯鏍囬"); + shareInfoDTO.setDesc("娴嬭瘯绠�浠�"); + shareInfoDTO.setBgImgUrl(activityShareImage); + vo.setShareInfo(shareInfoDTO); + + //宸茬粡鍔犲叆娲诲姩灏遍渶瑕佽繑鍥炲姪鍔涘垎浜浘 + if (vo.isJoined()) { + SimpleUser user = userInfoService.getSimpleUser(acceptData.getUid()); + if (user != null) { + String assistShareImage = null; + try { + assistShareImage = userActivityExtraInfoService.getShareImageLink(activityId, user, acceptData.getApp().getId()); + } catch (Exception e) { + e.printStackTrace(); + } + + shareInfoDTO = new AlipayXCXShareInfoVO(); + shareInfoDTO.setPath(String.format("/pages/activity-detail/activity-detail?id=%s&joinInfo=%s", activityId, ActivityUtil.getShareJoinInfo(acceptData.getUid(), activityId))); + shareInfoDTO.setTitle("娴嬭瘯鏍囬"); + shareInfoDTO.setDesc("娴嬭瘯绠�浠�"); + shareInfoDTO.setBgImgUrl(assistShareImage); + vo.setAssistShareInfo(shareInfoDTO); + } + } + + + //鍔犲叆娴忚璁板綍 + ActivityScanRecord record = new ActivityScanRecord(); + record.setActivityId(activityId); + record.setUid(acceptData.getUid()); + activityScanRecordService.addRecord(record); + + AppConfig config = appConfigService.getConfigCache(acceptData.getApp().getId(), ConfigKeyEnum.disclaimers, acceptData.getVersion()); + if (config != null) { + vo.setDisclaimers(config.getValue()); + } + return JsonUtil.loadTrueResult(JsonUtil.getSimpleGson().toJson(vo)); } @@ -95,8 +157,14 @@ } } List<ActivityDetailInfoDTO> dtoList = activityService.getActivityDetail(activityIds, acceptData.getApp().getId(), acceptData.getUid(), false); + +// //TODO 娴嬭瘯 +// for (int i = 0; i < 20; i++) { +// dtoList.add(dtoList.get(0)); +// } + JSONObject data = new JSONObject(); - data.put("data", ActivityListItemInfoVOFactory.create(dtoList)); + data.put("data", JsonUtil.getSimpleGson().toJson(ActivityListItemInfoVOFactory.create(dtoList))); data.put("count", count); return JsonUtil.loadTrueResult(data); } @@ -109,11 +177,13 @@ * @param page * @return */ + @ResponseBody @RequestMapping("getSponsorActivity") - public String getSponsorActivity(AcceptData acceptData, Long sponsorId, int page) { + public String getSponsorActivity(AcceptData acceptData, Long sponsorId, Long activityId, int page) { - List<LuckyActivity> list = luckyActivityService.getActivityList(acceptData.getApp().getId(), sponsorId, getCanShowStateList(), null, page, Constant.CLIENT_ACTIVITY_LIST_PAGE_SIZE); - long count = luckyActivityService.countActivity(acceptData.getApp().getId(), sponsorId, getCanShowStateList(), null); + List<LuckyActivity> list = luckyActivityService.getActivityList(acceptData.getApp().getId(), sponsorId, getCanShowStateList(), Arrays.asList(new Long[]{activityId}), + null, page, Constant.CLIENT_ACTIVITY_LIST_PAGE_SIZE); + long count = luckyActivityService.countActivity(acceptData.getApp().getId(), sponsorId, getCanShowStateList(), null, Arrays.asList(new Long[]{activityId})); List<Long> activityIds = new ArrayList<>(); if (list != null && list.size() > 0) { @@ -123,7 +193,7 @@ } List<ActivityDetailInfoDTO> dtoList = activityService.getActivityDetail(activityIds, acceptData.getApp().getId(), acceptData.getUid(), false); JSONObject data = new JSONObject(); - data.put("data", ActivityListItemInfoVOFactory.create(dtoList)); + data.put("data", JsonUtil.getSimpleGson().toJson(ActivityListItemInfoVOFactory.create(dtoList))); data.put("count", count); return JsonUtil.loadTrueResult(data); } @@ -135,6 +205,7 @@ * @param page * @return */ + @ResponseBody @RequestMapping("getScanActivityRecord") public String getScanActivityRecord(AcceptData acceptData, int page) { @@ -149,7 +220,7 @@ } List<ActivityDetailInfoDTO> dtoList = activityService.getActivityDetail(activityIds, acceptData.getApp().getId(), acceptData.getUid(), false); JSONObject data = new JSONObject(); - data.put("data", ActivityListItemInfoVOFactory.create(dtoList)); + data.put("data", JsonUtil.getSimpleGson().toJson(ActivityListItemInfoVOFactory.create(dtoList))); data.put("count", count); return JsonUtil.loadTrueResult(data); } -- Gitblit v1.8.0