admin
2020-12-25 25680e135b5bdc15658622cbfde74bab73cfee77
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;
@@ -45,6 +46,15 @@
    @Resource
    private AppConfigService appConfigService;
    @Resource
    private ActivityExtraInfoService activityExtraInfoService;
    @Resource
    private UserActivityExtraInfoService userActivityExtraInfoService;
    @Resource
    private UserInfoService userInfoService;
    /**
     * 获取活动详情
@@ -69,9 +79,61 @@
            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,6 +177,7 @@
     * @param page
     * @return
     */
    @ResponseBody
    @RequestMapping("getSponsorActivity")
    public String getSponsorActivity(AcceptData acceptData, Long sponsorId, int page) {
@@ -123,7 +192,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 +204,7 @@
     * @param page
     * @return
     */
    @ResponseBody
    @RequestMapping("getScanActivityRecord")
    public String getScanActivityRecord(AcceptData acceptData, int page) {
@@ -149,7 +219,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);
    }