SysUser.java 1.5 KB
package com.air.model;

import com.air.model.base.BaseSysUser;
import com.jfinal.kit.StrKit;
import com.jfinal.plugin.activerecord.Page;

@SuppressWarnings("serial")
public class SysUser extends BaseSysUser<SysUser> {
	public static final SysUser dao = new SysUser();

	public String table() {
		return "WDS_"+getClass().getSimpleName();
	}

	/**
	 * 查询
	 * 
	 * @param page
	 *            页码
	 * @param pageNum
	 *            每页数量
	 * @param key
	 *            关键字
	 * @roleLevel 角色等级
	 * @stationArea 货站区域标识
	 * 
	 */
	public Page<SysUser> search(int page, int pageNum, String key, int roleLevel, String stationArea) {
		String orderBy = " order by updateTime desc";
		String listSql = buildListSql(key, roleLevel, stationArea);
		Page<SysUser> dataList = paginate(page, pageNum, "select *", listSql + orderBy);
		return dataList;
	}

	private String buildListSql(String key, int roleLevel, String stationArea) {
		StringBuilder sb = new StringBuilder();
		String table = table();
		sb.append(" from " + table);
		sb.append(" where id>0");
		if (!StrKit.isBlank(key)) {
			// 搜索
			sb.append(" and (username like '%" + key + "%'");
			sb.append(" or realName like '%" + key + "%'");
			sb.append(" or phone like '%" + key + "%'");
			sb.append(" or agentName like '%" + key + "%')");
		}

		sb.append(" and roleLevel>" + roleLevel);

		if (stationArea != null) {
			sb.append(" and stationArea='" + stationArea + "'");
		}

		return sb.toString();
	}
}