package com.yeshi.buwan.util.factory.ad; import com.yeshi.buwan.domain.ad.AdAreaConfig; import com.yeshi.buwan.domain.system.DetailSystem; import com.yeshi.buwan.dto.ad.AdAreaConfigDto; import com.yeshi.buwan.util.StringUtil; import com.yeshi.buwan.vo.ad.AdConfigTypeVO; import java.util.ArrayList; import java.util.Arrays; import java.util.List; /** * @author hxh * @title: AdAreaConfigFactory * @description: 广告区域配置工厂 * @date 2024/10/24 11:25 */ public class AdAreaConfigFactory { public static AdAreaConfigDto createDTO(AdAreaConfig bean) { AdAreaConfigDto dto = new AdAreaConfigDto(); dto.setId(bean.getId()); dto.setDetailSystem(new DetailSystem(bean.getDetailSystemId() + "")); dto.setChannel(bean.getChannel()); dto.setAdType(bean.getAdType()); if (!StringUtil.isNullOrEmpty(bean.getProvinces())) { dto.setProvinces(Arrays.asList(bean.getProvinces().split(","))); } if (!StringUtil.isNullOrEmpty(bean.getCitys())) { dto.setCitys(Arrays.asList(bean.getCitys().split(","))); } if (!StringUtil.isNullOrEmpty(bean.getPositions())) { List positionList = new ArrayList<>(); String[] ps = bean.getPositions().split(","); for (String p : ps) { positionList.add(AdConfigTypeVO.valueOf(p)); } dto.setPositions(positionList); } dto.setStartTime(bean.getStartTime()); dto.setEndTime(bean.getEndTime()); dto.setCreateTime(bean.getCreateTime()); dto.setUpdateTime(bean.getUpdateTime()); return dto; } public static AdAreaConfig createBean(AdAreaConfigDto dto) { AdAreaConfig bean = new AdAreaConfig(); bean.setId(dto.getId()); if (dto.getDetailSystem() != null) { bean.setDetailSystemId(Long.parseLong(dto.getDetailSystem().getId())); } bean.setChannel(dto.getChannel()); bean.setAdType(dto.getAdType()); if (dto.getProvinces() != null) { bean.setProvinces(StringUtil.join(dto.getProvinces(), ",")); } if (dto.getCitys() != null) { bean.setCitys(StringUtil.join(dto.getCitys(), ",")); } if (dto.getPositions() != null) { List positionList = new ArrayList<>(); for (AdConfigTypeVO p : dto.getPositions()) { positionList.add(p.name()); } bean.setPositions(StringUtil.join(positionList, ",")); } bean.setStartTime(dto.getStartTime()); bean.setEndTime(dto.getEndTime()); bean.setCreateTime(dto.getCreateTime()); bean.setUpdateTime(dto.getUpdateTime()); return bean; } }