Commit 672c050a authored by eddie.woo's avatar eddie.woo

配置文件修改

parent 68117049
......@@ -3,6 +3,8 @@ package pwc.taxtech.atms.common.config;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import java.util.Map;
@Configuration
public class SystemConfig {
@Value("${longi_api_basic_user}")
......@@ -40,6 +42,9 @@ public class SystemConfig {
@Value("${tableau_dashboard}")
private String tableauDashboard;
@Value("#{${id.generator.mapping}}")
private Map<String, String> idGeneratorMap;
public String getLongiApiBasicUser() {
return this.longiApiBasicUser;
}
......@@ -167,4 +172,12 @@ public class SystemConfig {
public void setTableauDashboard(String tableauDashboard) {
this.tableauDashboard = tableauDashboard;
}
public Map<String, String> getIdGeneratorMap() {
return this.idGeneratorMap;
}
public void setIdGeneratorMap(Map<String, String> idGeneratorMap) {
this.idGeneratorMap = idGeneratorMap;
}
}
package pwc.taxtech.atms.common.util;
import java.math.BigDecimal;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.UnknownHostException;
import java.util.Enumeration;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
......@@ -39,4 +43,46 @@ public class CommonUtil {
public static BigDecimal BigDecimal2Fix(BigDecimal bigDecimal){
return bigDecimal.setScale(2, BigDecimal.ROUND_DOWN);
}
/**
* 获取本机IP
* @return IP
* @throws UnknownHostException ex
*/
public static InetAddress getLocalHostLANAddress() throws UnknownHostException {
try {
InetAddress candidateAddress = null;
// 遍历所有的网络接口
for (Enumeration ifaces = NetworkInterface.getNetworkInterfaces(); ifaces.hasMoreElements(); ) {
NetworkInterface iface = (NetworkInterface) ifaces.nextElement();
// 在所有的接口下再遍历IP
for (Enumeration inetAddrs = iface.getInetAddresses(); inetAddrs.hasMoreElements(); ) {
InetAddress inetAddr = (InetAddress) inetAddrs.nextElement();
if (!inetAddr.isLoopbackAddress()) {// 排除loopback类型地址
if (inetAddr.isSiteLocalAddress()) {
// 如果是site-local地址
return inetAddr;
} else if (candidateAddress == null) {
// site-local类型的地址未被发现,先记录候选地址
candidateAddress = inetAddr;
}
}
}
}
if (candidateAddress != null) {
return candidateAddress;
}
// 如果没有发现 non-loopback地址.只能用最次选的方案
InetAddress jdkSuppliedAddress = InetAddress.getLocalHost();
if (jdkSuppliedAddress == null) {
throw new UnknownHostException("The JDK InetAddress.getLocalHost() method unexpectedly returned null.");
}
return jdkSuppliedAddress;
} catch (Exception e) {
UnknownHostException unknownHostException = new UnknownHostException(
"Failed to determine LAN address: " + e);
unknownHostException.initCause(e);
throw unknownHostException;
}
}
}
package pwc.taxtech.atms.service.impl;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import pwc.taxtech.atms.common.config.SystemConfig;
import pwc.taxtech.atms.common.util.CommonUtil;
import pwc.taxtech.atms.common.util.SnowFlake;
import javax.annotation.PostConstruct;
import javax.annotation.Resource;
import java.util.Map;
@Component
public class DistributedIdService {
private static final Logger logger = LoggerFactory.getLogger(DistributedIdService.class);
@Value("${distributed_id_datacenter}")
private Integer dataCenterId;
@Value("${distributed_id_machine}")
private Integer machineId;
private static final int DEFAULT_MACHINE_ID = 1;
@Resource
private SystemConfig systemConfig;
private SnowFlake snowFlake;
@PostConstruct
public void init() {
snowFlake = new SnowFlake(dataCenterId, machineId);
public void init() throws Exception {
String ip = CommonUtil.getLocalHostLANAddress().getHostAddress();
for (Map.Entry<String, String> entry : systemConfig.getIdGeneratorMap().entrySet()) {
if (StringUtils.trim(entry.getValue()).equals(ip)) {
snowFlake = new SnowFlake(dataCenterId, Integer.valueOf(entry.getKey()));
logger.info("初始化 dataCenterId: {} machineId: {}", dataCenterId, Integer.valueOf(entry.getKey()));
break;
}
}
if (null == snowFlake) {
snowFlake = new SnowFlake(dataCenterId, DEFAULT_MACHINE_ID);
logger.info("初始化 dataCenterId: {} machineId: {}", dataCenterId, DEFAULT_MACHINE_ID);
}
}
/**
......
......@@ -37,7 +37,8 @@ max_file_length=${max_file_length}
#Distributed ID Generate
distributed_id_datacenter=${distributed_id_datacenter}
distributed_id_machine=${distributed_id_machine}
distributed_id_machine=${distributed_id_machine}
id.generator.mapping=${id.generator.mapping}
api.url=${api.url}
......
......@@ -35,6 +35,7 @@ max_file_length=104857600
#Distributed ID Generate
distributed_id_datacenter=1
distributed_id_machine=1
id.generator.mapping={1:"127.0.0.1", 2:"10.158.230.16", 3:"10.158.141.14"}
api.url=http://dts.erp.didichuxing.com:8180
......
......@@ -39,6 +39,7 @@ max_file_length=104857600
#Distributed ID Generate
distributed_id_datacenter=10
distributed_id_machine=15
id.generator.mapping={1:"10.89.181.18", 2:"10.89.182.17"}
api.url=http://dts.erp.didichuxing.com:8180
......
......@@ -33,6 +33,7 @@ max_file_length=104857600
#Distributed ID Generate
distributed_id_datacenter=10
distributed_id_machine=10
id.generator.mapping={1:"10.158.230.16", 2:"10.158.230.16"}
api.url=http://dts.erp.didichuxing.com
......
......@@ -40,6 +40,7 @@ max_file_length=104857600
#Distributed ID Generate
distributed_id_datacenter=10
distributed_id_machine=16
id.generator.mapping={1:"172.20.2.218", 2:"172.20.2.218"}
api.url=http://dts-test.erp.didichuxing.com
......@@ -59,8 +60,8 @@ file_upload_query_url=http://10.88.128.214:8001/resource/erp_tax_system
#���ϵ�ַget_user_info_url=http://mis.diditaxi.com.cn/auth/sso/api/
check_ticket=true
get_user_info_url=http://mis.diditaxi.com.cn/auth/sso/api/
app_id=2500
app_key=983258e7fd04d7fa0534735f7b1c33f3
app_id=2425
app_key=71799b6ab7049a5d456f6124d23fc373
cookie.maxAgeSeconds=18000
org_sync_url=http://10.96.238.10/erp-main-data-test-v2/api/companies
org_sync_token=174af08f
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment