Browse Source

日志接口参数修改

wangli 4 years ago
parent
commit
a8b7d75ec8

+ 1 - 6
user_auth/user_auth.iml

@@ -7,10 +7,6 @@
     <facet type="web" name="Web">
       <configuration>
         <webroots />
-        <sourceRoots>
-          <root url="file://$MODULE_DIR$/src/main/java" />
-          <root url="file://$MODULE_DIR$/src/main/resources" />
-        </sourceRoots>
       </configuration>
     </facet>
   </component>
@@ -20,10 +16,9 @@
     <content url="file://$MODULE_DIR$">
       <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
       <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
       <excludeFolder url="file://$MODULE_DIR$/target" />
     </content>
-    <orderEntry type="jdk" jdkName="1.8" jdkType="JavaSDK" />
+    <orderEntry type="inheritedJdk" />
     <orderEntry type="sourceFolder" forTests="false" />
     <orderEntry type="library" name="Maven: com.aliyun:aliyun-java-sdk-core:4.1.0" level="project" />
     <orderEntry type="library" name="Maven: com.google.code.gson:gson:2.8.5" level="project" />

+ 35 - 3
user_center/src/main/java/com/huaxu/controller/LoginLogController.java

@@ -12,10 +12,16 @@ import com.huaxu.service.LoginLogService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.*;
 
+import java.text.DateFormat;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -26,6 +32,7 @@ import java.util.List;
 @RestController
 @RequestMapping("/loginLog")
 @Api(tags = "登录日志管理")
+@Slf4j
 public class LoginLogController {
 
     @Autowired
@@ -114,10 +121,35 @@ public class LoginLogController {
     @RequestMapping(value = "selectPage", method = RequestMethod.POST)
     @ApiOperation(value = "查询登录日志信息列表")
     public AjaxMessage<Pagination<LoginLogDto>> selectPage(
-            @ApiParam(value = "登录日志信息", required = true) @RequestBody LoginLogDto loginLogDto
-    ) {
 
-        IPage<LoginLogDto> iPage = new Page<>(loginLogDto.getPageNum(), loginLogDto.getPageSize());
+            @ApiParam(value = "查询条件(用户名/手机号)") @RequestParam(required = false) String condition,
+            @ApiParam(value = "部门id") @RequestParam(required = false) Long departmentId,
+            @ApiParam(value = "开始时间yyyy-MM-dd") @RequestParam(required = false) String beginTime,
+            @ApiParam(value = "结束时间yyyy-MM-dd") @RequestParam(required = false) String endTime,
+            @ApiParam(value = "页数,非必传,默认第一页",  defaultValue = "1") @RequestParam(required = false, defaultValue = "1") Integer pageNum,
+            @ApiParam(value = "条数,非必传,默认30条",  defaultValue = "30") @RequestParam(required = false, defaultValue = "30") Integer pageSize
+
+
+
+    ) {
+        SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd");
+        LoginLogDto loginLogDto = new LoginLogDto();
+        loginLogDto.setCondition(condition);
+        loginLogDto.setDepartmentId(departmentId);
+        try {
+            if(StringUtils.isNotBlank(beginTime)){
+                loginLogDto.setBeginTime(f.parse(beginTime));
+            }
+            if(StringUtils.isNotBlank(endTime)){
+                loginLogDto.setBeginTime(f.parse(endTime));
+            }
+        }catch (ParseException e){
+            log.error("登录日志查询时间转换错误,原数据:beginTime:{},endTime:{},异常信息:{}",beginTime,endTime,e.getMessage());
+            loginLogDto.setBeginTime(new Date());
+            loginLogDto.setBeginTime(new Date());
+        }
+
+        IPage<LoginLogDto> iPage = new Page<>(pageNum, pageSize);
 
         iPage = loginLogService.selectPage(iPage, loginLogDto);
 

+ 31 - 2
user_center/src/main/java/com/huaxu/controller/OperateLogController.java

@@ -13,10 +13,15 @@ import com.huaxu.service.OperateLogService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.*;
 
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -27,6 +32,7 @@ import java.util.List;
 @RestController
 @RequestMapping("/operateLog")
 @Api(tags = "操作日志管理")
+@Slf4j
 public class OperateLogController {
 
     @Autowired
@@ -114,10 +120,33 @@ public class OperateLogController {
     @RequestMapping(value = "selectPage", method = RequestMethod.POST)
     @ApiOperation(value = "查询操作日志信息列表")
     public AjaxMessage<Pagination<OperateLogDto>> selectPage(
-            @ApiParam(value = "操作日志信息", required = true) @RequestBody OperateLogDto operateLogDto
+            @ApiParam(value = "查询条件(用户名/手机号)") @RequestParam(required = false) String condition,
+            @ApiParam(value = "部门id") @RequestParam(required = false) Integer departmentId,
+            @ApiParam(value = "开始时间yyyy-MM-dd") @RequestParam(required = false) String beginTime,
+            @ApiParam(value = "结束时间yyyy-MM-dd") @RequestParam(required = false) String endTime,
+            @ApiParam(value = "页数,非必传,默认第一页",  defaultValue = "1") @RequestParam(required = false, defaultValue = "1") Integer pageNum,
+            @ApiParam(value = "条数,非必传,默认30条",  defaultValue = "30") @RequestParam(required = false, defaultValue = "30") Integer pageSize
+
+
 
     ) {
-        IPage<OperateLogDto> iPage = new Page<>(operateLogDto.getPageNum(), operateLogDto.getPageSize());
+        SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd");
+        OperateLogDto operateLogDto = new OperateLogDto();
+        operateLogDto.setCondition(condition);
+        operateLogDto.setDepartmentId(departmentId);
+        try {
+            if(StringUtils.isNotBlank(beginTime)){
+                operateLogDto.setBeginTime(f.parse(beginTime));
+            }
+            if(StringUtils.isNotBlank(endTime)){
+                operateLogDto.setBeginTime(f.parse(endTime));
+            }
+        }catch (ParseException e){
+            log.error("操作日志查询时间转换错误,原数据:beginTime:{},endTime:{},异常信息:{}",beginTime,endTime,e.getMessage());
+            operateLogDto.setBeginTime(new Date());
+            operateLogDto.setBeginTime(new Date());
+        }
+        IPage<OperateLogDto> iPage = new Page<>(pageNum, pageSize);
 
         iPage = operateLogService.selectPage(iPage, operateLogDto);
 

+ 2 - 22
user_center/src/main/java/com/huaxu/dto/LoginLogDto.java

@@ -30,33 +30,13 @@ public class LoginLogDto extends LoginLogEntity {
     private String condition;
 
     @ExcelIgnore
-    @ApiModelProperty(value = "查询条件(起始时间)yyyy-MM-dd" )
+    @ApiModelProperty(value = "查询条件(起始时间)yyyy-MM-dd" ,example = "2020-12-12")
     @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     private Date beginTime;
 
     @ExcelIgnore
-    @ApiModelProperty(value = "查询条件(终止时间)yyyy-MM-dd")
+    @ApiModelProperty(value = "查询条件(终止时间)yyyy-MM-dd",example = "2020-12-12")
     @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     private Date endTime;
 
-    @ExcelIgnore
-    @ApiModelProperty(value ="分页查询:页数,默认 1 ")
-    private Integer pageNum;
-    @ExcelIgnore
-    @ApiModelProperty(value ="分页查询:条数,默认 30")
-    private Integer pageSize;
-
-    public Integer getPageNum() {
-        if(pageNum == null){
-            return 1;
-        }
-        return pageNum;
-    }
-
-    public Integer getPageSize() {
-        if(pageSize == null){
-            return 30;
-        }
-        return pageSize;
-    }
 }

+ 2 - 2
user_center/src/main/java/com/huaxu/dto/OperateLogDto.java

@@ -28,11 +28,11 @@ public class OperateLogDto extends OperateLogEntity {
     @ApiModelProperty(value = "查询条件(用户名/手机号)")
     private String condition;
     @ExcelIgnore
-    @ApiModelProperty(value = "查询条件(起始时间)yyyy-MM-dd" )
+    @ApiModelProperty(value = "查询条件(起始时间)yyyy-MM-dd",example = "2020-12-12" )
     @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     private Date beginTime;
     @ExcelIgnore
-    @ApiModelProperty(value = "查询条件(终止时间)yyyy-MM-dd" )
+    @ApiModelProperty(value = "查询条件(终止时间)yyyy-MM-dd",example = "2020-12-12")
     @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     private Date endTime;
 

+ 2 - 2
user_center/src/main/java/com/huaxu/entity/LoginLogEntity.java

@@ -44,11 +44,11 @@ public class LoginLogEntity implements Serializable {
     private String type;
 
     @ExcelProperty(value = {"登录日志","创建时间"},index = 6)
-    @ApiModelProperty(value = "创建时间")
+    @ApiModelProperty(value = "创建时间",example = "2020-12-12 12:12:12")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date createTime;
 
     @ExcelProperty(value = {"登录日志","登录IP"},index = 5)
-    @ApiModelProperty(value = "登录IP")
+    @ApiModelProperty(value = "登录IP",example = "2020-12-12 12:12:12")
     private String loginIp;
 }

+ 2 - 2
user_center/src/main/java/com/huaxu/entity/OperateLogEntity.java

@@ -35,10 +35,10 @@ public class OperateLogEntity implements Serializable {
     @ApiModelProperty(value = "部门id")
     private Integer departmentId;
     @ExcelProperty(value = {"操作日志","操作内容"},index = 4)
-    @ApiModelProperty(value = "操作内容")
+    @ApiModelProperty(value = "操作内容",example = "2020-12-12 12:12:12")
     private String operateContent;
     @ExcelProperty(value = {"操作日志","创建时间"},index = 5)
-    @ApiModelProperty(value = "创建时间")
+    @ApiModelProperty(value = "创建时间",example = "2020-12-12 12:12:12")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date createTime;
 

+ 4 - 4
user_center/src/main/java/com/huaxu/entity/TenantEntity.java

@@ -35,10 +35,10 @@ public class TenantEntity implements Serializable {
     @ApiModelProperty(value = "租户域名")
     private String webUrl;
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "GMT+8")
-    @ApiModelProperty(value = "租期开始日期")
+    @ApiModelProperty(value = "租期开始日期",example = "2020-12-12 12:12:12")
     private Date startDate;
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "GMT+8")
-    @ApiModelProperty(value = "租期结束日期")
+    @ApiModelProperty(value = "租期结束日期",example = "2020-12-12 12:12:12")
     private Date endDate;
     @ApiModelProperty(value = "租户状态")
     private Integer tenantState;
@@ -47,12 +47,12 @@ public class TenantEntity implements Serializable {
     @ApiModelProperty(value = "数据删除标识")
     private Integer status;
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "GMT+8")
-    @ApiModelProperty(value = "创建时间")
+    @ApiModelProperty(value = "创建时间",example = "2020-12-12 12:12:12")
     private Date dateCreate;
     @ApiModelProperty(value = "创建人")
     private String createBy;
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "GMT+8")
-    @ApiModelProperty(value = "更新时间")
+    @ApiModelProperty(value = "更新时间",example = "2020-12-12 12:12:12")
     private Date dateUpdate;
     @ApiModelProperty(value = "更新人")
     private String updateBy;

+ 36 - 9
user_center/user_center.iml

@@ -21,10 +21,40 @@
     <orderEntry type="inheritedJdk" />
     <orderEntry type="sourceFolder" forTests="false" />
     <orderEntry type="library" name="Maven: cn.hutool:hutool-all:5.4.5" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:2.1.6.RELEASE" level="project" />
+    <orderEntry type="module" module-name="common" />
+    <orderEntry type="library" name="Maven: com.alibaba:easyexcel:2.2.6" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.poi:poi:3.17" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.commons:commons-collections4:4.1" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.poi:poi-ooxml:3.17" level="project" />
+    <orderEntry type="library" name="Maven: com.github.virtuald:curvesapi:1.04" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.poi:poi-ooxml-schemas:3.17" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.xmlbeans:xmlbeans:2.6.0" level="project" />
+    <orderEntry type="library" name="Maven: stax:stax-api:1.0.1" level="project" />
+    <orderEntry type="library" name="Maven: cglib:cglib:3.1" level="project" />
+    <orderEntry type="library" name="Maven: org.ow2.asm:asm:4.2" level="project" />
+    <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.26" level="project" />
+    <orderEntry type="library" name="Maven: org.ehcache:ehcache:3.6.3" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-data-redis:2.1.6.RELEASE" level="project" />
     <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.1.6.RELEASE" level="project" />
     <orderEntry type="library" name="Maven: javax.annotation:javax.annotation-api:1.3.2" level="project" />
     <orderEntry type="library" scope="RUNTIME" name="Maven: org.yaml:snakeyaml:1.23" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-redis:2.1.9.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-keyvalue:2.1.9.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-commons:2.1.9.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-tx:5.1.8.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-oxm:5.1.8.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-aop:5.1.8.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-context-support:5.1.8.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: io.lettuce:lettuce-core:5.1.7.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: io.netty:netty-common:4.1.36.Final" level="project" />
+    <orderEntry type="library" name="Maven: io.netty:netty-handler:4.1.36.Final" level="project" />
+    <orderEntry type="library" name="Maven: io.netty:netty-buffer:4.1.36.Final" level="project" />
+    <orderEntry type="library" name="Maven: io.netty:netty-codec:4.1.36.Final" level="project" />
+    <orderEntry type="library" name="Maven: io.netty:netty-transport:4.1.36.Final" level="project" />
+    <orderEntry type="library" name="Maven: io.netty:netty-resolver:4.1.36.Final" level="project" />
+    <orderEntry type="library" name="Maven: io.projectreactor:reactor-core:3.2.10.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.reactivestreams:reactive-streams:1.0.2" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:2.1.6.RELEASE" level="project" />
     <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-json:2.1.6.RELEASE" level="project" />
     <orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.9.9" level="project" />
     <orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.9.9" level="project" />
@@ -38,7 +68,6 @@
     <orderEntry type="library" name="Maven: org.jboss.logging:jboss-logging:3.3.2.Final" level="project" />
     <orderEntry type="library" name="Maven: org.springframework:spring-web:5.1.8.RELEASE" level="project" />
     <orderEntry type="library" name="Maven: org.springframework:spring-webmvc:5.1.8.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-aop:5.1.8.RELEASE" level="project" />
     <orderEntry type="library" name="Maven: org.springframework:spring-expression:5.1.8.RELEASE" level="project" />
     <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:2.1.6.RELEASE" level="project" />
     <orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.2.3" level="project" />
@@ -52,7 +81,6 @@
     <orderEntry type="library" scope="TEST" name="Maven: com.jayway.jsonpath:json-path:2.4.0" level="project" />
     <orderEntry type="library" scope="TEST" name="Maven: net.minidev:json-smart:2.3" level="project" />
     <orderEntry type="library" scope="TEST" name="Maven: net.minidev:accessors-smart:1.2" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.ow2.asm:asm:5.0.4" level="project" />
     <orderEntry type="library" scope="TEST" name="Maven: junit:junit:4.12" level="project" />
     <orderEntry type="library" scope="TEST" name="Maven: org.assertj:assertj-core:3.11.1" level="project" />
     <orderEntry type="library" scope="TEST" name="Maven: org.mockito:mockito-core:2.23.4" level="project" />
@@ -74,10 +102,11 @@
     <orderEntry type="library" name="Maven: io.micrometer:micrometer-core:1.1.5" level="project" />
     <orderEntry type="library" name="Maven: org.hdrhistogram:HdrHistogram:2.1.9" level="project" />
     <orderEntry type="library" name="Maven: org.latencyutils:LatencyUtils:2.0.3" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-commons:2.1.0.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.security:spring-security-crypto:5.1.5.RELEASE" level="project" />
     <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:2.1.6.RELEASE" level="project" />
     <orderEntry type="library" name="Maven: com.zaxxer:HikariCP:3.2.0" level="project" />
     <orderEntry type="library" name="Maven: org.springframework:spring-jdbc:5.1.8.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-tx:5.1.8.RELEASE" level="project" />
     <orderEntry type="library" name="Maven: io.springfox:springfox-swagger2:2.7.0" level="project" />
     <orderEntry type="library" name="Maven: io.swagger:swagger-annotations:1.5.13" level="project" />
     <orderEntry type="library" name="Maven: io.swagger:swagger-models:1.5.13" level="project" />
@@ -89,7 +118,6 @@
     <orderEntry type="library" name="Maven: org.reflections:reflections:0.9.11" level="project" />
     <orderEntry type="library" name="Maven: org.javassist:javassist:3.21.0-GA" level="project" />
     <orderEntry type="library" name="Maven: com.fasterxml:classmate:1.4.0" level="project" />
-    <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.26" level="project" />
     <orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-core:1.2.0.RELEASE" level="project" />
     <orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-metadata:1.2.0.RELEASE" level="project" />
     <orderEntry type="library" name="Maven: org.mapstruct:mapstruct:1.1.0.Final" level="project" />
@@ -103,8 +131,6 @@
     <orderEntry type="library" name="Maven: com.alibaba.nacos:nacos-api:1.1.1" level="project" />
     <orderEntry type="library" name="Maven: com.alibaba:fastjson:1.2.47" level="project" />
     <orderEntry type="library" name="Maven: io.prometheus:simpleclient:0.5.0" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-commons:2.1.0.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.security:spring-security-crypto:5.1.5.RELEASE" level="project" />
     <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-context:2.1.0.RELEASE" level="project" />
     <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter-netflix-ribbon:2.1.0.RELEASE" level="project" />
     <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-netflix-ribbon:2.1.0.RELEASE" level="project" />
@@ -151,12 +177,13 @@
     <orderEntry type="library" name="Maven: org.springframework.security:spring-security-rsa:1.0.7.RELEASE" level="project" />
     <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-security:2.1.0.RELEASE" level="project" />
     <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-security:2.1.6.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: javax.activation:javax.activation-api:1.2.0" level="project" />
-    <orderEntry type="library" name="Maven: javax.xml.bind:jaxb-api:2.3.1" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.commons:commons-pool2:2.6.2" level="project" />
     <orderEntry type="library" name="Maven: org.springframework.security.oauth.boot:spring-security-oauth2-autoconfigure:2.1.11.RELEASE" level="project" />
     <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.9.0" level="project" />
     <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.9.9" level="project" />
     <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.9.9" level="project" />
+    <orderEntry type="library" name="Maven: javax.xml.bind:jaxb-api:2.3.1" level="project" />
+    <orderEntry type="library" name="Maven: javax.activation:javax.activation-api:1.2.0" level="project" />
     <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:2.1.6.RELEASE" level="project" />
     <orderEntry type="library" name="Maven: org.springframework.security:spring-security-jwt:1.0.11.RELEASE" level="project" />
     <orderEntry type="library" name="Maven: org.bouncycastle:bcpkix-jdk15on:1.64" level="project" />