|
@@ -277,6 +277,7 @@ class GoodsService
|
|
|
$data['goods_sku_json_label'] = [];
|
|
|
|
|
|
$data['goods_label'] = !empty($data['goods_label']) ? explode(',', $data['goods_label']) : [];
|
|
|
+ $data['goods_json'] = $data['goods_json'] ? json_decode($data['goods_json'], true) : [];
|
|
|
$data['goods_cover'] = getenv('STORAGE_DOMAIN') . $data['goods_cover'];
|
|
|
if (!empty($data['goods_detail_slider_json'])) {
|
|
|
$data['goods_detail_slider_json'] = json_decode($data['goods_detail_slider_json'], true);
|
|
@@ -314,6 +315,12 @@ class GoodsService
|
|
|
$data['appointment_times'] = $times;
|
|
|
}
|
|
|
}
|
|
|
+ if (!empty($data['goods_json'])) {
|
|
|
+ foreach ($data['goods_json'] as $key => $datum) {
|
|
|
+ dump($datum);
|
|
|
+ $data['goods_json'][$key]['color'] = rgbToHex($datum['color']);
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
$data['goods_on_addtimes'] = date('Y-m-d\TH:i:s.u\Z', $data['goods_on_addtimes'] - 60 * 60 * 8);
|
|
|
|
|
@@ -669,6 +676,11 @@ class GoodsService
|
|
|
$params['goods_status'] = 'ON';
|
|
|
}
|
|
|
}
|
|
|
+ $category = SysCategory::where('category_id', $params['join_goods_category_id'])->first();
|
|
|
+ if (!$category) {
|
|
|
+ throw new BusinessException("产品分类不存在~");
|
|
|
+ }
|
|
|
+
|
|
|
try {
|
|
|
$model = new Goods();
|
|
|
$model->goods_id = $params['goods_id'];
|
|
@@ -676,8 +688,8 @@ class GoodsService
|
|
|
$model->join_goods_supplier_id = $params['join_goods_supplier_id'] ?? 0;
|
|
|
$model->goods_classify = $params['goods_classify'] ?? '';
|
|
|
$model->goods_status = $params['goods_status'] ?? '';
|
|
|
- $model->goods_category = $params['goods_category'] ?? '';
|
|
|
- $model->goods_prefix = $params['goods_prefix'] ?? '';
|
|
|
+ $model->goods_category = $category->category_classify ?? '';
|
|
|
+ $model->goods_prefix = $params['goods_prefix'] ?? ($category->category_name ? '【' . $category->category_name . '】' : '');
|
|
|
$model->goods_name = $params['goods_name'];
|
|
|
$model->goods_market_price = $params['goods_market_price'] ?? 0;
|
|
|
$model->goods_sales_price = $params['goods_sales_price'] ?? 0;
|
|
@@ -707,7 +719,6 @@ class GoodsService
|
|
|
'dates' => $params['dates'] ?? [],
|
|
|
'times' => $times
|
|
|
]);
|
|
|
- dump($model->goods_attribute_json);
|
|
|
}
|
|
|
if ($model->save()) {
|
|
|
return $model->goods_id;
|
|
@@ -896,6 +907,14 @@ class GoodsService
|
|
|
$data['goods_sku_json'] = !empty($params['goods_sku_json_label']) ? json_encode($params['goods_sku_json_label']) : json_encode(['规格' => []]);
|
|
|
|
|
|
$row = Goods::find($data['goods_id']);
|
|
|
+ if ($row->join_goods_category_id != $data['join_goods_category_id']) {
|
|
|
+ $category = SysCategory::where('category_id', $params['join_goods_category_id'])->first();
|
|
|
+ if (!$category) {
|
|
|
+ throw new BusinessException("产品分类不存在~");
|
|
|
+ }
|
|
|
+ $data['goods_category'] = $category->category_classify ?? '';
|
|
|
+ $data['goods_prefix'] = $data['goods_prefix'] ?? ($category->category_name ? '【' . $category->category_name . '】' : '');
|
|
|
+ }
|
|
|
// 上架时间有变动
|
|
|
if ($data['goods_status'] == 'PENDING' && $row->goods_on_addtimes != $data['goods_on_addtimes']) {
|
|
|
$redis = Redis::connection();
|
|
@@ -921,6 +940,15 @@ class GoodsService
|
|
|
'times' => $times
|
|
|
]);
|
|
|
}
|
|
|
+ if (!empty($data['goods_json'])) {
|
|
|
+ $goodsJson = json_decode($data['goods_json'], true);
|
|
|
+ foreach ($goodsJson as $key => $item) {
|
|
|
+ $goodsJson[$key]['color'] = hexToRgb($item['color']);
|
|
|
+ }
|
|
|
+
|
|
|
+ $data['goods_json'] = json_encode($goodsJson);
|
|
|
+ }
|
|
|
+
|
|
|
foreach ($data as $key => $val) {
|
|
|
$row->{$key} = $val;
|
|
|
}
|