package com.moka.gdtauto.common;

import java.util.HashMap;
import java.util.Map;

public class Constant {
    public static final Long MAIN_ORG_ACCOUNT_ID = 41644744L;
    public static final String JOB_NUMBER  = "11203";

    /**
     * ADGROUP_STATUS_FROZEN, // 已冻结
     * ADGROUP_STATUS_SUSPEND, // 暂停中
     * ADGROUP_STATUS_NOT_IN_DELIVERY_TIME, // 广告未到投放时间
     * ADGROUP_STATUS_ACTIVE, // 投放中
     * ADGROUP_STATUS_DELETED, // 已删除
     * ADGROUP_STATUS_ACCOUNT_BALANCE_NOT_ENOUGH, // 账户余额不足
     * ADGROUP_STATUS_DAILY_BUDGET_REACHED, // 广告达到日预算上限
     * ADGROUP_STATUS_PARTIAL_ACTIVE, // 部分投放中
     * ADGROUP_STATUS_WECHAT_CHANNELS_STOP, // 投放结束（超过 14 天广告未上线）
     * ADGROUP_STATUS_CREATIVE_STATUS_PENDING, // 创意未投放
     * ADGROUP_STATUS_CREATIVE_EMPTY, // 创意准备中
     * ADGROUP_STATUS_JOINT_BUDGET_REACHED, // 广告被暂停（联合预算达上限）
     * ADGROUP_STATUS_TOTAL_BUDGET_REACHED, // 广告达到总预算上限
     * ADGROUP_STATUS_PRE_LOCK, // 待锁定预算
     * ADGROUP_STATUS_UNLOCKING, // 解锁预算中
     * ADGROUP_STATUS_STOP, // 投放结束
     * ADGROUP_STATUS_LIVE_NOT_ACTIVE, // 已到达投放时间（直播未开启）
     * ADGROUP_STATUS_NOT_ACTIVE_PRODUCT_AUDIT_FAIL, // 广告未投放（推广产品审核不通过）
     * ADGROUP_STATUS_LIVE_VIOLATION, // 广告未投放（直播间违规）
     * ADGROUP_STATUS_WECHAT_STORE_PENDING, // 广告未投放（店铺审核中）
     * ADGROUP_STATUS_WECHAT_STORE_CLOSING, // 广告未投放（店铺关闭中）
     * ADGROUP_STATUS_WECHAT_STORE_CLOSED, // 广告未投放（店铺已关闭）
     * ADGROUP_STATUS_NOT_ACTIVE_PRODUCT_REMOVED, // 广告未投放（商品已下架）
     * ADGROUP_STATUS_WECHAT_STORE_NOT_AVAILABLE, // 广告未投放（店铺不可投）
     * SMART_ADGROUP_STATUS_DELETED, // 已删除
     * SMART_ADGROUP_STATUS_SUSPEND, // 已暂停
     * SMART_ADGROUP_STATUS_JOINT_BUDGET_REACHED, // 项目被暂停（联合预算达上限）
     * SMART_ADGROUP_STATUS_ACCOUNT_BALANCE_NOT_ENOUGH, // 账户余额不足
     * SMART_ADGROUP_STATUS_DAILY_BUDGET_REACHED, // 项目日预算到达上限
     * SMART_ADGROUP_STATUS_ADGROUP_STATUS_STOP, // 投放结束
     * SMART_ADGROUP_STATUS_NOT_IN_DELIVERY_TIME, // 未到投放时间
     * SMART_ADGROUP_STATUS_ACTIVE, // 投放中
     * SMART_ADGROUP_STATUS_USING, // 项目启用中
     * SMART_ADGROUP_STATUS_INVALID_LIVE_NOT_ACTIVE, // 项目异常(直播未开启)
     * SMART_ADGROUP_STATUS_INVALID_LIVE_VIOLATION, // 项目异常(直播间违规)
     * SMART_ADGROUP_STATUS_INVALID_PRODUCT_AUDIT_FAIL, // 项目异常(推广产品审核不通过)
     * SMART_ADGROUP_STATUS_INVALID_CHANNELS_STOP, // 项目异常(直播已结束)
     * SMART_ADGROUP_STATUS_INVALID_LIVE_NOT_ACTIVE_PRODUCT_AUDIT_FAIL, //
     * 项目异常（直播未开启 + 推广产品审核不通过）
     * SMART_ADGROUP_STATUS_INVALID_LIVE_VIOLATION_PRODUCT_AUDIT_FAIL, // 项目异常（直播间违规
     * + 推广产品审核不通过）
     * SMART_ADGROUP_STATUS_INVALID_CHANNELS_STOP_PRODUCT_AUDIT_FAIL, // 项目异常（直播已结束
     * + 推广产品审核不通过）
     * SMART_ADGROUP_STATUS_USING_LIVE_NOT_ACTIVE, // 项目启用中(直播未开启)
     * SMART_ADGROUP_STATUS_USING_LIVE_VIOLATION, // 项目启用中(直播间违规)
     * SMART_ADGROUP_STATUS_USING_PRODUCT_AUDIT_FAIL, // 项目启用中(推广产品审核不通过)
     * SMART_ADGROUP_STATUS_USING_CHANNELS_STOP, // 项目启用中(直播已结束)
     * SMART_ADGROUP_STATUS_USING_PRODUCT_REMOVED, // 项目启用中(商品已下架)
     * SMART_ADGROUP_STATUS_INVALID_LIVE_NOT_ACTIVE_PRODUCT_REMOVED, // 项目异常（直播未开启 +
     * 商品已下架）
     * SMART_ADGROUP_STATUS_INVALID_LIVE_VIOLATION_PRODUCT_REMOVED, // 项目异常（直播间违规 +
     * 商品已下架）
     * SMART_ADGROUP_STATUS_INVALID_CHANNELS_STOP_PRODUCT_REMOVED, // 项目异常（直播已结束 +
     * 商品已下架）
     * SMART_ADGROUP_STATUS_INVALID_PRODUCT_REMOVED, // 项目异常(商品已下架)
     * SMART_ADGROUP_STATUS_USING_PART_PRODUCT_INVALID, // 项目启用中(部分商品异常)
     * SMART_ADGROUP_STATUS_INVALID_PRODUCT_REMOVED_PRODUCT_AUDIT_FAIL, //
     * 项目异常（商品已下架 + 推广产品审核不通过）
     * SMART_ADGROUP_STATUS_BOOST_PROJECT_SYNC, // 助推项目异常
     */

