You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					
					
						
							204 lines
						
					
					
						
							5.2 KiB
						
					
					
				
			
		
		
	
	
							204 lines
						
					
					
						
							5.2 KiB
						
					
					
				package com.ynxbd.common.result;
 | 
						|
 | 
						|
import com.alibaba.fastjson.annotation.JSONField;
 | 
						|
import com.fasterxml.jackson.annotation.JsonIgnore;
 | 
						|
import com.ynxbd.common.result.struts2.BaseResult;
 | 
						|
import lombok.extern.slf4j.Slf4j;
 | 
						|
 | 
						|
import java.util.ArrayList;
 | 
						|
import java.util.HashMap;
 | 
						|
import java.util.List;
 | 
						|
import java.util.Map;
 | 
						|
 | 
						|
 | 
						|
@Slf4j
 | 
						|
public class Result extends BaseResult {
 | 
						|
    private static final long serialVersionUID = -1005L;
 | 
						|
 | 
						|
    //
 | 
						|
    private Integer code;
 | 
						|
    private String message;
 | 
						|
    private Object data;
 | 
						|
 | 
						|
    /**
 | 
						|
     * 判断是否成功
 | 
						|
     */
 | 
						|
    @JsonIgnore
 | 
						|
    @JSONField(serialize = false)
 | 
						|
    public boolean isSuccess() {
 | 
						|
        return ResultEnum.SUCCESS.status.equals(this.code);
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     * 判断数据操作是否成功
 | 
						|
     */
 | 
						|
    public static Result change(Boolean flag) {
 | 
						|
        return flag ? Result.success() : Result.error();
 | 
						|
    }
 | 
						|
 | 
						|
 | 
						|
    /**
 | 
						|
     * 请求成功-不携带数据
 | 
						|
     */
 | 
						|
    public static Result success() {
 | 
						|
        return new Result(ResultEnum.SUCCESS.status, ResultEnum.SUCCESS.message, null);
 | 
						|
    }
 | 
						|
 | 
						|
 | 
						|
    /**
 | 
						|
     * 请求成功-携带data
 | 
						|
     *
 | 
						|
     * @param data 返回数据
 | 
						|
     */
 | 
						|
    public static Result success(Object data) {
 | 
						|
        return new Result(ResultEnum.SUCCESS.status, ResultEnum.SUCCESS.message, data);
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     * 请求成功-自定义成功枚举
 | 
						|
     *
 | 
						|
     * @param data 返回数据
 | 
						|
     */
 | 
						|
    public static Result success(ResultEnum resultEnum, Object data) {
 | 
						|
        return new Result(resultEnum.status, resultEnum.message, data);
 | 
						|
    }
 | 
						|
 | 
						|
 | 
						|
    /**
 | 
						|
     * 请求成功-携带分页数据
 | 
						|
     *
 | 
						|
     * @param total 数据总数量
 | 
						|
     * @param data  分页数据
 | 
						|
     * @return 返回分页数据
 | 
						|
     */
 | 
						|
    public static <T> Result success(List<T> data, int total) {
 | 
						|
        Map<String, Object> map = new HashMap<>();
 | 
						|
        map.put("total", total);
 | 
						|
        map.put("list", data == null ? new ArrayList<T>() : data);
 | 
						|
        return new Result(ResultEnum.SUCCESS.status, ResultEnum.SUCCESS.message, map);
 | 
						|
    }
 | 
						|
 | 
						|
 | 
						|
    /**
 | 
						|
     * 请求失败-默认提示信息
 | 
						|
     */
 | 
						|
    public static Result error() {
 | 
						|
        return new Result(ResultEnum.ERROR.status, ResultEnum.ERROR.message);
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     * 失败返回,响应码保留,message可变
 | 
						|
     */
 | 
						|
    public static Result error(ResultEnum resultEnum, Object data, String message) {
 | 
						|
        return new Result(resultEnum.status, message, data);
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     * 请求失败-自定义失败原因
 | 
						|
     */
 | 
						|
    public static Result error(ResultEnum resultEnum, Object data) {
 | 
						|
        return new Result(resultEnum.status, resultEnum.message, data);
 | 
						|
    }
 | 
						|
 | 
						|
//
 | 
						|
//    /**
 | 
						|
//     * 请求失败-自定义失败原因
 | 
						|
//     */
 | 
						|
//    public static Result error(ResultEnum resultEnum, String message, Object data) {
 | 
						|
//        message = message == null ? "" : message + "s";
 | 
						|
//        return new Result(resultEnum.status, resultEnum.message + message, data);
 | 
						|
//    }
 | 
						|
 | 
						|
 | 
						|
    /**
 | 
						|
     * 请求失败-自定义失败原因
 | 
						|
     *
 | 
						|
     * @param message 失败原因
 | 
						|
     */
 | 
						|
    public static Result error(String message) {
 | 
						|
        log.info(message);
 | 
						|
        return new Result(ResultEnum.ERROR.status, message);
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     * 请求异常
 | 
						|
     *
 | 
						|
     * @param e 异常
 | 
						|
     */
 | 
						|
    public static Result error(Exception e) {
 | 
						|
        Integer status = ResultEnum.SYSTEM_ERROR.status;
 | 
						|
        String message = ResultEnum.SYSTEM_ERROR.message;
 | 
						|
 | 
						|
        if (e != null && e.getClass() == ServiceException.class) {
 | 
						|
            ServiceException serviceException = (ServiceException) e;
 | 
						|
            if (serviceException.getMessage() != null) {
 | 
						|
                message = serviceException.getMessage();
 | 
						|
                log.error(e.getMessage());
 | 
						|
            }
 | 
						|
            if (serviceException.getResultEnum() != null) {
 | 
						|
                status = serviceException.getResultEnum().status;
 | 
						|
            }
 | 
						|
        }
 | 
						|
        return new Result(status, message);
 | 
						|
    }
 | 
						|
 | 
						|
 | 
						|
    /**
 | 
						|
     * 请求失败-枚举
 | 
						|
     *
 | 
						|
     * @param resultEnum 枚举值
 | 
						|
     * @return 响应枚举对应的信息
 | 
						|
     */
 | 
						|
    public static Result error(ResultEnum resultEnum) {
 | 
						|
        return new Result(resultEnum.status, resultEnum.message);
 | 
						|
    }
 | 
						|
 | 
						|
    public Result() {
 | 
						|
    }
 | 
						|
 | 
						|
    private Result(Integer code, String message) {
 | 
						|
        this.code = code;
 | 
						|
        this.message = message;
 | 
						|
    }
 | 
						|
 | 
						|
    public Result(Integer code, String message, Object data) {
 | 
						|
        this.code = code;
 | 
						|
        this.message = message;
 | 
						|
        this.data = data;
 | 
						|
    }
 | 
						|
 | 
						|
    @Override
 | 
						|
    public String toString() {
 | 
						|
        return "Result{" +
 | 
						|
                "code=" + code +
 | 
						|
                ", message='" + message + '\'' +
 | 
						|
                ", data=" + data +
 | 
						|
                '}';
 | 
						|
    }
 | 
						|
 | 
						|
    public Integer getCode() {
 | 
						|
        return code;
 | 
						|
    }
 | 
						|
 | 
						|
    public void setCode(Integer code) {
 | 
						|
        this.code = code;
 | 
						|
    }
 | 
						|
 | 
						|
    public String getMessage() {
 | 
						|
        return message;
 | 
						|
    }
 | 
						|
 | 
						|
    public void setMessage(String message) {
 | 
						|
        this.message = message;
 | 
						|
    }
 | 
						|
 | 
						|
    public Object getData() {
 | 
						|
        return data;
 | 
						|
    }
 | 
						|
 | 
						|
    public void setData(Object data) {
 | 
						|
        this.data = data;
 | 
						|
    }
 | 
						|
 | 
						|
 | 
						|
}
 | 
						|
 |