4d820be35cacf7fd0f8470fe923fac32394009bf.svn-base 9.26 KB
/**
 * Copyright © 2015-2018 ODM All rights reserved.
 */
package com.thinkgem.jeesite.common.config;

import java.io.File;
import java.io.IOException;
import java.util.Map;

import org.springframework.core.io.DefaultResourceLoader;

import com.ckfinder.connector.ServletContextFactory;
import com.google.common.collect.Maps;
import com.thinkgem.jeesite.common.utils.PropertiesLoader;
import com.thinkgem.jeesite.common.utils.StringUtils;

/**
 * 全局配置类
 * @author ThinkGem
 * @version 2014-06-25
 */
public class Global {

	/**
	 * 当前对象实例
	 */
	private static Global global = new Global();
	
	/**
	 * 保存全局属性值
	 */
	private static Map<String, String> map = Maps.newHashMap();
	
	/**
	 * 属性文件加载对象
	 */
	private static PropertiesLoader loader = new PropertiesLoader("jeesite.properties");

	/**
	 * 显示/隐藏
	 */
	public static final String SHOW = "1";
	public static final String HIDE = "0";

	/**
	 * 是/否
	 */
	public static final String YES = "1";
	public static final String NO = "0";
	
	/**
	 * 对/错
	 */
	public static final String TRUE = "true";
	public static final String FALSE = "false";
	
	/**
	 * 上传文件基础虚拟路径
	 */
	public static final String USERFILES_BASE_URL = "/userfiles/";
	/**
	 * 临时文件基础虚拟路径
	 */
	public static final String UP_DATA_URL = "/updatas/";
	
	/**
	 * 上报文件本地校验路径
	 */
	public static final String SJHJ_XSD_URL = "/xsd/";
	
	/**
	 * 上报生成报文路径
	 */
	public static final String SJHJ_DATA_URL = "/updatas/";
	/**
	 * 日志结果保存路径
	 */
	public static final String LOGBOOK_URL = "/booklogs/";
	/**
	 * 获取当前对象实例
	 */
	public static Global getInstance() {
		return global;
	}
	
	/**
	 * 报文上报用户名
	 */
	public static final String UP_NAME = "610700";
	
	/**
	 * 报文上报用户密码
	 */
	public static final String UP_PASSWORD = "yuiop90876";
	
	/**
	 * 报文上报用户名
	 */
	public static final String UP_IPCONFIG = "172.16.56.28";
	//public static final String UP_IPCONFIG = "172.0.0.1";
	
	/**
	 * 一窗受理,登簿推送
	 */
	//public static final String POST_YCSL_URL_FZ = "http://172.16.56.31:8080/estateplat-acceptance/rest/v1.0/bdc/dbxx";
	public static final String POST_YCSL_URL_FZ = getYcslUrl()+"/accept/registerInfo";
 
	public static final String POST_YCSL_URL_XTTJ = getYcslUrl()+"/api/rest/bhSqxx";
 
	public static final String POST_YCSL_URL_YWZT = getYcslUrl()+"/api/rest/updateYwzt";
	
	public static final String POST_YCSL_URL_queryTradeWj = getYcslUrl()+"/accept/findTradeInfo";
	
	public static final String POST_YCSL_URL_downTradeFiles = getYcslUrl()+"/accept/downFileByPath";
	
	public static final String POST_YCSL_URL_insertSL = getYcslUrl()+"/accept/saveAcceptInfo";
	
	public static final String POST_YCSL_URL_updateSL = getYcslUrl()+"/accept/modifyAcceptInfo";
	
	public static final String POST_YCSL_URL_deleteSL = getYcslUrl()+"/accept/removeAcceptInfo";
	
	public static final String POST_YCSL_URL_queryTradeYw = getYcslUrl()+"/accept/findTradeToEstate";
	
	public static final String POST_YCSL_URL_queryTradeEstate = getYcslUrl()+"/accept/findEstateTrade";
	
	public static final String POST_YCSL_URL_saveHookRelation = getYcslUrl()+"/accept/saveHookRelation";
	
	public static final String POST_YCSL_URL_removeHookRelation = getYcslUrl()+"/accept/removeHookRelation";
	
	public static final String POST_YCSL_URL_saveHouseStatus = getYcslUrl()+"/accept/saveHouseStatus";
	
	public static final String POST_YCSL_URL_modifyHouseStatus = getYcslUrl()+"/accept/modifyHouseStatus";
	
	public static final String POST_YCSL_URL_terminateInfo = getYcslUrl()+"/accept/terminateInfo";
	
	public static final String POST_YCSL_URL_findLicenseInfo = getYcslUrl()+"/accept/findLicenseInfo";
	
	public static final String POST_YCSL_URL_wsqk = getYcslUrl()+"/accept/wsqk";
	
	public static final String POST_YCSL_URL_downDealFiles = getYcslUrl()+"/accept/downDealByPath";
	
	/**
	 * 数据汇总,复核请求
	 */
	public static final String POST_SJHZ_URL_FH = "http://172.16.58.79:8000/platSi/fhDmlRec";
	
	
	/**
	 * 获取配置
	 * @see ${fns:getConfig('adminPath')}
	 */
	public static String getConfig(String key) {
		String value = map.get(key);
		if (value == null){
			value = loader.getProperty(key);
			map.put(key, value != null ? value : StringUtils.EMPTY);
		}
		return value;
	}
	
