From b642d244b6df736ecd390368a9ffff72ddad56e5 Mon Sep 17 00:00:00 2001 From: ludc <pUXmgxCf6A> Date: 星期三, 17 五月 2023 21:57:11 +0800 Subject: [PATCH] 以及发布webservice接口功能搭建,将通通用接口移植过来 --- Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/ApplicationContextProvider.java | 99 ++++++++++++++++++++++++ Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/config/AppAutoConfigure.java | 113 ++++++++++++++++++++++++++++ Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/VciBaseUtil.java | 7 + 3 files changed, 219 insertions(+), 0 deletions(-) diff --git a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/config/AppAutoConfigure.java b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/config/AppAutoConfigure.java index e69de29..c5b2ab7 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/config/AppAutoConfigure.java +++ b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/config/AppAutoConfigure.java @@ -0,0 +1,113 @@ +package com.vci.ubcs.starter.web.config; + +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.context.annotation.Configuration; + +/** + * 搴旂敤淇℃伅閰嶇疆 + * @author weidy + */ +@Configuration +@ConfigurationProperties(prefix = "app") +public class AppAutoConfigure { + /** + * 鎵�灞炵粍缁� + */ + private String group; + /** + * 搴旂敤鍚嶇О + */ + private String name; + /** + * 搴旂敤鎻忚堪 + */ + private String description; + /** + * 浣滆�� + */ + private String author; + /** + * 閭欢 + */ + private String email; + /** + * 閾炬帴鍦板潃 + */ + private String url; + + /** + * 搴旂敤绉侀挜 + */ + private String privateTokenKey; + + + + public String getGroup() { + return group; + } + + public void setGroup(String group) { + this.group = group; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public String getAuthor() { + return author; + } + + public void setAuthor(String author) { + this.author = author; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + + public String getPrivateTokenKey() { + return privateTokenKey; + } + + public void setPrivateTokenKey(String privateTokenKey) { + this.privateTokenKey = privateTokenKey; + } + + @Override + public String toString() { + return "AppAutoConfigure{" + + "group='" + group + '\'' + + ", name='" + name + '\'' + + ", description='" + description + '\'' + + ", author='" + author + '\'' + + ", email='" + email + '\'' + + ", url='" + url + '\'' + + ", privateTokenKey='" + privateTokenKey + '\'' + + '}'; + } +} diff --git a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/ApplicationContextProvider.java b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/ApplicationContextProvider.java index e69de29..7fedeb5 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/ApplicationContextProvider.java +++ b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/ApplicationContextProvider.java @@ -0,0 +1,99 @@ +package com.vci.ubcs.starter.web.util; + +import com.vci.ubcs.starter.web.config.AppAutoConfigure; +import org.springblade.core.tool.api.R; +import org.springframework.beans.BeansException; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.ApplicationContext; +import org.springframework.context.ApplicationContextAware; +import org.springframework.context.ConfigurableApplicationContext; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * spring鐨勪笂涓嬫枃宸ュ叿锛� + * 娉ㄦ剰springmvc涓殑controller涓嶅簲璇ュ湪杩欓噷鑾峰彇锛屽洜涓簊pringmvc鍙簲璇ヨ鍓嶇璋冪敤 + * 娌℃湁浣跨敤springboot鐨刴ain鍑芥暟閲岃缃苟鑾峰彇鏄洜涓哄彲鑳戒細璁╁涓湇鍔″悎骞跺埌涓�璧峰惎鍔� + * @author weidy + * @date 2019/10/31 9:02 AM + */ +@RestController +@RequestMapping("/application") +public class ApplicationContextProvider implements ApplicationContextAware { + + /** + * 鏈嶅姟鐨勯厤缃� + */ + @Autowired + private AppAutoConfigure appAutoConfigure; + + /** + * 搴旂敤鐨勪笂涓嬫枃 + */ + private static ApplicationContext applicationContext ; + + /** + * 璁剧疆搴旂敤鐨勪笂涓嬫枃 + * @param applicationContext 涓婁笅鏂� + * @throws BeansException 鍑虹幇閿欒鏃堕渶瑕佹姏鍑哄紓甯哥粰spring瀹瑰櫒 + */ + @Override + public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { + ApplicationContextProvider.applicationContext = applicationContext; + } + + /** + * 鑾峰彇搴旂敤鐨勪笂涓嬫枃 + * @return 涓婁笅鏂� + */ + public static ApplicationContext getApplicationContext() { + return applicationContext; + } + + /** + * 鑾峰彇瀵硅薄 + * @param name bean鐨勫悕绉� + * @return Object bean鐨勫璞� + * @throws BeansException 濡傛灉涓嶅瓨鍦ㄤ細鎶涘嚭寮傚父 + */ + public static Object getBean(String name) throws BeansException { + return applicationContext.getBean(name); + } + + /** + * 鑾峰彇瀵硅薄 + * @param c bean鐨勬帴鍙g被 + * @param <T> bean鎵�灞炵被鐨勭被鍨� + * @return bean瀵硅薄 + * @throws BeansException 濡傛灉涓嶅瓨鍦ㄤ細鎶涘嚭寮傚父 + */ + public static <T> T getBean(Class<T> c) throws BeansException{ + return applicationContext.getBean(c); + } + + /** + * 鍏虫満 + * @return 鎵ц瀹屾垚 + */ + @PostMapping("/shutDownContext") + public R shutDownContext(String privateKey){ + if( appAutoConfigure.getPrivateTokenKey().equalsIgnoreCase(privateKey)) { + ConfigurableApplicationContext ctx = (ConfigurableApplicationContext) applicationContext; + ctx.close(); + return R.success("鍏抽棴鏈嶅姟鎴愬姛"); + }else{ + return R.fail("鎮ㄦ病鏈夋潈闄愬叧闂湇鍔�"); + } + } + + /** + * 妫�鏌ユ槸鍚﹀畬鎴� + * @return 璋冪敤灏辫鏄庢垚鍔熶簡 + */ + @PostMapping("/checkOnline") + public R checkOnline(){ + return R.success("鍚姩瀹屾垚"); + } + +} diff --git a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/VciBaseUtil.java b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/VciBaseUtil.java index bf83190..a4e1111 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/VciBaseUtil.java +++ b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/VciBaseUtil.java @@ -87,6 +87,13 @@ return si; } } + /** + * 璁剧疆褰撳墠绾跨▼涓殑鐢ㄦ埛瀵硅薄 + * @param sessionInfo 鐢ㄦ埛瀵硅薄 + */ + public static void setCurrentUserSessionInfo(SessionInfo sessionInfo){ + WebThreadLocalUtil.getCurrentUserSessionInfoInThread().set(sessionInfo); + } public static long getLong(String s) { long l = 0L; if (s == null) { -- Gitblit v1.9.3