    // 广告状态
    private static final Map<String, String> adGroupStatusMap = new HashMap<>();

    static {
        adGroupStatusMap.put("ADGROUP_STATUS_FROZEN", "已冻结");
        adGroupStatusMap.put("ADGROUP_STATUS_SUSPEND", "暂停中");
        adGroupStatusMap.put("ADGROUP_STATUS_NOT_IN_DELIVERY_TIME", "广告未到投放时间");
        adGroupStatusMap.put("ADGROUP_STATUS_ACTIVE", "投放中");
        adGroupStatusMap.put("ADGROUP_STATUS_DELETED", "已删除");
        adGroupStatusMap.put("ADGROUP_STATUS_ACCOUNT_BALANCE_NOT_ENOUGH", "账户余额不足");
        adGroupStatusMap.put("ADGROUP_STATUS_DAILY_BUDGET_REACHED", "广告达到日预算上限");
        adGroupStatusMap.put("ADGROUP_STATUS_PARTIAL_ACTIVE", "部分投放中");
        adGroupStatusMap.put("ADGROUP_STATUS_WECHAT_CHANNELS_STOP", "投放结束（超过 14 天广告未上线）");
        adGroupStatusMap.put("ADGROUP_STATUS_CREATIVE_STATUS_PENDING", "创意未投放");
        adGroupStatusMap.put("ADGROUP_STATUS_CREATIVE_EMPTY", "创意准备中");
        adGroupStatusMap.put("ADGROUP_STATUS_JOINT_BUDGET_REACHED", "广告被暂停（联合预算达上限）");
        adGroupStatusMap.put("ADGROUP_STATUS_TOTAL_BUDGET_REACHED", "广告达到总预算上限");
        adGroupStatusMap.put("ADGROUP_STATUS_PRE_LOCK", "待锁定预算");
        adGroupStatusMap.put("ADGROUP_STATUS_UNLOCKING", "解锁预算中");
        adGroupStatusMap.put("ADGROUP_STATUS_STOP", "投放结束");
        adGroupStatusMap.put("ADGROUP_STATUS_LIVE_NOT_ACTIVE", "已到达投放时间（直播未开启）");
        adGroupStatusMap.put("ADGROUP_STATUS_NOT_ACTIVE_PRODUCT_AUDIT_FAIL", "广告未投放（推广产品审核不通过）");
        adGroupStatusMap.put("ADGROUP_STATUS_LIVE_VIOLATION", "广告未投放（直播间违规）");
        adGroupStatusMap.put("ADGROUP_STATUS_WECHAT_STORE_PENDING", "广告未投放（店铺审核中）");
        adGroupStatusMap.put("ADGROUP_STATUS_WECHAT_STORE_CLOSING", "广告未投放（店铺关闭中）");
        adGroupStatusMap.put("ADGROUP_STATUS_WECHAT_STORE_CLOSED", "广告未投放（店铺已关闭）");
        adGroupStatusMap.put("ADGROUP_STATUS_NOT_ACTIVE_PRODUCT_REMOVED", "广告未投放（商品已下架）");
        adGroupStatusMap.put("ADGROUP_STATUS_WECHAT_STORE_NOT_AVAILABLE", "广告未投放（店铺不可投）");
        adGroupStatusMap.put("SMART_ADGROUP_STATUS_DELETED", "已删除");
        adGroupStatusMap.put("SMART_ADGROUP_STATUS_SUSPEND", "已暂停");
        adGroupStatusMap.put("SMART_ADGROUP_STATUS_JOINT_BUDGET_REACHED", "项目被暂停（联合预算达上限）");
        adGroupStatusMap.put("SMART_ADGROUP_STATUS_ACCOUNT_BALANCE_NOT_ENOUGH", "账户余额不足");
        adGroupStatusMap.put("SMART_ADGROUP_STATUS_DAILY_BUDGET_REACHED", "项目日预算到达上限");
        adGroupStatusMap.put("SMART_ADGROUP_STATUS_ADGROUP_STATUS_STOP", "投放结束");
        adGroupStatusMap.put("SMART_ADGROUP_STATUS_NOT_IN_DELIVERY_TIME", "未到投放时间");
        adGroupStatusMap.put("SMART_ADGROUP_STATUS_ACTIVE", "投放中");
        adGroupStatusMap.put("SMART_ADGROUP_STATUS_USING", "项目启用中");
        adGroupStatusMap.put("SMART_ADGROUP_STATUS_INVALID_LIVE_NOT_ACTIVE", "项目异常(直播未开启)");
        adGroupStatusMap.put("SMART_ADGROUP_STATUS_INVALID_LIVE_VIOLATION", "项目异常(直播间违规)");
        adGroupStatusMap.put("SMART_ADGROUP_STATUS_INVALID_PRODUCT_AUDIT_FAIL", "项目异常(推广产品审核不通过)");
        adGroupStatusMap.put("SMART_ADGROUP_STATUS_INVALID_CHANNELS_STOP", "项目异常(直播已结束)");
        adGroupStatusMap.put("SMART_ADGROUP_STATUS_INVALID_LIVE_NOT_ACTIVE_PRODUCT_AUDIT_FAIL",
                "项目异常（直播未开启 + 推广产品审核不通过）");
        adGroupStatusMap.put("SMART_ADGROUP_STATUS_INVALID_LIVE_VIOLATION_PRODUCT_AUDIT_FAIL",
                "项目异常（直播间违规 + 推广产品审核不通过）");
        adGroupStatusMap.put("SMART_ADGROUP_STATUS_INVALID_CHANNELS_STOP_PRODUCT_AUDIT_FAIL",
                "项目异常（直播已结束 + 推广产品审核不通过）");
        adGroupStatusMap.put("SMART_ADGROUP_STATUS_USING_LIVE_NOT_ACTIVE", "项目启用中(直播未开启)");
        adGroupStatusMap.put("SMART_ADGROUP_STATUS_USING_LIVE_VIOLATION", "项目启用中(直播间违规)");
        adGroupStatusMap.put("SMART_ADGROUP_STATUS_USING_PRODUCT_AUDIT_FAIL", "项目启用中(推广产品审核不通过)");
        adGroupStatusMap.put("SMART_ADGROUP_STATUS_USING_CHANNELS_STOP", "项目启用中(直播已结束)");
        adGroupStatusMap.put("SMART_ADGROUP_STATUS_USING_PRODUCT_REMOVED", "项目启用中(商品已下架)");
        adGroupStatusMap.put("SMART_ADGROUP_STATUS_INVALID_LIVE_NOT_ACTIVE_PRODUCT_REMOVED", "项目异常（直播未开启 + 商品已下架）");
        adGroupStatusMap.put("SMART_ADGROUP_STATUS_INVALID_LIVE_VIOLATION_PRODUCT_REMOVED", "项目异常（直播间违规 + 商品已下架）");
        adGroupStatusMap.put("SMART_ADGROUP_STATUS_INVALID_CHANNELS_STOP_PRODUCT_REMOVED", "项目异常（直播已结束 + 商品已下架）");
        adGroupStatusMap.put("SMART_ADGROUP_STATUS_INVALID_PRODUCT_REMOVED", "项目异常(商品已下架)");
        adGroupStatusMap.put("SMART_ADGROUP_STATUS_USING_PART_PRODUCT_INVALID", "项目启用中(部分商品异常)");
        adGroupStatusMap.put("SMART_ADGROUP_STATUS_INVALID_PRODUCT_REMOVED_PRODUCT_AUDIT_FAIL",
                "项目异常（商品已下架 + 推广产品审核不通过）");
        adGroupStatusMap.put("SMART_ADGROUP_STATUS_BOOST_PROJECT_SYNC", "助推项目异常");
    }

