Commit 39a228a508e3c1a0ef084b2e93de2b6ca9dc8bd4

Authored by 王通
1 parent 2f05fcb4

1.统一平台登录

src/main/java/com/bsth/common/Constants.java
... ... @@ -14,7 +14,8 @@ public class Constants {
14 14 * 不需要拦截的资源
15 15 */
16 16 public static final String LOGIN = "/user/login/**";
17   - public static final String LOGIN_PAGE = "/login.html";
  17 + public static final String ORIGINAL_LOGIN_PAGE = "/login.html";
  18 + public static String LOGIN_PAGE = "/login.html";
18 19 public static final String ASSETS_URL = "/assets/**";
19 20 public static final String FAVICON_URL = "/favicon.ico";
20 21 public static final String METRONIC_URL = "/metronic_v4.5.4/**";
... ... @@ -63,4 +64,8 @@ public class Constants {
63 64 public static final String WEAK_CIPHER = "weakCipher";
64 65  
65 66 public static final String FILE_AUTH = "/.well-known/pki-validation/fileauth.txt";
  67 +
  68 + public static final String SSO_TOKEN = "ssoToken";
  69 +
  70 + public static final String RESOURCE_AUTHORITYS = "resourceAuthoritys";
66 71 }
... ...
src/main/java/com/bsth/controller/sys/UserController.java
... ... @@ -9,11 +9,14 @@ import com.bsth.email.entity.EmailBean;
9 9 import com.bsth.entity.sys.CompanyAuthority;
10 10 import com.bsth.entity.sys.Role;
11 11 import com.bsth.entity.sys.SysUser;
  12 +import com.bsth.security.SsoConfig;
12 13 import com.bsth.security.util.SecurityUtils;
13 14 import com.bsth.service.sys.CompanyAuthorityService;
14 15 import com.bsth.service.sys.SysUserService;
15 16 import com.bsth.service.sys.impl.PwdGenerator;
  17 +import com.bsth.util.HttpClientUtils;
16 18 import com.bsth.util.IpUtils;
  19 +import com.fasterxml.jackson.databind.ObjectMapper;
17 20 import com.google.common.collect.ArrayListMultimap;
18 21 import org.apache.commons.lang3.StringUtils;
19 22 import org.slf4j.Logger;
... ... @@ -22,12 +25,14 @@ import org.springframework.beans.factory.annotation.Autowired;
22 25 import org.springframework.security.authentication.BadCredentialsException;
23 26 import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
24 27 import org.springframework.security.web.authentication.session.SessionAuthenticationException;
  28 +import org.springframework.util.Assert;
25 29 import org.springframework.web.bind.annotation.RequestMapping;
26 30 import org.springframework.web.bind.annotation.RequestMethod;
27 31 import org.springframework.web.bind.annotation.RequestParam;
28 32 import org.springframework.web.bind.annotation.RestController;
29 33  
30 34 import javax.servlet.http.HttpServletRequest;
  35 +import javax.servlet.http.HttpServletResponse;
31 36 import javax.servlet.http.HttpSession;
32 37 import java.util.*;
33 38 import java.util.regex.Matcher;
... ... @@ -45,6 +50,11 @@ public class UserController extends BaseController<SysUser, Integer> {
45 50 @Autowired
46 51 CompanyAuthorityService companyAuthorityService;
47 52  
  53 + private ObjectMapper mapper = new ObjectMapper();
  54 +
  55 + @Autowired
  56 + private SsoConfig ssoConfig;
  57 +
48 58 private Pattern pattern = Pattern.compile("^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*?[#?!@$%^&*-.]).{8,16}$");
49 59  
50 60 @RequestMapping(value = "/login/jCryptionKey")
... ... @@ -65,6 +75,69 @@ public class UserController extends BaseController<SysUser, Integer> {
65 75 public static Map<String, Integer> USER_ERRTIMES = new HashMap<>();
66 76 public static Map<String, Long> USER_LOCKTIME = new HashMap<>();
67 77  
  78 + @RequestMapping(value = "/login/token")
  79 + public void login(@RequestParam String token, HttpServletRequest request, HttpServletResponse response) throws Exception {
  80 + response.addHeader("Content-Type", "text/html;charset=UTF-8");
  81 + if (!ssoConfig.isSsoEnabled()) {
  82 + response.getWriter().write("系统未开启统一登录配置,请联系管理员");
  83 + return;
  84 + }
  85 + if (token == null) {
  86 + throw new IllegalArgumentException("请检查参数");
  87 + }
  88 +
  89 + Map<String, Object> param = new HashMap<>(), user = new HashMap<>();
  90 + param.put("token", token);
  91 + param.put("sysCode", ssoConfig.getSystemCode());
  92 + StringBuilder sb = HttpClientUtils.post(ssoConfig.getSsoAuthUrl() + "n", HttpClientUtils.createFormEntity(param), HttpClientUtils.createFormHeader());
  93 +
  94 + Assert.notNull(sb, "统一登录平台验证数据不为空");
  95 + logger.info(String.format("统一登录平台:%s", sb.toString()));
  96 + param = mapper.readValue(sb.toString(), Map.class);
  97 + if (200 == (int) param.get("code")) {
  98 + param = mapper.readValue(mapper.writeValueAsString(param.get("data")), Map.class);
  99 + if ("9999".equals(param.get("code")) || "9998".equals(param.get("code"))) {
  100 + response.getWriter().write(param.get("msg").toString());
  101 + return;
  102 + } else {
  103 + param = mapper.readValue(mapper.writeValueAsString(param.get("data")), Map.class);
  104 + }
  105 + } else {
  106 + response.getWriter().write(param.get("msg").toString());
  107 + return;
  108 + }
  109 + String userName = (String) param.get("userName");
  110 + user.put("userName_eq", userName);
  111 + user.put("enabled", true);
  112 +
  113 + Iterator<SysUser> userIterator = sysUserService.list(user).iterator();
  114 + SysUser sysUser = null;
  115 + while (userIterator.hasNext()) {
  116 + sysUser = userIterator.next();
  117 + break;
  118 + }
  119 +
  120 + if (sysUser != null) {
  121 + HttpSession session = request.getSession();
  122 + // 登录
  123 + SecurityUtils.login(sysUser, request);
  124 + sysUserService.recordLoginDate(sysUser.getUserName());
  125 + //session里写入用户名,webSocket连接时标识身份用
  126 + session.setAttribute(Constants.SSO_TOKEN, token);
  127 + session.setAttribute(Constants.SESSION_USERNAME, sysUser.getUserName());
  128 + //session.setAttribute(Constants.RESOURCE_AUTHORITYS, sysUser.getLinks());
  129 + //获取公司权限数据
  130 + List<CompanyAuthority> cmyAuths = companyAuthorityService.findByUser(sysUser);
  131 + session.setAttribute(Constants.COMPANY_AUTHORITYS, cmyAuths);
  132 +
  133 + USER_ERRTIMES.remove(sysUser.getUserName());
  134 + logger.error(String.format("用户: %s登录, token: %s",sysUser.getUserName(), token));
  135 + response.sendRedirect("/pages/home.html");
  136 + } else {
  137 + response.getWriter().write("未找到有效的用户,请联系管理员");
  138 + }
  139 + }
  140 +
68 141 @RequestMapping(value = "/login", method = RequestMethod.POST)
69 142 public Map<String, Object> login(HttpServletRequest request, @RequestParam String userName,
70 143 @RequestParam String password, String captcha) {
... ...
src/main/java/com/bsth/security/SsoConfig.java 0 → 100644
  1 +package com.bsth.security;
  2 +
  3 +import com.bsth.common.Constants;
  4 +import org.springframework.beans.factory.annotation.Value;
  5 +import org.springframework.stereotype.Component;
  6 +
  7 +/**
  8 + * sso登录相关配置信息
  9 + * @author Hill
  10 + */
  11 +@Component
  12 +public class SsoConfig {
  13 +
  14 + /**
  15 + * 是否开启sso登录
  16 + */
  17 + private boolean ssoEnabled;
  18 +
  19 + /**
  20 + * 本系统在统一平台的系统代码
  21 + */
  22 + private String systemCode;
  23 +
  24 + /**
  25 + * sso登录请求地址
  26 + */
  27 + private String ssoLoginUrl;
  28 +
  29 + /**
  30 + * sso登出请求地址
  31 + */
  32 + private String ssoLogoutUrl;
  33 +
  34 + /**
  35 + * sso验证请求地址
  36 + */
  37 + private String ssoAuthUrl;
  38 +
  39 + public boolean isSsoEnabled() {
  40 + return ssoEnabled;
  41 + }
  42 +
  43 + @Value("${sso.enabled}")
  44 + public void setSsoEnabled(boolean ssoEnabled) {
  45 + this.ssoEnabled = ssoEnabled;
  46 + if (ssoEnabled) {
  47 + Constants.LOGIN_PAGE = ssoLoginUrl;
  48 + } else {
  49 + Constants.LOGIN_PAGE = Constants.ORIGINAL_LOGIN_PAGE;
  50 + }
  51 + }
  52 +
  53 +
  54 + public String getSystemCode() {
  55 + return systemCode;
  56 + }
  57 +
  58 + @Value("${sso.systemcode}")
  59 + public void setSystemCode(String systemCode) {
  60 + this.systemCode = systemCode;
  61 + }
  62 +
  63 + public String getSsoLoginUrl() {
  64 + return ssoLoginUrl;
  65 + }
  66 +
  67 + @Value("${sso.http.url.login}")
  68 + public void setSsoLoginUrl(String ssoLoginUrl) {
  69 + this.ssoLoginUrl = ssoLoginUrl;
  70 + if (ssoEnabled) {
  71 + Constants.LOGIN_PAGE = ssoLoginUrl;
  72 + }
  73 + }
  74 +
  75 + public String getSsoLogoutUrl() {
  76 + return ssoLogoutUrl;
  77 + }
  78 +
  79 + @Value("${sso.http.url.logout}")
  80 + public void setSsoLogoutUrl(String ssoLogoutUrl) {
  81 + this.ssoLogoutUrl = ssoLogoutUrl;
  82 + }
  83 +
  84 + public String getSsoAuthUrl() {
  85 + return ssoAuthUrl;
  86 + }
  87 +
  88 + @Value("${sso.http.url.auth}")
  89 + public void setSsoAuthUrl(String ssoAuthUrl) {
  90 + this.ssoAuthUrl = ssoAuthUrl;
  91 + }
  92 +}
... ...
src/main/java/com/bsth/util/HttpClientUtils.java
1 1 package com.bsth.util;
2 2  
  3 +import com.fasterxml.jackson.core.JsonProcessingException;
  4 +import com.fasterxml.jackson.databind.ObjectMapper;
3 5 import org.apache.http.HttpEntity;
  6 +import org.apache.http.NameValuePair;
4 7 import org.apache.http.client.config.RequestConfig;
5 8 import org.apache.http.client.entity.EntityBuilder;
  9 +import org.apache.http.client.entity.UrlEncodedFormEntity;
6 10 import org.apache.http.client.methods.CloseableHttpResponse;
7 11 import org.apache.http.client.methods.HttpGet;
8 12 import org.apache.http.client.methods.HttpPost;
... ... @@ -10,6 +14,7 @@ import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
10 14 import org.apache.http.entity.StringEntity;
11 15 import org.apache.http.impl.client.CloseableHttpClient;
12 16 import org.apache.http.impl.client.HttpClients;
  17 +import org.apache.http.message.BasicNameValuePair;
13 18 import org.slf4j.Logger;
14 19 import org.slf4j.LoggerFactory;
15 20  
... ... @@ -17,9 +22,12 @@ import javax.net.ssl.*;
17 22 import java.io.BufferedReader;
18 23 import java.io.IOException;
19 24 import java.io.InputStreamReader;
  25 +import java.io.UnsupportedEncodingException;
20 26 import java.security.cert.CertificateException;
21 27 import java.security.cert.X509Certificate;
  28 +import java.util.ArrayList;
22 29 import java.util.HashMap;
  30 +import java.util.List;
23 31 import java.util.Map;
24 32  
25 33 /**
... ... @@ -29,6 +37,8 @@ public class HttpClientUtils {
29 37  
30 38 static Logger logger = LoggerFactory.getLogger(HttpClientUtils.class);
31 39  
  40 + private static ObjectMapper mapper = new ObjectMapper();
  41 +
32 42 private final static String HTTPS = "https://";
33 43  
34 44 private static SSLConnectionSocketFactory sslConnectionSocketFactory;
... ... @@ -146,6 +156,68 @@ public class HttpClientUtils {
146 156 return stringBuffer;
147 157 }
148 158  
  159 + public static StringBuilder post(String url, HttpEntity entity) throws Exception {
  160 + return post(url, entity, new HashMap<>());
  161 + }
  162 +
  163 + public static StringBuilder post(String url, HttpEntity entity, Map<String, Object> headers) throws Exception {
  164 + CloseableHttpClient httpClient = null;
  165 + CloseableHttpResponse response = null;
  166 + StringBuilder stringBuffer = null;
  167 + try {
  168 + httpClient = defaultHttpClient(url);
  169 + HttpPost post = new HttpPost(url);
  170 +
  171 + post.setHeader("Accept", "application/json");
  172 + post.setHeader("Content-Type", "application/json;charset=UTF-8");
  173 + if (headers.size() > 0) {
  174 + for (Map.Entry<String, Object> header : headers.entrySet()) {
  175 + post.setHeader(header.getKey(), String.valueOf(header.getValue()));
  176 + }
  177 + }
  178 + //超时时间
  179 + RequestConfig requestConfig = RequestConfig.custom()
  180 + .setConnectTimeout(5000).setConnectionRequestTimeout(5000)
  181 + .setSocketTimeout(5000).build();
  182 + post.setConfig(requestConfig);
  183 + if (entity != null) {
  184 + post.setEntity(entity);
  185 + }
  186 +
  187 + response = httpClient.execute(post);
  188 + stringBuffer = getResult(response.getEntity());
  189 + } catch (Exception e) {
  190 + logger.error("", e);
  191 + } finally {
  192 + if (null != httpClient)
  193 + httpClient.close();
  194 + if (null != response)
  195 + response.close();
  196 + }
  197 + return stringBuffer;
  198 + }
  199 +
  200 + public static StringEntity createJsonEntity(Object data) throws JsonProcessingException, UnsupportedEncodingException {
  201 + return new StringEntity(mapper.writeValueAsString(data));
  202 + }
  203 +
  204 + public static UrlEncodedFormEntity createFormEntity(Map<String, Object> data) throws UnsupportedEncodingException {
  205 + List<NameValuePair> pairs = new ArrayList<>();
  206 + for (Map.Entry<String, Object> entry : data.entrySet()) {
  207 + pairs.add(new BasicNameValuePair(entry.getKey(), String.valueOf(entry.getValue())));
  208 + }
  209 +
  210 + return new UrlEncodedFormEntity(pairs);
  211 + }
  212 +
  213 + public static Map<String, Object> createFormHeader() throws UnsupportedEncodingException {
  214 + Map<String, Object> headers = new HashMap<>();
  215 + headers.put("Accept", "*/*");
  216 + headers.put("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");
  217 +
  218 + return headers;
  219 + }
  220 +
149 221 private static StringBuilder getResult(HttpEntity entity) throws IOException {
150 222 StringBuilder stringBuffer = null;
151 223 if (null != entity) {
... ...
src/main/resources/application-dev.properties
... ... @@ -55,4 +55,10 @@ dsm.ack.url= http://211.95.61.66:9008/modules/dsmCheckTheRecord/addDsm?
55 55 ## cp ack interface
56 56 cp.ack.url= http://114.80.178.12:8778/prod-api/serverApi/instructionsIssue/confirm/
57 57 ## admin mail
58   -admin.mail= 3090342880@qq.com
59 58 \ No newline at end of file
  59 +admin.mail= 3090342880@qq.com
  60 +
  61 +sso.enabled= true
  62 +sso.systemcode = SYSUS023
  63 +sso.http.url.login= http://10.10.200.142:9112/login?redirect=%2Findex
  64 +sso.http.url.logout= http://10.10.200.142:9112/login?redirect=%2Findex
  65 +sso.http.url.auth= http://10.10.200.142:9112/prod-api/system/utilitySystem/checkToken
60 66 \ No newline at end of file
... ...
src/main/resources/application-iraq.properties deleted 100644 → 0
1   -server.port=9088
2   -
3   -# dubbo����ʹ�ÿ���flag
4   -dubbo.use=false
5   -
6   -#JPA
7   -spring.jpa.hibernate.ddl-auto= none
8   -spring.jpa.hibernate.naming.implicit-strategy=org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyHbmImpl
9   -spring.jpa.hibernate.naming.physical-strategy=org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy
10   -spring.jpa.database= MYSQL
11   -spring.jpa.properties.hibernate.enable_lazy_load_no_trans=true
12   -spring.jpa.show-sql= false
13   -spring.jpa.properties.hibernate.dialect= org.hibernate.spatial.dialect.mysql.MySQL56InnoDBSpatialDialect
14   -
15   -#DATABASE
16   -spring.datasource.driver-class-name= com.mysql.jdbc.Driver
17   -spring.datasource.url= jdbc:mysql://47.76.243.65/control?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai
18   -spring.datasource.username= root
19   -spring.datasource.password= root2jsp
20   -spring.datasource.type= com.zaxxer.hikari.HikariDataSource
21   -
22   -#DATASOURCE SETTING
23   -spring.datasource.hikari.minimum-idle= 8
24   -spring.datasource.hikari.maximum-pool-size= 100
25   -#spring.datasource.hikari.auto-commit= true
26   -spring.datasource.hikari.idle-timeout= 60000
27   -#spring.datasource.hikari.pool-name= HikariPool
28   -spring.datasource.hikari.max-lifetime= 1800000
29   -spring.datasource.hikari.connection-timeout= 3000
30   -spring.datasource.hikari.connection-test-query= SELECT 1
31   -spring.datasource.hikari.validation-timeout= 3000
32   -spring.datasource.hikari.register-mbeans=true
33   -
34   -## gps client data
35   -http.gps.real.cache.url= http://10.10.150.24:12580/realGps/all
36   -## gateway real data
37   -http.gps.real.url= http://47.76.243.65:18080/transport_server/rtgps/
38   -## gateway send directive
39   -http.send.directive= http://47.76.243.65:18080/transport_server/message/
40   -## rfid data
41   -http.rfid.url= http://10.10.150.103:9000/rfid
42   -## wxsb
43   -#http.report.url.05= http://192.168.168.154:8088/ygjwsystem_j2ee/clbx/clbx_dd.do
44   -#http.report.url.22= http://192.168.168.154:8088/jgjwsystem_j2ee/clbx/clbx_dd.do
45   -#http.report.url.26= http://192.168.168.154:8088/nhjwsystem_j2ee/clbx/clbx_dd.do
46   -#http.report.url.55= http://192.168.168.154:8088/snjwsystem_j2ee/clbx/clbx_dd.do
47   -http.report.url.05= http://116.228.197.222:8081/ygjwsystem_j2ee/clbx/clbx_dd.do
48   -http.report.url.22= http://116.247.73.122:9098/jgjwsystem_j2ee/clbx/clbx_dd.do
49   -http.report.url.26= http://116.236.141.34:8088/nhjwsystem_j2ee/clbx/clbx_dd.do
50   -http.report.url.55= http://180.168.216.248:8088/snjwsystem_j2ee/clbx/clbx_dd.do
51   -## http ticketing interface
52   -http.ticketing.interface= http://112.64.187.3:1080/gjService/request
53   -## first last generate
54   -ms.fl.generate=true
55   -## dsm ack interface
56   -dsm.ack.url= http://211.95.61.66:9008/modules/dsmCheckTheRecord/addDsm?
57   -## cp ack interface
58   -cp.ack.url= http://114.80.178.12:8778/prod-api/serverApi/instructionsIssue/confirm/
59   -## admin mail
60   -admin.mail= 3090342880@qq.com
61   -## enabled
62   -enabled.sqlinject= false
63 0 \ No newline at end of file
src/main/resources/application-prod.properties
... ... @@ -59,4 +59,10 @@ cp.ack.url= http://114.80.178.12:8778/prod-api/serverApi/instructionsIssue/confi
59 59 ## admin mail
60 60 admin.mail= 3090342880@qq.com
61 61 ## enabled
62   -enabled.sqlinject= false
63 62 \ No newline at end of file
  63 +enabled.sqlinject= false
  64 +
  65 +sso.enabled= true
  66 +sso.systemcode = SYSUS023
  67 +sso.http.url.login= http://10.10.200.142:9112/login?redirect=%2Findex
  68 +sso.http.url.logout= http://10.10.200.142:9112/login?redirect=%2Findex
  69 +sso.http.url.auth= http://10.10.200.142:9112/prod-api/system/utilitySystem/checkToken
64 70 \ No newline at end of file
... ...
src/main/resources/application-test.properties
... ... @@ -59,4 +59,10 @@ cp.ack.url= http://114.80.178.12:8778/prod-api/serverApi/instructionsIssue/confi
59 59 ## admin mail
60 60 admin.mail= 3090342880@qq.com
61 61 ## enabled
62   -enabled.sqlinject= false
63 62 \ No newline at end of file
  63 +enabled.sqlinject= false
  64 +
  65 +sso.enabled= true
  66 +sso.systemcode = SYSUS023
  67 +sso.http.url.login= http://10.10.200.142:9112/login?redirect=%2Findex
  68 +sso.http.url.logout= http://10.10.200.142:9112/login?redirect=%2Findex
  69 +sso.http.url.auth= http://10.10.200.142:9112/prod-api/system/utilitySystem/checkToke
64 70 \ No newline at end of file
... ...
src/main/resources/datatools/config-iraq.properties deleted 100644 → 0
1   -# 配置数据导入导出用到的配置信息
2   -
3   -# 1、kettle配置文件路径(类路径)
4   -datatools.kettle_properties=/datatools/kettle.properties
5   -# 2、ktr文件通用配置变量(数据库连接,根据不同的环境需要修正)
6   -
7   -#数据库ip地址
8   -datatools.kvars_dbip=47.76.243.65
9   -#数据库用户名
10   -datatools.kvars_dbuname=root
11   -#数据库密码
12   -datatools.kvars_dbpwd=root2jsp
13   -#数据库库名
14   -datatools.kvars_dbdname=control
15   -
16   -# 3、上传数据配置信息
17   -# 上传文件目录配置(根据不同的环境需要修正)
18   -datatools.fileupload_dir=/home/bsth_control_u_d_files
19   -# ktr转换文件,中配置的错误输出目录(根据不同的环境需要修正)
20   -datatools.trans_errordir=/home/bsth_control_u_d_files/erroroutput
21   -# 临时输出文件目录
22   -datatools.trans_tempdir=/home/bsth_control_u_d_files/temp
23   -# 模版文件目录
24   -datatools.trans_templatedir=/home/bsth_control_u_d_files/template
25   -
26   -##---------------------------- 导入数据ktr ----------------------------##
27   -# 车辆信息导入ktr转换
28   -datatools.cars_datainputktr=/datatools/ktrs/carsDataInput.ktr
29   -# 人员信息导入
30   -datatools.employees_datainputktr=/datatools/ktrs/employeesDataInput.ktr
31   -# 路牌信息导入
32   -datatools.guideboards_datainputktr=/datatools/ktrs/guideboardDataInput.ktr
33   -# 时刻表基础信息导入
34   -datatools.ttinfo_datainputktr=/datatools/ktrs/ttinfoDataInput.ktr
35   -# 时刻表明细信息导入(元数据)
36   -datatools.ttinfodetail_metadatainputktr=/datatools/ktrs/ttinfodetailDataInputMetaData.ktr
37   -# 时刻表明细编辑用数据
38   -datatools.ttinfodetail_foreditktr=/datatools/ktrs/ttinfodetailoutputforedit.ktr
39   -# 时刻表明细信息导入
40   -datatools.ttinfodetail_datainputktr=/datatools/ktrs/ttinfodetailDataInput.ktr
41   -# 时刻表明细信息导入2
42   -datatools.ttinfodetail_datainputktr2=/datatools/ktrs/ttinfodetailDataInput2.ktr
43   -# 时刻表明细信息导入2(版本化)
44   -datatools.ttinfodetail_datainputktr2version=/datatools/ktrs/ttinfodetailDataInput2_version.ktr
45   -# 时刻表明细信息导入2(版本化),使用生成时刻表格式
46   -datatools.ttinfodetail_datainputktr2version2=/datatools/ktrs/ttinfodetailDataInput2_version_2.ktr
47   -# 时刻表明细信息导入2,一般格式(路牌列后加一列工时列)
48   -datatools.ttinfodetail_datainputktr2normalwithgs=/datatools/ktrs/ttinfodetailDataInput2_normalwithgs.ktr
49   -
50   -# 车辆配置信息导入
51   -datatools.carsconfig_datainputktr=/datatools/ktrs/carsConfigDataInput.ktr
52   -# 人员配置信息导入
53   -datatools.employeesconfig_datainputktr=/datatools/ktrs/employeesConfigDataInput.ktr
54   -
55   -# 排版规则信息导入
56   -datatools.schedulerule_datainputktr=/datatools/ktrs/scheduleRuleDataInput.ktr
57   -
58   -# 4、数据导出配置信息
59   -# 导出数据文件目录配置(根据不同的环境需要修正)
60   -datatools.fileoutput_dir=/home/bsth_control_u_d_files
61   -
62   -##---------------------------- 导出数据ktr -----------------------------##
63   -# 车辆信息导出ktr转换
64   -datatools.cars_dataoutputktr=/datatools/ktrs/carsDataOutput.ktr
65   -# 人员信息导出ktr转换
66   -datatools.employees_dataoutputktr=/datatools/ktrs/employeesDataOutput.ktr
67   -# 时刻表导出元数据ktr转换
68   -datatools.ttinfodetail_metaoutput=/datatools/ktrs/ttinfodetailDataOutputMetaData.ktr
69   -# 时刻表导出数据ktr转换
70   -datatools.ttinfodetail_output=/datatools/ktrs/ttinfodetailDataOutput.ktr
71   -# 排版规则导出数据ktr转换
72   -datatools.schedulerule_output=/datatools/ktrs/scheduleRuleDataOutput.ktr
73   -
74   -# 车辆配置信息导出ktr转换
75   -datatools.carsconfig_dataoutputktr=/datatools/ktrs/carsConfigDataOutput.ktr
76   -# 人员配置信息导出ktr转换
77   -datatools.employeesconfig_dataoutputktr=/datatools/ktrs/employeesConfigDataOutput.ktr
78   -
79   -# 路牌信息导出
80   -datatools.guideboards_dataoutputktr=/datatools/ktrs/guideboardDataOutput.ktr
81   -
82   -##--------------------------- 数据同步ktr ------------------------##
83   -datatools.vehicle_datasyncktr=/datatools/ktrs/vehicleDataSync.ktr
84   -
85   -# TODO:
src/main/resources/dubbo/config-iraq.properties deleted 100644 → 0
1   -# application名字
2   -spring.dubbo.application.name=bsth_control_v_multi_service
3   -# zookeeper注册中心地址
4   -spring.dubbo.registry=zookeeper://127.0.0.1:2181
5   -# protocol配置
6   -spring.dubbo.protocol.name=dubbo
7   -spring.dubbo.protocol.port=30881
8   -
9   -#----------- dubbo:consumer 性能调优选项 -------------#
10   -# 远程服务调用超时时间,单位毫秒,这里设置30分钟
11   -spring.dubbo.consumer.timeout=1800000
12   -# 远程服务调用重试次数,0表示不需要重试
13   -spring.dubbo.consumer.retries=0
14   -#----------- dubbo:consumer 服务治理选项 -------------#
15   -# 启动不检查提供者是否存在
16   -spring.dubbo.consumer.check=false