Merge branch 'master' of http://47.244.231.31:8099/zhl/globalso-v6
正在显示
6 个修改的文件
包含
110 行增加
和
95 行删除
| @@ -62,6 +62,7 @@ class InitProject extends Command | @@ -62,6 +62,7 @@ class InitProject extends Command | ||
| 62 | if(!empty($project['mobile'])){ | 62 | if(!empty($project['mobile'])){ |
| 63 | $project_logic->createUser($project['mobile'],$project['id'],$project['lead_name']); | 63 | $project_logic->createUser($project['mobile'],$project['id'],$project['lead_name']); |
| 64 | } | 64 | } |
| 65 | + $project_logic->createdRole($project['id']); | ||
| 65 | //更改服务器状态 | 66 | //更改服务器状态 |
| 66 | if(!empty($project['serve_id'])){ | 67 | if(!empty($project['serve_id'])){ |
| 67 | $project_logic->updateServe($project['serve_id']); | 68 | $project_logic->updateServe($project['serve_id']); |
| @@ -149,11 +149,16 @@ class ProjectUpdate extends Command | @@ -149,11 +149,16 @@ class ProjectUpdate extends Command | ||
| 149 | if ($v_phone) { | 149 | if ($v_phone) { |
| 150 | $receiving_phones = $model->read(['type' => 2, 'values' => $v_phone]); | 150 | $receiving_phones = $model->read(['type' => 2, 'values' => $v_phone]); |
| 151 | if (!$receiving_phones) { | 151 | if (!$receiving_phones) { |
| 152 | - $model->add([ | ||
| 153 | - 'type' => 1, | ||
| 154 | - 'values' => $v_phone, | ||
| 155 | - 'project_id' => $project_id | ||
| 156 | - ]); | 152 | + try { |
| 153 | + $model->add([ | ||
| 154 | + 'type' => 2, | ||
| 155 | + 'values' => $v_phone, | ||
| 156 | + 'project_id' => $project_id | ||
| 157 | + ]); | ||
| 158 | + } catch (\Exception $e) { | ||
| 159 | + echo 'date:' . date('Y-m-d H:i:s') . ', task_id: ' . $task->id . ', error: ' . $e->getMessage() . PHP_EOL; | ||
| 160 | + continue; | ||
| 161 | + } | ||
| 157 | } | 162 | } |
| 158 | } | 163 | } |
| 159 | } | 164 | } |
| @@ -164,11 +169,16 @@ class ProjectUpdate extends Command | @@ -164,11 +169,16 @@ class ProjectUpdate extends Command | ||
| 164 | if ($v_email) { | 169 | if ($v_email) { |
| 165 | $receiving_emails = $model->read(['type' => 1, 'values' => $v_email]); | 170 | $receiving_emails = $model->read(['type' => 1, 'values' => $v_email]); |
| 166 | if (!$receiving_emails) { | 171 | if (!$receiving_emails) { |
| 167 | - $model->add([ | ||
| 168 | - 'type' => 2, | ||
| 169 | - 'values' => $v_email, | ||
| 170 | - 'project_id' => $project_id | ||
| 171 | - ]); | 172 | + try { |
| 173 | + $model->add([ | ||
| 174 | + 'type' => 1, | ||
| 175 | + 'values' => $v_email, | ||
| 176 | + 'project_id' => $project_id | ||
| 177 | + ]); | ||
| 178 | + } catch (\Exception $e) { | ||
| 179 | + echo 'date:' . date('Y-m-d H:i:s') . ', task_id: ' . $task->id . ', error: ' . $e->getMessage() . PHP_EOL; | ||
| 180 | + continue; | ||
| 181 | + } | ||
| 172 | } | 182 | } |
| 173 | } | 183 | } |
| 174 | } | 184 | } |
| @@ -207,13 +217,16 @@ class ProjectUpdate extends Command | @@ -207,13 +217,16 @@ class ProjectUpdate extends Command | ||
| 207 | $category_id = ''; | 217 | $category_id = ''; |
| 208 | if ($item['category'] ?? []) { | 218 | if ($item['category'] ?? []) { |
| 209 | $category_arr = []; | 219 | $category_arr = []; |
| 210 | - foreach ($item['category'] as $cate) { | ||
| 211 | - if ($cate['parent'] == 0) { | ||
| 212 | - array_unshift($category_arr, $cate['name']); | ||
| 213 | - } else { | ||
| 214 | - array_push($category_arr, $cate['name']); | 220 | + |
| 221 | + $pid = 0; | ||
| 222 | + for ($i = 0; $i < count($item['category']); $i++) { | ||
| 223 | + $return = $this->get_category_name_arr($item['category'], $pid); | ||
| 224 | + if ($return) { | ||
| 225 | + $category_arr[] = $return['name']; | ||
| 226 | + $pid = $return['id']; | ||
| 215 | } | 227 | } |
| 216 | } | 228 | } |
| 229 | + | ||
| 217 | if ($category_arr) { | 230 | if ($category_arr) { |
| 218 | $categoryLogic = new CategoryLogic(); | 231 | $categoryLogic = new CategoryLogic(); |
| 219 | $category_id = $categoryLogic->importProductCategory($project_id, implode('/', $category_arr)); | 232 | $category_id = $categoryLogic->importProductCategory($project_id, implode('/', $category_arr)); |
| @@ -405,15 +418,20 @@ class ProjectUpdate extends Command | @@ -405,15 +418,20 @@ class ProjectUpdate extends Command | ||
| 405 | if ($item['name'] ?? '') { | 418 | if ($item['name'] ?? '') { |
| 406 | $parent = $model->read(['pid' => $pid, 'title' => $item['name']], 'id'); | 419 | $parent = $model->read(['pid' => $pid, 'title' => $item['name']], 'id'); |
| 407 | if (!$parent) { | 420 | if (!$parent) { |
| 408 | - $parent_id = $model->addReturnId([ | ||
| 409 | - 'project_id' => $project_id, | ||
| 410 | - 'title' => $item['name'], | ||
| 411 | - 'pid' => $pid, | ||
| 412 | - 'keywords' => $item['keywords'] ?? '', | ||
| 413 | - 'describe' => $item['description'] ?? '' | ||
| 414 | - ]); | ||
| 415 | - $route = RouteMap::setRoute($item['url'] ? $this->get_url_route($item['url']) : $item['name'], RouteMap::SOURCE_PRODUCT_CATE, $parent_id, $project_id); | ||
| 416 | - $model->edit(['route' => $route], ['id' => $parent_id]); | 421 | + try { |
| 422 | + $parent_id = $model->addReturnId([ | ||
| 423 | + 'project_id' => $project_id, | ||
| 424 | + 'title' => $item['name'], | ||
| 425 | + 'pid' => $pid, | ||
| 426 | + 'keywords' => $item['keywords'] ?? '', | ||
| 427 | + 'describe' => $item['description'] ?? '' | ||
| 428 | + ]); | ||
| 429 | + $route = RouteMap::setRoute($item['url'] ? $this->get_url_route($item['url']) : $item['name'], RouteMap::SOURCE_PRODUCT_CATE, $parent_id, $project_id); | ||
| 430 | + $model->edit(['route' => $route], ['id' => $parent_id]); | ||
| 431 | + } catch (\Exception $e) { | ||
| 432 | + echo 'date:' . date('Y-m-d H:i:s') . ', category_insert error: ' . $e->getMessage() . PHP_EOL; | ||
| 433 | + continue; | ||
| 434 | + } | ||
| 417 | } else { | 435 | } else { |
| 418 | $parent_id = $parent['id']; | 436 | $parent_id = $parent['id']; |
| 419 | } | 437 | } |
| @@ -424,4 +442,16 @@ class ProjectUpdate extends Command | @@ -424,4 +442,16 @@ class ProjectUpdate extends Command | ||
| 424 | } | 442 | } |
| 425 | } | 443 | } |
| 426 | } | 444 | } |
| 445 | + | ||
| 446 | + //获取分类名称数组 | ||
| 447 | + protected function get_category_name_arr($category, $pid = 0) | ||
| 448 | + { | ||
| 449 | + foreach ($category as $k => $v) { | ||
| 450 | + if ($v['parent'] == $pid) { | ||
| 451 | + return $v; | ||
| 452 | + } | ||
| 453 | + } | ||
| 454 | + | ||
| 455 | + return []; | ||
| 456 | + } | ||
| 427 | } | 457 | } |
| @@ -333,32 +333,25 @@ class BlogCategoryLogic extends BaseLogic | @@ -333,32 +333,25 @@ class BlogCategoryLogic extends BaseLogic | ||
| 333 | $return = []; | 333 | $return = []; |
| 334 | 334 | ||
| 335 | $cate_arr = explode('/',$category); | 335 | $cate_arr = explode('/',$category); |
| 336 | - $p_cate = $cate_arr[0]; | ||
| 337 | - $c_cate = $cate_arr[1]??''; | ||
| 338 | 336 | ||
| 339 | - $p_category = $this->model->read(['name'=>$p_cate,'pid'=>0]); | ||
| 340 | - if(!$p_category){ | ||
| 341 | - $p_id = $this->model->addReturnId(['name'=>$p_cate,'project_id'=>$project_id,'operator_id'=>$user_id,'create_id'=>$user_id]); | 337 | + $pid = 0; |
| 338 | + foreach ($cate_arr as $v){ | ||
| 339 | + if($v){ | ||
| 340 | + $category_info = $this->model->read(['name'=>$v,'pid'=>$pid]); | ||
| 341 | + if(!$category_info){ | ||
| 342 | + $id = $this->model->addReturnId(['name'=>$v,'pid'=>$pid,'project_id'=>$project_id,'operator_id'=>$user_id,'create_id'=>$user_id]); | ||
| 342 | 343 | ||
| 343 | - $route = RouteMap::setRoute($p_cate, RouteMap::SOURCE_BLOG_CATE, $p_id, $project_id); | ||
| 344 | - $this->model->edit(['alias'=>$route],['id'=>$p_id]); | ||
| 345 | - }else{ | ||
| 346 | - $p_id = $p_category['id']; | ||
| 347 | - } | ||
| 348 | - $return[] = $p_id; | ||
| 349 | - | ||
| 350 | - if($c_cate){ | ||
| 351 | - $c_category = $this->model->read(['name'=>$c_cate,'pid'=>$p_id]); | ||
| 352 | - if(!$c_category){ | ||
| 353 | - $c_id = $this->model->addReturnId(['name'=>$c_cate,'pid'=>$p_id,'project_id'=>$project_id,'operator_id'=>$user_id,'create_id'=>$user_id]); | 344 | + $route = RouteMap::setRoute($v, RouteMap::SOURCE_BLOG_CATE, $id, $project_id); |
| 345 | + $this->model->edit(['alias'=>$route],['id'=>$id]); | ||
| 346 | + }else{ | ||
| 347 | + $id = $category_info['id']; | ||
| 348 | + } | ||
| 354 | 349 | ||
| 355 | - $route = RouteMap::setRoute($c_cate, RouteMap::SOURCE_BLOG_CATE, $c_id, $project_id); | ||
| 356 | - $this->model->edit(['alias'=>$route],['id'=>$c_id]); | ||
| 357 | - }else{ | ||
| 358 | - $c_id = $c_category['id']; | 350 | + $return[] = $id; |
| 351 | + $pid = $id; | ||
| 359 | } | 352 | } |
| 360 | - $return[] = $c_id; | ||
| 361 | } | 353 | } |
| 354 | + | ||
| 362 | return $this->getLastCategory($return); | 355 | return $this->getLastCategory($return); |
| 363 | } | 356 | } |
| 364 | 357 |
| @@ -315,31 +315,23 @@ class NewsCategoryLogic extends BaseLogic | @@ -315,31 +315,23 @@ class NewsCategoryLogic extends BaseLogic | ||
| 315 | $return = []; | 315 | $return = []; |
| 316 | 316 | ||
| 317 | $cate_arr = explode('/',$category); | 317 | $cate_arr = explode('/',$category); |
| 318 | - $p_cate = $cate_arr[0]; | ||
| 319 | - $c_cate = $cate_arr[1]??''; | ||
| 320 | 318 | ||
| 321 | - $p_category = $this->model->read(['name'=>$p_cate,'pid'=>0]); | ||
| 322 | - if(!$p_category){ | ||
| 323 | - $p_id = $this->model->addReturnId(['name'=>$p_cate,'project_id'=>$project_id,'operator_id'=>$user_id,'create_id'=>$user_id]); | 319 | + $pid = 0; |
| 320 | + foreach ($cate_arr as $v){ | ||
| 321 | + if($v){ | ||
| 322 | + $category_info = $this->model->read(['name'=>$v,'pid'=>$pid]); | ||
| 323 | + if(!$category_info){ | ||
| 324 | + $id = $this->model->addReturnId(['name'=>$v,'pid'=>$pid,'project_id'=>$project_id,'operator_id'=>$user_id,'create_id'=>$user_id]); | ||
| 324 | 325 | ||
| 325 | - $route = RouteMap::setRoute($p_cate, RouteMap::SOURCE_NEWS_CATE, $p_id, $project_id); | ||
| 326 | - $this->model->edit(['alias'=>$route],['id'=>$p_id]); | ||
| 327 | - }else{ | ||
| 328 | - $p_id = $p_category['id']; | ||
| 329 | - } | ||
| 330 | - $return[] = $p_id; | ||
| 331 | - | ||
| 332 | - if($c_cate){ | ||
| 333 | - $c_category = $this->model->read(['name'=>$c_cate,'pid'=>$p_id]); | ||
| 334 | - if(!$c_category){ | ||
| 335 | - $c_id = $this->model->addReturnId(['name'=>$c_cate,'pid'=>$p_id,'project_id'=>$project_id,'operator_id'=>$user_id,'create_id'=>$user_id]); | 326 | + $route = RouteMap::setRoute($v, RouteMap::SOURCE_NEWS_CATE, $id, $project_id); |
| 327 | + $this->model->edit(['alias'=>$route],['id'=>$id]); | ||
| 328 | + }else{ | ||
| 329 | + $id = $category_info['id']; | ||
| 330 | + } | ||
| 336 | 331 | ||
| 337 | - $route = RouteMap::setRoute($c_cate, RouteMap::SOURCE_NEWS_CATE, $c_id, $project_id); | ||
| 338 | - $this->model->edit(['alias'=>$route],['id'=>$c_id]); | ||
| 339 | - }else{ | ||
| 340 | - $c_id = $c_category['id']; | 332 | + $return[] = $id; |
| 333 | + $pid = $id; | ||
| 341 | } | 334 | } |
| 342 | - $return[] = $c_id; | ||
| 343 | } | 335 | } |
| 344 | return $this->getLastCategory($return); | 336 | return $this->getLastCategory($return); |
| 345 | } | 337 | } |
| @@ -304,32 +304,25 @@ class CategoryLogic extends BaseLogic | @@ -304,32 +304,25 @@ class CategoryLogic extends BaseLogic | ||
| 304 | $return = []; | 304 | $return = []; |
| 305 | 305 | ||
| 306 | $cate_arr = explode('/',$category); | 306 | $cate_arr = explode('/',$category); |
| 307 | - $p_cate = $cate_arr[0]; | ||
| 308 | - $c_cate = $cate_arr[1]??''; | ||
| 309 | 307 | ||
| 310 | - $p_category = $this->model->read(['title'=>$p_cate,'pid'=>0]); | ||
| 311 | - if(!$p_category){ | ||
| 312 | - $p_id = $this->model->addReturnId(['title'=>$p_cate,'project_id'=>$project_id]); | 308 | + $pid = 0; |
| 309 | + foreach ($cate_arr as $v){ | ||
| 310 | + if($v){ | ||
| 311 | + $category_info = $this->model->read(['title'=>$v,'pid'=>$pid]); | ||
| 312 | + if(!$category_info){ | ||
| 313 | + $id = $this->model->addReturnId(['title'=>$v,'pid'=>$pid,'project_id'=>$project_id]); | ||
| 313 | 314 | ||
| 314 | - $route = RouteMap::setRoute($p_cate, RouteMap::SOURCE_PRODUCT_CATE, $p_id, $project_id); | ||
| 315 | - $this->model->edit(['route'=>$route],['id'=>$p_id]); | ||
| 316 | - }else{ | ||
| 317 | - $p_id = $p_category['id']; | ||
| 318 | - } | ||
| 319 | - $return[] = $p_id; | ||
| 320 | - | ||
| 321 | - if($c_cate){ | ||
| 322 | - $c_category = $this->model->read(['title'=>$c_cate,'pid'=>$p_id]); | ||
| 323 | - if(!$c_category){ | ||
| 324 | - $c_id = $this->model->addReturnId(['title'=>$c_cate,'pid'=>$p_id,'project_id'=>$project_id]); | 315 | + $route = RouteMap::setRoute($v, RouteMap::SOURCE_PRODUCT_CATE, $id, $project_id); |
| 316 | + $this->model->edit(['route'=>$route],['id'=>$id]); | ||
| 317 | + }else{ | ||
| 318 | + $id = $category_info['id']; | ||
| 319 | + } | ||
| 325 | 320 | ||
| 326 | - $route = RouteMap::setRoute($c_cate, RouteMap::SOURCE_PRODUCT_CATE, $c_id, $project_id); | ||
| 327 | - $this->model->edit(['route'=>$route],['id'=>$c_id]); | ||
| 328 | - }else{ | ||
| 329 | - $c_id = $c_category['id']; | 321 | + $return[] = $id; |
| 322 | + $pid = $id; | ||
| 330 | } | 323 | } |
| 331 | - $return[] = $c_id; | ||
| 332 | } | 324 | } |
| 325 | + | ||
| 333 | //清除缓存 | 326 | //清除缓存 |
| 334 | Common::del_user_cache('product_category',$project_id); | 327 | Common::del_user_cache('product_category',$project_id); |
| 335 | return $this->getLastCategory($return); | 328 | return $this->getLastCategory($return); |
| @@ -61,8 +61,8 @@ class ProductLogic extends BaseLogic | @@ -61,8 +61,8 @@ class ProductLogic extends BaseLogic | ||
| 61 | }else{ | 61 | }else{ |
| 62 | $this->param = $this->addHandleParam($this->param); | 62 | $this->param = $this->addHandleParam($this->param); |
| 63 | $id = $this->model->addReturnId($this->param); | 63 | $id = $this->model->addReturnId($this->param); |
| 64 | - $this->param['route'] = RouteMap::setRoute($this->param['route'], RouteMap::SOURCE_PRODUCT, $id, $this->user['project_id']); | ||
| 65 | } | 64 | } |
| 65 | + $this->param['route'] = RouteMap::setRoute($this->param['route'], RouteMap::SOURCE_PRODUCT, $id, $this->user['project_id']); | ||
| 66 | $this->model->edit(['route'=> $this->param['route']],['id'=>$id]); | 66 | $this->model->edit(['route'=> $this->param['route']],['id'=>$id]); |
| 67 | //产品分类关联 | 67 | //产品分类关联 |
| 68 | CategoryRelated::saveRelated($id, $category_ids); | 68 | CategoryRelated::saveRelated($id, $category_ids); |
| @@ -108,7 +108,13 @@ class ProductLogic extends BaseLogic | @@ -108,7 +108,13 @@ class ProductLogic extends BaseLogic | ||
| 108 | unset($v['title']); | 108 | unset($v['title']); |
| 109 | if(!empty($v['values'])){ | 109 | if(!empty($v['values'])){ |
| 110 | if($v['type'] == 3 || $v['type'] || 4){ | 110 | if($v['type'] == 3 || $v['type'] || 4){ |
| 111 | - $v['values'] = str_replace_url($v['values']); | 111 | + if(is_array($v['values'])){ |
| 112 | + foreach ($v['values'] as $k1=>$v1){ | ||
| 113 | + $v1 = str_replace_url($v1); | ||
| 114 | + $v['values'][$k1] = $v1; | ||
| 115 | + } | ||
| 116 | + $v['values'] = json_encode($v['values']); | ||
| 117 | + } | ||
| 112 | } | 118 | } |
| 113 | $v['project_id'] = $this->user['project_id']; | 119 | $v['project_id'] = $this->user['project_id']; |
| 114 | $v['product_id'] = $id; | 120 | $v['product_id'] = $id; |
| @@ -577,10 +583,10 @@ class ProductLogic extends BaseLogic | @@ -577,10 +583,10 @@ class ProductLogic extends BaseLogic | ||
| 577 | $intro = ''; | 583 | $intro = ''; |
| 578 | if($data[5]){ | 584 | if($data[5]){ |
| 579 | //处理短描述中的图片 | 585 | //处理短描述中的图片 |
| 580 | - $pattern = '<img src="(.*?)">'; | 586 | + $pattern = '/<img\s+[^>]*?src\s*=\s*(\'|\")(.*?)\\1[^>]*?\/?\s*>/i'; |
| 581 | preg_match_all($pattern, $data[5], $result_intro); | 587 | preg_match_all($pattern, $data[5], $result_intro); |
| 582 | - if($result_intro[1]){ | ||
| 583 | - foreach ($result_intro[1] as $vi_img){ | 588 | + if($result_intro[2]){ |
| 589 | + foreach ($result_intro[2] as $vi_img){ | ||
| 584 | $data[5] = str_replace($vi_img,getImageUrl(CosService::uploadRemote($project_id,'image_product',$vi_img)),$data[5]); | 590 | $data[5] = str_replace($vi_img,getImageUrl(CosService::uploadRemote($project_id,'image_product',$vi_img)),$data[5]); |
| 585 | } | 591 | } |
| 586 | } | 592 | } |
| @@ -590,10 +596,10 @@ class ProductLogic extends BaseLogic | @@ -590,10 +596,10 @@ class ProductLogic extends BaseLogic | ||
| 590 | $content = ''; | 596 | $content = ''; |
| 591 | if($data[6]){ | 597 | if($data[6]){ |
| 592 | //处理内容中的图片 | 598 | //处理内容中的图片 |
| 593 | - $pattern = '<img src="(.*?)">'; | 599 | + $pattern = '/<img\s+[^>]*?src\s*=\s*(\'|\")(.*?)\\1[^>]*?\/?\s*>/i'; |
| 594 | preg_match_all($pattern, $data[6], $result_content); | 600 | preg_match_all($pattern, $data[6], $result_content); |
| 595 | - if($result_content[1]){ | ||
| 596 | - foreach ($result_content[1] as $vc_img){ | 601 | + if($result_content[2]){ |
| 602 | + foreach ($result_content[2] as $vc_img){ | ||
| 597 | $data[6] = str_replace($vc_img,getImageUrl(CosService::uploadRemote($project_id,'image_product',$vc_img)),$data[6]); | 603 | $data[6] = str_replace($vc_img,getImageUrl(CosService::uploadRemote($project_id,'image_product',$vc_img)),$data[6]); |
| 598 | } | 604 | } |
| 599 | } | 605 | } |
-
请 注册 或 登录 后发表评论