	/**
	 * 获取访问接口使用的用户名 密码 
	 * 
	 */
	public static String getInterUserName(){
		return getConfig("reg.inter.username");
	}
	public static String getInterPassword(){
		return getConfig("reg.inter.password");
	}
	
	
	public static String getYcslUrl(){
		return getConfig("reg.ycsl.url");
	}
	
	/***
	* @Title: getAreaCode 
	* @Description: 获取当前系统部署的区县代码 
	* @param @return    设定文件 
	* @return String    返回类型 
	* @throws
	 */
	public static String getAreaCode(){
		return getConfig("reg.areacode");
	}

	public static String getsyncRowNum(){
		return getConfig("dmlRec.syncRowNum");
	}
	public static String getfhRowNum(){
		return getConfig("dmlRec.fhRowNum");
	}
	
	public static String getPictures(){
		return getConfig("reg.pictures");
	}
	
	/*
	 * 微信公众号路径
	 */
	public static String getWxUrl(){
		return getConfig("reg.wxurl");
	}
	
	/*
	 * 權籍接口系統路径
	 */
	public static String getTitleUrl(){
		return getConfig("reg.titleurl");
	}
	/**
	 * 一窗开通标志
	 * @return
	 */
	public static Boolean isYcsl(){
		return Boolean.parseBoolean(StringUtils.isEmpty(getConfig("reg.ycsl"))?"false":getConfig("reg.ycsl"));
	}
	
	/**
	 * 权籍开通标志
	 * @return
	 */
	public static Boolean isTitle(){
		return Boolean.parseBoolean(StringUtils.isEmpty(getConfig("reg.title"))?"false":getConfig("reg.title"));
	}
	
	
	/**
	 * 测试标志
	 * @return
	 */
	public static Boolean isTest(){
		return Boolean.parseBoolean(StringUtils.isEmpty(getConfig("reg.test"))?"false":getConfig("reg.test"));
	}
	
	/**
	 * 业务号新生成方式
	 * @return
	 */
	public static Boolean isNewCreateType(){
		return Boolean.parseBoolean(StringUtils.isEmpty(getConfig("reg.ywh.new"))?"false":getConfig("reg.ywh.new"));
	}
	
	/**
	 * 是否新区
	 * @return
	 */
	public static Boolean isXq(){
		return Boolean.parseBoolean(StringUtils.isEmpty(getConfig("reg.xq"))?"false":getConfig("reg.xq"));
	}
	
	
	/**
	 * 获取管理端根路径
	 */
	public static String getAdminPath() {
		return getConfig("adminPath");
	}
	
	/**
	 * 获取前端根路径
	 */
	public static String getFrontPath() {
		return getConfig("frontPath");
	}
	
	/**
	 * 获取URL后缀
	 */
	public static String getUrlSuffix() {
		return getConfig("urlSuffix");
	}
	
	public static String getDbName(){
		return Global.getConfig("jdbc.type");
	}
	 
	public static String getSumDataWSUrl(){
		return Global.getConfig("webServiceUrl");
	}
	 	
	public static String getCommonLogUrl(){
		return Global.getConfig("commitLogUrl");
	}
	
	/**
	 * 是否是演示模式,演示模式下不能修改用户、角色、密码、菜单、授权
	 */
	public static Boolean isDemoMode() {
		String dm = getConfig("demoMode");
		return "true".equals(dm) || "1".equals(dm);
	}
	
	/**
	 * 在修改系统用户和角色时是否同步到Activiti
	 */
	public static Boolean isSynActivitiIndetity() {
		String dm = getConfig("activiti.isSynActivitiIndetity");
		return "true".equals(dm) || "1".equals(dm);
	}
    
	/**
	 * 页面获取常量
	 * @see ${fns:getConst('YES')}
	 */
	public static Object getConst(String field) {
		try {
			return Global.class.getField(field).get(null);
		} catch (Exception e) {
			// 异常代表无配置,这里什么也不做
		}
		return null;
	}

	/**
	 * 获取上传文件的根目录
	 * @return
	 */
	public static String getUserfilesBaseDir() {
		String dir = getConfig("userfiles.basedir");
		if (StringUtils.isBlank(dir)){
			try {
				dir = ServletContextFactory.getServletContext().getRealPath("/");
			} catch (Exception e) {
				return "";
			}
		}
		if(!dir.endsWith("/")) {
			dir += "/";
		}
//		System.out.println("userfiles.basedir: " + dir);
		return dir;
	}
	//--------------------------
	/**
	 * 获取上传文件的根目录
	 * @return
	 */
	public static String getUpdatefilesBaseDir() {
		String dir = getConfig("updatefiles.basedir");
		if (StringUtils.isBlank(dir)){
			try {
				dir = ServletContextFactory.getServletContext().getRealPath("/");
			} catch (Exception e) {
				return "";
			}
		}
		if(!dir.endsWith("/")) {
			dir += "/";
		}
//		System.out.println("userfiles.basedir: " + dir);
		return dir;
	}
	//----------------------------------
    /**
     * 获取工程路径
     * @return
     */
    public static String getProjectPath(){
    	// 如果配置了工程路径,则直接返回,否则自动获取。
		String projectPath = Global.getConfig("projectPath");
		if (StringUtils.isNotBlank(projectPath)){
			return projectPath;
		}
		try {
			File file = new DefaultResourceLoader().getResource("").getFile();
			if (file != null){
				while(true){
					File f = new File(file.getPath() + File.separator + "src" + File.separator + "main");
					if (f == null || f.exists()){
						break;
					}
					if (file.getParentFile() != null){
						file = file.getParentFile();
					}else{
						break;
					}
				}
				projectPath = file.toString();
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
		return projectPath;
    }
	
}