package cn.myapps.runtime.domain;

import cn.myapps.authtime.domain.service.DomainProcess;
import cn.myapps.base.web.WebUser;
import cn.myapps.authtime.domain.model.DomainVO;
import cn.myapps.authtime.user.model.BaseUser;
import cn.myapps.common.Environment;
import cn.myapps.support.lanxin.util.LanxinConfig;
import cn.myapps.util.ProcessFactory;
import cn.myapps.common.util.DefaultProperty;
import cn.myapps.common.util.PropertyUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.net.URL;
import java.util.*;

@RestController
public class DomainHelper {
//	@PostMapping("/getSkinList")
//	public JSON get(@RequestParam String equipment) throws Exception{
//		Map<String, String> skins = new HashMap<String, String>();
//		String contentPath = DomainHelper.class.getProtectionDomain().getCodeSource().getLocation().getFile()+"/META-INF/resources/portal";
//		File dir = new File(contentPath);
//		File[] files = dir.listFiles();
//		if (files != null && files.length > 0) {
//			for (int i = 0; i < files.length; i++) {
//				if (files[i].isDirectory()) {// 判断是否是目录文件
//					if (!files[i].getName().equals("share")
//							&& !files[i].getName().equals("phone")
//							&& !files[i].getName().equals("dispatch")
//							&& files[i].getName().indexOf(".") == -1){
//
//							File cf = new File(contentPath+"/"+files[i].getName()+"/config.ini");
//							if(cf.exists()){
//								Properties config = new Properties();
//								InputStream stream = new FileInputStream(cf);
//								config.load(stream);
//								stream.close();
//								if("false".equals(config.getProperty(equipment))){
//									continue;
//								}
//							}
//
//						skins.put(files[i].getName(),
//								"{*[" + files[i].getName() + "]*}");
//					}
//				} else {
//					continue;
//				}
//			}
//		} else {
//			skins.put("default", "default");
//		}
//		JSONObject json = JSONObject.parseObject(JSON.toJSONString(skins));
//		return json;
//	}

	/**
	 * 从配置文件中读取皮肤列表
	 * @return
	 */
	@PostMapping("/getSkinList2")
	public JSON getSkinList2(){
		Map<String, String> skins = new HashMap<String, String>();
		try {
//			InputStream is = DefaultProperty.class.getClassLoader().getResourceAsStream("skin.properties");
			Properties properties = new Properties();
//			properties.load(is);
			properties = PropertyUtil.getProp("skin");
			String [] skinStr= properties.getProperty("skin").split(",");
			for (String skin : skinStr){
				skins.put(skin,"{*[" + skin + "]*}");
			}
		} catch (Exception e){
			skins.put("default", "default");
		}
		JSONObject json = JSONObject.parseObject(JSON.toJSONString(skins));
		return json;
	}
}