Commit 66ce363d authored by yanzg's avatar yanzg

接口文档的支持

parent de659968
......@@ -80,6 +80,17 @@ public interface BaseDao {
*/
<T extends Object> PageSizeData<T> loadPage(PageSizeReqVo model, Class<T> resultClass);
/**
* 加载分页数据
*
* @param pageReq 分页数据信息
* @param model 加载数据的请求参数,可以是主键字符串(Int),或者是包含主键的实体,或者是包含其他非主键的实体完全匹配.
* @param resultClass 需要加载的数据的类型
* @param <T> 返回数据的类型
* @return 需要返回的数据
*/
<T extends Object> PageSizeData<T> loadPage(PageSizeReqVo pageReq, Object model, Class<T> resultClass);
/**
* 修改数据
*
......
......@@ -356,6 +356,21 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao {
return from;
}
private <T extends Object> void checkLoadResult(T toItem, List<T> tos) {
// 判断来源主键是否存在,不存在则获取加载后的主键
if (toItem != null) {
String key = this.getKeyString(toItem);
check(DaoConst.OPERATOR_TYPE_LOAD, key, toItem);
}
if (tos != null) {
for (T item : tos) {
String key = this.getKeyString(item);
check(DaoConst.OPERATOR_TYPE_LOAD, key, item);
}
}
}
/**
* 加载数据
*
......@@ -372,15 +387,11 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao {
// 通过传入数据进行加载
T to = this.queryFirst(resultClass, DaoConst.LOAD, from);
if (to == null) {
return to;
return null;
}
// 判断来源主键是否存在,不存在则获取加载后的主键
if (StringHelper.isEmpty(key)) {
key = this.getKeyString(to);
}
check(DaoConst.OPERATOR_TYPE_LOAD, key, to);
checkLoadResult(to, null);
return to;
}
......@@ -397,14 +408,8 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao {
@Override
public <T extends Object> List<T> loadList(Object model, Class<T> resultClass) {
// 获取来源主键
Object from = model;
String key = this.getInputKey(from);
// 当主键存在时,只通过主键加载
if (!StringHelper.isEmpty(key)) {
from = new HashMap<String, Object>(DaoConst.COLLECTION_INIT_SIZE);
this.setKeyString(from, key);
}
String key = this.getInputKey(model);
Object from = this.getLoadFrom(model);
// 通过传入数据进行加载
List<T> to = this.query(resultClass, DaoConst.LOAD, from);
......@@ -412,15 +417,7 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao {
return new ArrayList<>();
}
// 判断来源主键是否存在,不存在则获取加载后的主键
if (StringHelper.isEmpty(key)) {
check(DaoConst.OPERATOR_TYPE_LOAD, key, to);
} else {
for (Object item : to) {
key = this.getKeyString(item);
check(DaoConst.OPERATOR_TYPE_LOAD, key, to);
}
}
checkLoadResult(null, to);
return to;
}
......@@ -436,31 +433,31 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao {
*/
@Override
public <T extends Object> PageSizeData<T> loadPage(PageSizeReqVo model, Class<T> resultClass) {
// 获取来源主键
Object from = model;
String key = this.getInputKey(from);
return this.loadPage(model, model, resultClass);
}
// 当主键存在时,只通过主键加载
if (!StringHelper.isEmpty(key)) {
from = new HashMap<String, Object>(DaoConst.COLLECTION_INIT_SIZE);
this.setKeyString(from, key);
}
/**
* 加载分页数据
*
* @param model 加载数据的请求参数
* @param resultClass 需要加载的数据的类型
* @param <T> 返回数据的类型
* @return 需要返回的数据
*/
@Override
public <T extends Object> PageSizeData<T> loadPage(PageSizeReqVo pageReq, Object model, Class<T> resultClass) {
// 获取来源主键
String key = this.getInputKey(model);
Object from = this.getLoadFrom(model);
// 通过传入数据进行加载
PageSizeData<T> to = this.queryPage(resultClass, model, DaoConst.LOAD, from);
PageSizeData<T> to = this.queryPage(resultClass, pageReq, DaoConst.LOAD, from);
if (to == null || to.getPageTotal() == 0) {
return to;
}
// 判断来源主键是否存在,不存在则获取加载后的主键
if (StringHelper.isEmpty(key)) {
check(DaoConst.OPERATOR_TYPE_LOAD, key, to);
} else {
for (Object item : to.getList()) {
key = this.getKeyString(item);
check(DaoConst.OPERATOR_TYPE_LOAD, key, to);
}
}
checkLoadResult(null, to.getList());
return to;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment