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<AdAreaConfig> 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;
|
}
|
|
|
}
|