SysApiLog.java 1.4 KB
package com.air.model;

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

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

	public String table() {
		return "WDS_"+getClass().getSimpleName();
	}
	
	/**
	 * 查询
	 * 
	 * @param page
	 *            页码
	 * @param pageNum
	 *            每页数量
	 * @param key
	 *            关键字
	 */
	public Page<SysApiLog> search(int page, int pageNum, String key) {
		String listSql = buildListSql(key);
		String orderBy = " order by createTime desc";
		Page<SysApiLog> dataList = SysApiLog.dao.paginate(page, pageNum, "select *", listSql + orderBy);
		if (dataList != null && dataList.getList() != null) {
			for (SysApiLog data : dataList.getList()) {
				Integer uid = data.getUid();
				User user = User.dao.findById(uid);
				if (user != null) {
					data.put("username", user.getUsername());
				} else {
					data.put("username", "未知");
				}
			}
		}
		return dataList;
	}

	private String buildListSql(String key) {
		StringBuilder sb = new StringBuilder();
		String table = table();
		sb.append(" from " + table);
		sb.append(" where id>-1");
		if (!StrKit.isBlank(key)) {
			// 搜索
			sb.append(" and (title like '%" + key + "%'");
			sb.append(" or content like '%" + key + "%')");
		}

		return sb.toString();
	}
}