import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.StringUtils;
import java.io.Serializable;
/**
* @author 小怪
*/
@ApiModel("Return message body 返回消息体")
public class ResponseDto extends Dto {
@JsonIgnore
@ApiModelProperty(value = "Thread No 线程编号")
private String traceId;
@JsonIgnore
@ApiModelProperty(value = "Request No 请求编号")
private String sourceId;
@JsonIgnore
@ApiModelProperty(value = "Corresponding description of request number 请求编号对应描述")
private String sourceName;
@ApiModelProperty(value = "Return state object 返回状态对象")
private Status status;
@ApiModelProperty(value = "Business message object 业务消息对象")
private Object body;
public static ResponseDto failure(ResponseStatus responseStatus){
return new ResponseDto(responseStatus,"");
}
public static ResponseDto failure(ResponseStatus responseStatus,String msg){
return new ResponseDto(responseStatus,msg);
}
public static ResponseDto failure(ResponseStatus responseStatus,String msg,String msgCn){
return new ResponseDto(responseStatus,msg,msgCn);
}
public static ResponseDto failure(String msgCn,ResponseStatus responseStatus){
return new ResponseDto(responseStatus,"",msgCn);
}
public static ResponseDto failure(String msgCn,ResponseStatus responseStatus,String msg){
return new ResponseDto(responseStatus,msg,msgCn);
}
public static ResponseDto success() {
return new ResponseDto(ResponseStatus.SUCCESS,"");
}
public static ResponseDto success(ResponseStatus responseStatus,Object body) {
return new ResponseDto(responseStatus,"","",body);
}
public static ResponseDto success(Object body) {
return new ResponseDto(ResponseStatus.SUCCESS,"","",body);
}
public static ResponseDto success(Object body,String sourceId,String sourceName) {
ResponseDto responseDto = new ResponseDto(ResponseStatus.SUCCESS,"","",body);
responseDto.setSourceId(sourceId);
responseDto.setSourceName(sourceName);
return responseDto;
}
public ResponseDto(ResponseStatus responseStatus, String customMessage) {
this(responseStatus, customMessage, "", null);
}
public ResponseDto(ResponseStatus responseStatus, String customMessage, String customMessageCn) {
this(responseStatus, customMessage, customMessageCn, null);
}
public ResponseDto(ResponseStatus responseStatus, String customMessage, String customMessageCn, Object body) {
String msg = StringUtils.isBlank(customMessage) ? responseStatus.getMsg() : customMessage;
String msgCn = StringUtils.isBlank(customMessageCn) ? responseStatus.getMsgCn() : customMessageCn;
this.status = new Status(responseStatus.getCode(), msg, msgCn);
this.body = body;
}
public String getTraceId() {
return traceId;
}
public void setTraceId(String traceId) {
this.traceId = traceId;
}
public Status getStatus() {
return status;
}
public void setStatus(Status status) {
this.status = status;
}
public Object getBody() {
return body;
}
public void setBody(Object body) {
this.body = body;
}
public void setCode(String code) {
status = status == null ? new Status() : status;
status.setCode(code);
}
public void setMsg(String msg) {
status = status == null ? new Status() : status;
status.setMsg(msg);
}
@ApiModel("Return state volume 返回状态体")
public class Status implements Serializable {
@ApiModelProperty(value = "Return state coding 返回状态编码")
private String code;
@ApiModelProperty(value = "Return state description 返回状态描述")
private String msg;
@ApiModelProperty(value = "Return status description in Chinese 返回状态中文描述")
private String msgCn;
Status() {
}
Status(String code, String msg, String msgCn) {
this.code = code;
this.msg = msg;
this.msgCn = msgCn;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public String getMsgCn() {
return msgCn;
}
public void setMsgCn(String msgCn) {
this.msgCn = msgCn;
}
@Override
public String toString() {
return "Status{" +
"code='" + code + '\'' +
", msg='" + msg + '\'' +
", msgCn='" + msgCn + '\'' +
'}';
}
}
@Override
public String toString() {
return "ResponseDto{" +
"traceId='" + traceId + '\'' +
", status=" + status +
", body=" + body +
'}';
}
public String getSourceId() {
return sourceId;
}
public void setSourceId(String sourceId) {
this.sourceId = sourceId;
}
public String getSourceName() {
return sourceName;
}
public void setSourceName(String sourceName) {
this.sourceName = sourceName;
}
}
通用返回类
最新推荐文章于 2023-12-14 18:20:46 发布