作者 刘锟

update

@@ -597,6 +597,7 @@ class ProjectUpdate extends Command @@ -597,6 +597,7 @@ class ProjectUpdate extends Command
597 $url = $api_url . '?' . http_build_query(['w' => $api_type, 'page' => 1, 'pagesize' => 0]); 597 $url = $api_url . '?' . http_build_query(['w' => $api_type, 'page' => 1, 'pagesize' => 0]);
598 $data = curl_c($url); 598 $data = curl_c($url);
599 if (isset($data['code']) && $data['code'] == 200) { 599 if (isset($data['code']) && $data['code'] == 200) {
  600 + $category = $data['data']['category'];
600 //判断分类里面是否存在自定义模块路由 601 //判断分类里面是否存在自定义模块路由
601 $is_exist = 0; 602 $is_exist = 0;
602 if ($data['data']['category'] ?? []) { 603 if ($data['data']['category'] ?? []) {
@@ -607,21 +608,15 @@ class ProjectUpdate extends Command @@ -607,21 +608,15 @@ class ProjectUpdate extends Command
607 } 608 }
608 } 609 }
609 } 610 }
610 - if ($is_exist) {  
611 - //存在,无需添加自定义模块路由为分类路由  
612 - $category = $data['data']['category'];  
613 - } else {  
614 - //不存在,需要添加自定义模块路由为分类路由  
615 - $category = [  
616 - [ 611 + if (!$is_exist) {
  612 + array_push($category, [
617 'id' => 0, 613 'id' => 0,
618 'name' => $custom_info['route'], 614 'name' => $custom_info['route'],
619 'url' => '/' . $custom_info['route'], 615 'url' => '/' . $custom_info['route'],
620 - 'parent' => $data['data']['category'] ?? []  
621 - ]  
622 - ]; 616 + 'parent' => 0
  617 + ]);
623 } 618 }
624 - $this->category_custom_insert($project_id, $custom_info['id'], $category, 0); 619 + $this->category_custom_insert($project_id, $custom_info['id'], $category);
625 620
626 $count = $data['data']['count'] ?? 0; 621 $count = $data['data']['count'] ?? 0;
627 622
@@ -914,35 +909,28 @@ class ProjectUpdate extends Command @@ -914,35 +909,28 @@ class ProjectUpdate extends Command
914 } 909 }
915 910
916 //扩展模块多级分类入库 911 //扩展模块多级分类入库
917 - protected function category_custom_insert($project_id, $module_id, $items, $pid = 0) 912 + protected function category_custom_insert($project_id, $module_id, $items)
918 { 913 {
919 $model = new CustomModuleCategory(); 914 $model = new CustomModuleCategory();
920 foreach ($items as $item) { 915 foreach ($items as $item) {
921 $route = $this->get_url_route($item['url'] ?? ''); 916 $route = $this->get_url_route($item['url'] ?? '');
922 if ($route) { 917 if ($route) {
923 - $parent = $model->read(['pid' => $pid, 'route' => $route], 'id');  
924 - if (!$parent) { 918 + $cate = $model->read(['route' => $route], 'id');
  919 + if (!$cate) {
925 try { 920 try {
926 $item['name'] = $this->special2str($item['name'] ?? ''); 921 $item['name'] = $this->special2str($item['name'] ?? '');
927 - $parent_id = $model->addReturnId([ 922 + $cate_id = $model->addReturnId([
928 'project_id' => $project_id, 923 'project_id' => $project_id,
929 'module_id' => $module_id, 924 'module_id' => $module_id,
930 'name' => $item['name'], 925 'name' => $item['name'],
931 - 'pid' => $pid,  
932 'original_id' => $item['id'], 926 'original_id' => $item['id'],
933 'route' => $route 927 'route' => $route
934 ]); 928 ]);
935 - $this->set_map($route, RouteMap::SOURCE_MODULE_CATE, $parent_id, $project_id); 929 + $this->set_map($route, RouteMap::SOURCE_MODULE_CATE, $cate_id, $project_id);
936 } catch (\Exception $e) { 930 } catch (\Exception $e) {
937 echo 'date:' . date('Y-m-d H:i:s') . ', category_custom_insert error: ' . $e->getMessage() . PHP_EOL; 931 echo 'date:' . date('Y-m-d H:i:s') . ', category_custom_insert error: ' . $e->getMessage() . PHP_EOL;
938 continue; 932 continue;
939 } 933 }
940 - } else {  
941 - $parent_id = $parent['id'];  
942 - }  
943 -  
944 - if (!empty($item['children'] ?? [])) {  
945 - $this->category_custom_insert($project_id, $module_id, $item['children'], $parent_id);  
946 } 934 }
947 } 935 }
948 } 936 }