Explorar el Código

提交保存一版

15810770710@163.com hace 3 años
padre
commit
846d2059b2

+ 34 - 3
src/main/java/com/jkcredit/record/storage/config/EsConfig.java

@@ -1,9 +1,14 @@
 package com.jkcredit.record.storage.config;
 
 import org.apache.http.HttpHost;
+import org.apache.http.auth.AuthScope;
+import org.apache.http.auth.UsernamePasswordCredentials;
+import org.apache.http.client.CredentialsProvider;
+import org.apache.http.impl.client.BasicCredentialsProvider;
 import org.elasticsearch.action.bulk.BulkRequestBuilder;
 import org.elasticsearch.client.*;
 import org.elasticsearch.transport.Transport;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 
@@ -13,6 +18,14 @@ import org.springframework.context.annotation.Configuration;
  **/
 @Configuration
 public class EsConfig {
+    @Value("${ElasticSearch.host}")
+    private String host;
+    @Value("${ElasticSearch.port}")
+    private Integer port;
+    @Value("${ElasticSearch.username}")
+    private String username;
+    @Value("${ElasticSearch.password}")
+    private String password;
 
     public static final org.elasticsearch.client.RequestOptions COMMON_OPTIONS;
 
@@ -26,10 +39,28 @@ public class EsConfig {
         RestClientBuilder builder = null;
         // 可以指定多个es
         builder = RestClient.builder(
-                new HttpHost("192.168.50.17", 9200, "http"),
-                new HttpHost("192.168.50.18", 9200, "http"),
-                new HttpHost("192.168.50.19", 9200, "http"));
+                new HttpHost(host, port, "http"));
+
+        CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
+        credentialsProvider.setCredentials(AuthScope.ANY,
+                //es账号密码
+
+                new UsernamePasswordCredentials(username, password));
+        builder.setHttpClientConfigCallback(f -> f.setDefaultCredentialsProvider(credentialsProvider));
         RestHighLevelClient client = new RestHighLevelClient(builder);
         return client;
     }
+
+//    @Bean
+//    public RestHighLevelClient esRestClient() {
+//        RestClientBuilder builder = null;
+//        // 可以指定多个es
+//        builder = RestClient.builder(
+//                new HttpHost("192.168.50.17", 9200, "http"),
+//                new HttpHost("192.168.50.18", 9200, "http"),
+//                new HttpHost("192.168.50.19", 9200, "http"));
+//        RestHighLevelClient client = new RestHighLevelClient(builder);
+//        return client;
+//    }
+
 }

+ 2 - 1
src/main/java/com/jkcredit/record/storage/service/impl/RecordStorageServiceImpl.java

@@ -5,6 +5,7 @@ import com.jkcredit.record.storage.constants.CommonConstant;
 import com.jkcredit.record.storage.model.CommonResponseObject;
 import com.jkcredit.record.storage.model.MonthResult;
 import com.jkcredit.record.storage.service.RecordStorageService;
+import com.jkcredit.record.storage.util.MD5Util;
 import lombok.extern.slf4j.Slf4j;
 import org.elasticsearch.action.bulk.BulkItemResponse;
 import org.elasticsearch.action.bulk.BulkRequest;
@@ -41,7 +42,7 @@ public class RecordStorageServiceImpl implements RecordStorageService {
 
         //保存的数据 这里指定json类型
         for (MonthResult monthResult : monthResultList) {
-            String id = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date()) + UUID.randomUUID().toString();
+            String id = MD5Util.MD5(monthResult.getMonth() + "_" + monthResult.getVehicleid());
             //设置保存的索引和id
             String indexName = "index-record-" + monthResult.getMonth();
             IndexRequest indexRequest = new IndexRequest(indexName).id(id);

+ 32 - 0
src/main/java/com/jkcredit/record/storage/util/MD5Util.java

@@ -0,0 +1,32 @@
+package com.jkcredit.record.storage.util;
+
+import java.security.MessageDigest;
+
+public class MD5Util {
+
+    public final static String MD5(String s) {
+        char hexDigits[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};
+        try {
+            byte[] btInput = s.getBytes();
+            MessageDigest mdInst = MessageDigest.getInstance("MD5");
+            mdInst.update(btInput);
+            byte[] md = mdInst.digest();
+            int j = md.length;
+            char str[] = new char[j * 2];
+            int k = 0;
+            for (int i = 0; i < j; i++) {
+                byte byte0 = md[i];
+                str[k++] = hexDigits[byte0 >>> 4 & 0xf];
+                str[k++] = hexDigits[byte0 & 0xf];
+            }
+            return new String(str);
+        } catch (Exception e) {
+            e.printStackTrace();
+            return null;
+        }
+    }
+
+    public static void main(String[] args) {
+        System.out.println(MD5("于博"));
+    }
+}

+ 1 - 1
src/main/resources/application.yml

@@ -4,5 +4,5 @@ spring:
   application:
     name: record-storage
   profiles:
-    active: dev
+    active: prod
 

+ 2 - 4
src/main/resources/logback-spring.xml

@@ -22,9 +22,8 @@
     <appender name="errorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
         <file>${log.path}/error/error.log</file>
         <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
-            <fileNamePattern>${log.path}/error/error-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+            <fileNamePattern>${log.path}/error/%d{yyyy-MM,aux}/error-%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
             <maxFileSize>50MB</maxFileSize>
-            <maxHistory>30</maxHistory>
         </rollingPolicy>
         <encoder>
             <pattern>%date [%thread] %-5level [%logger{50}] %file:%line - %msg%n</pattern>
@@ -44,9 +43,8 @@
         </filter>
         <file>${log.path}/source/source.log</file>
         <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
-            <fileNamePattern>${log.path}/source/source-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+            <fileNamePattern>${log.path}/source/%d{yyyy-MM,aux}/source-%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
             <maxFileSize>50MB</maxFileSize>
-            <maxHistory>30</maxHistory>
         </rollingPolicy>
         <encoder>
             <pattern>%date [%thread] %-5level [%logger{50}] %file:%line - %msg%n</pattern>