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.
178 lines
4.1 KiB
178 lines
4.1 KiB
package com.ruoyi.common.core.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.core.domain.AjaxResult; |
|
import com.ruoyi.common.core.domain.model.LoginUser; |
|
import com.ruoyi.common.core.page.PageDomain; |
|
import com.ruoyi.common.core.page.TableDataInfo; |
|
import com.ruoyi.common.core.page.TableSupport; |
|
import com.ruoyi.common.utils.DateUtils; |
|
import com.ruoyi.common.utils.PageUtils; |
|
import com.ruoyi.common.utils.SecurityUtils; |
|
import com.ruoyi.common.utils.StringUtils; |
|
import com.ruoyi.common.utils.sql.SqlUtil; |
|
|
|
/** |
|
* web层通用数据处理 |
|
* |
|
* @author ruoyi |
|
*/ |
|
public class BaseController |
|
{ |
|
protected final Logger logger = LoggerFactory.getLogger(this.getClass()); |
|
|
|
/** |
|
* 将前台传递过来的日期格式的字符串,自动转化为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() |
|
{ |
|
PageUtils.startPage(); |
|
} |
|
|
|
/** |
|
* 设置请求排序数据 |
|
*/ |
|
protected void startOrderBy() |
|
{ |
|
PageDomain pageDomain = TableSupport.buildPageRequest(); |
|
if (StringUtils.isNotEmpty(pageDomain.getOrderBy())) |
|
{ |
|
String orderBy = SqlUtil.escapeOrderBySql(pageDomain.getOrderBy()); |
|
PageHelper.orderBy(orderBy); |
|
} |
|
} |
|
|
|
/** |
|
* 响应请求分页数据 |
|
*/ |
|
@SuppressWarnings({ "rawtypes", "unchecked" }) |
|
protected TableDataInfo getDataTable(List<?> list) |
|
{ |
|
TableDataInfo rspData = new TableDataInfo(); |
|
rspData.setCode(HttpStatus.SUCCESS); |
|
rspData.setMsg("查询成功"); |
|
rspData.setRows(list); |
|
rspData.setTotal(new PageInfo(list).getTotal()); |
|
return rspData; |
|
} |
|
|
|
/** |
|
* 返回成功 |
|
*/ |
|
public AjaxResult success() |
|
{ |
|
return AjaxResult.success(); |
|
} |
|
|
|
/** |
|
* 返回失败消息 |
|
*/ |
|
public AjaxResult error() |
|
{ |
|
return AjaxResult.error(); |
|
} |
|
|
|
/** |
|
* 返回成功消息 |
|
*/ |
|
public AjaxResult success(String message) |
|
{ |
|
return AjaxResult.success(message); |
|
} |
|
|
|
/** |
|
* 返回失败消息 |
|
*/ |
|
public AjaxResult error(String message) |
|
{ |
|
return AjaxResult.error(message); |
|
} |
|
|
|
/** |
|
* 响应返回结果 |
|
* |
|
* @param rows 影响行数 |
|
* @return 操作结果 |
|
*/ |
|
protected AjaxResult toAjax(int rows) |
|
{ |
|
return rows > 0 ? AjaxResult.success() : AjaxResult.error(); |
|
} |
|
|
|
/** |
|
* 响应返回结果 |
|
* |
|
* @param result 结果 |
|
* @return 操作结果 |
|
*/ |
|
protected AjaxResult toAjax(boolean result) |
|
{ |
|
return result ? success() : error(); |
|
} |
|
|
|
/** |
|
* 页面跳转 |
|
*/ |
|
public String redirect(String url) |
|
{ |
|
return StringUtils.format("redirect:{}", url); |
|
} |
|
|
|
/** |
|
* 获取用户缓存信息 |
|
*/ |
|
public LoginUser getLoginUser() |
|
{ |
|
return SecurityUtils.getLoginUser(); |
|
} |
|
|
|
/** |
|
* 获取登录用户id |
|
*/ |
|
public Long getUserId() |
|
{ |
|
return getLoginUser().getUserId(); |
|
} |
|
|
|
/** |
|
* 获取登录部门id |
|
*/ |
|
public Long getDeptId() |
|
{ |
|
return getLoginUser().getDeptId(); |
|
} |
|
|
|
/** |
|
* 获取登录用户名 |
|
*/ |
|
public String getUsername() |
|
{ |
|
return getLoginUser().getUsername(); |
|
} |
|
}
|
|
|