Browse Source

修改接口入参

15810770710@163.com 3 years ago
parent
commit
59780e6cbd

+ 11 - 10
src/main/java/com/jkcredit/query/record/action/QueryRecordAction.java

@@ -1,11 +1,11 @@
 package com.jkcredit.query.record.action;
 
-import com.jkcredit.query.record.model.CommonResponseObject;
+import com.jkcredit.query.record.model.*;
 import com.jkcredit.query.record.service.QueryRecordService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 /**
@@ -19,22 +19,23 @@ public class QueryRecordAction {
     QueryRecordService queryRecordService;
 
     @PostMapping("/monthRecords")
-    public CommonResponseObject monthRecords(@RequestParam String plateNumber, @RequestParam String month) {
-        return queryRecordService.monthRecords(plateNumber, month);
+    public CommonResponseObject monthRecords(@RequestBody MonthRecordsRequestParam param) {
+
+        return queryRecordService.monthRecords(param);
     }
 
     @PostMapping("/yearRecords")
-    public CommonResponseObject yearRecords(@RequestParam String plateNumber) {
-        return queryRecordService.yearRecords(plateNumber);
+    public CommonResponseObject yearRecords(@RequestBody YearRecordsRequestParam param) {
+        return queryRecordService.yearRecords(param);
     }
 
     @PostMapping("/count")
-    public CommonResponseObject countByMonth(@RequestParam String month) {
-        return queryRecordService.countByMonth(month);
+    public CommonResponseObject countByMonth(@RequestBody RecordsCountRequestParam param) {
+        return queryRecordService.countByMonth(param);
     }
 
     @PostMapping("/multipleMonthRecords")
-    public CommonResponseObject multipleMonthRecords(@RequestParam String plateNumber, @RequestParam String startMonth, @RequestParam String endMonth) {
-        return queryRecordService.multipleMonthRecords(plateNumber, startMonth, endMonth);
+    public CommonResponseObject multipleMonthRecords(@RequestBody MultipleMonthRecordsRequestParam param) {
+        return queryRecordService.multipleMonthRecords(param);
     }
 }

+ 1 - 0
src/main/java/com/jkcredit/query/record/config/EsConfig.java

@@ -29,6 +29,7 @@ public class EsConfig {
     private String password;
 
     public static final RequestOptions COMMON_OPTIONS;
+
     static {
         RequestOptions.Builder builder = RequestOptions.DEFAULT.toBuilder();
         COMMON_OPTIONS = builder.build();

+ 4 - 0
src/main/java/com/jkcredit/query/record/constant/CommonConstant.java

@@ -32,4 +32,8 @@ public class CommonConstant {
     public static final String QUERY_ERROR = "查询失败";
 
     public static final String QUERY_SUCCESS = "查询成功";
+
+    public static final String PARAM_ERROR_CODE = "604";
+
+    public static final String PARAM_ERROR = "参数错误";
 }

+ 19 - 0
src/main/java/com/jkcredit/query/record/model/MonthRecordsRequestParam.java

@@ -0,0 +1,19 @@
+package com.jkcredit.query.record.model;
+
+import lombok.Data;
+import lombok.ToString;
+
+import java.io.Serializable;
+
+/**
+ * @author xusonglin
+ * @version V1.0
+ **/
+@Data
+@ToString
+public class MonthRecordsRequestParam implements Serializable {
+
+    private static final long serialVersionUID = -15909798016049747L;
+    private String plateNumber;
+    private String month;
+}

+ 20 - 0
src/main/java/com/jkcredit/query/record/model/MultipleMonthRecordsRequestParam.java

@@ -0,0 +1,20 @@
+package com.jkcredit.query.record.model;
+
+import lombok.Data;
+import lombok.ToString;
+
+import java.io.Serializable;
+
+/**
+ * @author xusonglin
+ * @version V1.0
+ **/
+@Data
+@ToString
+public class MultipleMonthRecordsRequestParam implements Serializable {
+
+    private static final long serialVersionUID = 3693372649370985283L;
+    private String plateNumber;
+    private String startMonth;
+    private String endMonth;
+}

+ 18 - 0
src/main/java/com/jkcredit/query/record/model/RecordsCountRequestParam.java

@@ -0,0 +1,18 @@
+package com.jkcredit.query.record.model;
+
+import lombok.Data;
+import lombok.ToString;
+
+import java.io.Serializable;
+
+/**
+ * @author xusonglin
+ * @version V1.0
+ **/
+@Data
+@ToString
+public class RecordsCountRequestParam implements Serializable {
+
+    private static final long serialVersionUID = -3703432354085409113L;
+    private String month;
+}

+ 17 - 0
src/main/java/com/jkcredit/query/record/model/YearRecordsRequestParam.java

@@ -0,0 +1,17 @@
+package com.jkcredit.query.record.model;
+
+import lombok.Data;
+import lombok.ToString;
+
+import java.io.Serializable;
+
+/**
+ * @author xusonglin
+ * @version V1.0
+ **/
+@Data
+@ToString
+public class YearRecordsRequestParam implements Serializable {
+    private static final long serialVersionUID = -4880113992162743847L;
+    private String plateNumber;
+}

