恢复AbstractMybatisService相关方法的postProcessQuery参数,便于子类使用控制

This commit is contained in:
datagear 2021-08-18 14:28:30 +08:00
parent afbd23f27f
commit 06f4d5a87e
10 changed files with 71 additions and 53 deletions

View File

@ -147,6 +147,14 @@ public class User extends AbstractStringIdEntity implements CloneableEntity
this.roles = roles;
}
/**
* 清空密码将其设置为{@code null}
*/
public void clearPassword()
{
this.setPassword(null);
}
/**
* 获取账号名称标签
*
@ -187,7 +195,7 @@ public class User extends AbstractStringIdEntity implements CloneableEntity
public User cloneWithoutPassword()
{
User entity = clone();
entity.setPassword(null);
entity.clearPassword();
return entity;
}

View File

@ -186,7 +186,7 @@ public abstract class AbstractMybatisDataPermissionEntityService<ID, T extends D
Map<String, Object> params = buildParamMap();
addDataPermissionParameters(params, user);
return query(query, params);
return query(query, params, true);
}
@Override
@ -202,7 +202,7 @@ public abstract class AbstractMybatisDataPermissionEntityService<ID, T extends D
addDataPermissionParameters(params, user);
setDataFilterParam(params, dataFilter);
return pagingQuery(pagingQuery, params);
return pagingQuery(pagingQuery, params, true);
}
@Override
@ -219,7 +219,7 @@ public abstract class AbstractMybatisDataPermissionEntityService<ID, T extends D
}
protected PagingData<T> pagingQueryForAnalysisProjectId(User user, PagingQuery pagingQuery, String dataFilter,
String analysisProjectId)
String analysisProjectId, boolean postProcessQuery)
{
Map<String, Object> params = buildParamMap();
addDataPermissionParameters(params, user);
@ -228,7 +228,7 @@ public abstract class AbstractMybatisDataPermissionEntityService<ID, T extends D
if (!StringUtil.isEmpty(analysisProjectId))
params.put(AnalysisProjectAwareEntityService.QUERY_PARAM_ANALYSIS_PROJECT_ID, analysisProjectId);
return pagingQuery(pagingQuery, params);
return pagingQuery(pagingQuery, params, postProcessQuery);
}
@Override

View File

@ -132,7 +132,7 @@ public abstract class AbstractMybatisEntityService<ID, T extends Entity<ID>> ext
* 此方法的默认实现是直接返回{@code obj}
* </p>
*
* @see #getById(Object) getById(Object)将在内部调用此方法
* @see #getById(Object) getById(Object)会在其内部调用此方法
*/
@Override
protected T postProcessGet(T obj)
@ -143,13 +143,13 @@ public abstract class AbstractMybatisEntityService<ID, T extends Entity<ID>> ext
@Override
public List<T> query(Query query)
{
return super.query(query);
return super.query(query, true);
}
@Override
public PagingData<T> pagingQuery(PagingQuery pagingQuery)
{
return super.pagingQuery(pagingQuery);
return super.pagingQuery(pagingQuery, true);
}
/**

View File

@ -105,6 +105,9 @@ public abstract class AbstractMybatisService<T> extends SqlSessionDaoSupport
/**
* 添加
* <p>
* 此方法调用底层的{@code insert} SQL
* </p>
*
* @param entity
*/
@ -115,6 +118,9 @@ public abstract class AbstractMybatisService<T> extends SqlSessionDaoSupport
/**
* 添加
* <p>
* 此方法调用底层的{@code insert} SQL
* </p>
*
* @param entity
* @param params
@ -130,6 +136,9 @@ public abstract class AbstractMybatisService<T> extends SqlSessionDaoSupport
/**
* 更新
* <p>
* 此方法调用底层的{@code update} SQL
* </p>
*
* @param entity
* @return
@ -188,17 +197,18 @@ public abstract class AbstractMybatisService<T> extends SqlSessionDaoSupport
* <p>
* 此方法调用底层的{@code getByParam} SQL
* </p>
* <p>
* 此方法内部会执行{@linkplain #postProcessGet(Object)}
* </p>
*
* @param param
* @param postProcessGet
* 是否内部执行{@linkplain #postProcessGet(Object)}
* @return
*/
protected T getByParam(T param)
protected T getByParam(T param, boolean postProcessGet)
{
T obj = getByParam("getByParam", param, buildParamMap());
obj = postProcessGetNullable(obj);
if (postProcessGet)
obj = postProcessGetNullable(obj);
return obj;
}
@ -247,16 +257,15 @@ public abstract class AbstractMybatisService<T> extends SqlSessionDaoSupport
* <p>
* 此方法调用底层的{@code query} SQL
* </p>
* <p>
* 此方法内部会执行{@linkplain #postProcessQuery(List)}
* </p>
*
* @param query
* @param postProcessQuery
* 是否内部执行{@linkplain #postProcessQuery(List)}
* @return
*/
protected List<T> query(Query query)
protected List<T> query(Query query, boolean postProcessQuery)
{
return query(query, buildParamMap());
return query(query, buildParamMap(), postProcessQuery);
}
/**
@ -264,17 +273,16 @@ public abstract class AbstractMybatisService<T> extends SqlSessionDaoSupport
* <p>
* 此方法调用底层的{@code query} SQL
* </p>
* <p>
* 此方法内部会执行{@linkplain #postProcessQuery(List)}
* </p>
*
* @param query
* @param params
* @param postProcessQuery
* 是否内部执行{@linkplain #postProcessQuery(List)}
* @return
*/
protected List<T> query(Query query, Map<String, Object> params)
protected List<T> query(Query query, Map<String, Object> params, boolean postProcessQuery)
{
return query("query", query, params);
return query("query", query, params, postProcessQuery);
}
/**
@ -286,15 +294,18 @@ public abstract class AbstractMybatisService<T> extends SqlSessionDaoSupport
* @param statement
* @param query
* @param params
* @param postProcessQuery
* 是否内部执行{@linkplain #postProcessQuery(List)}
* @return
*/
protected List<T> query(String statement, Query query, Map<String, Object> params)
protected List<T> query(String statement, Query query, Map<String, Object> params, boolean postProcessQuery)
{
addQueryParam(params, query);
List<T> list = query(statement, params);
postProcessQuery(list);
if (postProcessQuery)
postProcessQuery(list);
return list;
}
@ -304,16 +315,15 @@ public abstract class AbstractMybatisService<T> extends SqlSessionDaoSupport
* <p>
* 此方法调用底层的{@code pagingQuery}{@code pagingQueryCount} SQL
* </p>
* <p>
* 此方法内部会执行{@linkplain #postProcessQuery(List)}
* </p>
*
* @param pagingQuery
* @param postProcessQuery
* 是否内部执行{@linkplain #postProcessQuery(List)}
* @return
*/
protected PagingData<T> pagingQuery(PagingQuery pagingQuery)
protected PagingData<T> pagingQuery(PagingQuery pagingQuery, boolean postProcessQuery)
{
return pagingQuery(pagingQuery, buildParamMap());
return pagingQuery(pagingQuery, buildParamMap(), postProcessQuery);
}
/**
@ -321,17 +331,16 @@ public abstract class AbstractMybatisService<T> extends SqlSessionDaoSupport
* <p>
* 此方法调用底层的{@code pagingQuery}{@code pagingQueryCount} SQL
* </p>
* <p>
* 此方法内部会执行{@linkplain #postProcessQuery(List)}
* </p>
*
* @param pagingQuery
* @param params
* @param postProcessQuery
* 是否内部执行{@linkplain #postProcessQuery(List)}
* @return
*/
protected PagingData<T> pagingQuery(PagingQuery pagingQuery, Map<String, Object> params)
protected PagingData<T> pagingQuery(PagingQuery pagingQuery, Map<String, Object> params, boolean postProcessQuery)
{
return pagingQuery("pagingQuery", pagingQuery, params);
return pagingQuery("pagingQuery", pagingQuery, params, postProcessQuery);
}
/**
@ -343,16 +352,16 @@ public abstract class AbstractMybatisService<T> extends SqlSessionDaoSupport
* 如果{@code statement}{@code "pagingQuery"}那么必须已定义{@code "pagingQueryCount"}
* SQL Mapper
* </p>
* <p>
* 此方法内部会执行{@linkplain #postProcessQuery(List)}
* </p>
*
* @param statement
* @param pagingQuery
* @param params
* @param postProcessQuery
* 是否内部执行{@linkplain #postProcessQuery(List)}
* @return
*/
protected PagingData<T> pagingQuery(String statement, PagingQuery pagingQuery, Map<String, Object> params)
protected PagingData<T> pagingQuery(String statement, PagingQuery pagingQuery, Map<String, Object> params,
boolean postProcessQuery)
{
addQueryParam(params, pagingQuery);
@ -371,7 +380,8 @@ public abstract class AbstractMybatisService<T> extends SqlSessionDaoSupport
else
list = query(statement, params, new RowBounds(startIndex, pagingData.getPageSize()));
postProcessQuery(list);
if (postProcessQuery)
postProcessQuery(list);
pagingData.setItems(list);
@ -390,12 +400,12 @@ public abstract class AbstractMybatisService<T> extends SqlSessionDaoSupport
*
* @param list
* 不会为{@code null}
* @see #query(Query)
* @see #query(Query, Map)
* @see #query(String, Query, Map)
* @see #pagingQuery(PagingQuery)
* @see #pagingQuery(PagingQuery, Map)
* @see #pagingQuery(String, PagingQuery, Map)
* @see #query(Query, boolean)
* @see #query(Query, Map, boolean)
* @see #query(String, Query, Map, boolean)
* @see #pagingQuery(PagingQuery, boolean)
* @see #pagingQuery(PagingQuery, Map, boolean)
* @see #pagingQuery(String, PagingQuery, Map, boolean)
*/
protected void postProcessQuery(List<T> list)
{

View File

@ -178,7 +178,7 @@ public class DataSetEntityServiceImpl extends AbstractMybatisDataPermissionEntit
public PagingData<DataSetEntity> pagingQuery(User user, PagingQuery pagingQuery, String dataFilter,
String analysisProjectId)
{
return pagingQueryForAnalysisProjectId(user, pagingQuery, dataFilter, analysisProjectId);
return pagingQueryForAnalysisProjectId(user, pagingQuery, dataFilter, analysisProjectId, true);
}
@Override

View File

@ -169,7 +169,7 @@ public class HtmlChartWidgetEntityServiceImpl
public PagingData<HtmlChartWidgetEntity> pagingQuery(User user, PagingQuery pagingQuery, String dataFilter,
String analysisProjectId)
{
return pagingQueryForAnalysisProjectId(user, pagingQuery, dataFilter, analysisProjectId);
return pagingQueryForAnalysisProjectId(user, pagingQuery, dataFilter, analysisProjectId, true);
}
@Override

View File

@ -102,7 +102,7 @@ public class HtmlTplDashboardWidgetEntityServiceImpl
public PagingData<HtmlTplDashboardWidgetEntity> pagingQuery(User user, PagingQuery pagingQuery, String dataFilter,
String analysisProjectId)
{
return pagingQueryForAnalysisProjectId(user, pagingQuery, dataFilter, analysisProjectId);
return pagingQueryForAnalysisProjectId(user, pagingQuery, dataFilter, analysisProjectId, true);
}
@Override

View File

@ -90,7 +90,7 @@ public class RoleUserServiceImpl extends AbstractMybatisEntityService<String, Ro
Map<String, Object> param = buildParamMap();
param.put("role", role);
return query("queryForRole", query, param);
return query("queryForRole", query, param, true);
}
@Override
@ -99,7 +99,7 @@ public class RoleUserServiceImpl extends AbstractMybatisEntityService<String, Ro
Map<String, Object> param = buildParamMap();
param.put("role", role);
return pagingQuery("pagingQueryForRole", query, param);
return pagingQuery("pagingQueryForRole", query, param, true);
}
@Override

View File

@ -70,7 +70,7 @@ public class SqlHistoryServiceImpl extends AbstractMybatisEntityService<String,
if (isEmpty(pagingQuery.getOrders()))
addOrderCreateTimeDesc(params);
return pagingQuery(pagingQuery, params);
return pagingQuery(pagingQuery, params, true);
}
protected int deleteExpired(String schemaId, String userId, int maximum)

View File

@ -163,7 +163,7 @@ public class UserServiceImpl extends AbstractMybatisEntityService<String, User>
{
// 屏蔽查询结果密码避免安全隐患
for (User user : list)
user.setPassword(null);
user.clearPassword();
}
@Override