package com.jsh.erp.base; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.jsh.erp.utils.PageUtils; import com.jsh.erp.utils.ServletUtils; import com.jsh.erp.utils.SqlUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.util.HashMap; import java.util.List; import java.util.Map; /** * web层通用数据处理 * * @author ji-sheng-hua */ public class BaseController { protected final Logger logger = LoggerFactory.getLogger(this.getClass()); /** * 设置请求分页数据 */ protected void startPage() { PageUtils.startPage(); } /** * 设置请求排序数据 */ protected void startOrderBy() { PageDomain pageDomain = TableSupport.buildPageRequest(); if (StringUtils.isNotEmpty(pageDomain.getOrderBy())) { String orderBy = SqlUtil.escapeOrderBySql(pageDomain.getOrderBy()); PageHelper.orderBy(orderBy); } } /** * 清理分页的线程变量 */ protected void clearPage() { PageUtils.clearPage(); } /** * 获取request */ public HttpServletRequest getRequest() { return ServletUtils.getRequest(); } /** * 获取response */ public HttpServletResponse getResponse() { return ServletUtils.getResponse(); } /** * 获取session */ public HttpSession getSession() { return getRequest().getSession(); } /** * 响应请求分页数据 */ @SuppressWarnings({ "rawtypes", "unchecked" }) protected TableDataInfo getDataTable(List list) { Map data = new HashMap<>(); TableDataInfo rspData = new TableDataInfo(); rspData.setCode(200); data.put("rows", list); data.put("total", new PageInfo(list).getTotal()); rspData.setData(data); return rspData; } /** * 响应返回结果 * * @param rows 影响行数 * @return 操作结果 */ protected AjaxResult toAjax(int rows) { return rows > 0 ? success() : error(); } /** * 响应返回结果 * * @param result 结果 * @return 操作结果 */ protected AjaxResult toAjax(boolean result) { return result ? success() : error(); } /** * 返回成功 */ public AjaxResult success() { return AjaxResult.success(); } /** * 返回失败消息 */ public AjaxResult error() { return AjaxResult.error(); } /** * 返回成功消息 */ public AjaxResult success(String message) { return AjaxResult.success(message); } /** * 返回成功数据 */ public static AjaxResult success(Object data) { return AjaxResult.success("操作成功", data); } /** * 返回失败消息 */ public AjaxResult error(String message) { return AjaxResult.error(message); } }