作者 lyh
... ... @@ -149,11 +149,16 @@ class ProjectUpdate extends Command
if ($v_phone) {
$receiving_phones = $model->read(['type' => 2, 'values' => $v_phone]);
if (!$receiving_phones) {
$model->add([
'type' => 1,
'values' => $v_phone,
'project_id' => $project_id
]);
try {
$model->add([
'type' => 2,
'values' => $v_phone,
'project_id' => $project_id
]);
} catch (\Exception $e) {
echo 'date:' . date('Y-m-d H:i:s') . ', task_id: ' . $task->id . ', error: ' . $e->getMessage() . PHP_EOL;
continue;
}
}
}
}
... ... @@ -164,11 +169,16 @@ class ProjectUpdate extends Command
if ($v_email) {
$receiving_emails = $model->read(['type' => 1, 'values' => $v_email]);
if (!$receiving_emails) {
$model->add([
'type' => 2,
'values' => $v_email,
'project_id' => $project_id
]);
try {
$model->add([
'type' => 1,
'values' => $v_email,
'project_id' => $project_id
]);
} catch (\Exception $e) {
echo 'date:' . date('Y-m-d H:i:s') . ', task_id: ' . $task->id . ', error: ' . $e->getMessage() . PHP_EOL;
continue;
}
}
}
}
... ... @@ -207,13 +217,16 @@ class ProjectUpdate extends Command
$category_id = '';
if ($item['category'] ?? []) {
$category_arr = [];
foreach ($item['category'] as $cate) {
if ($cate['parent'] == 0) {
array_unshift($category_arr, $cate['name']);
} else {
array_push($category_arr, $cate['name']);
$pid = 0;
for ($i = 0; $i < count($item['category']); $i++) {
$return = $this->get_category_name_arr($item['category'], $pid);
if ($return) {
$category_arr[] = $return['name'];
$pid = $return['id'];
}
}
if ($category_arr) {
$categoryLogic = new CategoryLogic();
$category_id = $categoryLogic->importProductCategory($project_id, implode('/', $category_arr));
... ... @@ -405,15 +418,20 @@ class ProjectUpdate extends Command
if ($item['name'] ?? '') {
$parent = $model->read(['pid' => $pid, 'title' => $item['name']], 'id');
if (!$parent) {
$parent_id = $model->addReturnId([
'project_id' => $project_id,
'title' => $item['name'],
'pid' => $pid,
'keywords' => $item['keywords'] ?? '',
'describe' => $item['description'] ?? ''
]);
$route = RouteMap::setRoute($item['url'] ? $this->get_url_route($item['url']) : $item['name'], RouteMap::SOURCE_PRODUCT_CATE, $parent_id, $project_id);
$model->edit(['route' => $route], ['id' => $parent_id]);
try {
$parent_id = $model->addReturnId([
'project_id' => $project_id,
'title' => $item['name'],
'pid' => $pid,
'keywords' => $item['keywords'] ?? '',
'describe' => $item['description'] ?? ''
]);
$route = RouteMap::setRoute($item['url'] ? $this->get_url_route($item['url']) : $item['name'], RouteMap::SOURCE_PRODUCT_CATE, $parent_id, $project_id);
$model->edit(['route' => $route], ['id' => $parent_id]);
} catch (\Exception $e) {
echo 'date:' . date('Y-m-d H:i:s') . ', category_insert error: ' . $e->getMessage() . PHP_EOL;
continue;
}
} else {
$parent_id = $parent['id'];
}
... ... @@ -424,4 +442,16 @@ class ProjectUpdate extends Command
}
}
}
//获取分类名称数组
protected function get_category_name_arr($category, $pid = 0)
{
foreach ($category as $k => $v) {
if ($v['parent'] == $pid) {
return $v;
}
}
return [];
}
}
... ...
... ... @@ -333,32 +333,25 @@ class BlogCategoryLogic extends BaseLogic
$return = [];
$cate_arr = explode('/',$category);
$p_cate = $cate_arr[0];
$c_cate = $cate_arr[1]??'';
$p_category = $this->model->read(['name'=>$p_cate,'pid'=>0]);
if(!$p_category){
$p_id = $this->model->addReturnId(['name'=>$p_cate,'project_id'=>$project_id,'operator_id'=>$user_id,'create_id'=>$user_id]);
$pid = 0;
foreach ($cate_arr as $v){
if($v){
$category_info = $this->model->read(['name'=>$v,'pid'=>$pid]);
if(!$category_info){
$id = $this->model->addReturnId(['name'=>$v,'pid'=>$pid,'project_id'=>$project_id,'operator_id'=>$user_id,'create_id'=>$user_id]);
$route = RouteMap::setRoute($p_cate, RouteMap::SOURCE_BLOG_CATE, $p_id, $project_id);
$this->model->edit(['alias'=>$route],['id'=>$p_id]);
}else{
$p_id = $p_category['id'];
}
$return[] = $p_id;
if($c_cate){
$c_category = $this->model->read(['name'=>$c_cate,'pid'=>$p_id]);
if(!$c_category){
$c_id = $this->model->addReturnId(['name'=>$c_cate,'pid'=>$p_id,'project_id'=>$project_id,'operator_id'=>$user_id,'create_id'=>$user_id]);
$route = RouteMap::setRoute($v, RouteMap::SOURCE_BLOG_CATE, $id, $project_id);
$this->model->edit(['alias'=>$route],['id'=>$id]);
}else{
$id = $category_info['id'];
}
$route = RouteMap::setRoute($c_cate, RouteMap::SOURCE_BLOG_CATE, $c_id, $project_id);
$this->model->edit(['alias'=>$route],['id'=>$c_id]);
}else{
$c_id = $c_category['id'];
$return[] = $id;
$pid = $id;
}
$return[] = $c_id;
}
return $this->getLastCategory($return);
}
... ...
... ... @@ -315,31 +315,23 @@ class NewsCategoryLogic extends BaseLogic
$return = [];
$cate_arr = explode('/',$category);
$p_cate = $cate_arr[0];
$c_cate = $cate_arr[1]??'';
$p_category = $this->model->read(['name'=>$p_cate,'pid'=>0]);
if(!$p_category){
$p_id = $this->model->addReturnId(['name'=>$p_cate,'project_id'=>$project_id,'operator_id'=>$user_id,'create_id'=>$user_id]);
$pid = 0;
foreach ($cate_arr as $v){
if($v){
$category_info = $this->model->read(['name'=>$v,'pid'=>$pid]);
if(!$category_info){
$id = $this->model->addReturnId(['name'=>$v,'pid'=>$pid,'project_id'=>$project_id,'operator_id'=>$user_id,'create_id'=>$user_id]);
$route = RouteMap::setRoute($p_cate, RouteMap::SOURCE_NEWS_CATE, $p_id, $project_id);
$this->model->edit(['alias'=>$route],['id'=>$p_id]);
}else{
$p_id = $p_category['id'];
}
$return[] = $p_id;
if($c_cate){
$c_category = $this->model->read(['name'=>$c_cate,'pid'=>$p_id]);
if(!$c_category){
$c_id = $this->model->addReturnId(['name'=>$c_cate,'pid'=>$p_id,'project_id'=>$project_id,'operator_id'=>$user_id,'create_id'=>$user_id]);
$route = RouteMap::setRoute($v, RouteMap::SOURCE_NEWS_CATE, $id, $project_id);
$this->model->edit(['alias'=>$route],['id'=>$id]);
}else{
$id = $category_info['id'];
}
$route = RouteMap::setRoute($c_cate, RouteMap::SOURCE_NEWS_CATE, $c_id, $project_id);
$this->model->edit(['alias'=>$route],['id'=>$c_id]);
}else{
$c_id = $c_category['id'];
$return[] = $id;
$pid = $id;
}
$return[] = $c_id;
}
return $this->getLastCategory($return);
}
... ...
... ... @@ -304,32 +304,25 @@ class CategoryLogic extends BaseLogic
$return = [];
$cate_arr = explode('/',$category);
$p_cate = $cate_arr[0];
$c_cate = $cate_arr[1]??'';
$p_category = $this->model->read(['title'=>$p_cate,'pid'=>0]);
if(!$p_category){
$p_id = $this->model->addReturnId(['title'=>$p_cate,'project_id'=>$project_id]);
$pid = 0;
foreach ($cate_arr as $v){
if($v){
$category_info = $this->model->read(['title'=>$v,'pid'=>$pid]);
if(!$category_info){
$id = $this->model->addReturnId(['title'=>$v,'pid'=>$pid,'project_id'=>$project_id]);
$route = RouteMap::setRoute($p_cate, RouteMap::SOURCE_PRODUCT_CATE, $p_id, $project_id);
$this->model->edit(['route'=>$route],['id'=>$p_id]);
}else{
$p_id = $p_category['id'];
}
$return[] = $p_id;
if($c_cate){
$c_category = $this->model->read(['title'=>$c_cate,'pid'=>$p_id]);
if(!$c_category){
$c_id = $this->model->addReturnId(['title'=>$c_cate,'pid'=>$p_id,'project_id'=>$project_id]);
$route = RouteMap::setRoute($v, RouteMap::SOURCE_PRODUCT_CATE, $id, $project_id);
$this->model->edit(['route'=>$route],['id'=>$id]);
}else{
$id = $category_info['id'];
}
$route = RouteMap::setRoute($c_cate, RouteMap::SOURCE_PRODUCT_CATE, $c_id, $project_id);
$this->model->edit(['route'=>$route],['id'=>$c_id]);
}else{
$c_id = $c_category['id'];
$return[] = $id;
$pid = $id;
}
$return[] = $c_id;
}
//清除缓存
Common::del_user_cache('product_category',$project_id);
return $this->getLastCategory($return);
... ...
... ... @@ -583,10 +583,10 @@ class ProductLogic extends BaseLogic
$intro = '';
if($data[5]){
//处理短描述中的图片
$pattern = '<img src="(.*?)">';
$pattern = '/<img\s+[^>]*?src\s*=\s*(\'|\")(.*?)\\1[^>]*?\/?\s*>/i';
preg_match_all($pattern, $data[5], $result_intro);
if($result_intro[1]){
foreach ($result_intro[1] as $vi_img){
if($result_intro[2]){
foreach ($result_intro[2] as $vi_img){
$data[5] = str_replace($vi_img,getImageUrl(CosService::uploadRemote($project_id,'image_product',$vi_img)),$data[5]);
}
}
... ... @@ -596,10 +596,10 @@ class ProductLogic extends BaseLogic
$content = '';
if($data[6]){
//处理内容中的图片
$pattern = '<img src="(.*?)">';
$pattern = '/<img\s+[^>]*?src\s*=\s*(\'|\")(.*?)\\1[^>]*?\/?\s*>/i';
preg_match_all($pattern, $data[6], $result_content);
if($result_content[1]){
foreach ($result_content[1] as $vc_img){
if($result_content[2]){
foreach ($result_content[2] as $vc_img){
$data[6] = str_replace($vc_img,getImageUrl(CosService::uploadRemote($project_id,'image_product',$vc_img)),$data[6]);
}
}
... ...