Commit 2a872c7e authored by yanzg's avatar yanzg

常规BUG的修改

parent 249c8f0a
package com.yanzuoguang.dao; package com.yanzuoguang.dao;
import com.yanzuoguang.util.vo.PageSizeData;
import com.yanzuoguang.util.vo.PageSizeReqVo;
import java.util.List; import java.util.List;
/** /**
* 数据基本操作接口 * 数据基本操作接口
*
* @author 颜佐光 * @author 颜佐光
*/ */
public interface BaseDao { public interface BaseDao {
...@@ -62,4 +66,14 @@ public interface BaseDao { ...@@ -62,4 +66,14 @@ public interface BaseDao {
* @return 需要返回的数据 * @return 需要返回的数据
*/ */
<T extends Object> List<T> loadList(Object model, Class<T> cls); <T extends Object> List<T> loadList(Object model, Class<T> cls);
/**
* 加载分页数据
*
* @param model 加载数据的请求参数
* @param cls 需要加载的数据的类型
* @param <T> 返回数据的类型
* @return 需要返回的数据
*/
<T extends Object> PageSizeData<T> loadPage(PageSizeReqVo model, Class<T> cls);
} }
...@@ -7,8 +7,7 @@ import com.yanzuoguang.util.base.ObjectHelper; ...@@ -7,8 +7,7 @@ import com.yanzuoguang.util.base.ObjectHelper;
import com.yanzuoguang.util.exception.CodeException; import com.yanzuoguang.util.exception.CodeException;
import com.yanzuoguang.util.helper.DateHelper; import com.yanzuoguang.util.helper.DateHelper;
import com.yanzuoguang.util.helper.StringHelper; import com.yanzuoguang.util.helper.StringHelper;
import com.yanzuoguang.util.vo.InitDao; import com.yanzuoguang.util.vo.*;
import com.yanzuoguang.util.vo.MapRow;
import java.util.*; import java.util.*;
...@@ -290,6 +289,46 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao { ...@@ -290,6 +289,46 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao {
return to; return to;
} }
/**
* 加载分页数据
*
* @param model 加载数据的请求参数
* @param cls 需要加载的数据的类型
* @param <T> 返回数据的类型
* @return 需要返回的数据
*/
@Override
public <T extends Object> PageSizeData<T> loadPage(PageSizeReqVo model, Class<T> cls) {
// 获取来源主键
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);
}
// 通过传入数据进行加载
PageSizeData<T> to = this.queryPage(cls, model, 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);
}
}
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