From 5405154d6979f1b50ce2d881bb164b1acca80b6d Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期五, 15 一月 2021 18:58:18 +0800
Subject: [PATCH] 修改相关bug

---
 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 ca34544..59f0ff3 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
@@ -1,19 +1,22 @@
 package com.ks.daylucky.controller.api.client;
 
+import com.google.gson.Gson;
 import com.ks.daylucky.pojo.DO.ActivityScanRecord;
 import com.ks.daylucky.pojo.DO.AppConfig;
+import com.ks.daylucky.pojo.DTO.SimpleShareInfo;
+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;
@@ -23,17 +26,19 @@
 import org.yeshi.utils.JsonUtil;
 
 import javax.annotation.Resource;
+import java.net.URLEncoder;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 
 @Controller
 @RequestMapping("api/client/activity")
 public class ActivityController {
 
-    @Reference(version = "1.0.0")
+    @Reference(version = "1.0.0", check = false)
     private LuckyActivityService luckyActivityService;
 
-    @Reference(version = "1.0.0")
+    @Reference(version = "1.0.0", check = false)
     private LuckyActivityJoinAssistService luckyActivityJoinAssistService;
 
     @Resource
@@ -44,6 +49,15 @@
 
     @Resource
     private AppConfigService appConfigService;
+
+    @Resource
+    private ActivityExtraInfoService activityExtraInfoService;
+
+    @Resource
+    private UserActivityExtraInfoService userActivityExtraInfoService;
+
+    @Resource
+    private UserInfoService userInfoService;
 
 
     /**
@@ -56,7 +70,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 +83,62 @@
             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();
+        }
+
+        AppConfig appConfig = appConfigService.getConfigCache(acceptData.getApp().getId(), ConfigKeyEnum.activityShareInfo, acceptData.getVersion());
+        SimpleShareInfo info = new Gson().fromJson(appConfig.getValue(), SimpleShareInfo.class);
+
+        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(info.getTitle());
+        shareInfoDTO.setDesc(info.getDesc());
+        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, URLEncoder.encode(ActivityUtil.getShareJoinInfo(acceptData.getUid(), activityId))));
+                shareInfoDTO.setTitle(info.getTitle());
+                shareInfoDTO.setDesc(info.getDesc());
+                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 +162,9 @@
             }
         }
         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);
     }
@@ -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