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