枚举转换
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
package com.sunyard.chsm.config;
|
||||
|
||||
import com.fasterxml.jackson.databind.exc.InvalidFormatException;
|
||||
import com.sunyard.chsm.model.R;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.validation.BindException;
|
||||
@@ -55,6 +56,10 @@ public class GlobalExceptionResolver {
|
||||
|
||||
@ExceptionHandler(Exception.class)
|
||||
public R<?> exceptionHandler(Exception ex, HttpServletRequest request) {
|
||||
InvalidFormatException ife = findException(InvalidFormatException.class, ex);
|
||||
if (ife != null) {
|
||||
return R.error(400, "参数异常, 不支持的值: " + ife.getValue());
|
||||
}
|
||||
String errorMessage = buildErrorMessage(ex);
|
||||
for (Class<? extends Exception> eClass : EX_CLASS) {
|
||||
Exception exception = findException(eClass, ex);
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
package com.sunyard.chsm.param;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import javax.validation.constraints.Size;
|
||||
|
||||
/**
|
||||
* @author liulu
|
||||
* @since 2024/11/13
|
||||
*/
|
||||
@Data
|
||||
public class AppTokenReq {
|
||||
|
||||
/**
|
||||
* 平台分配的appKey
|
||||
*/
|
||||
@NotBlank
|
||||
@Size(min = 16, max = 64, message = "appKey长度必须为16-64")
|
||||
private String appKey;
|
||||
/**
|
||||
* 时间戳毫秒数,与服务器时间不能超过5分钟
|
||||
*/
|
||||
@NotNull
|
||||
private Long random;
|
||||
/**
|
||||
* 使用appKey+random+appSecret作为原文,使用appSecret作为key,根据HmacSM3算法计算得到hmac值,转为Hex编码
|
||||
*/
|
||||
@NotBlank
|
||||
@Size(min = 32, max = 64, message = "hmac长度在60-64之间")
|
||||
private String hmac;
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.sunyard.chsm.param;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author liulu
|
||||
* @since 2024/11/13
|
||||
*/
|
||||
@Data
|
||||
public class AppTokenResp {
|
||||
/**
|
||||
* 获取的token的值
|
||||
*/
|
||||
private String token;
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
package com.sunyard.chsm.param;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.Max;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
/**
|
||||
* @author liulu
|
||||
* @since 2024/12/17
|
||||
*/
|
||||
@Data
|
||||
public class KeyCreateReq {
|
||||
|
||||
/**
|
||||
* 密钥模版编码
|
||||
*/
|
||||
@NotNull(message = "密钥模版不能为空")
|
||||
private String keyTemplateCode;
|
||||
/**
|
||||
* 生成数量
|
||||
*/
|
||||
@NotNull(message = "生成数量不能为空")
|
||||
@Max(value = 100, message = "一次最多生成100个密钥")
|
||||
private Integer genNumber;
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
package com.sunyard.chsm.param;
|
||||
|
||||
import com.sunyard.chsm.enums.KeyCategory;
|
||||
import com.sunyard.chsm.enums.KeyStatus;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author liulu
|
||||
* @since 2024/12/17
|
||||
*/
|
||||
@Data
|
||||
public class KeyInfoQuery {
|
||||
|
||||
/**
|
||||
* 当前页
|
||||
*/
|
||||
private int pageNumber = 1;
|
||||
/**
|
||||
* 每页大小
|
||||
*/
|
||||
private int pageSize = 10;
|
||||
/**
|
||||
* 密钥状态
|
||||
*/
|
||||
private KeyStatus status;
|
||||
/**
|
||||
* 密钥类型
|
||||
*/
|
||||
private KeyCategory keyType;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
package com.sunyard.chsm.param;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author liulu
|
||||
* @since 2024/12/17
|
||||
*/
|
||||
@Data
|
||||
public class KeyInfoResp {
|
||||
|
||||
/**
|
||||
* 密钥ID
|
||||
*/
|
||||
private String KeyId;
|
||||
/**
|
||||
* 密钥算法
|
||||
*/
|
||||
private String keyAlg;
|
||||
/**
|
||||
* 密钥类型
|
||||
*/
|
||||
private String keyType;
|
||||
private String keyTypeText;
|
||||
/**
|
||||
* 密钥用途
|
||||
*/
|
||||
private List<String> keyUsages;
|
||||
private String keyUsageText;
|
||||
/**
|
||||
* 校验算法
|
||||
*/
|
||||
private String checkAlg;
|
||||
/**
|
||||
* 校验值
|
||||
*/
|
||||
private String checkValue;
|
||||
/**
|
||||
* 密钥状态
|
||||
*/
|
||||
private String status;
|
||||
private String statusText;
|
||||
/**
|
||||
* 生效时间
|
||||
*/
|
||||
private LocalDateTime effectiveTime;
|
||||
/**
|
||||
* 过期时间
|
||||
*/
|
||||
private LocalDateTime expiredTime;
|
||||
private LocalDateTime createTime;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package com.sunyard.chsm.param;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import javax.validation.constraints.Size;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author liulu
|
||||
* @since 2024/12/17
|
||||
*/
|
||||
@Data
|
||||
public class KeyManageReq {
|
||||
|
||||
/**
|
||||
* 密钥id列表
|
||||
*/
|
||||
@Size(min = 1, max = 100, message = "密钥id列表长度在1-100之间")
|
||||
@NotNull(message = "密钥id列表不能为空")
|
||||
private List<Long> ids;
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package com.sunyard.chsm.param;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import javax.validation.constraints.Size;
|
||||
import java.time.LocalDate;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author liulu
|
||||
* @since 2024/12/17
|
||||
*/
|
||||
@Data
|
||||
public class KeyUpdateReq {
|
||||
|
||||
/**
|
||||
* 密钥id列表
|
||||
*/
|
||||
@Size(min = 1, max = 100, message = "密钥id列表长度在1-100之间")
|
||||
@NotNull(message = "密钥id列表不能为空")
|
||||
private List<Long> ids;
|
||||
|
||||
/**
|
||||
* 新密钥生效时间 yyyy-MM-dd
|
||||
*/
|
||||
private LocalDate effectiveTime;
|
||||
}
|
||||
@@ -29,6 +29,8 @@ spring:
|
||||
jackson:
|
||||
time-zone: GMT+8
|
||||
date-format: yyyy-MM-dd HH:mm:ss
|
||||
mapper:
|
||||
ACCEPT_CASE_INSENSITIVE_ENUMS: true
|
||||
|
||||
mybatis-plus:
|
||||
mapper-locations: classpath:mapper/**/*Mapper.xml
|
||||
|
||||
Reference in New Issue
Block a user