admin
2021-04-07 35a29882f356542dd9c431714c64d277eb7cad40
src/main/java/com/yeshi/buwan/controller/parser/ConfigParser.java
@@ -15,12 +15,15 @@
import com.yeshi.buwan.domain.system.DetailSystem;
import com.yeshi.buwan.domain.recommend.FloatAD;
import com.yeshi.buwan.dto.config.ADShieldIPConfig;
import com.yeshi.buwan.dto.log.BaseLog;
import com.yeshi.buwan.log.LogHelper;
import com.yeshi.buwan.service.imp.SystemService;
import com.yeshi.buwan.service.inter.ad.FloatADService;
import com.yeshi.buwan.service.manager.IPManager;
import com.yeshi.buwan.util.IPUtil;
import com.yeshi.buwan.util.StringUtil;
import com.yeshi.buwan.util.log.LoggerUtil;
import com.yeshi.buwan.util.log.UserActiveLogFactory;
import com.yeshi.buwan.vo.AcceptData;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -35,6 +38,7 @@
@Controller
public class ConfigParser {
    Logger logger = LoggerFactory.getLogger(ConfigParser.class);
    @Resource
    private DetailSystemConfigService configService;
@@ -47,12 +51,15 @@
    @Resource
    private IPManager ipManager;
    public ADConfig getAdShowType(String key, String channel, int version, Map<String, String> map) {
        String splash = map.get(key);
        JSONObject jsonObject = JSONObject.fromObject(splash);
        if (jsonObject == null || jsonObject.isEmpty())
            return null;
        ADConfig adConfig = null;
        channel = channel.toLowerCase();
        if (jsonObject.optJSONObject(channel) == null) {
        if (jsonObject == null || jsonObject.optJSONObject(channel) == null) {
            // 默认为应用宝
            channel = "qq";
        }
@@ -120,6 +127,7 @@
    }
    public void getConfig(AcceptData acceptData, HttpServletRequest request, PrintWriter out) {
        LoggerUtil.getUserActiveLogger().info(UserActiveLogFactory.createAppSplash(new BaseLog(acceptData, "")));
        DetailSystem detailSystem = systemService.getDetailSystemByPackage(acceptData.getPackageName());
        Map<String, String> map = configService.getConfigAsMap(detailSystem, acceptData.getVersion());
        JSONObject data = new JSONObject();
@@ -202,8 +210,30 @@
        ad.put("videoSearch", adConfig == null ? "" : adConfig.getType());
        adNew.put("videoSearch", gson.toJson(adConfig));
        //pptv免广告激励视频
        adConfig = getAdShowType("pptv_no_ad_reward", acceptData.getChannel(), acceptData.getVersion(), map);
        if (hiddenAll)
            adConfig = null;
        adNew.put("pptvNoAdReward", gson.toJson(adConfig));
        //热启动开屏
        adConfig = getAdShowType("ad_splash_hot_start", acceptData.getChannel(), acceptData.getVersion(), map);
        if (hiddenAll)
            adConfig = null;
        adNew.put("splashHotStart", gson.toJson(adConfig));
        data.put("ad", ad);
        data.put("adNew", adNew);
        //PPTV免广告权益时长,暂时设置为3小时
        data.put("pptvNoAdRewardHour", 3);
        //设置网页加速域名
        data.put("webSpeedUpHost", map.get("web_speed_up_host"));
        //我的页面banner
        data.put("minePageBanner", map.get("mine_page_banner"));
        //播放页外跳协议白名单
        data.put("jumpAppProtocolPrefix", map.get("player_out_jump_protocol_prefix"));
        out.print(JsonUtil.loadTrueJson(data.toString()));
    }
@@ -216,7 +246,7 @@
     * @param out
     */
    public void getHomeConfig(AcceptData acceptData, HttpServletRequest request, PrintWriter out) {
        DetailSystem detailSystem = systemService.getDetailSystemByPackage(acceptData.getPackageName());
        LoggerUtil.getUserActiveLogger().info(UserActiveLogFactory.createAppMainPage(new BaseLog(acceptData, "")));
        List<FloatAD> adList = floatADService.listShowAD(1, 1);
        Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create();
        JSONObject data = new JSONObject();