+ 5 - 5
src/main/java/com/jkcredit/query/record/service/QueryRecordService.java

@@ -1,17 +1,17 @@
 package com.jkcredit.query.record.service;
 
-import com.jkcredit.query.record.model.CommonResponseObject;
+import com.jkcredit.query.record.model.*;
 
 /**
  * @author xusonglin
  * @version V1.0
  **/
 public interface QueryRecordService {
-    CommonResponseObject monthRecords(String plateNumber, String month);
+    CommonResponseObject monthRecords(MonthRecordsRequestParam param);
 
-    CommonResponseObject yearRecords(String plateNumber);
+    CommonResponseObject yearRecords(YearRecordsRequestParam param);
 
-    CommonResponseObject countByMonth(String month);
+    CommonResponseObject countByMonth(RecordsCountRequestParam param);
 
-    CommonResponseObject multipleMonthRecords(String plateNumber, String startMonth, String endMonth);
+    CommonResponseObject multipleMonthRecords(MultipleMonthRecordsRequestParam param);
 }

+ 49 - 29
src/main/java/com/jkcredit/query/record/service/impl/QueryRecordServiceImpl.java

@@ -1,14 +1,11 @@
 package com.jkcredit.query.record.service.impl;
 
 import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
 import com.ciphergateway.ciphersuite.CipherSuiteException;
 import com.ciphergateway.ciphersuite.CipherSuiteMacException;
 import com.ciphergateway.ciphersuite.CipherSuiteUtils;
 import com.jkcredit.query.record.constant.CommonConstant;
-import com.jkcredit.query.record.model.CommonResponseObject;
-import com.jkcredit.query.record.model.LogObject;
-import com.jkcredit.query.record.model.MonthResult;
+import com.jkcredit.query.record.model.*;
 import com.jkcredit.query.record.service.QueryRecordService;
 import com.jkcredit.query.record.util.IndexUtil;
 import lombok.extern.slf4j.Slf4j;
@@ -63,24 +60,32 @@ public class QueryRecordServiceImpl implements QueryRecordService {
 
     /**
      * 根据月份,车牌号查询
-     * @param plateNumber 车牌号
-     * @param month 月份
+     *
+     * @param param 车牌号 月份
      * @return 结果
      */
     @Override
-    public CommonResponseObject monthRecords(String plateNumber, String month) {
-        String[] indices = {CommonConstant.ES_INDEX + month};
-        List<MonthResult> results = find(plateNumber, indices);
+    public CommonResponseObject monthRecords(MonthRecordsRequestParam param) {
+        if (StringUtils.isBlank(param.getPlateNumber()) || StringUtils.isBlank(param.getMonth())) {
+            return new CommonResponseObject(CommonConstant.PARAM_ERROR_CODE, CommonConstant.PARAM_ERROR);
+        }
+        String[] indices = {CommonConstant.ES_INDEX + param.getMonth()};
+        List<MonthResult> results = find(param.getPlateNumber(), indices);
         return new CommonResponseObject(CommonConstant.SUCCESS_CODE, JSON.toJSONString(results));
     }
 
     /**
      * 根据车牌号,查询12个月的结果
-     * @param plateNumber 车牌号
+     *
+     * @param param 车牌号
      * @return 结果
      */
     @Override
-    public CommonResponseObject yearRecords(String plateNumber) {
+    public CommonResponseObject yearRecords(YearRecordsRequestParam param) {
+        if (StringUtils.isBlank(param.getPlateNumber())) {
+            return new CommonResponseObject(CommonConstant.PARAM_ERROR_CODE, CommonConstant.PARAM_ERROR);
+        }
+
         String[] indices = new String[12];
         LocalDate today = LocalDate.now();
         for (int i = 0; i < 12; i++) {
@@ -88,18 +93,23 @@ public class QueryRecordServiceImpl implements QueryRecordService {
             String month = localDate.toString().substring(0, 7).replace("-", "");
             indices[i] = CommonConstant.ES_INDEX + month;
         }
-        List<MonthResult> results = find(plateNumber, indices);
+        List<MonthResult> results = find(param.getPlateNumber(), indices);
         return new CommonResponseObject(CommonConstant.SUCCESS_CODE, JSON.toJSONString(results));
     }
 
     /**
      * 查询索引中结果总数
-     * @param month 月份
+     *
+     * @param param 月份
      * @return 结果总数
      */
     @Override
-    public CommonResponseObject countByMonth(String month) {
-        String index = CommonConstant.ES_INDEX + month;
+    public CommonResponseObject countByMonth(RecordsCountRequestParam param) {
+        if (StringUtils.isBlank(param.getMonth())) {
+            return new CommonResponseObject(CommonConstant.PARAM_ERROR_CODE, CommonConstant.PARAM_ERROR);
+        }
+
+        String index = CommonConstant.ES_INDEX + param.getMonth();
         if (!isExistIndex(index)) {
             return new CommonResponseObject(CommonConstant.SUCCESS_CODE, "0");
         }
@@ -114,21 +124,26 @@ public class QueryRecordServiceImpl implements QueryRecordService {
             countResponse = esRestClient.count(countRequest, RequestOptions.DEFAULT);
             count = countResponse != null ? countResponse.getCount() : 0;
         } catch (Exception e) {
-            log.error("queryRecordError:", e);
+            log.error("queryRecordCountException:", e);
         }
         return new CommonResponseObject(CommonConstant.SUCCESS_CODE, String.valueOf(count));
     }
 
     /**
      * 根据车牌号,查询多月结果(小于12个月)
-     * @param plateNumber 车牌号
-     * @param startMonth 起始月份
-     * @param endMonth 结束月份
+     *
+     * @param param 车牌号 起始月份 结束月份
      * @return 结果
      */
     @Override
-    public CommonResponseObject multipleMonthRecords(String plateNumber, String startMonth, String endMonth) {
-        List<String> monthList = getMonthBetween(startMonth, endMonth);
+    public CommonResponseObject multipleMonthRecords(MultipleMonthRecordsRequestParam param) {
+        if (StringUtils.isBlank(param.getStartMonth())
+                || StringUtils.isBlank(param.getEndMonth())
+                || StringUtils.isBlank(param.getPlateNumber())) {
+            return new CommonResponseObject(CommonConstant.PARAM_ERROR_CODE, CommonConstant.PARAM_ERROR);
+        }
+
+        List<String> monthList = getMonthBetween(param.getStartMonth(), param.getEndMonth());
         if (monthList.size() > 12 || monthList.size() == 0) {
             return new CommonResponseObject(CommonConstant.MONTH_ERROR_CODE, CommonConstant.MONTH_ERROR);
         }
@@ -136,14 +151,15 @@ public class QueryRecordServiceImpl implements QueryRecordService {
         for (int i = 0; i < monthList.size(); i++) {
             indices[i] = CommonConstant.ES_INDEX + monthList.get(i);
         }
-        List<MonthResult> results = find(plateNumber, indices);
+        List<MonthResult> results = find(param.getPlateNumber(), indices);
         return new CommonResponseObject(CommonConstant.SUCCESS_CODE, JSON.toJSONString(results));
     }
 
     /**
      * 根据车牌号,索引查结果
+     *
      * @param plateNumber 车牌号
-     * @param indices 索引
+     * @param indices     索引
      * @return 结果
      */
     private List<MonthResult> find(String plateNumber, String[] indices) {
@@ -196,14 +212,16 @@ public class QueryRecordServiceImpl implements QueryRecordService {
             // 执行请求
             searchResponse = esRestClient.search(searchRequest, RequestOptions.DEFAULT);
         } catch (IOException e) {
+            log.error("queryRecordException:", e);
+        }
+        long endTime = System.currentTimeMillis();
+
+        if (searchResponse == null) {
             logObject.setSuccess(false);
             logObject.setMessage(CommonConstant.QUERY_ERROR);
             log.info(JSON.toJSONString(logObject));
-            log.error("encryptPlateNumberError:{}", plateNumber);
-            log.error("queryRecordError:", e);
+            return results;
         }
-        long endTime = System.currentTimeMillis();
-
         // 返回查询到的具体数据
         SearchHits searchHits = searchResponse.getHits();
         for (SearchHit hit : searchHits.getHits()) {
@@ -214,13 +232,14 @@ public class QueryRecordServiceImpl implements QueryRecordService {
         logObject.setSuccess(true);
         logObject.setMessage(CommonConstant.QUERY_SUCCESS);
         logObject.setResult(results);
-        logObject.setQueryRecordSuccess(endTime-startTime);
+        logObject.setQueryRecordSuccess(endTime - startTime);
         log.info(JSON.toJSONString(logObject));
         return results;
     }
 
     /**
      * 判断索引是否存在
+     *
      * @param index 索引
      * @return 结果
      */
@@ -246,6 +265,7 @@ public class QueryRecordServiceImpl implements QueryRecordService {
 
     /**
      * 获取月份区间
+     *
      * @param minDate 开始月
      * @param maxDate 结束月
      * @return 月份集合
@@ -276,6 +296,7 @@ public class QueryRecordServiceImpl implements QueryRecordService {
 
     /**
      * 对vehicle_id字段进行加密
+     *
      * @param vehicleId 待加密vehicleId
      * @return 加密后vehicleId
      */
@@ -283,7 +304,6 @@ public class QueryRecordServiceImpl implements QueryRecordService {
         try {
             byte[] plainData = vehicleId.getBytes("UTF-8");
             byte[] iv = ivStr.getBytes("UTF-8");
-            Long startTime = System.currentTimeMillis();
             // 加密
             byte[] cipherData = CipherSuiteUtils.encrypt(plainData, algorithm, keyId, metadata, iv);
             return DatatypeConverter.printHexBinary(cipherData);

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

@@ -22,7 +22,7 @@
     <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/%d{yyyy-MM,aux}/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>
         </rollingPolicy>
         <encoder>
@@ -43,7 +43,7 @@
         </filter>
         <file>${log.path}/source/source.log</file>
         <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
-            <fileNamePattern>${log.path}/source/%d{yyyy-MM,aux}/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>
         </rollingPolicy>
         <encoder>