统一响应数据接口
package com. common. platform. sys. response;
import lombok. Data;
@Data
public class ResponseData {
public static final String DEFAULT_SUCCESS_MESSAGE = "请求成功" ;
public static final String DEFAULT_ERROR_MESSAGE = "网络异常" ;
public static final Integer DEFAULT_SUCCESS_CODE = 200 ;
public static final Integer DEFAULT_ERROR_CODE = 500 ;
private Boolean success;
private Integer code;
private String message;
private Object data;
public ResponseData ( ) {
}
public ResponseData ( Boolean success, Integer code, String message, Object data) {
this . success = success;
this . code = code;
this . message = message;
this . data = data;
}
public static SuccessResponseData success ( ) {
return new SuccessResponseData ( ) ;
}
public static SuccessResponseData success ( Object object) {
return new SuccessResponseData ( object) ;
}
public static SuccessResponseData success ( Integer code, String message, Object object) {
return new SuccessResponseData ( code, message, object) ;
}
public ErrorResponseData error ( String message) {
return new ErrorResponseData ( message) ;
}
public static ErrorResponseData error ( Integer code, String message) {
return new ErrorResponseData ( code, message) ;
}
public static ErrorResponseData error ( Integer code, String message, Object object) {
return new ErrorResponseData ( code, message, object) ;
}
}
package com. common. platform. sys. response;
public class SuccessResponseData extends ResponseData {
public SuccessResponseData ( ) {
super ( true , DEFAULT_SUCCESS_CODE, DEFAULT_ERROR_MESSAGE, null) ;
}
public SuccessResponseData ( Object object) {
super ( true , DEFAULT_SUCCESS_CODE, DEFAULT_ERROR_MESSAGE, object) ;
}
public SuccessResponseData ( Integer code, String message, Object object) {
super ( true , code, message, object) ;
}
}
package com. common. platform. sys. response;
public class ErrorResponseData extends ResponseData {
public ErrorResponseData ( String message) {
super ( false , DEFAULT_ERROR_CODE, message, null) ;
}
public ErrorResponseData ( Integer code, String message) {
super ( false , code, message, null) ;
}
public ErrorResponseData ( Integer code, String message, Object object) {
super ( false , code, message, object) ;
}
}
package com. common. platform. sys. warpper;
import com. baomidou. mybatisplus. extension. plugins. pagination. Page;
import com. common. platform. base. page. PageResult;
import java. util. List;
import java. util. Map;
public abstract class BaseControllerWrapper {
private Page< Map< String, Object> > page = null;
private PageResult< Map< String, Object> > pageResult = null;
private Map< String , Object> single = null;
private List< Map< String , Object> > multi = null;
public BaseControllerWrapper ( Map< String, Object> single) {
this . single = single;
}
public BaseControllerWrapper ( List< Map< String , Object> > multi) {
this . multi = multi;
}
public BaseControllerWrapper ( Page< Map< String, Object> > page) {
if ( page!= null && page. getRecords ( ) != null) {
this . page= page;
this . multi= page. getRecords ( ) ;
}
}
public BaseControllerWrapper ( PageResult< Map< String , Object> > pageResult) {
if ( pageResult!= null && pageResult. getRows ( ) != null) {
this . pageResult = pageResult;
this . multi = pageResult. getRows ( ) ;
}
}
public < T> T wrap ( ) {
if ( single!= null) {
wrapTheMap ( single) ;
}
if ( multi!= null) {
for ( Map< String , Object> map: multi) {
wrapTheMap ( map) ;
}
}
if ( page!= null) {
return ( T) page;
}
if ( pageResult!= null) {
return ( T) pageResult;
}
if ( single!= null) {
return ( T) single;
}
if ( multi!= null) {
return ( T) multi;
}
return null;
}
protected abstract void wrapTheMap ( Map< String, Object> map) ;
}
package com. common. platform. sys;
import com. common. platform. base. config. context. HttpContext;
import com. common. platform. sys. response. SuccessResponseData;
import com. common. platform. sys. warpper. BaseControllerWrapper;
import javax. servlet. http. Cookie;
import javax. servlet. http. HttpServletRequest;
import javax. servlet. http. HttpServletResponse;
import javax. servlet. http. HttpSession;
import java. util. Objects;
public class BaseController {
protected final String REDIRECT = "redirect:" ;
protected final String FORWARD = "forward:" ;
protected static SuccessResponseData SUCCESS_TIP = new SuccessResponseData ( ) ;
protected HttpServletRequest getHttpServletRequest ( ) {
return HttpContext. getRequest ( ) ;
}
protected HttpServletResponse getHttpServletResponse ( ) {
return HttpContext. getResponse ( ) ;
}
protected HttpSession getSession ( ) {
return Objects. requireNonNull ( HttpContext. getRequest ( ) ) . getSession ( ) ;
}
protected HttpSession getSession ( Boolean flag) {
return Objects. requireNonNull ( HttpContext. getRequest ( ) ) . getSession ( flag) ;
}
protected String getPara ( String name) {
return Objects. requireNonNull ( HttpContext. getRequest ( ) ) . getParameter ( name) ;
}
protected void setAttr ( String name, Object value) {
Objects. requireNonNull ( HttpContext. getRequest ( ) ) . setAttribute ( name, value) ;
}
protected Object warpObject ( BaseControllerWrapper wrapper) {
return wrapper. wrap ( ) ;
}
protected void deleteCookieByName ( String cookieName) {
Cookie[ ] cookies = this . getHttpServletRequest ( ) . getCookies ( ) ;
for ( Cookie cookie : cookies) {
if ( cookie. getName ( ) . equals ( cookieName) ) {
Cookie temp = new Cookie ( cookie. getName ( ) , "" ) ;
temp. setMaxAge ( 0 ) ;
this . getHttpServletResponse ( ) . addCookie ( temp) ;
}
}
}
protected void deleteAllCookie ( ) {
Cookie[ ] cookies = this . getHttpServletRequest ( ) . getCookies ( ) ;
for ( Cookie cookie : cookies) {
Cookie temp = new Cookie ( cookie. getName ( ) , "" ) ;
temp. setMaxAge ( 0 ) ;
this . getHttpServletResponse ( ) . addCookie ( temp) ;
}
}
}