admin
2022-05-12 fa705507ba574c857b1667553737d23b1b7ff495
src/main/resources/code/service/app/src/main/java/com/ks/app/controller/client/api/ConfigController.java
@@ -1,5 +1,7 @@
package com.ks.app.controller.client.api;
import com.google.gson.Gson;
import com.ks.app.dto.config.AdSourceConfig;
import com.ks.app.entity.config.SystemConfigKey;
import com.ks.app.service.inter.config.SystemConfigService;
import com.ks.app.vo.AcceptData;
@@ -42,7 +44,8 @@
                SystemConfigKey.course,
                SystemConfigKey.unRegister,
                SystemConfigKey.privacyComplain,
                SystemConfigKey.vipLink
                SystemConfigKey.helpLink,
                SystemConfigKey.disclaimerLink
        };
        for (SystemConfigKey config : configs) {
@@ -50,39 +53,31 @@
            data.put(config.name(), value);
        }
        //TODO 广告K接口配置
        SystemConfigKey[] ads = new SystemConfigKey[]{
                SystemConfigKey.splashAd,
                SystemConfigKey.rewardAd,
                SystemConfigKey.exitAppAd
        };
        JSONObject adConfig = new JSONObject();
        for (SystemConfigKey ad : ads) {
            String value = systemConfigService.getValueCache(acceptData.getSystem(), ad);
            JSONObject valueJSON = JSONObject.fromObject(value);
            String channel = acceptData.getChannel();
            String channel = acceptData.getChannel().toLowerCase();
            if (StringUtil.isNullOrEmpty(channel) || valueJSON.optJSONObject(channel) == null) {
                channel = "qq";
            }
            valueJSON = valueJSON.optJSONObject(channel.toLowerCase());
            if (valueJSON != null) {
                if (acceptData.getVersion() <= valueJSON.optInt("version")) {
                    String pid = valueJSON.optString("pid");
                    String type = valueJSON.optString("type");
                    valueJSON = new JSONObject();
                    valueJSON.put("pid", pid);
                    valueJSON.put("type", type);
                } else {
                    valueJSON = null;
                AdSourceConfig adSourceConfig = new Gson().fromJson(valueJSON.toString(), AdSourceConfig.class);
                if (acceptData.getVersion() <= adSourceConfig.getVersion()) {
                    adConfig.put(ad.name(), new Gson().toJson(adSourceConfig.getTypes()));
                }
            }
            if (valueJSON != null) {
                data.put(ad.name().replace("ad_", ""), valueJSON.toString());
            }
        }
        data.put("ad", adConfig);
        return JsonUtil.loadTrueResult(data);
    }