[*] 逻辑调整

This commit is contained in:
acgist
2023-04-19 20:43:59 +08:00
parent 257355fd1f
commit aadd59a51b
19 changed files with 661 additions and 420 deletions

View File

@@ -9,10 +9,8 @@ import com.acgist.taoyao.boot.utils.JSONUtils;
import com.fasterxml.jackson.annotation.JsonIncludeProperties;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
/**
@@ -25,12 +23,15 @@ import lombok.Setter;
@Setter
@Schema(title = "消息", description = "消息")
@Builder
@NoArgsConstructor
@AllArgsConstructor
@JsonIncludeProperties(value = { "code", "message", "header", "body" })
public class Message implements Cloneable, Serializable {
private static final long serialVersionUID = 1L;
/**
* 成功标识
*/
public static final String CODE_0000 = "0000";
/**
* 状态编码
@@ -53,6 +54,20 @@ public class Message implements Cloneable, Serializable {
@Schema(title = "消息主体", description = "消息主体")
private Object body;
public Message() {
// 默认消息都是成功
final MessageCode messageCode = MessageCode.CODE_0000;
this.code = messageCode.getCode();
this.message = messageCode.getMessage();
}
public Message(String code, String message, Header header, Object body) {
this.code = code;
this.message = message;
this.header = header;
this.body = body;
}
/**
* @param code 状态编码
*/
@@ -61,21 +76,21 @@ public class Message implements Cloneable, Serializable {
}
/**
* @param code 状态编码
* @param messageCode 状态编码
*/
public void setCode(MessageCode code) {
this.setCode(code, null);
public void setCode(MessageCode messageCode) {
this.setCode(messageCode, null);
}
/**
* @param code 状态编码
* @param message 状态描述
* @param messageCode 状态编码
* @param message 状态描述
*
* @return this
*/
public Message setCode(MessageCode code, String message) {
this.code = code.getCode();
this.message = StringUtils.isEmpty(message) ? code.getMessage() : message;
public Message setCode(MessageCode messageCode, String message) {
this.code = messageCode.getCode();
this.message = StringUtils.isEmpty(message) ? messageCode.getMessage() : message;
return this;
}
@@ -106,22 +121,22 @@ public class Message implements Cloneable, Serializable {
}
/**
* @param code 状态编码
* @param messageCode 状态编码
*
* @return 失败消息
*/
public static final Message fail(MessageCode code) {
return fail(code, null, null);
public static final Message fail(MessageCode messageCode) {
return fail(messageCode, null, null);
}
/**
* @param code 状态编码
* @param body 消息主体
* @param messageCode 状态编码
* @param body 消息主体
*
* @return 失败消息
*/
public static final Message fail(MessageCode code, Object body) {
return fail(code, null, body);
public static final Message fail(MessageCode messageCode, Object body) {
return fail(messageCode, null, body);
}
/**
@@ -135,7 +150,7 @@ public class Message implements Cloneable, Serializable {
/**
* @param message 状态描述
* @param body 消息主体
* @param body 消息主体
*
* @return 失败消息
*/
@@ -144,25 +159,25 @@ public class Message implements Cloneable, Serializable {
}
/**
* @param code 状态编码
* @param message 状态描述
* @param messageCode 状态编码
* @param message 状态描述
*
* @return 失败消息
*/
public static final Message fail(MessageCode code, String message) {
return fail(code, message, null);
public static final Message fail(MessageCode messageCode, String message) {
return fail(messageCode, message, null);
}
/**
* @param code 状态编码
* @param message 状态描述
* @param body 消息主体
* @param messageCode 状态编码
* @param message 状态描述
* @param body 消息主体
*
* @return 失败消息
*/
public static final Message fail(MessageCode code, String message, Object body) {
public static final Message fail(MessageCode messageCode, String message, Object body) {
final Message failMessage = new Message();
failMessage.setCode(code == null ? MessageCode.CODE_9999 : code, message);
failMessage.setCode(messageCode == null ? MessageCode.CODE_9999 : messageCode, message);
failMessage.body = body;
return failMessage;
}
@@ -195,9 +210,13 @@ public class Message implements Cloneable, Serializable {
}
}
public boolean isSuccess() {
return CODE_0000.equals(this.code);
}
@Override
public String toString() {
return JSONUtils.toJSON(this);
}
}

View File

@@ -19,7 +19,7 @@ public class MessageCodeException extends RuntimeException {
/**
* 状态编码
*/
private final MessageCode code;
private final MessageCode messageCode;
/**
* @param message 异常消息
@@ -41,40 +41,40 @@ public class MessageCodeException extends RuntimeException {
}
/**
* @param code 状态编码
* @param messageCode 状态编码
* @param message 异常消息
*
* @return 状态编码异常
*/
public static final MessageCodeException of(MessageCode code, String message) {
return of(null, code, message);
public static final MessageCodeException of(MessageCode messageCode, String message) {
return of(null, messageCode, message);
}
/**
* @param t 异常
* @param code 状态编码
* @param messageCode 状态编码
* @param message 异常消息
*
* @return 状态编码异常
*/
public static final MessageCodeException of(Throwable t, MessageCode code, String message) {
if(code == null) {
code = MessageCode.CODE_9999;
public static final MessageCodeException of(Throwable t, MessageCode messageCode, String message) {
if(messageCode == null) {
messageCode = MessageCode.CODE_9999;
}
if(StringUtils.isEmpty(message)) {
message = Objects.isNull(t) ? code.getMessage() : t.getMessage();
message = Objects.isNull(t) ? messageCode.getMessage() : t.getMessage();
}
return new MessageCodeException(t, code, message);
return new MessageCodeException(t, messageCode, message);
}
/**
* @param t 异常
* @param code 状态编码
* @param messageCode 状态编码
* @param message 异常消息
*/
public MessageCodeException(Throwable t, MessageCode code, String message) {
public MessageCodeException(Throwable t, MessageCode messageCode, String message) {
super(message, t);
this.code = code;
this.messageCode = messageCode;
}
}

View File

@@ -61,13 +61,13 @@ public final class ErrorUtils {
/**
* 注册异常(注意继承顺序)
*
* @param code 状态编码
* @param messageCode 状态编码
* @param clazz 异常类型
*/
public static final void register(MessageCode code, Class<?> clazz) {
log.debug("注册状态编码异常映射:{} - {}", code, clazz);
public static final void register(MessageCode messageCode, Class<?> clazz) {
log.debug("注册状态编码异常映射:{} - {}", messageCode, clazz);
synchronized (CODE_MAPPING) {
CODE_MAPPING.put(clazz, code);
CODE_MAPPING.put(clazz, messageCode);
}
}
@@ -98,7 +98,7 @@ public final class ErrorUtils {
final Object rootError = rootException(globalError);
if(rootError instanceof MessageCodeException messageCodeException) {
// 状态编码异常
final MessageCode messageCode = messageCodeException.getCode();
final MessageCode messageCode = messageCodeException.getMessageCode();
status = messageCode.getStatus();
message = Message.fail(messageCode, messageCodeException.getMessage());
} else if(rootError instanceof Throwable throwable) {