gorden пре 10 месеци
родитељ
комит
50774321cd

+ 1 - 1
app/admin/controller/member/CheckupController.php

@@ -35,7 +35,7 @@ class CheckupController extends Curd
         [$where, $format, $limit, $field, $order] = $this->selectInput($request);
         $field = $field ?? 'wellness_record_addtimes';
         $order = $request->get('order', 'desc');
-        $where['wellness_record_category'] = '体检';
+        $where['wellness_record_category'] = 'Examine';
         $query = $this->doSelect($where, $field, $order);
         return $this->doFormat($query, $format, $limit);
     }

+ 35 - 7
app/admin/service/goods/GoodsService.php

@@ -8,6 +8,7 @@ use app\model\GoodsDetail;
 use app\model\GoodsLabel;
 use app\model\GoodsRunning;
 use app\model\GoodsSku;
+use app\model\SysCategory;
 use app\model\SysSerial;
 use support\Db;
 use support\exception\BusinessException;
@@ -59,7 +60,7 @@ class GoodsService
 
         foreach ($rows as &$row) {
             $row['goods_cover'] = getenv('STORAGE_DOMAIN') . $row['goods_cover'];
-            if (isset($row['running'])){
+            if (isset($row['running'])) {
                 $row['running']['goods_running_storage'] = intval($row['running']['goods_running_storage']);
             }
         }
@@ -145,14 +146,30 @@ class GoodsService
 //            return json_success('暂无数据');
 //        }
 
-        $goods = Goods::where('goods_classify', $goodsClassify)
+        $categoryIds = SysCategory::whereIn('category_super_id', [31, 32, 42, 66, 70, 72])->pluck('category_id');
+
+        $goods = Goods::with('sku')
+            ->whereIn('join_goods_category_id', $categoryIds)
             ->when($keywords != '', function ($query) use ($keywords) {
                 $query->where('goods_name', 'like', "%" . $keywords . "%");
             })
-            ->select('goods_id', 'goods_name', 'goods_sales_price')
+            ->select('goods_id', 'goods_name', 'goods_sales_price', 'join_goods_category_id')
             ->get()
             ->toArray();
 
+        foreach ($goods as &$good) {
+            if (!empty($good['sku'])) {
+                foreach ($good['sku'] as $key => $sku) {
+                    if (!empty($sku['goods_sku_specs_json'])) {
+                        $good['sku'][$key]['goods_sku_specs_json'] = json_decode($sku['goods_sku_specs_json']);
+//                        $good['sku'][$key]['sku_name']
+                    }
+                }
+            } else {
+                $good['sku'] = [];
+            }
+        }
+
         return json_success('', $goods);
 
     }
@@ -261,8 +278,8 @@ class GoodsService
                 }
                 $data['goods_detail_slider_json'] = rtrim($slider, ',');
             }
-            $extendJson=[];
-            if (!empty($data['goods_attribute_json'])){
+            $extendJson = [];
+            if (!empty($data['goods_attribute_json'])) {
                 $extendJson = json_decode($data['goods_attribute_json'], true);
             }
             $data['appointment_times'] = [];
@@ -349,13 +366,24 @@ class GoodsService
                     if (empty($item['join_component_goods_id'])) {
                         continue;
                     }
+                    $skus = GoodsSku::where('join_sku_goods_id', $item['join_component_goods_id'])
+                        ->select('goods_sku_id', 'join_sku_goods_id', 'goods_sku_specs_json', 'goods_sku_sales_price')
+                        ->get()
+                        ->toArray();
+                    foreach ($skus as $key => $sku2){
+                        if(!empty($sku2['goods_sku_specs_json'])){
+                            $skus[$key]['goods_sku_specs_json'] = json_decode($sku2['goods_sku_specs_json']);
+                        }
+                    }
                     $ids[] = $item['join_component_goods_id'];
                     $configJson = json_decode($item['goods_component_json'], true);
                     $contentList[] = [
                         'goods_id' => $item['join_component_goods_id'],
                         'goods_name' => $configJson['goods_name'] ?? '',
                         'goods_sales_price' => $item['goods_component_price'],
-                        'nbr' => $configJson['nbr'] ?? 0
+                        'nbr' => $configJson['nbr'] ?? 0,
+                        'sku_id' => $configJson['sku_id'] ?? '',
+                        'sku' => $skus
                     ];
                 }
 
@@ -721,7 +749,7 @@ class GoodsService
                     'join_component_goods_id' => $item['goods_id'] ?? '',
                     'goods_component_price' => $item['goods_sales_price'] ?? '',
                     'goods_component_cover' => $goods->goods_cover,
-                    'goods_component_json' => json_encode(['goods_name' => $item['goods_name'], 'nbr' => $item['nbr']]),
+                    'goods_component_json' => json_encode(['goods_name' => $item['goods_name'], 'nbr' => $item['nbr'], 'sku_id' => $item['sku'] ?? '']),
                     'goods_component_addtimes' => time()
                 ];
 

+ 7 - 1
app/model/Goods.php

@@ -63,6 +63,12 @@ class Goods extends Model
 
     public function component()
     {
-        return $this->hasMany(GoodsComponent::class,'join_component_master_goods_id','goods_id');
+        return $this->hasMany(GoodsComponent::class, 'join_component_master_goods_id', 'goods_id');
+    }
+
+    public function sku()
+    {
+        return $this->hasMany(GoodsSku::class,'join_sku_goods_id','goods_id')
+            ->select('goods_sku_id','join_sku_goods_id','goods_sku_specs_json','goods_sku_sales_price');
     }
 }