package com.yeshi.buwan.util.ad; import com.yeshi.buwan.domain.ad.AdAreaConfig; import com.yeshi.buwan.domain.ad.ThirdAdType; import com.yeshi.buwan.dto.ad.AdAreaConfigDto; import com.yeshi.buwan.util.TimeUtil; import com.yeshi.buwan.util.factory.ad.AdAreaConfigFactory; import com.yeshi.buwan.vo.ad.AdConfigTypeVO; import java.util.List; /** * @author hxh * @title: AdAreaUtil * @description: 地域广告帮助类 * @date 2024/10/24 14:22 */ public class AdAreaUtil { /** * @return com.yeshi.buwan.domain.ad.ThirdAdType : 返回null表示采用原有的广告渠道 * @author hxh * @description 获取广告显示类型 * @date 14:27 2024/10/24 * @param: province * @param: city * @param: position * @param: adConfigList **/ public static ThirdAdType getAdType(String province, String city, AdConfigTypeVO position, List adConfigList) { if (adConfigList == null || adConfigList.size() == 0) { return null; } int nowTime = Integer.parseInt(TimeUtil.getGernalTime(System.currentTimeMillis(),"HHmmss")); for(AdAreaConfig config:adConfigList){ if(Integer.parseInt(config.getStartTime().replace(":","")) > nowTime|| Integer.parseInt(config.getEndTime().replace(":","")) < nowTime){ continue; } AdAreaConfigDto dto = AdAreaConfigFactory.createDTO(config); if(!dto.getPositions().contains(position)){ continue; } // 城市匹配 if(dto.getProvinces()!=null&&dto.getProvinces().contains(province)){ return dto.getAdType(); } if(dto.getCitys()!=null&&dto.getCitys().contains(city)){ return dto.getAdType(); } } return null; } }