package pwc.taxtech.atms.service.impl;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.google.common.collect.Lists;
import org.apache.commons.lang3.StringUtils;
import org.junit.Test;
import pwc.taxtech.atms.CommonIT;
import pwc.taxtech.atms.common.util.StringUtil;
import pwc.taxtech.atms.entity.Organization;
import pwc.taxtech.atms.entity.OrganizationExample;
import pwc.taxtech.atms.entity.OrganizationExtra;
import pwc.taxtech.atms.entity.OrganizationExtraExample;
import pwc.taxtech.atms.security.dd.DtsTokenService;

import java.util.List;

/**
 * @Auther: Gary J Li
 * @Date: 15/03/2019 20:42
 * @Description:
 */
public class GaryTest extends CommonIT {

    @Test
    public void gagaga(){
        String originJson = "[\n" +
                "  \"Angola-安哥拉-0244\",\n" +
                "  \"Afghanistan-阿富汗-93\",\n" +
                "  \"Albania-阿尔巴尼亚-335\",\n" +
                "  \"Algeria-阿尔及利亚-213\",\n" +
                "  \"Andorra-安道尔共和国-376\",\n" +
                "  \"Anguilla-安圭拉岛-1254\",\n" +
                "  \"Antigua and Barbuda-安提瓜和巴布达-1268\",\n" +
                "  \"Argentina-阿根廷-54\",\n" +
                "  \"Armenia-亚美尼亚-374\",\n" +
                "  \"Ascension-阿森松-247\",\n" +
                "  \"Australia-澳大利亚-61\",\n" +
                "  \"Austria-奥地利-43\",\n" +
                "  \"Azerbaijan-阿塞拜疆-994\",\n" +
                "  \"Bahamas-巴哈马-1242\",\n" +
                "  \"Bahrain-巴林-973\",\n" +
                "  \"Bangladesh-孟加拉国-880\",\n" +
                "  \"Barbados-巴巴多斯-1246\",\n" +
                "  \"Belarus-白俄罗斯-375\",\n" +
                "  \"Belgium-比利时-32\",\n" +
                "  \"Belize-伯利兹-501\",\n" +
                "  \"Benin-贝宁-229\",\n" +
                "  \"Bermuda Is-百慕大群岛-1441\",\n" +
                "  \"Bolivia-玻利维亚-591\",\n" +
                "  \"Botswana-博茨瓦纳-267\",\n" +
                "  \"Brazil-巴西-55\",\n" +
                "  \"Brunei-文莱-673\",\n" +
                "  \"Bulgaria-保加利亚-359\",\n" +
                "  \"Burkina Faso-布基纳法索-226\",\n" +
                "  \"Burma-缅甸-95\",\n" +
                "  \"Burundi-布隆迪-257\",\n" +
                "  \"Cameroon-喀麦隆-237\",\n" +
                "  \"Canada-加拿大-1\",\n" +
                "  \"Cayman Is-开曼群岛-1345\",\n" +
                "  \"Central African Republic-中非共和国-236\",\n" +
                "  \"Chad-乍得-235\",\n" +
                "  \"Chile-智利-56\",\n" +
                "  \"China-中国-86\",\n" +
                "  \"Colombia-哥伦比亚-57\",\n" +
                "  \"Congo-刚果-242\",\n" +
                "  \"Cook Is-库克群岛-682\",\n" +
                "  \"Costa Rica-哥斯达黎加-506\",\n" +
                "  \"Cuba-古巴-53\",\n" +
                "  \"Cyprus-塞浦路斯-357\",\n" +
                "  \"Czech Republic-捷克-420\",\n" +
                "  \"Denmark-丹麦-45\",\n" +
                "  \"Djibouti-吉布提-253\",\n" +
                "  \"Dominica Rep-多米尼加共和国-1890\",\n" +
                "  \"Ecuador-厄瓜多尔-593\",\n" +
                "  \"Egypt-埃及-20\",\n" +
                "  \"EI Salvador-萨尔瓦多-503\",\n" +
                "  \"Estonia-爱沙尼亚-372\",\n" +
                "  \"Ethiopia-埃塞俄比亚-251\",\n" +
                "  \"Fiji-斐济-679\",\n" +
                "  \"Finland-芬兰-358\",\n" +
                "  \"France-法国-33\",\n" +
                "  \"French Guiana-法属圭亚那-594\",\n" +
                "  \"French Polynesia-法属玻利尼西亚-689\",\n" +
                "  \"Gabon-加蓬-241\",\n" +
                "  \"Gambia-冈比亚-220\",\n" +
                "  \"Georgia-格鲁吉亚-995\",\n" +
                "  \"Germany-德国-49\",\n" +
                "  \"Ghana-加纳-233\",\n" +
                "  \"Gibraltar-直布罗陀-350\",\n" +
                "  \"Greece-希腊-30\",\n" +
                "  \"Grenada-格林纳达-1809\",\n" +
                "  \"Guam-关岛-1671\",\n" +
                "  \"Guatemala-危地马拉-502\",\n" +
                "  \"Guinea-几内亚-224\",\n" +
                "  \"Guyana-圭亚那-592\",\n" +
                "  \"Haiti-海地-509\",\n" +
                "  \"Honduras-洪都拉斯-504\",\n" +
                "  \"Hongkong-香港-852\",\n" +
                "  \"Hungary-匈牙利-36\",\n" +
                "  \"Iceland-冰岛-354\",\n" +
                "  \"India-印度-91\",\n" +
                "  \"Indonesia-印度尼西亚-62\",\n" +
                "  \"Iran-伊朗-98\",\n" +
                "  \"Iraq-伊拉克-964\",\n" +
                "  \"Ireland-爱尔兰-353\",\n" +
                "  \"Israel-以色列-972\",\n" +
                "  \"Italy-意大利-39\",\n" +
                "  \"Ivory Coast-科特迪瓦-225\",\n" +
                "  \"Jamaica-牙买加-1876\",\n" +
                "  \"Japan-日本-81\",\n" +
                "  \"Jordan-约旦-962\",\n" +
                "  \"Kampuchea (Cambodia )-柬埔寨-855\",\n" +
                "  \"Kazakstan-哈萨克斯坦-327\",\n" +
                "  \"Kenya-肯尼亚-254\",\n" +
                "  \"Korea-韩国-82\",\n" +
                "  \"Kuwait-科威特-965\",\n" +
                "  \"Kyrgyzstan-吉尔吉斯坦-331\",\n" +
                "  \"Laos-老挝-856\",\n" +
                "  \"Latvia-拉脱维亚-371\",\n" +
                "  \"Lebanon-黎巴嫩-961\",\n" +
                "  \"Lesotho-莱索托-266\",\n" +
                "  \"Liberia-利比里亚-231\",\n" +
                "  \"Libya-利比亚-218\",\n" +
                "  \"Liechtenstein-列支敦士登--423\",\n" +
                "  \"Lithuania-立陶宛-370\",\n" +
                "  \"Luxembourg-卢森堡-352\",\n" +
                "  \"Macao-澳门-853\",\n" +
                "  \"Madagascar-马达加斯加-261\",\n" +
                "  \"Malawi-马拉维-265\",\n" +
                "  \"Malaysia-马来西亚-60\",\n" +
                "  \"Maldives-马尔代夫-960\",\n" +
                "  \"Mali-马里-223\",\n" +
                "  \"Malta-马耳他-356\",\n" +
                "  \"Mariana Is-马里亚那群岛-1670\",\n" +
                "  \"Martinique-马提尼克-596\",\n" +
                "  \"Mauritius-毛里求斯-230\",\n" +
                "  \"Mexico-墨西哥-52\",\n" +
                "  \"Moldova-摩尔多瓦-373\",\n" +
                "  \"Monaco-摩纳哥-377\",\n" +
                "  \"Mongolia-蒙古-976\",\n" +
                "  \"Montserrat Is-蒙特塞拉特岛-1664\",\n" +
                "  \"Morocco-摩洛哥-212\",\n" +
                "  \"Mozambique-莫桑比克-258\",\n" +
                "  \"Namibia-纳米比亚-264\",\n" +
                "  \"Nauru-瑙鲁-674\",\n" +
                "  \"Nepal-尼泊尔-977\",\n" +
                "  \"Netheriands Antilles-荷属安的列斯-599\",\n" +
                "  \"Netherlands-荷兰-31\",\n" +
                "  \"New Zealand-新西兰-64\",\n" +
                "  \"Nicaragua-尼加拉瓜-505\",\n" +
                "  \"Niger-尼日尔-227\",\n" +
                "  \"Nigeria-尼日利亚-234\",\n" +
                "  \"North Korea-朝鲜-850\",\n" +
                "  \"Norway-挪威-47\",\n" +
                "  \"Oman-阿曼-968\",\n" +
                "  \"Pakistan-巴基斯坦-92\",\n" +
                "  \"Panama-巴拿马-507\",\n" +
                "  \"Papua New Cuinea-巴布亚新几内亚-675\",\n" +
                "  \"Paraguay-巴拉圭-595\",\n" +
                "  \"Peru-秘鲁-51\",\n" +
                "  \"Philippines-菲律宾-63\",\n" +
                "  \"Poland-波兰-48\",\n" +
                "  \"Portugal-葡萄牙-351\",\n" +
                "  \"Puerto Rico-波多黎各-1787\",\n" +
                "  \"Qatar-卡塔尔-974\",\n" +
                "  \"Reunion-留尼旺-262\",\n" +
                "  \"Romania-罗马尼亚-40\",\n" +
                "  \"Russia-俄罗斯-7\",\n" +
                "  \"Saint Lueia-圣卢西亚-1758\",\n" +
                "  \"Saint Vincent-圣文森特岛-1784\",\n" +
                "  \"Samoa Eastern-东萨摩亚(美)-684\",\n" +
                "  \"Samoa Western-西萨摩亚-685\",\n" +
                "  \"San Marino-圣马力诺-378\",\n" +
                "  \"Sao Tome and Principe-圣多美和普林西比-239\",\n" +
                "  \"Saudi Arabia-沙特阿拉伯-966\",\n" +
                "  \"Senegal-塞内加尔-221\",\n" +
                "  \"Seychelles-塞舌尔-248\",\n" +
                "  \"Sierra Leone-塞拉利昂-232\",\n" +
                "  \"Singapore-新加坡-65\",\n" +
                "  \"Slovakia-斯洛伐克-421\",\n" +
                "  \"Slovenia-斯洛文尼亚-386\",\n" +
                "  \"Solomon Is-所罗门群岛-677\",\n" +
                "  \"Somali-索马里-252\",\n" +
                "  \"South Africa-南非-27\",\n" +
                "  \"Spain-西班牙-34\",\n" +
                "  \"SriLanka-斯里兰卡-94\",\n" +
                "  \"St.Lucia-圣卢西亚-1758\",\n" +
                "  \"St.Vincent-圣文森特-1784\",\n" +
                "  \"Sudan-苏丹-249\",\n" +
                "  \"Suriname-苏里南-597\",\n" +
                "  \"Swaziland-斯威士兰-268\",\n" +
                "  \"Sweden-瑞典-46\",\n" +
                "  \"Switzerland-瑞士-41\",\n" +
                "  \"Syria-叙利亚-963\",\n" +
                "  \"Taiwan-台湾省-886\",\n" +
                "  \"Tajikstan-塔吉克斯坦-992\",\n" +
                "  \"Tanzania-坦桑尼亚-255\",\n" +
                "  \"Thailand-泰国-66\",\n" +
                "  \"Togo-多哥-228\",\n" +
                "  \"Tonga-汤加-676\",\n" +
                "  \"Trinidad and Tobago-特立尼达和多巴哥-1809\",\n" +
                "  \"Tunisia-突尼斯-216\",\n" +
                "  \"Turkey-土耳其-90\",\n" +
                "  \"Turkmenistan-土库曼斯坦-993\",\n" +
                "  \"Uganda-乌干达-256\",\n" +
                "  \"Ukraine-乌克兰-380\",\n" +
                "  \"United Arab Emirates-阿拉伯联合酋长国-971\",\n" +
                "  \"United Kiongdom-英国-44\",\n" +
                "  \"United States of America-美国-1\",\n" +
                "  \"Uruguay-乌拉圭-598\",\n" +
                "  \"Uzbekistan-乌兹别克斯坦-233\",\n" +
                "  \"Venezuela-委内瑞拉-58\",\n" +
                "  \"Vietnam-越南-84\",\n" +
                "  \"Yemen-也门-967\",\n" +
                "  \"Yugoslavia-南斯拉夫-381\",\n" +
                "  \"Zimbabwe-津巴布韦-263\",\n" +
                "  \"Zaire-扎伊尔-243\",\n" +
                "  \"Zambia-赞比亚-260\"\n" +
                "]";
        List<String> lists = (List)JSONArray.parseArray(originJson);
        List<String> cnNameList = Lists.newArrayList();
        List<String> enNameList = Lists.newArrayList();
        lists.forEach(l->{
            String cnName = l.split("-")[1];
            String enName = l.split("-")[0];
            cnNameList.add("'"+cnName+"'");
            enNameList.add("'"+enName+"'");
        });
        System.out.println("cnNameList"+ cnNameList);
        System.out.println("enNameList"+enNameList);

    }

    @Test
    public void syncArc(){
        List<Organization> orgs = organizationMapper.selectByExample(new OrganizationExample());
        orgs.forEach(o->{
            if(StringUtils.isNotEmpty(o.getArchitectureType())){
                OrganizationExtra oe = new OrganizationExtra();
                oe.setArchitectureType(o.getArchitectureType());
                OrganizationExtraExample e1 = new OrganizationExtraExample();
                e1.createCriteria().andOrganizationIdEqualTo(o.getId());
                if(organizationExtraMapper.updateByExampleSelective(oe,e1)>0){
                    System.out.println("更新"+o.getName()+"架构类型"+o.getArchitectureType()+"成功");
                }
            }
        });
    }
}