java返回结果封装及控制层抽象类

统一返回的结果集

package com.zyd.common.vo;

import com.zyd.common.constant.ZydResultConstants;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/***
 * 统一返回的结果集
 * 
 * @author 
 *
 * @param <T>
 */
@Data
@ApiModel("统一返回的结果集")
public class ResultInfo<T> {

    /** 返回编码 */
    @ApiModelProperty(value = "返回描述")
    private ResultMsg e;
    /** 返回结果 */
    @ApiModelProperty(value = "返回的结果")
    private T rdatas;
    
    @Data
    @ApiModel("接口返回描述")
    @AllArgsConstructor
    @NoArgsConstructor
    class ResultMsg{
        @ApiModelProperty("返回编码")
        int errid;
        @ApiModelProperty("返回描述")
        String msg;
    }

    public ResultInfo() {

    }
    
    /***
     * 判断返回结果是否正确
     * @return
     */
    public boolean isSucc() {
        return e==null?false:ZydResultConstants.SUCCESS_CODE == e.getErrid();
    }
    

    ResultInfo(int errid, String msg, T rdatas) {
        this.e = this.new ResultMsg(errid, msg);
        this.rdatas = rdatas;
    }

    /***
     * 返回成功
     * 
     * @param rdatas
     *            返回结果
     * @return
     */
    public static <T> ResultInfo<T> success(T rdatas) {
        return success(rdatas, "");
    }

    /***
     * 返回成功
     * 
     * @param rdatas
     *            返回结果
     * @param msg
     *            返回描述
     * @return
     */
    public static <T> ResultInfo<T> success(T rdatas, String msg) {
        return new ResultInfo<>(ZydResultConstants.SUCCESS_CODE, msg, rdatas);
    }

    /***
     * 返回错误
     * 
     * @param msg
     *            返回描述
     * @return
     */
    public static <T> ResultInfo<T> fail(String msg) {
        return fail(msg, ZydResultConstants.FAIL_CODE);
    }

    /***
     * 返回错误
     * 
     * @param msg
     *            返回描述
     * @param res
     *            返回编码
     * @return
     */
    public static <T> ResultInfo<T> fail(String msg, int res) {
        return fail(msg, res, null);
    }

    /***
     * 返回错误
     * 
     * @param msg
     *            返回描述
     * @param res
     *            返回编码
     * @param rdatas
     *            返回结果
     * @return
     */
    public static <T> ResultInfo<T> fail(String msg, int res, T rdatas) {
        return new ResultInfo<>(res, msg, rdatas);
    }

}

控制层抽象类

package com.zyd.common.base;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;

import com.zyd.common.vo.ResultInfo;

import lombok.extern.slf4j.Slf4j;

/***
 * 控制层抽象类
 * @author
 *
 */
@Slf4j
public abstract class ABaseController {
    /***
     * 获得请求对象
     * @return
     */
    public HttpServletRequest getRequest() {
        return ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getRequest();
    }
    
    /***
     * 获得response对象
     * 
     * @return
     */
    public HttpServletResponse getResponse() {
        return ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getResponse();
    }

    public <T> ResultInfo<T> ok(T t) {
        return ResultInfo.success(t);
    }

    public <T> ResultInfo<T> ok(T o, String msg) {
        return ResultInfo.success(o, msg);
    }

    /***
     * 返回错误
     * 
     * @param msg
     *            返回描述
     * @return
     */
    public static <T> ResultInfo<T> fail(String msg) {
        return ResultInfo.fail(msg);
    }
    /***
     * 返回错误
     * @param msg 返回描述
     * @param res 返回编码
     * @return
     */
    public static <T> ResultInfo<T> fail(String msg, int res) {
        return ResultInfo.fail(msg, res);

    }
    /***
     * 返回错误
     * @param msg 返回描述
     * @param res 返回编码
     * @param t 返回结果
     * @return
     */
    public static <T> ResultInfo<T> fail(String msg, int res, T t) {
        return ResultInfo.fail(msg, res, t);
    }
    
    public int getUserId() {
        String userid = getRequest().getParameter("userid");
        if(userid==null) {
            return 0;
        }
        try {
            return Integer.parseInt(userid);
        } catch (NumberFormatException e) {
            log.info("非int类型用户Id:",userid);
            return 0;
        }
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值