001package run.iget.framework.common.resp;
002
003import lombok.Data;
004import run.iget.framework.common.enums.BaseResultEnum;
005
006/**
007 * 响应数据
008 *
009 * @author 阿沐 babamu@126.com
010 */
011@Data
012public class ResultResp<T> {
013
014    private String code;
015
016    private String msg;
017
018    private String module;
019
020    private T      data;
021
022    public static <T> ResultResp<T> ok() {
023        return ok(null);
024    }
025
026    public static <T> ResultResp<T> ok(T data) {
027        return of(BaseResultEnum.SUCCESS, data);
028    }
029
030    public static <T> ResultResp<T> error() {
031        return error(BaseResultEnum.ERROR_500);
032    }
033
034    public static <T> ResultResp<T> error(String msg) {
035        return error(BaseResultEnum.ERROR_500.getCode(), msg);
036    }
037
038    public static <T> ResultResp<T> error(BaseResultEnum errorCode) {
039        return error(errorCode.getCode(), errorCode.getDesc());
040    }
041
042    public static <T> ResultResp<T> error(String code, String msg) {
043        ResultResp<T> result = new ResultResp<>();
044        result.setCode(code);
045        result.setMsg(msg);
046        result.setModule(BaseResultEnum.ERROR_500.getModule());
047        return result;
048    }
049
050    public static <T> ResultResp<T> of(BaseResultEnum moduleEnum, T data) {
051        ResultResp<T> result = new ResultResp<>();
052        result.setCode(moduleEnum.getCode());
053        result.setMsg(moduleEnum.getDesc());
054        result.setModule(moduleEnum.getModule());
055        result.setData(data);
056        return result;
057    }
058}