3 Commits

Author SHA1 Message Date
maxf
78100cf4a1 🔖 1.5.5-jre11 2025-12-11 18:07:47 +08:00
maxf
592d914668 [update] 1.5.5-jre11(未发布)
Some checks failed
yexuejc-base package jre11 / package_job (push) Has been cancelled
1. 删除ApiVO,新增ResponseVO,ObjectResponseVO,ListResponseVO用来处理返回参数
2. DateConsts 增加常量
2025-09-18 18:05:58 +08:00
maxf
6d8dc2ddea [update] 优化常量命名
Some checks failed
yexuejc-base package jre11 / package_job (push) Has been cancelled
2025-09-04 20:28:00 +08:00
13 changed files with 369 additions and 204 deletions

View File

@@ -1,5 +1,11 @@
yexuejc-base 更新记录
------------------
#### version 1.5.5-jre11
**time ** <br/>
**branch** jre11 <br/>
**update** <br/>
1. 删除ApiVO新增ResponseVO,ObjectResponseVO,ListResponseVO用来处理返回参数
2. DateConsts 增加常量
#### version 1.5.4-jre11
**time 2025-8-27 19:45:33** <br/>

View File

@@ -6,7 +6,7 @@
<groupId>top.yexuejc</groupId>
<artifactId>yexuejc-base</artifactId>
<version>1.5.4-jre11</version>
<version>1.5.5-jre11</version>
<name>yexuejc-base</name>
<url>https://github.com/yexuejc/yexuejc-base</url>

View File

@@ -20,4 +20,6 @@ public class DateConsts {
public static final String DATE_TIME_MS_PATTERN = "yyyy-MM-dd HH:mm:ss.SSS";
public static final String ISO_8601_PATTERN = "yyyy-MM-dd'T'HH:mm:ssxxx";
public static final String ISO_8601_MS_PATTERN = "yyyy-MM-dd'T'HH:mm:ss.SSSxxx";
public static final String DATE_YYYYMMDD_PATTERN = "yyyyMMdd";
}

View File

