fix:代码块类目模块查询优化
This commit is contained in:
parent
cfcb7c40e9
commit
f5949188b1
@ -30,7 +30,7 @@ class CodeModuleCategory extends BaseController
|
||||
*/
|
||||
public function getCodeModuleCategoryList(Request $request): array
|
||||
{
|
||||
$paging_info = LogicCodeModuleCategory::handleCodeModuleCategoryPaging($request->param());
|
||||
$paging_info = LogicCodeModuleCategory::handleQueryPaging($request->param());
|
||||
$tree_data = LogicCodeModuleCategory::buildTreeData($paging_info['guids']);
|
||||
return msg(0, "获取代码块类目列表成功!", [
|
||||
'count' => $paging_info['count'],
|
||||
|
@ -11,7 +11,7 @@ class CodeModuleCategory
|
||||
{
|
||||
|
||||
/**
|
||||
* 类目分页处理
|
||||
* 类目查询分页处理
|
||||
*
|
||||
* @param array $params 请求参数
|
||||
* @return array ['count' => 总数量 ,'guids' => 分页后的主级类目guid数组]
|
||||
@ -19,7 +19,7 @@ class CodeModuleCategory
|
||||
* @author xjh
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public static function handleCodeModuleCategoryPaging(array $params): array
|
||||
public static function handleQueryPaging(array $params): array
|
||||
{
|
||||
$con = Tool::getOptionalQuery(
|
||||
['cmc.code_module_category_name', 'LIKE'],
|
||||
@ -34,18 +34,14 @@ class CodeModuleCategory
|
||||
}
|
||||
|
||||
$module_category_guids = [];
|
||||
//【分页处理1】(正常情况)
|
||||
//【分页查询处理1】(正常情况-仅仅针对主级类目的查询分页处理)
|
||||
$query = ModelCodeModuleCategory::alias('cmc')->leftjoin('customer cust', 'cmc.customer_guid = cust.customer_guid')->scope('master')->where($con);
|
||||
$module_category_guids = Tool::pageWrapper($query)->column('code_module_category_guid');
|
||||
|
||||
//【分页处理2】(当前查询未审核的类目时,原正常情况分页处理查询不到子类目未审核的数据,此时要走这条查询)
|
||||
//情况:目前查询未审核的类目数据,并且分页处理1未能查出任何数据
|
||||
//该查询会将未审核子类目的所属主类目给查询出来并分页处理
|
||||
if ($params['code_module_category_audit'] == ModelCodeModuleCategory::AUDIT_UNAUDITED) {
|
||||
if (!$module_category_guids) {
|
||||
$query = ModelCodeModuleCategory::alias('cmc')->leftjoin('customer cust', 'cmc.customer_guid = cust.customer_guid')->where($con)->group('code_module_category_parent_guid');
|
||||
$module_category_guids = Tool::pageWrapper($query)->column('code_module_category_parent_guid');
|
||||
}
|
||||
//【分页查询2】特殊情况-当正常情况的查询分页处理无任何数据时,则通过符合查询条件的子级类目来反推出主级类目)
|
||||
if (!$module_category_guids) {
|
||||
$query = ModelCodeModuleCategory::alias('cmc')->leftjoin('customer cust', 'cmc.customer_guid = cust.customer_guid')->where($con)->group('code_module_category_parent_guid');
|
||||
$module_category_guids = Tool::pageWrapper($query)->column('code_module_category_parent_guid');
|
||||
}
|
||||
|
||||
return [
|
||||
|
Loading…
Reference in New Issue
Block a user