From 7ff176bf622d6a4bad0fb2bdf92f11a79f0dd24a Mon Sep 17 00:00:00 2001 From: ludc Date: 星期四, 04 五月 2023 14:17:49 +0800 Subject: [PATCH] 增加弹窗界面,整合代码 --- Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/repeater/DomainRepeater.java | 83 +++++++++++++++++++++-------------------- 1 files changed, 42 insertions(+), 41 deletions(-) diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/repeater/DomainRepeater.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/repeater/DomainRepeater.java index 740d7bd..2ee2237 100644 --- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/repeater/DomainRepeater.java +++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/repeater/DomainRepeater.java @@ -2,28 +2,27 @@ import com.alibaba.cloud.nacos.NacosDiscoveryProperties; import com.alibaba.cloud.nacos.NacosServiceManager; -import com.alibaba.fastjson.JSON; -import com.alibaba.nacos.api.annotation.NacosInjected; +import com.alibaba.fastjson.JSONObject; import com.alibaba.nacos.api.exception.NacosException; import com.alibaba.nacos.api.naming.NamingService; import com.alibaba.nacos.api.naming.pojo.Instance; -import com.vci.ubcs.omd.vo.OmdBtmTypeVO; -import org.apache.http.Header; -import org.apache.http.client.methods.CloseableHttpResponse; -import org.apache.http.client.methods.HttpPost; -import org.apache.http.entity.StringEntity; -import org.apache.http.impl.client.CloseableHttpClient; -import org.apache.http.impl.client.HttpClientBuilder; +import com.vci.ubcs.omd.vo.BtmTypeVO; import org.springblade.core.launch.constant.AppConstant; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.StringPool; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; -import org.springframework.stereotype.Repository; +import org.springframework.http.HttpEntity; +import org.springframework.http.HttpHeaders; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; import org.springframework.web.client.RestTemplate; import javax.annotation.PostConstruct; +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; +import java.util.Optional; /** * Description: 棰嗗煙杞彂鍣� @@ -31,8 +30,9 @@ * @author LiHang * @date 2023/4/25 */ -@Repository public class DomainRepeater { + private DomainRepeater() { + } /** * 鎺у埗鍣ㄨ矾寰� @@ -54,50 +54,51 @@ */ public static final String API_GET_ALL_TABLE_INFO = API_PREFIX + StringPool.SLASH +"getAllTableInfo"; - @NacosInjected - private NamingService nacosNamingService; + /** + * Nacos鏈嶅姟鍒楄〃 + */ + private static NamingService namingService = SINGLE.build(); - @Component - public static class SINGLE{ + private static class SINGLE { @Autowired - private NacosServiceManager nacosServiceManager; + private NacosServiceManager manager; + private static NacosServiceManager nacosServiceManager; @Autowired - private NacosDiscoveryProperties nacosDiscoveryProperties; - - private static NamingService nacosNamingService; + private NacosDiscoveryProperties properties; + private static NacosDiscoveryProperties nacosDiscoveryProperties; @PostConstruct - public NamingService build(){ - nacosNamingService = nacosServiceManager.getNamingService(nacosDiscoveryProperties.getNacosProperties()); - return nacosNamingService; + private void init(){ + nacosServiceManager = manager; + nacosDiscoveryProperties = properties; + } + private static NamingService build(){ + return nacosServiceManager.getNamingService(nacosDiscoveryProperties.getNacosProperties()); } } - private RestTemplate restTemplate = new RestTemplate(); - - public Object submitBtmType (String serviceName, OmdBtmTypeVO omdBtmTypeVO) throws NacosException { - - if (nacosNamingService == null){ - nacosNamingService = SINGLE.nacosNamingService; - } - Instance service = nacosNamingService.selectOneHealthyInstance(AppConstant.APPLICATION_GATEWAY_NAME); + public static R submitBtmType (String serviceName, BtmTypeVO btmTypeVO) throws NacosException { + Instance service = namingService.selectOneHealthyInstance(AppConstant.APPLICATION_GATEWAY_NAME); try { String url = "http://" + service.getIp() +StringPool.COLON+ service.getPort() + StringPool.SLASH + serviceName + StringPool.SLASH + API_SUBMIT_BTM_TYPE; - HttpPost httpPost = buildPost(url); - httpPost.setEntity(new StringEntity(JSON.toJSONString(omdBtmTypeVO),"utf-8")); - CloseableHttpClient httpClient = HttpClientBuilder.create().build(); - CloseableHttpResponse response = httpClient.execute(httpPost); - return response; + ResponseEntity<R> responseEntity = executePost(url, JSONObject.toJSONString(btmTypeVO), null); + if (responseEntity.getStatusCode().equals(HttpStatus.OK)){ + return responseEntity.getBody(); + } + return R.fail(String.valueOf(responseEntity.getStatusCode().value())); } catch (Exception e) { throw new RuntimeException(e); } } - private HttpPost buildPost(String url){ - HttpPost httpPost = new HttpPost(url); - httpPost.setHeader("Content-Type","application/json;charset=UTF-8"); - httpPost.setHeader("Blade-Auth", AuthUtil.getHeader()); - return httpPost; + private static ResponseEntity<R> executePost(String url, String body,Map<String,String> extraHeaders) throws IOException { + RestTemplate restTemplate = new RestTemplate(); + HttpHeaders httpHeaders = new HttpHeaders(); + httpHeaders.add("Content-Type","application/json;charset=UTF-8"); + httpHeaders.add("Blade-Auth", AuthUtil.getHeader()); + Optional.ofNullable(extraHeaders).orElseGet(HashMap::new).forEach(httpHeaders::add); + HttpEntity<String> request = new HttpEntity<>(body,httpHeaders); + return restTemplate.postForEntity(url, request, R.class); } } -- Gitblit v1.9.3