package com.szwl.model.bo; import com.szwl.constant.ResponseCodesEnum; import com.fasterxml.jackson.annotation.JsonView; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; @EqualsAndHashCode(callSuper = true) @Data @Accessors(chain = true) public class ResponseModel extends R { public interface NormalView {} public interface FullView extends NormalView {} @ApiModelProperty(value = "返回码") @JsonView({NormalView.class}) private String code; @ApiModelProperty(value = "返回信息") @JsonView({NormalView.class}) private String message = ""; @ApiModelProperty(value = "返回数据") @JsonView({NormalView.class}) private T data; public static ResponseModel ok(T data) { return new ResponseModel() .setCode(ResponseCodesEnum.ALL_OK.code()) .setData(data); } public static ResponseModel ok(T data, String message) { return new ResponseModel() .setCode(ResponseCodesEnum.ALL_OK.code()) .setMessage(message) .setData(data); } public static ResponseModel ok() { return new ResponseModel() .setCode(ResponseCodesEnum.ALL_OK.code()); } public static ResponseModel okByMsg(String message) { return new ResponseModel() .setCode(ResponseCodesEnum.ALL_OK.code()) .setMessage(message); } public static ResponseModel fail(ResponseCodesEnum code,String message) { return new ResponseModel() .setCode(code.code()) .setMessage(message); } public static ResponseModel fail(ResponseCodesEnum code) { return new ResponseModel() .setCode(code.code()) .setMessage(code.message()); } public static ResponseModel fail(String message) { return new ResponseModel() .setCode(ResponseCodesEnum.B0001.code()) .setMessage(message); } /** * 校验是否成功 * * @return */ public boolean isSuccess() { return ResponseCodesEnum.ALL_OK.code().equalsIgnoreCase(this.getCode()); } }