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