From f537abe9f3646c739beaf15076246a2f71a347e9 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期四, 20 二月 2025 16:57:55 +0800
Subject: [PATCH] IOS广告增加区域屏蔽

---
 src/test/java/com/hxh/spring/test/ad/AdTest.java |  114 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 109 insertions(+), 5 deletions(-)

diff --git a/src/test/java/com/hxh/spring/test/ad/AdTest.java b/src/test/java/com/hxh/spring/test/ad/AdTest.java
index a8d306b..95e2ac2 100644
--- a/src/test/java/com/hxh/spring/test/ad/AdTest.java
+++ b/src/test/java/com/hxh/spring/test/ad/AdTest.java
@@ -1,11 +1,21 @@
 package com.hxh.spring.test.ad;
 
 
+import com.google.gson.*;
 import com.yeshi.buwan.dao.jump.JumpDetailDao;
 import com.yeshi.buwan.dao.recommend.FloatADDao;
+import com.yeshi.buwan.domain.ad.AdAreaConfig;
+import com.yeshi.buwan.domain.ad.ThirdAdType;
 import com.yeshi.buwan.domain.jump.JumpDetail;
 import com.yeshi.buwan.domain.jump.JumpTypeEnum;
 import com.yeshi.buwan.domain.recommend.FloatAD;
+import com.yeshi.buwan.domain.system.DetailSystem;
+import com.yeshi.buwan.dto.ad.AdAreaConfigDto;
+import com.yeshi.buwan.service.imp.SystemService;
+import com.yeshi.buwan.service.inter.ad.AdAreaConfigService;
+import com.yeshi.buwan.util.ad.AdAreaUtil;
+import com.yeshi.buwan.util.factory.ad.AdAreaConfigFactory;
+import com.yeshi.buwan.vo.ad.AdConfigTypeVO;
 import org.json.JSONObject;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -13,9 +23,11 @@
 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 import org.springframework.test.context.web.WebAppConfiguration;
 import org.yeshi.utils.StringUtil;
+import org.yeshi.utils.TimeUtil;
 
 import javax.annotation.Resource;
-import java.util.Date;
+import java.lang.reflect.Type;
+import java.util.*;
 
 @RunWith(SpringJUnit4ClassRunner.class)
 @ContextConfiguration(locations = {"classpath:spring.xml"})
@@ -28,12 +40,15 @@
     @Resource
     private FloatADDao floatADDao;
 
+    @Resource
+    private AdAreaConfigService adAreaConfigService;
+
     @Test
     public void addJumpDetail() {
         JumpDetail detail = new JumpDetail();
-        detail.setActivity("");
+        detail.setActivity("com.weikou.beibeivideo.ui.mine.BrowserActivity");
         detail.setController("");
-        detail.setType(JumpTypeEnum.baichuan);
+        detail.setType(JumpTypeEnum.web);
         jumpDetailDao.save(detail);
     }
 
@@ -47,13 +62,15 @@
     public void addFloatAd() {
         JumpDetail detail = jumpDetailDao.selectByType(JumpTypeEnum.baichuan);
         JSONObject params = new JSONObject();
-        params.put("url", "https://s.click.taobao.com/2K0Nxtv");
+        params.put("url", "https://s.click.taobao.com/kYgxJvu");
         FloatAD ad = new FloatAD();
         ad.setId(StringUtil.Md5(System.currentTimeMillis() + ""));
         ad.setJumpDetail(detail);
         ad.setParams(params.toString());
-        ad.setPicture("http://ec-1255749512.file.myqcloud.com/img/FloatAD/5cba7bfd927e4c1d958808acd22bab58.png");
+        ad.setPicture("https://ec-1255749512.cos.ap-guangzhou.myqcloud.com/resource/s11/float.png");
         ad.setShow(true);
+        ad.setShowStartTime(new Date(TimeUtil.convertToTimeTemp("2020-10-21", "yyyy-MM-dd")));
+        ad.setShowEndTime(new Date(TimeUtil.convertToTimeTemp("2020-11-12", "yyyy-MM-dd")));
         ad.setWeight(1);
         floatADDao.save(ad);
     }
