From c7ea3633e49e501c33f668fc08fab2ffc0e3c38c Mon Sep 17 00:00:00 2001
From: chengf <cgf12138@163.com>
Date: 星期一, 18 八月 2025 18:10:28 +0800
Subject: [PATCH] 暂存0815

---
 springboot/src/main/java/com/java110/boot/BootApplicationStart.java |  155 ++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 122 insertions(+), 33 deletions(-)

diff --git a/springboot/src/main/java/com/java110/boot/BootApplicationStart.java b/springboot/src/main/java/com/java110/boot/BootApplicationStart.java
index 3539138..dc41267 100644
--- a/springboot/src/main/java/com/java110/boot/BootApplicationStart.java
+++ b/springboot/src/main/java/com/java110/boot/BootApplicationStart.java
@@ -16,39 +16,38 @@
 package com.java110.boot;
 
 import com.java110.core.annotation.Java110CmdDiscovery;
-import com.java110.core.annotation.Java110ListenerDiscovery;
+import com.java110.core.client.OutRestTemplate;
 import com.java110.core.client.RestTemplate;
+import com.java110.core.context.Environment;
 import com.java110.core.event.cmd.ServiceCmdEventPublishing;
-import com.java110.core.event.service.api.ServiceDataFlowEventPublishing;
 import com.java110.core.log.LoggerFactory;
 import com.java110.core.trace.Java110FeignClientInterceptor;
 import com.java110.core.trace.Java110RestTemplateInterceptor;
+import com.java110.doc.annotation.Java110ApiDocDiscovery;
+import com.java110.doc.annotation.Java110CmdDocDiscovery;
+import com.java110.doc.registrar.ApiDocCmdPublishing;
+import com.java110.doc.registrar.ApiDocPublishing;
+import com.java110.intf.dev.ICacheV1InnerServiceSMO;
 import com.java110.service.init.ServiceStartInit;
-import io.swagger.annotations.ApiOperation;
+import com.java110.utils.cache.MappingCache;
+import com.java110.utils.constant.MappingConstant;
+import com.java110.utils.factory.ApplicationContextFactory;
+import com.java110.utils.util.StringUtil;
 import okhttp3.ConnectionPool;
 import org.slf4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
-import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
 import org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration;
 import org.springframework.boot.web.client.RestTemplateBuilder;
-import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
 import org.springframework.cloud.client.loadbalancer.LoadBalanced;
-import org.springframework.cloud.openfeign.EnableFeignClients;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
+import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
 import org.springframework.http.converter.StringHttpMessageConverter;
 import org.springframework.scheduling.annotation.EnableAsync;
-import springfox.documentation.builders.ApiInfoBuilder;
-import springfox.documentation.builders.PathSelectors;
-import springfox.documentation.builders.RequestHandlerSelectors;
-import springfox.documentation.service.ApiInfo;
-import springfox.documentation.spi.DocumentationType;
-import springfox.documentation.spring.web.plugins.Docket;
-import springfox.documentation.swagger2.annotations.EnableSwagger2;
+import org.springframework.scheduling.annotation.EnableScheduling;
 
 import javax.annotation.Resource;
 import java.nio.charset.Charset;
@@ -58,23 +57,8 @@
 /**
  * 杩欎釜鏈嶅姟鏄皢 绯荤粺閮ㄧ讲涓簊pring boot鐗�
  * 濡傛灉鏄痵pring cloud 寰湇鍔¢儴缃� 涓嶇敤鍚姩杩欎釜绫�
+ * <p>
  *
- * excludeName = {
- "com.java110.intf.acct",
- "com.java110.intf.code",
- "com.java110.intf.common",
- "com.java110.intf.community",
- "com.java110.intf.demo",
- "com.java110.intf.dev",
- "com.java110.intf.fee",
- "com.java110.intf.goods",
- "com.java110.intf.job",
- "com.java110.intf.oa",
- "com.java110.intf.order",
- "com.java110.intf.report",
- "com.java110.intf.store",
- "com.java110.intf.user"
- }
  * @version v0.1
  * @auther com.java110.wuxw
  * @mail 928255095@qq.com
@@ -97,11 +81,16 @@
         "com.java110.report",
         "com.java110.store",
         "com.java110.user",
+        "com.java110.doc",
+        "com.java110.scm",
+        "com.java110.api",
         "com.java110.boot"
 },
         exclude = {LiquibaseAutoConfiguration.class,
                 org.activiti.spring.boot.SecurityAutoConfiguration.class,
-                org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration.class}
+                org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration.class,
+                com.github.pagehelper.autoconfigure.MapperAutoConfiguration.class
+        }
 
 )
 @Java110CmdDiscovery(cmdPublishClass = ServiceCmdEventPublishing.class,
@@ -116,9 +105,29 @@
                 "com.java110.order.cmd",
                 "com.java110.report.cmd",
                 "com.java110.store.cmd",
+                "com.java110.scm.cmd",
                 "com.java110.user.cmd"
         })
+@EnableScheduling
 @EnableAsync
+//鏂囨。
+@Java110ApiDocDiscovery(basePackages = {"com.java110.boot.rest"}, apiDocClass = ApiDocPublishing.class)
+@Java110CmdDocDiscovery(basePackages = {
+        "com.java110.acct.cmd",
+        "com.java110.acct.payment.business",
+        "com.java110.common.cmd",
+        "com.java110.community.cmd",
+        "com.java110.dev.cmd",
+        "com.java110.fee.cmd",
+        "com.java110.job.cmd",
+        "com.java110.oa.cmd",
+        "com.java110.order.cmd",
+        "com.java110.report.cmd",
+        "com.java110.store.cmd",
+        "com.java110.scm.cmd",
+        "com.java110.user.cmd"
+},
+        cmdDocClass = ApiDocCmdPublishing.class)
 public class BootApplicationStart {
 
     private static Logger logger = LoggerFactory.getLogger(BootApplicationStart.class);
@@ -132,16 +141,54 @@
      * @return restTemplate
      */
     @Bean
