| | |
| | | import com.google.gson.GsonBuilder; |
| | | import com.google.gson.annotations.Expose; |
| | | import com.google.gson.reflect.TypeToken; |
| | | import com.yeshi.buwan.domain.Config; |
| | | import com.yeshi.buwan.domain.DetailSystem; |
| | | 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 net.sf.json.JSONArray; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | import org.springframework.stereotype.Controller; |
| | | |
| | | import com.google.gson.Gson; |
| | | import com.yeshi.buwan.service.imp.ConfigService; |
| | | import com.yeshi.buwan.service.imp.DetailSystemConfigService; |
| | | import com.yeshi.buwan.util.JsonUtil; |
| | | |
| | | import net.sf.json.JSONObject; |
| | |
| | | @Controller |
| | | public class ConfigParser { |
| | | |
| | | |
| | | Logger logger = LoggerFactory.getLogger(ConfigParser.class); |
| | | @Resource |
| | | private ConfigService configService; |
| | | private DetailSystemConfigService configService; |
| | | @Resource |
| | | private SystemService systemService; |
| | | |
| | |
| | | @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"; |
| | | } |
| | |
| | | } |
| | | |
| | | 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(); |
| | |
| | | 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")); |
| | | |
| | | |
| | | out.print(JsonUtil.loadTrueJson(data.toString())); |
| | | } |
| | | |
| | |
| | | * @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(); |