admin
2021-06-24 df4441322e9801c102299451da41d7c40b4502e9
service-daylucky/src/main/java/com/ks/daylucky/util/factory/vo/ActivityDetailVOFactory.java
@@ -7,17 +7,19 @@
import com.ks.daylucky.pojo.VO.ActivityDetailVO;
import com.ks.daylucky.pojo.VO.LabelVO;
import com.ks.daylucky.pojo.VO.common.JumpDetailVO;
import com.ks.daylucky.util.activity.ActivityUtil;
import com.ks.lucky.pojo.DO.*;
import com.ks.lucky.pojo.DTO.sponsorad.AlipayLifeAdInfo;
import net.sf.json.JSONObject;
import org.yeshi.utils.TimeUtil;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class ActivityDetailVOFactory {
    public static ActivityDetailVO create(ActivityDetailInfoDTO dto, String helpLink, Integer assistCount) {
    public static ActivityDetailVO create(ActivityDetailInfoDTO dto, String helpLink, Integer assistCount, int sponsorActivityCount) {
        ActivityDetailVO vo = new ActivityDetailVO();
        vo.setActivity(create(dto.getActivity()));
        vo.setJoined(dto.getJoin());
@@ -38,8 +40,9 @@
        vo.setHelpLink(helpLink);
        vo.setAssistCount(assistCount);
        if (dto.getActivity().getActualOpenTime() != null) {
            vo.setActualOpenDate(TimeUtil.getGernalTime(dto.getActivity().getActualOpenTime().getTime(), "yyyy.MM.dd HH:mm"));
        vo.setSponsorActivityCount(sponsorActivityCount <= 1 ? 0 : sponsorActivityCount - 1);
        if (dto.getActivity().getOpenInfo().getActualOpenTime() != null) {
            vo.setActualOpenDate(TimeUtil.getGernalTime(dto.getActivity().getOpenInfo().getActualOpenTime().getTime(), "yyyy.MM.dd HH:mm"));
        }
        return vo;
@@ -47,7 +50,7 @@
    public static LabelVO create(ActivityTag tag) {
        LabelVO vo = new LabelVO(tag.getTagName(), tag.getTagBgColor(), tag.getTagFontColr());
        LabelVO vo = new LabelVO(tag.getTagName(), tag.getTagBgColor(), tag.getTagFontColor());
        return vo;
    }
@@ -62,16 +65,28 @@
        bean.setId(activity.getId());
        //设置了预计结束时间
        if (activity.getPreFinishTime() != null) {
            long leftTime = activity.getPreFinishTime().getTime() - System.currentTimeMillis();
            if (leftTime < 0) {
                leftTime = 0L;
            long leftTime = 0;
            if (activity.getState() == LuckyActivity.STATE_STARTED) {
                leftTime = activity.getPreFinishTime().getTime() - System.currentTimeMillis();
                if (leftTime < 0) {
                    leftTime = 0L;
                }
            }
            bean.setLeftTime(leftTime);
        }
        bean.setName(activity.getName());
        bean.setPoster(activity.getMaterialPoster());
        if (activity.getBannerList() == null || activity.getBannerList().size() == 0) {
            bean.setBannerList(Arrays.asList(new String[]{activity.getMaterialPoster()}));
        } else {
            List<String> bannerList = new ArrayList<>();
            for (LuckyActivityImage image : activity.getBannerList()) {
                bannerList.add(image.getUrl());
            }
            bean.setBannerList(bannerList);
        }
        bean.setSponsor(ActivityListItemInfoVOFactory.create(activity.getSponsorInfo().getSponsors()));
        bean.setSponsorAd(create(activity.getSponsorInfo()));
        bean.setDateNumber("活动期号:" + ActivityUtil.getActivityDateNumber(activity.getId(), activity.getCreateTime()));
        return bean;
    }
@@ -85,12 +100,15 @@
            }
            List<String> descList = new ArrayList<>();
            descList.add("关注赞助商生活号。");
            descList.add("点赞赞助商生活号最新发布消息。");
            descList.add("免费参与抽奖活动");
            if (sponsorInfo.getAd().getAlipayLifeAdInfo().getMustAttention() == null || !sponsorInfo.getAd().getAlipayLifeAdInfo().getMustAttention()) {
                descList.add("无需关注生活号。");
            } else {
                descList.add("关注赞助商生活号。");
            }
            bean.setConditions(conditions);
            bean.setConditionsDesc(descList);
            bean.setMarks("注:系统将会由\"支付宝首页-服务提醒\"给用户下发是否中奖提醒消息提醒消息提醒消息提醒消息提醒消息提醒消息提醒醒消息提醒醒消息提醒醒消息提醒醒");
            bean.setMarks(sponsorInfo.getAd().getDesc());
        }
        return bean;
@@ -105,7 +123,7 @@
        }
        conditions.add(String.format("参与者到达%s人自动开奖", openInfo.getMinPersonCount()));
        bean.setConditions(conditions);
        bean.setMarks("注:系统将会由\"支付宝首页-服务提醒\"给用户下发是否中奖提醒消息提醒消息提醒消息提醒消息提醒消息提醒消息提醒醒消息提醒醒...\n");
        bean.setMarks(openInfo.getRemarks());
        return bean;
    }
@@ -116,6 +134,7 @@
            AlipayLifeAdInfo ad = sponsorInfo.getAd().getAlipayLifeAdInfo();
            bean.setContent(ad.getDesc());
            bean.setIcon(ad.getIcon());
            bean.setTitle(ad.getName());
            JSONObject params = new JSONObject();
            params.put("sceneId", ad.getSceneId());
            bean.setJump(new JumpDetailVO(JumpDetailVO.JumpType.alipayLife, "关注生活号", params));