<?php

use think\migration\Migrator;

class SeedCurrencyData extends Migrator
{
    public function up(): void
    {
        $now = time();

        // [code, title] —— 常用币种在前，按 sort 递增
        $rows = [
            ['CNY', '人民币'], ['USD', '美元'], ['EUR', '欧元'], ['GBP', '英镑'], ['JPY', '日元'],
            ['HKD', '港元'], ['AUD', '澳大利亚元'], ['CAD', '加拿大元'], ['CHF', '瑞士法郎'], ['SGD', '新加坡元'],
            ['KRW', '韩元'], ['THB', '泰铢'], ['VND', '越南盾'], ['MYR', '马来西亚林吉特'], ['IDR', '印尼盾'],
            ['PHP', '菲律宾比索'], ['INR', '印度卢比'], ['NZD', '新西兰元'], ['RUB', '俄罗斯卢布'], ['AED', '阿联酋迪拉姆'],
            ['SAR', '沙特里亚尔'], ['QAR', '卡塔尔里亚尔'], ['MOP', '澳门元'], ['TWD', '新台币'], ['ZAR', '南非兰特'],
            ['BRL', '巴西雷亚尔'], ['MXN', '墨西哥比索'], ['TRY', '土耳其里拉'], ['PLN', '波兰兹罗提'], ['SEK', '瑞典克朗'],
            ['NOK', '挪威克朗'], ['DKK', '丹麦克朗'], ['CZK', '捷克克朗'], ['HUF', '匈牙利福林'], ['RON', '罗马尼亚列伊'],
            ['KZT', '哈萨克斯坦坚戈'], ['UAH', '乌克兰格里夫纳'], ['ILS', '以色列新谢克尔'], ['OMR', '阿曼里亚尔'], ['KWD', '科威特第纳尔'],
            ['BHD', '巴林第纳尔'], ['JOD', '约旦第纳尔'], ['LBP', '黎巴嫩镑'], ['EGP', '埃及镑'], ['IRR', '伊朗里亚尔'],
            ['YER', '也门里亚尔'], ['IQD', '伊拉克第纳尔'], ['SYP', '叙利亚镑'], ['AFN', '阿富汗尼'], ['PKR', '巴基斯坦卢比'],
            ['LKR', '斯里兰卡卢比'], ['BDT', '孟加拉塔卡'], ['KHR', '柬埔寨瑞尔'], ['LAK', '老挝基普'], ['MMK', '缅甸元'],
            ['MNT', '蒙古图格里克'], ['KPW', '朝鲜圆'], ['GEL', '格鲁吉亚拉里'], ['AZN', '阿塞拜疆马纳特'], ['AMD', '亚美尼亚德拉姆'],
            ['TJS', '塔吉克斯坦索莫尼'], ['TMT', '土库曼斯坦马纳特'], ['UZS', '乌兹别克斯坦苏姆'], ['KGS', '吉尔吉斯斯坦索姆'], ['ARS', '阿根廷比索'],
            ['CLP', '智利比索'], ['COP', '哥伦比亚比索'], ['PEN', '秘鲁索尔'], ['UYU', '乌拉圭比索'], ['PYG', '巴拉圭瓜拉尼'],
            ['BOB', '玻利维亚诺'], ['CRC', '哥斯达黎加科朗'], ['DOP', '多米尼加比索'], ['NIO', '尼加拉瓜科多巴'], ['PAB', '巴拿马巴波亚'],
            ['SVC', '萨尔瓦多科朗'], ['BZD', '伯利兹元'], ['GTQ', '危地马拉格查尔'], ['HNL', '洪都拉斯伦皮拉'], ['BSD', '巴哈马元'],
            ['BBD', '巴巴多斯元'], ['BMD', '百慕大元'], ['KYD', '开曼元'], ['TTD', '特立尼达多巴哥元'], ['SRD', '苏里南元'],
            ['GYD', '圭亚那元'], ['VES', '委内瑞拉玻利瓦尔'], ['DZD', '阿尔及利亚第纳尔'], ['MAD', '摩洛哥迪拉姆'], ['TND', '突尼斯第纳尔'],
            ['LYD', '利比亚第纳尔'], ['SDG', '苏丹镑'], ['ETB', '埃塞俄比亚比尔'], ['ERN', '厄立特里亚纳克法'], ['KES', '肯尼亚先令'],
            ['TZS', '坦桑尼亚先令'], ['UGX', '乌干达先令'], ['SOS', '索马里先令'], ['BIF', '布隆迪法郎'], ['RWF', '卢旺达法郎'],
            ['CDF', '刚果法郎'], ['GNF', '几内亚法郎'], ['SLL', '塞拉利昂利昂'], ['GMD', '冈比亚达拉西'], ['NGN', '尼日利亚奈拉'],
            ['MRU', '毛里塔尼亚乌吉亚'], ['MUR', '毛里求斯卢比'], ['MVR', '马尔代夫拉菲亚'], ['BWP', '博茨瓦纳普拉'], ['LSL', '莱索托洛蒂'],
            ['NAD', '纳米比亚元'], ['MWK', '马拉维克瓦查'], ['MGA', '马达加斯加阿里亚里'], ['AOA', '安哥拉宽扎'], ['MZN', '莫桑比克梅蒂卡尔'],
            ['ZMK', '赞比亚克瓦查'], ['ZWL', '津巴布韦元'], ['XAF', '中非法郎'], ['XOF', '西非法郎'], ['KMF', '科摩罗法郎'],
            ['CVE', '佛得角埃斯库多'], ['GHS', '加纳塞地'], ['ALL', '阿尔巴尼亚列克'], ['BGN', '保加利亚列弗'], ['BAM', '波黑可兑换马克'],
            ['HRK', '克罗地亚库纳'], ['MKD', '北马其顿代纳尔'], ['RSD', '塞尔维亚第纳尔'], ['ISK', '冰岛克朗'], ['BYN', '白俄罗斯卢布'],
            ['MDL', '摩尔多瓦列伊'], ['GGP', '根西岛镑'], ['GIP', '直布罗陀镑'], ['IMP', '马恩岛镑'], ['JEP', '泽西岛镑'],
            ['FKP', '福克兰群岛镑'], ['FJD', '斐济元'], ['PGK', '巴布亚新几内亚基那'], ['SBD', '所罗门群岛元'], ['TOP', '汤加潘加'],
            ['TVD', '图瓦卢元'], ['VUV', '瓦努阿图瓦图'], ['WST', '萨摩亚塔拉'], ['XCD', '东加勒比元'], ['XPF', '太平洋法郎'],
            ['ANG', '荷属安的列斯盾'], ['AWG', '阿鲁巴弗罗林'], ['SCR', '塞舌尔卢比'], ['SHP', '圣赫勒拿镑'], ['STN', '圣多美多布拉'],
            ['XDR', '特别提款权'], ['XAU', '金盎司'], ['XAG', '银盎司'], ['XPT', '铂金盎司'], ['XPD', '钯金盎司'],
            ['CUC', '古巴可兑换比索'], ['CUP', '古巴比索'], ['CHE', '欧元瑞士法郎'], ['CHW', '瑞士法郎欧元'], ['CLF', '智利比索基金'],
            ['COU', '哥伦比亚币'], ['CSD', '旧塞尔维亚第纳尔'], ['ECS', '厄瓜多尔苏克雷'], ['GNS', '几内亚西里'], ['LTL', '立陶宛立特'],
            ['LVL', '拉脱维亚拉特'], ['MXV', '墨西哥投资比索'], ['ROL', '旧罗马尼亚列伊'], ['SIT', '斯洛文尼亚托拉尔'], ['TMM', '旧土库曼马纳特'],
            ['UYP', '乌拉圭比索指数'], ['VEB', '旧委内瑞拉博利瓦'], ['XSU', '苏克雷货币单位'], ['ZWN', '旧津巴布韦元'], ['JMD', '牙买加元'],
            ['BTN', '不丹努尔特鲁姆'], ['SZL', '斯威士兰里兰吉尼'], ['NPR', '尼泊尔卢比'], ['LRD', '利比里亚元'], ['BND', '文莱元'],
        ];

        $values = [];
        $sort   = 1;
        foreach ($rows as $row) {
            $code  = $this->getAdapter()->getConnection()->quote($row[0]);
            $title = $this->getAdapter()->getConnection()->quote($row[1]);
            $values[] = "({$code}, {$title}, {$sort}, 1, {$now}, 0)";
            $sort++;
        }

        $sql = "INSERT INTO `oa_currency` (`code`, `title`, `sort`, `status`, `create_time`, `delete_time`) VALUES "
            . implode(',', $values);
        $this->execute($sql);
    }

    public function down(): void
    {
        $this->execute("DELETE FROM `oa_currency`");
    }
}