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.
		
		
		
		
			
				
					205 lines
				
				5.2 KiB
			
		
		
			
		
	
	
					205 lines
				
				5.2 KiB
			| 
								 
											3 years ago
										 
									 | 
							
								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;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								}
							 |