package com.ots.framework.web.controller;
|
import com.github.pagehelper.PageHelper;
|
import com.github.pagehelper.PageInfo;
|
import com.ots.common.utils.DateUtils;
|
import com.ots.common.utils.StringUtils;
|
import com.ots.common.utils.security.ShiroUtils;
|
import com.ots.common.utils.sql.SqlUtil;
|
import com.ots.framework.web.domain.AjaxResult;
|
import com.ots.framework.web.domain.AjaxResult.Type;
|
import com.ots.framework.web.page.PageDomain;
|
import com.ots.framework.web.page.TableDataInfo;
|
import com.ots.framework.web.page.TableSupport;
|
import com.ots.project.system.user.domain.User;
|
import org.springframework.web.bind.WebDataBinder;
|
import org.springframework.web.bind.annotation.InitBinder;
|
import java.beans.PropertyEditorSupport;
|
import java.util.Date;
|
import java.util.List;
|
import java.util.regex.Matcher;
|
import java.util.regex.Pattern;
|
|
public class BaseController {
|
|
@InitBinder
|
public void initBinder(WebDataBinder binder) {
|
|
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(0);
|
rspData.setRows(list);
|
rspData.setTotal(new PageInfo(list).getTotal());
|
return rspData;
|
}
|
|
protected AjaxResult toAjax(int rows) {
|
return rows > 0 ? success() : error();
|
}
|
|
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 AjaxResult error(String message) {
|
return AjaxResult.error(message);
|
}
|
|
public AjaxResult error(Type type, String message) {
|
return new AjaxResult(type, message);
|
}
|
|
public String redirect(String url) {
|
return StringUtils.format("redirect:{}", url);
|
}
|
public User getSysUser() {
|
return ShiroUtils.getSysUser();
|
}
|
public void setSysUser(User user) {
|
ShiroUtils.setSysUser(user);
|
}
|
public Long getUserId() {
|
return getSysUser().getUserId();
|
}
|
public String getLoginName() {
|
return getSysUser().getLoginName();
|
}
|
public static void main(String[] args) {
|
String line = "xxxxx";
|
System.out.println(getJson(line, "time_slot_list"));
|
}
|
public static String getJson(String json, String key) {
|
String pattern = key + "\": \\{[^}]*\\}";
|
|
Pattern r = Pattern.compile(pattern);
|
|
Matcher m = r.matcher(json);
|
if (m.find()) {
|
String group = m.group(0);
|
group = group.replace(key + "\":", key + "\":[");
|
group += "]";
|
return json.replaceAll(pattern, group);
|
}
|
return json;
|
}
|
}
|