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.
85 lines
2.5 KiB
85 lines
2.5 KiB
package com.ruoyi.framework.web.controller; |
|
|
|
import java.beans.PropertyEditorSupport; |
|
import java.util.Date; |
|
import java.util.List; |
|
import org.slf4j.Logger; |
|
import org.slf4j.LoggerFactory; |
|
import org.springframework.web.bind.WebDataBinder; |
|
import org.springframework.web.bind.annotation.InitBinder; |
|
import com.github.pagehelper.PageHelper; |
|
import com.github.pagehelper.PageInfo; |
|
import com.ruoyi.common.constant.HttpStatus; |
|
import com.ruoyi.common.utils.DateUtils; |
|
import com.ruoyi.common.utils.StringUtils; |
|
import com.ruoyi.common.utils.sql.SqlUtil; |
|
import com.ruoyi.framework.web.domain.AjaxResult; |
|
import com.ruoyi.framework.web.page.PageDomain; |
|
import com.ruoyi.framework.web.page.TableDataInfo; |
|
import com.ruoyi.framework.web.page.TableSupport; |
|
|
|
/** |
|
* web层通用数据处理 |
|
* |
|
* @author ruoyi |
|
*/ |
|
public class BaseController |
|
{ |
|
protected final Logger logger = LoggerFactory.getLogger(BaseController.class); |
|
|
|
/** |
|
* 将前台传递过来的日期格式的字符串,自动转化为Date类型 |
|
*/ |
|
@InitBinder |
|
public void initBinder(WebDataBinder binder) |
|
{ |
|
// Date 类型转换 |
|
binder.registerCustomEditor(Date.class, new PropertyEditorSupport() |
|
{ |
|
@Override |
|
public void setAsText(String text) |
|
{ |
|
setValue(DateUtils.parseDate(text)); |
|
} |
|
}); |
|
} |
|
|
|
/** |
|
* 设置请求分页数据 |
|
*/ |
|
protected void startPage() |
|
{ |
|
PageDomain pageDomain = TableSupport.buildPageRequest(); |
|
Integer pageNum = pageDomain.getPageNum(); |
|
Integer pageSize = pageDomain.getPageSize(); |
|
if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)) |
|
{ |
|
String orderBy = SqlUtil.escapeOrderBySql(pageDomain.getOrderBy()); |
|
PageHelper.startPage(pageNum, pageSize, orderBy); |
|
} |
|
} |
|
|
|
/** |
|
* 响应请求分页数据 |
|
*/ |
|
@SuppressWarnings({ "rawtypes", "unchecked" }) |
|
protected TableDataInfo getDataTable(List<?> list) |
|
{ |
|
TableDataInfo rspData = new TableDataInfo(); |
|
rspData.setCode(HttpStatus.SUCCESS); |
|
rspData.setRows(list); |
|
rspData.setTotal(new PageInfo(list).getTotal()); |
|
return rspData; |
|
} |
|
|
|
/** |
|
* 响应返回结果 |
|
* |
|
* @param rows 影响行数 |
|
* @return 操作结果 |
|
*/ |
|
protected AjaxResult toAjax(int rows) |
|
{ |
|
return rows > 0 ? AjaxResult.success() : AjaxResult.error(); |
|
} |
|
}
|
|
|