package com.ks.daylucky.util.factory.vo;
|
|
import com.ks.daylucky.pojo.DO.ActivityTag;
|
import com.ks.daylucky.pojo.VO.admin.ActivityAdminVo;
|
import com.ks.lucky.pojo.DO.*;
|
import com.ks.lucky.pojo.DTO.ActivityAwardParams;
|
import com.ks.lucky.pojo.DTO.sponsorad.AlipayLifeAdInfo;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
public class ActivityAdminVoFactory {
|
|
|
public static ActivityAdminVo create(LuckyActivity activity, List<ActivityTag> tagList,int validDay) {
|
ActivityAdminVo vo = new ActivityAdminVo();
|
vo.setActivity(createActivityBean(activity, tagList));
|
vo.setAwardInfo(createAwardList(activity));
|
vo.setJoinInfo(createJoinInfo(activity));
|
vo.setOpenInfo(createOpenInfo(activity));
|
vo.getOpenInfo().setDay(validDay);
|
return vo;
|
}
|
|
/**
|
* createActivityBean
|
*
|
* @param activity
|
* @param tagList
|
* @return
|
*/
|
public static ActivityAdminVo.ActivityBean createActivityBean(LuckyActivity activity, List<ActivityTag> tagList) {
|
ActivityAdminVo.ActivityBean bean = new ActivityAdminVo.ActivityBean();
|
bean.setId(activity.getId());
|
bean.setBannerList(createBannerList(activity.getBannerList()));
|
bean.setPoster(activity.getMaterialPoster());
|
bean.setTags(tagList);
|
return bean;
|
}
|
|
private static List<ActivityAdminVo.ActivityBean.BannerBean> createBannerList(List<LuckyActivityImage> imageList) {
|
List<ActivityAdminVo.ActivityBean.BannerBean> beanList = new ArrayList<>();
|
for (LuckyActivityImage image : imageList) {
|
ActivityAdminVo.ActivityBean.BannerBean bean = new ActivityAdminVo.ActivityBean.BannerBean();
|
bean.setId(image.getId());
|
bean.setUrl(image.getUrl());
|
beanList.add(bean);
|
}
|
return beanList;
|
}
|
|
/**
|
* createAwardList
|
*
|
* @param activity
|
* @return
|
*/
|
private static List<ActivityAdminVo.AwardInfoBean> createAwardList(LuckyActivity activity) {
|
List<ActivityAdminVo.AwardInfoBean> list = new ArrayList<>();
|
for (LuckyActivityAwards awards : activity.getAwardsList()) {
|
ActivityAdminVo.AwardInfoBean bean = new ActivityAdminVo.AwardInfoBean();
|
bean.setId(awards.getId());
|
bean.setTitle("");
|
if (awards.getActivityAwardParams() != null) {
|
if (awards.getActivityAwardParams().getType() == ActivityAwardParams.ActivityAwardTypeEnum.alipayRedPackage) {
|
bean.setType(LuckyActivityAwardMaterial.ActivityAwardMaterialType.alipayRedPackage.name());
|
ActivityAdminVo.AwardInfoBean.DataBeanX dataBeanX = new ActivityAdminVo.AwardInfoBean.DataBeanX();
|
dataBeanX.setCount(awards.getCount());
|
dataBeanX.setTotal(awards.getActivityAwardParams().getRedPackage());
|
dataBeanX.setType(awards.getAwardWay());
|
bean.setData(dataBeanX);
|
}
|
}
|
list.add(bean);
|
}
|
return list;
|
}
|
|
private static ActivityAdminVo.JoinInfoBean createJoinInfo(LuckyActivity activity) {
|
ActivityAdminVo.JoinInfoBean bean = new ActivityAdminVo.JoinInfoBean();
|
bean.setId(activity.getSponsorInfo().getId());
|
bean.setDesc(activity.getSponsorInfo().getAd().getDesc());
|
if (activity.getSponsorInfo().getAd().getAdType() == LuckySponsorAd.SponsorAdType.alipayLife) {
|
bean.setMust(activity.getSponsorInfo().getAd().getAlipayLifeAdInfo().getMustAttention() ? 1 : 0);
|
ActivityAdminVo.JoinInfoBean.AdInfoBean adInfoBean = new ActivityAdminVo.JoinInfoBean.AdInfoBean();
|
adInfoBean.setType(activity.getSponsorInfo().getAd().getAdType().name());
|
ActivityAdminVo.JoinInfoBean.AdInfoBean.DataBean dataBean = new ActivityAdminVo.JoinInfoBean.AdInfoBean.DataBean();
|
AlipayLifeAdInfo alipayLife = activity.getSponsorInfo().getAd().getAlipayLifeAdInfo();
|
dataBean.setDesc(alipayLife.getDesc());
|
dataBean.setIcon(alipayLife.getIcon());
|
dataBean.setName(alipayLife.getName());
|
dataBean.setSceneId(alipayLife.getSceneId());
|
adInfoBean.setData(dataBean);
|
bean.setAdInfo(adInfoBean);
|
}
|
return bean;
|
}
|
|
|
private static ActivityAdminVo.OpenInfoBean createOpenInfo(LuckyActivity activity) {
|
ActivityAdminVo.OpenInfoBean bean = new ActivityAdminVo.OpenInfoBean();
|
bean.setId(activity.getOpenInfo().getId());
|
bean.setMinPersonCount(activity.getOpenInfo().getMinPersonCount());
|
bean.setMaxPersonCount(activity.getMaxPersonCount());
|
bean.setDesc(activity.getOpenInfo().getRemarks());
|
return bean;
|
}
|
|
|
}
|