@@ -6,7 +6,7 @@ package com.yexuejc.base.constant;
* @author maxiaofeng
* @date 2025/8/25 15:15
*/
public class SymbolicConstant {
public class SymbolicConsts {
/**常量:换行符*/
public static final String NEW_LINE = "\n";
public static final String EMPTY = "";
@@ -16,6 +16,6 @@ public class SymbolicConstant {
public static final String SLASH = "/";
public static final String COLON = ":";
private SymbolicConstant() {
private SymbolicConsts() {
}
}

View File

@@ -9,7 +9,7 @@ import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.JsonDeserializer;
import com.yexuejc.base.constant.DateConsts;
import com.yexuejc.base.constant.SymbolicConstant;
import com.yexuejc.base.constant.SymbolicConsts;
import com.yexuejc.base.util.StrUtil;
/**
@@ -27,16 +27,16 @@ public class LocalDateDeserializer extends JsonDeserializer<LocalDate> {
if (StrUtil.isEmpty(timeString)) {
return null;
}
if (timeString.contains(SymbolicConstant.BAR)) {
if (timeString.contains(SymbolicConsts.BAR)) {
return LocalDate.parse(timeString, DateTimeFormatter.ISO_DATE);
} else if (timeString.contains(DateConsts.DATE_KEY_AM)
|| timeString.contains(DateConsts.DATE_KEY_PM)) {
return LocalDate.parse(timeString,
DateTimeFormatter.ofPattern(DateConsts.DATE_TIMESTAMP_LINUX, Locale.ENGLISH));
} else if (timeString.contains(SymbolicConstant.SLASH) && timeString.contains(SymbolicConstant.COLON)) {
} else if (timeString.contains(SymbolicConsts.SLASH) && timeString.contains(SymbolicConsts.COLON)) {
return LocalDate.parse(timeString.substring(0, 10),
DateTimeFormatter.ofPattern(DateConsts.DATE_YYYY_MM_DD_SLASH));
} else if (timeString.contains(SymbolicConstant.SLASH)) {
} else if (timeString.contains(SymbolicConsts.SLASH)) {
return LocalDate.parse(timeString, DateTimeFormatter.ofPattern(DateConsts.DATE_YYYY_MM_DD_SLASH));
} else {
return LocalDate.parse(timeString, DateTimeFormatter.BASIC_ISO_DATE);

View File

@@ -9,7 +9,7 @@ import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.JsonDeserializer;
import com.yexuejc.base.constant.DateConsts;
import com.yexuejc.base.constant.SymbolicConstant;
import com.yexuejc.base.constant.SymbolicConsts;
import com.yexuejc.base.util.StrUtil;
/**
@@ -34,7 +34,7 @@ public class LocalDateTimeDeserializer extends JsonDeserializer<LocalDateTime> {
DateTimeFormatter.ofPattern(DateConsts.DATE_TIMESTAMP_LINUX, Locale.ENGLISH));
} else if (timeString.endsWith(DateConsts.DATE_KEY_Z)) {
return LocalDateTime.parse(timeString, DateTimeFormatter.ISO_INSTANT);
} else if (timeString.contains(SymbolicConstant.SLASH)) {
} else if (timeString.contains(SymbolicConsts.SLASH)) {
return LocalDateTime.parse(timeString, DateTimeFormatter.ofPattern(DateConsts.DATE_TIMESTAMP));
} else {
return LocalDateTime.parse(timeString,

View File

@@ -10,7 +10,7 @@ import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.JsonDeserializer;
import com.yexuejc.base.constant.DateConsts;
import com.yexuejc.base.constant.SymbolicConstant;
import com.yexuejc.base.constant.SymbolicConsts;
import com.yexuejc.base.util.StrUtil;
/**
@@ -35,7 +35,7 @@ public class TimestampDeserializer extends JsonDeserializer<Timestamp> {
DateTimeFormatter.ofPattern(DateConsts.DATE_TIMESTAMP_LINUX, Locale.ENGLISH)));
} else if (timeString.endsWith(DateConsts.DATE_KEY_Z)) {
return Timestamp.valueOf(LocalDateTime.parse(timeString, DateTimeFormatter.ISO_INSTANT));
} else if (timeString.contains(SymbolicConstant.SLASH)) {
} else if (timeString.contains(SymbolicConsts.SLASH)) {
return Timestamp.valueOf(
LocalDateTime.parse(timeString, DateTimeFormatter.ofPattern(DateConsts.DATE_TIMESTAMP)));
} else {

View File

@@ -26,7 +26,7 @@ import javax.crypto.Cipher;
import javax.crypto.NoSuchPaddingException;
import com.yexuejc.base.constant.ExpCode;
import com.yexuejc.base.constant.SymbolicConstant;
import com.yexuejc.base.constant.SymbolicConsts;
import com.yexuejc.base.exception.BaseException;
import com.yexuejc.base.http.RequestHeader;
import com.yexuejc.base.util.StrUtil;
@@ -477,9 +477,9 @@ public class RSA {
.replace("{body}", data);
// @formatter:on
String sign = respHeader.getSignature();
if (sign.contains(SymbolicConstant.COMMA)) {
sign = Arrays.stream(sign.split(SymbolicConstant.COMMA))
.map(s -> s.split(SymbolicConstant.EQUAL))
if (sign.contains(SymbolicConsts.COMMA)) {
sign = Arrays.stream(sign.split(SymbolicConsts.COMMA))
.map(s -> s.split(SymbolicConsts.EQUAL))
.filter(subSplit -> subSplit.length > 1 && RequestHeader.SIGNATURE.equalsIgnoreCase(subSplit[0]))
.map(subSplit -> subSplit[1])
.findFirst()

View File

@@ -1,7 +1,7 @@
package com.yexuejc.base.exception;
import com.yexuejc.base.constant.ExpCode;
import com.yexuejc.base.constant.SymbolicConstant;
import com.yexuejc.base.constant.SymbolicConsts;
import com.yexuejc.base.util.MsgUtil;
import com.yexuejc.base.util.StrUtil;
@@ -79,7 +79,7 @@ public class BaseException extends Exception {
BaseException comExp = (BaseException) cause;
if (StrUtil.isNotEmpty(comExp.errorMessage)) {
this.errorMessage = StrUtil.isEmpty(this.errorMessage) ? comExp.errorMessage :
this.errorMessage + SymbolicConstant.NEW_LINE + comExp.errorMessage;
this.errorMessage + SymbolicConsts.NEW_LINE + comExp.errorMessage;
}
}
}

View File

@@ -1,187 +0,0 @@
package com.yexuejc.base.pojo;
import com.yexuejc.base.util.JsonUtil;
import com.yexuejc.base.util.StrUtil;
import java.io.Serializable;
/**
* 接口交互APi
*
* @PackageName: com.mcworle.ecentm.api.user.web.vo
* @Description:
* @author: maxf
* @date: 2018/1/17 11:36
*/
public class ApiVO implements Serializable {
public ApiVO() {
}
public ApiVO(STATUS status) {
this.status = status;
}
/**
* 使用默认返回code
*
* @param status
* @param msg
*/
public ApiVO(STATUS status, String msg) {
this.status = status;
this.msgs = StrUtil.isNotEmpty(msg) ? new String[]{msg} : null;
}
/**
* 使用默认返回code
*
* @param status
* @param msg
*/
public ApiVO(STATUS status, String[] msg) {
this.status = status;
this.msgs = msg;
}
public ApiVO(STATUS status, String code, String msg) {
this.status = status;
this.code = code;
this.msgs = StrUtil.isNotEmpty(msg) ? new String[]{msg} : null;
}
public ApiVO(STATUS status, String code, String[] msg) {
this.status = status;
this.code = code;
this.msgs = msg;
}
public ApiVO setStatus(STATUS status, String code, String msg) {
this.status = status;
this.code = code;
this.msgs = StrUtil.isNotEmpty(msg) ? new String[]{msg} : null;
return this;
}
public ApiVO setStatus(STATUS status, String code, String[] msg) {
this.status = status;
this.code = code;
this.msgs = msg;
return this;
}
public enum STATUS {
/**
* 成功
*/
S,
/**
* 失败
*/
F,
/**
* 错误
*/
E
}
/**
* 状态
*/
private STATUS status = STATUS.S;
/**
* code
*/
private String code;
/**
* 消息
*/
private String[] msgs;
/**
* 值1
*/
private Object object1;
/**
* 值2
*/
private Object object2;
public <T extends Object> ApiVO setObject1(T obj) {
object1 = obj;
return this;
}
public <T extends Object> T getObject1(Class<T> clazz) {
return (T) object1;
}
public <T extends Object> ApiVO setObject2(T obj) {
object2 = obj;
return this;
}
public <T extends Object> T getObject2(Class<T> clazz) {
return (T) object2;
}
public boolean isSucc() {
if (STATUS.S.name().equals(status.name())) {
return true;
}
return false;
}
public boolean isErr() {
if (STATUS.E.name().equals(status.name())) {
return true;
}
return false;
}
public ApiVO setMsg(String msg) {
this.msgs = StrUtil.isNotEmpty(msg) ? new String[]{msg} : null;
return this;
}
public boolean isFail() {
return !isSucc();
}
public String getCode() {
return code;
}
public ApiVO setCode(String code) {
this.code = code;
return this;
}
@Override
public String toString() {
return JsonUtil.obj2Json(this);
}
public STATUS getStatus() {
return status;
}
public ApiVO setStatus(STATUS status) {
this.status = status;
return this;
}
public ApiVO setMsgs(String[] msgs) {
this.msgs = msgs;
return this;
}
public String[] getMsgs() {
return msgs;
}
public String getMsg() {
return msgs == null ? "" : msgs[0];
}
}

View File

@@ -0,0 +1,104 @@
package com.yexuejc.base.pojo;
import java.util.List;
import com.yexuejc.base.constant.SymbolicConsts;
/**
* API結果が戻りする、集合型
*
* @author ISC
* @date 2023/08/18
*/
public class ListResponseVO<T> extends ResponseVO {
private List<T> data;
public ListResponseVO() {
super();
}
public ListResponseVO(List<T> data) {
this.data = data;
setMessage(SymbolicConsts.EMPTY);
setCode(Codes.SUCCESS.code);
}
public ListResponseVO(List<T> data, String code, String msg) {
super(code, msg);
this.data = data;
}
public List<T> getData() {
return data;
}
public ListResponseVO<T> setData(List<T> data) {
this.data = data;
return this;
}
/**
* 创建成功结果
* @param data
* @return
* @param <T>
*/
public static <T> ListResponseVO<T> success(List<T> data) {
return new ListResponseVO<>(data);
}
/**
* 创建失败并设定message默认code
* @param message
* @return
*/
public static ListResponseVO<String> fail(String message) {
ListResponseVO<String> vo = new ListResponseVO<>();
vo.setCode(Codes.SYSTEM_ERROR.code).setMessage(message);
return vo;
}
/**
* 创建失败并设定messagecode
* @param errorCode
* @param message
* @return
*/
public static ListResponseVO<String> fail(String errorCode, String message) {
ListResponseVO<String> vo = new ListResponseVO<>();
vo.setCode(errorCode).setMessage(message);
return vo;
}
@Override
public ListResponseVO<T> setCode(String code) {
super.setCode(code);
return this;
}
@Override
public ListResponseVO<T> setMessage(String message) {
super.setMessage(message);
return this;
}
@Override
public ListResponseVO<T> setBizCode(String errCode) {
super.setBizCode(errCode);
return this;
}
@Override
public ListResponseVO<T> setBizMessage(String errCodeDes) {
super.setBizMessage(errCodeDes);
return this;
}
@Override
public String toString() {
return super.toString();
}
}

View File

@@ -0,0 +1,101 @@
package com.yexuejc.base.pojo;
import com.yexuejc.base.constant.SymbolicConsts;
/**
* API結果が戻りする、対象型
*
* @author ISC
* @date 2023/08/18
*/
public class ObjectResponseVO<T> extends ResponseVO {
private T data;
public ObjectResponseVO() {
}
public ObjectResponseVO(T data) {
this.data = data;
setMessage(SymbolicConsts.EMPTY);
setCode(Codes.SUCCESS.code);
}
public ObjectResponseVO(T data, String code, String msg) {
super(code, msg);
this.data = data;
}
public T getData() {
return data;
}
public ObjectResponseVO<T> setData(T data) {
this.data = data;
return this;
}
/**
* 创建成功结果
* @param data
* @return
* @param <T>
*/
public static <T> ObjectResponseVO<T> success(T data) {
return new ObjectResponseVO<>(data);
}
/**
* 创建失败并设定message默认code
* @param message
* @return
*/
public static ObjectResponseVO<String> fail(String message) {
ObjectResponseVO<String> vo = new ObjectResponseVO<>();
vo.setCode(Codes.SYSTEM_ERROR.code).setMessage(message);
return vo;
}
/**
* 创建失败并设定messagecode
* @param errorCode
* @param message
* @return
*/
public static ObjectResponseVO<String> fail(String errorCode, String message) {
ObjectResponseVO<String> vo = new ObjectResponseVO<>();
vo.setCode(errorCode).setMessage(message);
return vo;
}
@Override
public ObjectResponseVO<T> setCode(String code) {
super.setCode(code);
return this;
}
@Override
public ObjectResponseVO<T> setMessage(String message) {
super.setMessage(message);
return this;
}
@Override
public ObjectResponseVO<T> setBizCode(String bizCode) {
super.setBizCode(bizCode);
return this;
}
@Override
public ObjectResponseVO<T> setBizMessage(String bizMessage) {
super.setBizMessage(bizMessage);
return this;
}
@Override
public String toString() {
return super.toString();
}
}

View File

@@ -0,0 +1,139 @@
package com.yexuejc.base.pojo;
import java.io.Serializable;
import com.yexuejc.base.constant.SymbolicConsts;
/**
* API結果が戻りする
*
* @author ISC
* @date 2023/08/18
*/
public class ResponseVO implements Serializable {
public static enum Codes {
/** 处理成功 */ SUCCESS("S"),
/** 处理失败 */ FAIL("F"),
/** 系统异常 */ SYSTEM_ERROR("E");
public final String code;
Codes(String code) {
this.code = code;
}
}
/** 请求code */
private String code;
/** 请求消息 */
private String message;
/** 业务异常 */
private String bizCode;
/** 业务异常 */
private String bizMessage;
public ResponseVO() {
}
public ResponseVO(String code, String msg) {
this.code = code;
this.message = msg;
}
public String getCode() {
return code;
}
public ResponseVO setCode(String code) {
this.code = code;
return this;
}
public String getMessage() {
return message;
}
public ResponseVO setMessage(String message) {
this.message = message;
return this;
}
public String getBizCode() {
return bizCode;
}
public ResponseVO setBizCode(String bizCode) {
this.bizCode = bizCode;
return this;
}
public String getBizMessage() {
return bizMessage;
}
public ResponseVO setBizMessage(String bizMessage) {
this.bizMessage = bizMessage;
return this;
}
/**
* 单纯成功
*
* @return
*/
public static ResponseVO success() {
return new ResponseVO(Codes.SUCCESS.code, SymbolicConsts.EMPTY);
}
/**
* 成功并自定义message
*
* @param message
* @return
*/
public static ResponseVO success(String message) {
return new ResponseVO(Codes.SUCCESS.code, message);
}
/**
* 处理失败 默认 code
*
* @param message
* @return
*/
public static ResponseVO fail(String message) {
return new ResponseVO(Codes.SYSTEM_ERROR.code, message);
}
/**
* 处理失败,只定义 code
*
* @param errorCode
* @return
*/
public static ResponseVO fail4Code(String errorCode) {
return new ResponseVO(errorCode, SymbolicConsts.EMPTY);
}
/**
* 处理失败,定义 code 和 message
*
* @param errorCode
* @param message
* @return
*/
public static ResponseVO fail(String errorCode, String message) {
return new ResponseVO(errorCode, message);
}
@Override
public String toString() {
return super.toString();
}
}