[*] 逻辑调整

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) {

View File

@@ -70,12 +70,12 @@ public interface Protocol {
Message build(Object body);
/**
* @param code 状态编码
* @param messageCode 状态编码
* @param body 消息主体
*
* @return 信令消息
*/
Message build(MessageCode code, Object body);
Message build(MessageCode messageCode, Object body);
/**
* @param message 状态描述
@@ -86,22 +86,22 @@ public interface Protocol {
Message build(String message, Object body);
/**
* @param code 状态编码
* @param messageCode 状态编码
* @param message 状态描述
* @param body 消息主体
*
* @return 信令消息
*/
Message build(MessageCode code, String message, Object body);
Message build(MessageCode messageCode, String message, Object body);
/**
* @param id 消息标识
* @param code 状态编码
* @param messageCode 状态编码
* @param message 状态描述
* @param body 消息主体
*
* @return 信令消息
*/
Message build(Long id, MessageCode code, String message, Object body);
Message build(Long id, MessageCode messageCode, String message, Object body);
}

View File

@@ -79,8 +79,8 @@ public abstract class ProtocolAdapter implements Protocol {
}
@Override
public Message build(MessageCode code, Object body) {
return this.build(null, code, null, body);
public Message build(MessageCode messageCode, Object body) {
return this.build(null, messageCode, null, body);
}
@Override
@@ -89,12 +89,12 @@ public abstract class ProtocolAdapter implements Protocol {
}
@Override
public Message build(MessageCode code, String message, Object body) {
return this.build(null, code, message, body);
public Message build(MessageCode messageCode, String message, Object body) {
return this.build(null, messageCode, message, body);
}
@Override
public Message build(Long id, MessageCode code, String message, Object body) {
public Message build(Long id, MessageCode messageCode, String message, Object body) {
// 消息标识
if(id == null) {
id = this.idService.buildId();
@@ -107,7 +107,7 @@ public abstract class ProtocolAdapter implements Protocol {
.build();
final Message build = Message.builder().build();
// 设置状态编码、状态描述:默认成功
build.setCode(code == null ? MessageCode.CODE_0000 : code, message);
build.setCode(messageCode == null ? MessageCode.CODE_0000 : messageCode, message);
// 设置消息头部
build.setHeader(header);
// 设置消息主体

View File

@@ -32,7 +32,7 @@ public class PlatformErrorProtocol extends ProtocolClientAdapter {
}
@Override
public Message build(Long id, MessageCode code, String message, Object body) {
public Message build(Long id, MessageCode messageCode, String message, Object body) {
final Long oldId = this.idLocal.get();
if(oldId == null) {
id = this.idService.buildId();
@@ -41,7 +41,7 @@ public class PlatformErrorProtocol extends ProtocolClientAdapter {
this.idLocal.remove();
}
// 默认设置失败状态
return super.build(id, code == null ? MessageCode.CODE_9999 : code, message, body);
return super.build(id, messageCode == null ? MessageCode.CODE_9999 : messageCode, message, body);
}
/**
@@ -61,7 +61,7 @@ public class PlatformErrorProtocol extends ProtocolClientAdapter {
final String exceptionMessage = e.getMessage();
if(e instanceof MessageCodeException messageCodeException) {
// 自定义的异常
message.setCode(messageCodeException.getCode(), messageCodeException.getMessage());
message.setCode(messageCodeException.getMessageCode(), messageCodeException.getMessage());
} else if(StringUtils.isNotEmpty(exceptionMessage) && exceptionMessage.length() <= Byte.MAX_VALUE) {
// 少量信息返回异常信息
message.setMessage(exceptionMessage);