|
...
|
...
|
@@ -3,7 +3,10 @@ |
|
|
|
namespace App\Http\Controllers\Api;
|
|
|
|
|
|
|
|
use App\Enums\Common\Code;
|
|
|
|
use App\Helper\Translate;
|
|
|
|
use App\Models\Product\Category;
|
|
|
|
use App\Models\Product\Product;
|
|
|
|
use App\Models\RouteMap\RouteMap;
|
|
|
|
use App\Services\CosService;
|
|
|
|
use App\Services\ProjectServer;
|
|
|
|
use App\Utils\LogUtils;
|
|
...
|
...
|
@@ -79,19 +82,45 @@ class ProductController extends BaseController |
|
|
|
$gallery[] = ['url'=>$url,'alt'=>''];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//处理分类
|
|
|
|
$category_id = '';
|
|
|
|
if(isset($this->param['category_name']) && !empty($this->param['category_name'])){
|
|
|
|
$categoryModel = new Category();
|
|
|
|
$cateInfo = $categoryModel->read(['title'=>$this->param['category_name']]);
|
|
|
|
if($cateInfo === false){
|
|
|
|
$cateData =[
|
|
|
|
'project_id'=>$this->param['project_id'],
|
|
|
|
'title'=>$this->param['category_name'],
|
|
|
|
'pid'=>0,
|
|
|
|
'created_at'=>date('Y-m-d H:i:s'),
|
|
|
|
'updated_at'=>date('Y-m-d H:i:s')
|
|
|
|
];
|
|
|
|
$cate_id = $categoryModel->addReturnId($cateData);
|
|
|
|
$route = RouteMap::setRoute($cateData['title'], RouteMap::SOURCE_PRODUCT_CATE, $cate_id, $this->param['project_id']);
|
|
|
|
$categoryModel->edit(['route'=>$route],['id'=>$cate_id]);
|
|
|
|
}else{
|
|
|
|
$cate_id = $cateInfo['id'];
|
|
|
|
}
|
|
|
|
$category_id = ','.$cate_id.',';
|
|
|
|
}
|
|
|
|
try {
|
|
|
|
$product = Product::where('title', $this->param['title'])->first();
|
|
|
|
if(!$product){
|
|
|
|
$param = [
|
|
|
|
$productModel = new Product();
|
|
|
|
$productInfo = $productModel->read(['title'=>$this->param['title']]);
|
|
|
|
if($productInfo === false){
|
|
|
|
$productData = [
|
|
|
|
'project_id'=>$this->param['project_id'],
|
|
|
|
'title'=>$this->param['title'],
|
|
|
|
'intro'=>$this->param['intro'] ?? '',
|
|
|
|
'content'=>$this->param['content'] ?? '',
|
|
|
|
'thumb'=>json_encode($thumb,true),
|
|
|
|
'gallery'=>json_encode($gallery,true),
|
|
|
|
'category_id'=>$category_id,
|
|
|
|
'created_at'=>date('Y-m-d H:i:s'),
|
|
|
|
'updated_at'=>date('Y-m-d H:i:s')
|
|
|
|
];
|
|
|
|
$productModel = new Product();
|
|
|
|
$productModel->add($param);
|
|
|
|
$product_id = $productModel->addReturnId($productData);
|
|
|
|
$route = RouteMap::setRoute($productData['title'], RouteMap::SOURCE_PRODUCT, $product_id, $this->param['project_id']);
|
|
|
|
$productModel->edit(['route'=>$route],['id'=>$cate_id]);
|
|
|
|
}
|
|
|
|
} catch (\Exception $e) {
|
|
|
|
LogUtils::error('Project Id: ' . $this->param['project_id'] . ' saveProduct error:' . $e->getMessage());
|
...
|
...
|
|