admin
2024-10-30 010ef2a907e66efd4702443c06cdd18f8a7ffa5b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
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;
    }
 
 
}