-    public RestTemplate outRestTemplate() {
+    public OutRestTemplate outRestTemplate() {
         StringHttpMessageConverter m = new StringHttpMessageConverter(Charset.forName("UTF-8"));
+        m.setWriteAcceptCharset(false);
+        OutRestTemplate restTemplate = new RestTemplateBuilder().additionalMessageConverters(m).build(OutRestTemplate.class);
+        restTemplate.getInterceptors().add(java110RestTemplateInterceptor);
+
+        //璁剧疆瓒呮椂鏃堕棿
+        HttpComponentsClientHttpRequestFactory httpRequestFactory = new HttpComponentsClientHttpRequestFactory();
+        httpRequestFactory.setConnectionRequestTimeout(10000);
+        httpRequestFactory.setConnectTimeout(10000);
+        httpRequestFactory.setReadTimeout(10000);
+        restTemplate.setRequestFactory(httpRequestFactory);
+        return restTemplate;
+    }
+
+    @Bean
+    //@LoadBalanced
+    public RestTemplate formRestTemplate() {
+        RestTemplate restTemplate = new RestTemplate();
+        restTemplate.getMessageConverters().add(new StringHttpMessageConverter(Charset.forName("UTF-8")));
+        return restTemplate;
+    }
+
+    /**
+     * 瀹炰緥鍖朢estTemplate锛岄�氳繃@LoadBalanced娉ㄨВ寮�鍚潎琛¤礋杞借兘鍔�.
+     *
+     * @return restTemplate
+     */
+    @Bean
+    @LoadBalanced
+    public RestTemplate restTemplate() {
+        StringHttpMessageConverter m = new StringHttpMessageConverter(Charset.forName("UTF-8"));
+        m.setWriteAcceptCharset(false);
         RestTemplate restTemplate = new RestTemplateBuilder().additionalMessageConverters(m).build(RestTemplate.class);
+        restTemplate.getInterceptors().add(java110RestTemplateInterceptor);
+        //璁剧疆瓒呮椂鏃堕棿
+        HttpComponentsClientHttpRequestFactory httpRequestFactory = new HttpComponentsClientHttpRequestFactory();
+        httpRequestFactory.setConnectionRequestTimeout(10000);
+        httpRequestFactory.setConnectTimeout(10000);
+        httpRequestFactory.setReadTimeout(10000);
+        restTemplate.setRequestFactory(httpRequestFactory);
         return restTemplate;
     }
 
     @Bean
     @ConditionalOnBean(Java110FeignClientInterceptor.class)
     public okhttp3.OkHttpClient okHttpClient(@Autowired
-                                                     Java110FeignClientInterceptor okHttpLoggingInterceptor) {
+                                             Java110FeignClientInterceptor okHttpLoggingInterceptor) {
         okhttp3.OkHttpClient.Builder ClientBuilder = new okhttp3.OkHttpClient.Builder()
                 .readTimeout(30, TimeUnit.SECONDS) //璇诲彇瓒呮椂
                 .connectTimeout(10, TimeUnit.SECONDS) //杩炴帴瓒呮椂
@@ -157,9 +204,51 @@
             ApplicationContext context = SpringApplication.run(BootApplicationStart.class, args);
             //鏈嶅姟鍚姩鍔犺浇
             ServiceStartInit.initSystemConfig(context);
+
+            Environment.setSystemStartWay(Environment.SPRING_BOOT);
+
+            //鍒锋柊缂撳瓨
+//            flushMainCache(args);
+
+            //鏈嶅姟鍚姩瀹屾垚
+            ServiceStartInit.printStartSuccessInfo();
+
+
         } catch (Throwable e) {
             logger.error("绯荤粺鍚姩澶辫触", e);
         }
     }
 
+
+
+    /**
+     * 鍒锋柊涓昏鐨勭紦瀛�
+     *
+     * @param args
+     */
+    private static void flushMainCache(String[] args) {
+
+        logger.debug("鍒ゆ柇鏄惁闇�瑕佸埛鏂版棩蹇楋紝鍙傛暟 args 涓� {}", args);
+
+        //鍥犱负濂藉鏈嬪弸鍚姩鏃� 涓嶅姞 鍙傛暟-Dcache 鎵�浠ュ惎鍔ㄦ椂妫�娴� redis 涓槸鍚﹀瓨鍦� java110_hc_version
+        //String mapping = MappingCache.getValue(MappingConstant.ENV_DOMAIN,"java110_hc_version");
+        String mapping = "";
+        if (StringUtil.isEmpty(mapping)) {
+            ICacheV1InnerServiceSMO devServiceCacheSMOImpl = (ICacheV1InnerServiceSMO) ApplicationContextFactory.getBean(ICacheV1InnerServiceSMO.class);
+            devServiceCacheSMOImpl.startFlush();
+            return;
+        }
+
+        if (args == null || args.length == 0) {
+            return;
+        }
+        for (int i = 0; i < args.length; i++) {
+            if (args[i].equalsIgnoreCase("-Dcache")) {
+                logger.debug("寮�濮嬪埛鏂版棩蹇楋紝鍏ュ弬涓猴細{}", args[i]);
+                ICacheV1InnerServiceSMO devServiceCacheSMOImpl = (ICacheV1InnerServiceSMO) ApplicationContextFactory.getBean(ICacheV1InnerServiceSMO.class);
+                devServiceCacheSMOImpl.startFlush();
+            }
+        }
+    }
+
 }
\ No newline at end of file

--
Gitblit v1.8.0