    public static String getAdGroupStatusValue(String status) {
        return adGroupStatusMap.get(status);
    }

    // 创意审核状态
    /**
     * CREATIVE_SET_APPROVAL_STATUS_UNKNOWN, // 未知
     * CREATIVE_SET_APPROVAL_STATUS_PENDING, // 审核中
     * CREATIVE_SET_APPROVAL_STATUS_NORMAL, // 投放中
     * CREATIVE_SET_APPROVAL_STATUS_DENIED, // 审核拒绝
     * CREATIVE_SET_APPROVAL_STATUS_PARTIAL_NORMAL, // 部分投放中
     */
    private static final Map<String, String> creativeSetApprovalStatusMap = new HashMap<>();
    static {
        creativeSetApprovalStatusMap.put("CREATIVE_SET_APPROVAL_STATUS_UNKNOWN", "未知");
        creativeSetApprovalStatusMap.put("CREATIVE_SET_APPROVAL_STATUS_PENDING", "审核中");
        creativeSetApprovalStatusMap.put("CREATIVE_SET_APPROVAL_STATUS_NORMAL", "投放中");
        creativeSetApprovalStatusMap.put("CREATIVE_SET_APPROVAL_STATUS_DENIED", "审核拒绝");
        creativeSetApprovalStatusMap.put("CREATIVE_SET_APPROVAL_STATUS_PARTIAL_NORMAL", "部分投放中");
    }

    public static String getCreativeSetApprovalStatusValue(String status) {
        return creativeSetApprovalStatusMap.get(status);
    }
}