@@ -63,4 +80,91 @@
     public void getFloatAd() {
         floatADDao.list(true, new Date(), 1, 1);
     }
+
+
+
+
+    @Test
+    public void addAdAreaConfig() {
+        AdAreaConfigDto config = new AdAreaConfigDto();
+        config.setChannel("vivo");
+        config.setDetailSystem(new DetailSystem(44L+""));
+        config.setAdType(ThirdAdType.vivo);
+        config.setProvinces(Arrays.asList(new String[]{"骞夸笢", "娴欐睙"}));
+        config.setPositions(Arrays.asList(new AdConfigTypeVO[]{AdConfigTypeVO.homeInterstitial, AdConfigTypeVO.videoDetailFullVideo}));
+        config.setStartTime("00:00:00");
+        config.setEndTime("23:59:59");
+        adAreaConfigService.addConfig(AdAreaConfigFactory.createBean(config));
+    }
+
+    @Test
+    public void updateAdAreaConfig() {
+        AdAreaConfigDto config = new AdAreaConfigDto();
+        config.setStartTime("00:00:01");
+        config.setEndTime("23:59:59");
+        AdAreaConfig bean = AdAreaConfigFactory.createBean(config);
+        bean.setId(2L);
+        adAreaConfigService.updateConfig(bean);
+    }
+
+    @Test
+    public void listAdAreaConfig() {
+        List<AdAreaConfig> mList = adAreaConfigService.listCache("huawei", 44L);
+        ThirdAdType adType = AdAreaUtil.getAdType("閲嶅簡", "娣卞湷", AdConfigTypeVO.homeInterstitial, mList);
+        System.out.println(mList);
+        for (AdAreaConfig bean : mList) {
+            AdAreaConfigDto dto = AdAreaConfigFactory.createDTO(bean);
+            System.out.println(dto);
+        }
+    }
+
+    private final Gson gson = new GsonBuilder()
+            .registerTypeAdapter(Date.class, new JsonSerializer<Date>() {
+
+                @Override
+                public JsonElement serialize(Date src, Type typeOfSrc, JsonSerializationContext context) {
+                    return src == null ? new JsonPrimitive("") : new JsonPrimitive(com.yeshi.buwan.util.TimeUtil.getGernalTime(src.getTime(), "yyyy.MM.dd HH:mm:ss"));
+                }
+            }).registerTypeAdapter(ThirdAdType.class, new JsonSerializer<ThirdAdType>() {
+
+                @Override
+                public JsonElement serialize(ThirdAdType src, Type typeOfSrc, JsonSerializationContext context) {
+                    return src == null ? new JsonPrimitive("") : new JsonPrimitive(src.name());
+                }
+            }).registerTypeAdapter(AdConfigTypeVO.class, new JsonSerializer<AdConfigTypeVO>() {
+
+                @Override
+                public JsonElement serialize(AdConfigTypeVO src, Type typeOfSrc, JsonSerializationContext context) {
+                    return src == null ? new JsonPrimitive("") : new JsonPrimitive(src.getName());
+                }
+            })
+            .create();
+
+    @Resource
+    private SystemService systemService;
+
+    @Test
+    public void testList(){
+
+        List<AdAreaConfig> list = adAreaConfigService.list(null, 1, 20);
+        Set<Long> detailSystemIds = new HashSet<>();
+        for (AdAreaConfig ad : list) {
+            detailSystemIds.add(ad.getDetailSystemId());
+        }
+        Map<Long, DetailSystem> detailSystemMap = new HashMap<>();
+        for (Long sid : detailSystemIds) {
+            detailSystemMap.put(sid, systemService.getDetailSystemById(sid + ""));
+        }
+
+        List<AdAreaConfigDto> flist = new ArrayList<>();
+        for (AdAreaConfig ad : list) {
+            AdAreaConfigDto dto = AdAreaConfigFactory.createDTO(ad);
+//            dto.setDetailSystem(detailSystemMap.get(ad.getDetailSystemId()));
+            flist.add(dto);
+        }
+        System.out.println( gson.toJson(flist));
+
+
+    }
+
 }

--
Gitblit v1.8.0