Commit 6ee5e1d0 authored by duanruiming's avatar duanruiming

[update] 添加远程调用feign接口缓存

parent 774ced4a
...@@ -26,6 +26,11 @@ ...@@ -26,6 +26,11 @@
</properties> </properties>
<dependencies> <dependencies>
<dependency>
<groupId>net.wanji</groupId>
<artifactId>signal-feign-service</artifactId>
<version>0.0.2</version>
</dependency>
<dependency> <dependency>
<groupId>net.wanji</groupId> <groupId>net.wanji</groupId>
<artifactId>wj-common</artifactId> <artifactId>wj-common</artifactId>
......
package net.wanji.utc.cache;
import net.wanji.common.enums.BaseEnum;
import net.wanji.common.framework.spring.ServiceBeanContext;
import net.wanji.feign.service.common.UtcFeignCommon;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;
import java.util.HashMap;
import java.util.Map;
/**
* @author duanruiming
* @date 2023/05/22 10:20
*/
@Component
public class UtcFeignClientCache implements CommandLineRunner {
public static final Map<String, UtcFeignCommon> utcFeignClientsMap = new HashMap();
public UtcFeignCommon getUtcFeignClientService(String name) {
if (!utcFeignClientsMap.isEmpty()) {
UtcFeignCommon utcFeignCommon = utcFeignClientsMap.get(name);
return utcFeignCommon;
}
return null;
}
@Override
public void run(String... args) throws Exception {
init();
}
public void init() {
Map<String, UtcFeignCommon> interfaceBeanMap = ServiceBeanContext.getInterfaceBeanMap(UtcFeignCommon.class);
if (!interfaceBeanMap.isEmpty()) {
for (Map.Entry<String, UtcFeignCommon> item : interfaceBeanMap.entrySet()) {
String feignName = item.getKey();
UtcFeignCommon utcFeignClientService = item.getValue();
for (BaseEnum.VendorTypeEnum value : BaseEnum.VendorTypeEnum.values()) {
if (feignName.contains(value.getNick())) {
utcFeignClientsMap.put(value.getNick(), utcFeignClientService);
break;
}
}
}
}
}
}
...@@ -4,6 +4,8 @@ import com.alibaba.fastjson.JSONObject; ...@@ -4,6 +4,8 @@ import com.alibaba.fastjson.JSONObject;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import net.wanji.common.framework.rest.JsonViewObject; import net.wanji.common.framework.rest.JsonViewObject;
import net.wanji.databus.vo.*; import net.wanji.databus.vo.*;
import net.wanji.feign.service.common.UtcFeignCommon;
import net.wanji.utc.cache.UtcFeignClientCache;
import net.wanji.utc.po.hk.request.DelBaseConfigPO; import net.wanji.utc.po.hk.request.DelBaseConfigPO;
import net.wanji.utc.service.control.ControlCommandService; import net.wanji.utc.service.control.ControlCommandService;
import net.wanji.utc.util.HttpRestUtil; import net.wanji.utc.util.HttpRestUtil;
...@@ -24,6 +26,7 @@ public class WanJiControlCommandServiceImpl implements ControlCommandService { ...@@ -24,6 +26,7 @@ public class WanJiControlCommandServiceImpl implements ControlCommandService {
private final HttpRestUtil httpRestUtil; private final HttpRestUtil httpRestUtil;
@Value("url") @Value("url")
private String rpcUri; private String rpcUri;
private final UtcFeignClientCache utcFeignClientCache;
/** /**
* @param schemeSendVO * @param schemeSendVO
...@@ -96,7 +99,10 @@ public class WanJiControlCommandServiceImpl implements ControlCommandService { ...@@ -96,7 +99,10 @@ public class WanJiControlCommandServiceImpl implements ControlCommandService {
public JsonViewObject recoverSchedule(String crossId) throws Exception { public JsonViewObject recoverSchedule(String crossId) throws Exception {
HashMap<String, Object> paraMap = new HashMap<>(); HashMap<String, Object> paraMap = new HashMap<>();
paraMap.put("crossId", crossId); paraMap.put("crossId", crossId);
JsonViewObject jsonViewObject = rpcService(httpRestUtil, rpcUri, null, JSONObject.toJSONString(paraMap)); // JsonViewObject jsonViewObject = rpcService(httpRestUtil, rpcUri, null, JSONObject.toJSONString(paraMap));
UtcFeignCommon dtService = utcFeignClientCache.getUtcFeignClientService("DT");
JsonViewObject jsonViewObject = dtService.recoverSchedule(crossId);
// .recoverSchedule(crossId);
if (StringUtils.endsWithIgnoreCase("success", jsonViewObject.getStatus())) { if (StringUtils.endsWithIgnoreCase("success", jsonViewObject.getStatus())) {
return jsonViewObject.success("万集标准协议恢复时间表成功!"); return jsonViewObject.success("万集标准协议恢复时间表成功!");
} }
......
server:
port: 32000
servlet:
context-path: /utc
spring:
datasource:
dynamic:
primary: master
datasource:
master:
type: com.alibaba.druid.pool.DruidDataSource
url: jdbc:mysql://106.120.201.126:14726/t_signal_utc_changsha?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&sessionVariables=sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'&useSSL=false&useCursorFetch=true
username: root
password: Wanji300552
driverClassName: com.mysql.cj.jdbc.Driver
slave:
type: com.alibaba.druid.pool.DruidDataSource
url: jdbc:mysql://106.120.201.126:14726/t_signal_utc_changsha?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&sessionVariables=sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'&useSSL=false&useCursorFetch=true
username: root
password: Wanji300552
driverClassName: com.mysql.cj.jdbc.Driver
redis:
host: 106.120.201.126
port: 14728
password: Wanji300552
jedis:
pool:
max-active: 200
max-wait: 5000
max-idle: 20
min-idle: 10
timeout: 5000
database: 5
# 测试信号平台
signal:
# true测试不执行方案下发 重点
mock: false
# 厂商接口
manufacturer:
hk:
# 服务地址
artemisHost: 10.102.1.183
# 接口服务验证用户名
artemisAppKey: 20893705
# 接口服务验证密钥
artemisAppSecret: jwr6D6h8xcZbgjqiwe6G
# 海康能力开放平台的网站路径
artemisPath: /artemis
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