src/main/java/com/yeshi/buwan/controller/api/GoldCornController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/yeshi/buwan/controller/api/VideoPlayController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/yeshi/buwan/controller/parser/ConfigParser.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/yeshi/buwan/job/AdJob.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/yeshi/buwan/controller/api/GoldCornController.java
@@ -14,9 +14,12 @@ import com.yeshi.buwan.domain.goldcorn.GoldCornTaskActionDetail; import com.yeshi.buwan.domain.jump.JumpDetail; import com.yeshi.buwan.domain.jump.JumpTypeEnum; import com.yeshi.buwan.domain.system.DetailSystem; import com.yeshi.buwan.domain.system.DetailSystemConfig; import com.yeshi.buwan.dto.goldcorn.SignInGoldCornDateData; import com.yeshi.buwan.exception.goldcorn.SignInException; import com.yeshi.buwan.exception.user.LoginUserException; import com.yeshi.buwan.service.imp.DetailSystemConfigService; import com.yeshi.buwan.service.inter.goldcorn.GoldCornTaskActionDetailService; import com.yeshi.buwan.service.inter.goldcorn.SignInService; import com.yeshi.buwan.service.inter.system.SystemConfigService; @@ -28,6 +31,7 @@ import com.yeshi.buwan.vo.goldcorn.GoldCornTaskVO; import com.yeshi.buwan.vo.goldcorn.SignInInfoVO; import net.sf.json.JSONObject; import org.apache.solr.common.params.ConfigSetParams; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Controller; @@ -55,6 +59,9 @@ @Resource private GoldCornTaskActionDetailService goldCornTaskActionDetailService; @Resource private DetailSystemConfigService configService; /** @@ -209,7 +216,7 @@ voList.add(new GoldCornCouponVideoVO("https://r1.ykimg.com/058400005F2BA59B6AEB660E907A2B99?x-oss-process=image/resize,w_290/interlace,1/quality,Q_80", jumpDetail, params.toString().replace("\"", "\\" + "\""))); voList.add(new GoldCornCouponVideoVO("https://r1.ykimg.com/052700005DC9247B1B769182B50A8C21?x-oss-process=image/resize,w_290/interlace,1/quality,Q_80", jumpDetail, params.toString().replace("\"", "\\" + "\""))); // if (voList.size() < 3) voList.clear(); voList.clear(); JSONObject data = new JSONObject(); data.put("list", new Gson().toJson(voList)); data.put("count", voList.size()); @@ -223,7 +230,28 @@ List<GoldCornTaskVO> voList = new ArrayList<>(); try { //登录 List<GoldCornGetSource> list = goldCornManager.listGetCornSource(1, 20); List<GoldCornGetSource> list1 = goldCornManager.listGetCornSource(1, 20); List<GoldCornGetSource> list = new ArrayList<>(); list.addAll(list1); //删除华为渠道的看激励视频任务 if (acceptData.getChannel().equalsIgnoreCase("huawei")) { if (list != null && list.size() > 0) for (int i = 0; i < list.size(); i++) { if (list.get(i).getSourceCode().equalsIgnoreCase(CodeCornGetSourceType.watchRewardAd.name())) { //华为是否正在上线 DetailSystemConfig onLiningVersionInfo = configService.getConfigByKey("ad_hw_online_version_info", new DetailSystem("44"), 1); JSONObject onLiningVersionInfoJson = JSONObject.fromObject(onLiningVersionInfo.getValue()); int onLiningVersionCode = onLiningVersionInfoJson.optInt("versionCode"); if (acceptData.getVersion() >= onLiningVersionCode) { list.remove(i); break; } } } } List<String> sourceCodes = new ArrayList<>(); for (GoldCornGetSource source : list) { src/main/java/com/yeshi/buwan/controller/api/VideoPlayController.java
@@ -278,6 +278,8 @@ data.put("vipVideo", isVIPVideo); data.put("bought", isBought); data.put("canBuy", canBuy); data.put("showInterstitialAd", true); data.put("showPreVideoAd", false); if (pptvSeries != null) data.put("title", pptvSeries.getName()); if (record != null) { src/main/java/com/yeshi/buwan/controller/parser/ConfigParser.java
@@ -2,7 +2,9 @@ import java.io.PrintWriter; import java.lang.reflect.Type; import java.math.BigDecimal; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; @@ -67,10 +69,35 @@ // 默认为应用宝 channel = "qq"; } adConfig = new Gson().fromJson(jsonObject.optJSONObject(channel).toString(), ADConfig.class); JSONObject channelAd = jsonObject.optJSONObject(channel); adConfig = new Gson().fromJson(channelAd.toString(), ADConfig.class); if (version >= adConfig.getVersion()) { adConfig = null; } //格式如下: //{"typeProperties":{"csj":{"weight":1,"pid":"123123"},"gdt":{"weight":1,"pid":"123123"}}} if (adConfig != null && channelAd.optJSONObject("typeProbability") != null) { JSONObject properties = channelAd.optJSONObject("typeProbability"); BigDecimal total = new BigDecimal(0); for (Iterator<String> its = properties.keys(); its.hasNext(); ) { String k = its.next(); total = total.add(new BigDecimal(properties.optJSONObject(k).optString("weight"))); } BigDecimal random = total.multiply(new BigDecimal(Math.random())); total = new BigDecimal(0); for (Iterator<String> its = properties.keys(); its.hasNext(); ) { String k = its.next(); total = total.add(new BigDecimal(properties.optJSONObject(k).optString("weight"))); if (random.compareTo(total) < 0) { adConfig.setPid(properties.optJSONObject(k).optString("pid")); adConfig.setType(k); break; } } } return adConfig; } @@ -294,6 +321,8 @@ public void setPid(String pid) { this.pid = pid; } } } src/main/java/com/yeshi/buwan/job/AdJob.java
@@ -109,6 +109,14 @@ config = configService.getConfigByKey("ad_video_search", detailSystem, version); updateVersionConfig(channel, config, version); //热启动开屏 config = configService.getConfigByKey("ad_splash_hot_start", detailSystem, version); updateVersionConfig(channel, config, version); //PPTV视频免广告权益 config = configService.getConfigByKey("pptv_no_ad_reward", detailSystem, version); updateVersionConfig(channel, config, version); //删除缓存 ehCacheManager.clearCacheByCacheName("configCache"); }