帖子关联商品

This commit is contained in:
2025-12-11 14:17:24 +08:00
parent a83a2d2356
commit 18d29af70b
7 changed files with 39 additions and 11 deletions
+11 -1
View File
@@ -2,6 +2,7 @@
namespace app\admin\controller; namespace app\admin\controller;
use app\common\controller\BaseController; use app\common\controller\BaseController;
use app\common\service\OssService;
use app\common\traits\crud\CrudControllerTrait; use app\common\traits\crud\CrudControllerTrait;
use app\common\service\SkuService; use app\common\service\SkuService;
use support\Request; use support\Request;
@@ -30,7 +31,7 @@ class SkuController extends BaseController
$res = $this->service->serviceStore($request, $data); $res = $this->service->serviceStore($request, $data);
return $this->success($res, '创建成功'); return $this->success($res, '创建成功');
} catch (\Throwable $e) { } catch (\Throwable $e) {
return $this->error($e->getMessage().$e->getFile().$e->getLine()); return $this->error($e->getMessage());
} }
} }
@@ -48,6 +49,15 @@ class SkuController extends BaseController
$data['updated_at'] = date('Y-m-d H:i:s', $data['updated_at']); $data['updated_at'] = date('Y-m-d H:i:s', $data['updated_at']);
if (isset($data['spec_json'])) if (isset($data['spec_json']))
$data['spec'] = json_decode($data['spec_json'], true); $data['spec'] = json_decode($data['spec_json'], true);
$ossservice = new OssService();
if (isset($data['image'])){
$data['image'] = explode(',',$data['image']);
foreach ($data['image'] as $key => $image){
$data['image_pull'][$key] = $ossservice->generatePrivateUrl($image);
}
}
if (isset($data['main_image']))
$data['main_image_pull'] = $ossservice->generatePrivateUrl($data['main_image']);
return $data; return $data;
} }
} }
+10
View File
@@ -104,6 +104,16 @@ class PostController extends BaseController
if($sku){ if($sku){
$sku['main_image_pull'] = $ossservice->generatePrivateUrl($sku['main_image']); $sku['main_image_pull'] = $ossservice->generatePrivateUrl($sku['main_image']);
} }
if (!empty($sku['image'])){
$sku['image'] = explode(',',$sku['image']);
foreach ($sku['image'] as $key => $image){
$sku['image_pull'][$key] = $ossservice->generatePrivateUrl($image);
}
}
if (isset($sku['spec_json']))
$sku['spec'] = json_decode($sku['spec_json'], true);
$data['sku'] = $sku; $data['sku'] = $sku;
} }
+1 -1
View File
@@ -40,7 +40,7 @@ class Post extends Model
/** /**
* 允许自动填充模型字段 * 允许自动填充模型字段
*/ */
protected $fillable = ['id', 'user_id', 'category_id', 'sku_id', 'content', 'location_name', 'latitude', 'longitude', 'status', 'sort', 'like', 'favorite', 'comment', 'browse', 'created_at', 'updated_at']; protected $fillable = ['id', 'user_id', 'category_id', 'sku_id', 'content', 'location_name', 'latitude', 'longitude', 'status', 'sort', 'like', 'favorite', 'comment', 'browse', 'created_at', 'updated_at', 'price', 'age'];
/** /**
* 不允许自动填充模型字段 * 不允许自动填充模型字段
+1 -1
View File
@@ -45,5 +45,5 @@ class Sku extends Model
/** /**
* 不允许自动填充模型字段 * 不允许自动填充模型字段
*/ */
protected $guarded = []; protected $guarded = ['updated_at'];
} }
-1
View File
@@ -71,7 +71,6 @@ class PostService
$config['where']['content'] = ['like', '%'.$p['keyword'].'%']; $config['where']['content'] = ['like', '%'.$p['keyword'].'%'];
} }
$config['where']['status'] = 1; $config['where']['status'] = 1;
$config['order']['sort'] = 'desc';
if (isset($p['favorite']) && $p['favorite']) { if (isset($p['favorite']) && $p['favorite']) {
$config['order']['favorite'] = 'desc'; $config['order']['favorite'] = 'desc';
+10 -1
View File
@@ -54,10 +54,11 @@ class SkuService
$data['spec_json'] = $spec_json; $data['spec_json'] = $spec_json;
$data['user_id'] = $request->user->uid; $data['user_id'] = $request->user->uid;
$data['code'] = $this->generateUniqueCode(); $data['code'] = $this->generateUniqueCode();
$data['image'] = implode(',',$data['image']);
// 将OSS直连地址替换为代理地址 // 将OSS直连地址替换为代理地址
$ossDomain = 'https://vehicle-album.oss-cn-beijing.aliyuncs.com/'; $ossDomain = 'https://vehicle-album.oss-cn-beijing.aliyuncs.com/';
$proxyPath = '/console/upload/image/proxy?file='; $proxyPath = '/proxy/ossurl?file=';
$data['desc'] = str_replace( $data['desc'] = str_replace(
'?Expires=', '?Expires=',
@@ -69,6 +70,14 @@ class SkuService
$proxyPath, $proxyPath,
$data['desc'] $data['desc']
); );
// 将OSS直连地址替换为代理地址
$ossDomain = 'https://oss-cn-beijing.aliyuncs.com/';
$proxyPath = '/proxy/ossurl?file=';
$data['desc'] = str_replace(
$ossDomain,
$proxyPath,
$data['desc']
);
return $data; return $data;
} }
+6 -6
View File
@@ -27,25 +27,25 @@ class IndexController
$options = [ $options = [
'controller' => [ 'controller' => [
'module' => 'common', 'module' => 'common',
'name' => 'sku_attribute_value' 'name' => 'barrage'
], ],
'model' => [ 'model' => [
'module' => 'common', 'module' => 'common',
'name' => 'sku_attribute_value' 'name' => 'barrage'
], ],
'service' => [ 'service' => [
'module' => 'common', 'module' => 'common',
'name' => 'sku_attribute_value' 'name' => 'barrage'
], ],
'logic' => [ 'logic' => [
'module' => 'common', 'module' => 'common',
'name' => 'sku_attribute_value' 'name' => 'barrage'
], ],
'validate' => [ 'validate' => [
'module' => 'common', 'module' => 'common',
'name' => 'sku_attribute_value' 'name' => 'barrage'
], ],
'table' => 'sku_attribute_value' 'table' => 'barrage'
]; ];
$result = (new Generate($options))->doGenerate(); $result = (new Generate($options))->doGenerate();