统一返回的结果集
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;
}
}
}