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;
 | ||
|  |     }
 | ||
|  | 
 | ||
|  | 
 | ||
|  | }
 |