package systemconfig

import "encoding/json"

const publishOptionsConfigKey = "listing.publish_options"

func defaultPublishOptionsConfigValue() string {
	raw, err := json.Marshal(DefaultPublishOptions())
	if err != nil {
		return "{}"
	}
	return string(raw)
}

func DefaultPublishOptions() PublishOptionsDTO {
	return PublishOptionsDTO{
		ServerOptions:      []string{"QQ", "微信", "Steam"},
		FaceOptions:        []string{"是", "否"},
		RankOptions:        []string{"青铜", "白银", "黄金", "铂金", "钻石", "黑鹰", "三角洲巅峰"},
		InsuranceOptions:   []string{"2*1", "2*2", "2*3", "3*3"},
		LevelOptions:       []string{"1级", "2级", "3级", "4级", "5级", "6级", "7级"},
		LoginMethodOptions: []string{"扫码", "账号密码"},
		RegionOptions: []string{
			"北京", "天津", "河北", "山西", "内蒙古", "辽宁", "吉林", "黑龙江",
			"上海", "江苏", "浙江", "安徽", "福建", "江西", "山东", "河南",
			"湖北", "湖南", "广东", "广西", "海南", "重庆", "四川", "贵州",
			"云南", "陕西", "甘肃", "青海", "宁夏", "新疆", "西藏", "香港",
			"澳门", "台湾",
		},
		SkinGroups: []PublishOptionGroup{
			{
				Key:   "melee",
				Title: "近战皮肤",
				Options: []string{
					"坠星者", "暗星", "龙牙", "信条", "怜悯", "赤枭", "影锋", "黑海", "北极星", "电锯惊魂", "处刑者",
				},
			},
			{
				Key:   "operatorGold",
				Title: "干员金皮",
				Options: []string{
					"露娜-古墓丽影联动", "蛊-不羁人生", "红狼-电锯惊魂", "露娜-金牌射手",
					"牧羊人-街头之星", "蜂医-危险物质", "蜂医-送葬人", "无名-夜鹰",
					"威龙-壮志凌云", "威龙-蛟龙特战队", "威龙-铁面判官", "威龙-吴彦祖",
				},
			},
			{
				Key:   "operatorRed",
				Title: "干员红皮",
				Options: []string{
					"凌霄成卫", "蚀金玫瑰", "水墨云图", "午夜邮差", "天际线", "维什戴尔",
				},
			},
			{
				Key:   "weapon",
				Title: "武器皮肤",
				Options: []string{
					"M7棱镜攻势S2", "腾龙气象感应", "MP7电玩高手S2", "M250电玩高手S2",
					"AS Val悬赏令", "K416命运", "M4A1棱镜攻势", "SCAR-H电玩高手",
					"QBZ95王牌之剑", "AUG气象感应", "Vector美杜莎", "KC17-造物纪元",
				},
			},
		},
		QuantityItems: []PublishQuantityItem{
			{Key: "level6Ammo", Label: "6级弹", Price: "0.1元/发", Placeholder: "按单发数量填写，60发=6元"},
			{Key: "awmAmmo", Label: "AWM子弹", Price: "0.6元/发"},
			{Key: "barrettAmmo", Label: "巴雷特子弹", Price: "0.3元/发"},
			{Key: "armor6", Label: "6甲", Price: "2.5元/个"},
			{Key: "helmet6", Label: "6头", Price: "1.5元/个"},
			{Key: "gridCard9", Label: "9格体验卡", Price: "3元/张", Placeholder: "如果是赛季9格，此处填0即可"},
			{Key: "redPacket45", Label: "45格大红包", Price: "1.5元/个"},
			{Key: "coffeeBean", Label: "高级咖啡豆", Price: "2.5元/个"},
			{Key: "bulletPart", Label: "高级子弹零件", Price: "3元/个"},
		},
		ScreenshotSlots: []PublishScreenshotSlot{
			{Key: "coin", Label: "纯币截图", Required: true, Hint: "请上传纯币截图（必传）"},
			{Key: "gameId", Label: "游戏ID截图", Required: true, Hint: "请上传游戏ID截图（必传）"},
			{Key: "totalAsset", Label: "总资产截图", Required: true, Hint: "请上传总资产截图（必传）"},
			{Key: "tencentSecurity", Label: "腾讯安全中心截图", Required: false, Hint: "有封禁记录时必传"},
			{Key: "skin", Label: "皮肤截图", Required: false, Hint: "请上传皮肤截图（选传）"},
		},
		BanRecordOptions:   []string{"无封禁记录", "有封禁记录"},
		BanEvidenceOptions: []string{"有封禁记录"},
		FireLevelMin:       38,
		PriceConfig: PublishPriceConfig{
			DepositPlaceholder: "温馨提示：本押金用于保障账号安全。若买家在租用期间，使用非纯币类道具/资源（如消耗品、材料等）或导致账号被封禁，相关损失将直接从押金中扣除进行赔付。押金过高会延长出租等待时间（请自行衡量）感谢理解。",
			PricePlaceholder:   "填写币数、保险、体力和负重后自动计算；发布总价=纯币基础价+额外消耗品",
			RatioDescription:   "1:xx 表示 1 元人民币（RMB）等价兑换 xx 万哈夫币",
		},
		DepositRecommend: PublishDepositRecommend{
			BaseAmount: 50,
			SkinGroupRules: []PublishDepositSkinGroupRule{
				{GroupKey: "melee", Label: "刀皮", AmountPerItem: 5},
				{GroupKey: "operatorGold", Label: "干员金皮", AmountPerItem: 10},
				{GroupKey: "operatorRed", Label: "干员红皮", AmountPerItem: 30},
			},
		},
		RatioConfig: PublishRatioConfig{
			InsuranceBaseRatios: []PublishInsuranceBaseRatio{
				{Insurance: "3*3", Ratio: 40},
				{Insurance: "2*3", Ratio: 42},
				{Insurance: "2*2", Ratio: 47},
				{Insurance: "2*1", Ratio: 48},
			},
			ConfigItems: []PublishRatioConfigItem{
				{Key: "operatorRed", Label: "干员红皮", Kind: "skin_group", GroupKey: "operatorRed", MissingPenalty: 1},
				{Key: "melee", Label: "刀皮", Kind: "skin_group", GroupKey: "melee", MissingPenalty: 1},
				{Key: "staminaMax", Label: "满体力", Kind: "max_stamina", MissingPenalty: 1},
				{Key: "loadMax", Label: "满负重", Kind: "max_load", MissingPenalty: 1},
				{Key: "weapon", Label: "砖皮", Kind: "skin_group", GroupKey: "weapon", MissingPenalty: 1},
			},
			CoinCorrections: []PublishCoinCorrection{
				{ThresholdM: 130, Correction: 1},
				{ThresholdM: 230, Correction: 2.5},
				{ThresholdM: 380, Correction: 4},
				{ThresholdM: 530, Correction: 5},
			},
		},
	}
}
