liugc 11 месяцев назад
Родитель
Сommit
fb5544533f
1 измененных файлов с 114 добавлено и 4 удалено
  1. 114 4
      app/api/service/DouYinService.php

+ 114 - 4
app/api/service/DouYinService.php

@@ -80,6 +80,27 @@ class DouYinService
     }
 
     // **************************** 商品管理
+
+    public static function addProduct($params)
+    {
+
+        $goods_category_id = $params['goods_category_id']??0;
+        $product_url = config('douyin.host').'goodlife/v1/goods/product/save/';
+        $res = http_request($product_url,self::getProductParams($params),['Content-Type' => 'application/json;charset=utf-8','access_token' => self::getClientToken()]);
+
+
+        return [];
+    }
+
+    public static function addSku($params)
+    {
+        $goods_id = $params['goods_id']??0;
+        $sku_url = config('douyin.host').'goodlife/v1/goods/sku/batch_save/';
+        $res = http_request($sku_url,self::getSkuParams($params),['Content-Type' => 'application/json;charset=utf-8','access_token' => self::getClientToken()]);
+        // 根据返回后更新本地库对应关系
+
+        return [];
+    }
 /*/product/save/ 先调
 goods/sku/batch_save/ 再调
 
@@ -87,11 +108,38 @@ goods/sku/batch_save/ 再调
 生成  sku 组装
 生成对应的 attr_key_value_map 组装*/
 
-    public static function getProductParams($type,$params)
+    public static function getProductParams($params)
     {
-        return [];
+        $goods_category_id = $params['goods_category_id']??0;
+        return [
+            "account_id" => '7511543640776017961',
+            "product" => [
+                "out_id" => $goods_category_id,
+                "product_name" => $params['name'],
+                "product_type" => 22,
+                "category_id" => 6004003,
+                "category_full_name" =>  "其他维修服务",
+                "biz_line" =>  5,
+                "account_name" =>  "亿蜂快修·武汉市",
+                //{\"params\":\"{\"spuId\":\"xxxxx\",\"skuId\":\"xxxxxx\"}\",\"path\":\"pages/any/path\",\"app_id\":\"xxxxx\"}
+                "out_url" => json_encode(['app_id'=>config('douyin.appId'),'path'=>'pages/detail','params'=>json_encode(['goods_category_id'=>$goods_category_id])]),
+                "pois" =>[
+                    [
+                        "poi_id" => "7511543640776017961"
+                    ]
+                ],
+                "product_ext" => [
+                    "auto_online" => true,
+                    "display_price"=> ["low_price" => 30,"high_price" => 300],
+                    "test_extra"=> ["test_flag" => true,"uids" => ["1548********2888"]]
+                ],
+                "attr_key_value_map" => self::getAttrKeyValueMapParams('product',$params),
+                "sold_end_time" => time() + 180 * 86400,
+                "sold_start_time" => time()
+            ]
+        ];
     }
-    public static function getSkuParams($type,$params)
+    public static function getSkuParams($params)
     {
         return [];
     }
@@ -99,7 +147,69 @@ goods/sku/batch_save/ 再调
 
     public static function getAttrKeyValueMapParams($type,$params)
     {
-        return [];
+        $res = [];
+        if($type === 'product'){
+            $res = [
+                "appointment"=>json_encode([
+                            "need_appointment"=>true,
+                            "ahead_time_type"=>2,
+                            "ahead_hour_num"=> 5,
+                            "external_link"=>"pages/detail",
+                            "order_appointment_time_url"=>"pages/order"
+                ]),
+                "auto_renew"=>true,
+                "can_no_use_date" => json_encode(["enable"=>false]),
+                "Description" => json_encode([]),
+                "image_list" => json_encode([["url"=>$params['picture']??'']]),
+                "limit_use_rule" => json_encode(["is_limit_use"=>true, "use_num_per_consume"=>1]),
+                "Notification" => json_encode([["title"=>$params['name']??'',"content"=>$params['name']??'']]),
+                "RefundPolicy"=> "2",
+                "refund_need_merchant_confirm"=> true,
+                "show_channel"=> 1,
+                "superimposed_discounts"=> false,
+                "trade_url"=> json_encode(['app_id'=>config('douyin.appId'),'path'=>'pages/detail','params'=>json_encode(['goods_category_id'=>$params['goods_category_id']??0])]),
+                "use_date"=> json_encode(["use_date_type"=>2, "day_duration"=>15]),
+                "use_time"=> json_encode(["use_time_type"=>1]),
+                //"user_num_limit"=> ,
+                "code_source_type"=> 3,
+                "settle_type"=> 1,
+                "use_type"=> 1,
+                "limit_rule"=> json_encode(["is_limit"=>false]),
+                "out_id"=> $params['goods_category_id']??0
+            ];
+        }
+        if($type === 'sku'){
+            $res = [
+                /*"appointment"=>json_encode([
+                    "need_appointment"=>true,
+                    "ahead_time_type"=>2,
+                    "ahead_hour_num"=> 5,
+                    "external_link"=>"pages/detail",
+                    "order_appointment_time_url"=>"pages/order"
+                ]),
+                "auto_renew"=>true,
+                "can_no_use_date" => json_encode(["enable"=>false]),
+                "Description" => json_encode([]),
+                "image_list" => json_encode([["url"=>$params['goods_image']]]),
+                "limit_use_rule" => json_encode(["is_limit_use"=>true, "use_num_per_consume"=>1]),
+                "Notification" => json_encode([["title"=>$params['goods_name'],"content"=>$params['goods_name']]]),
+                "RefundPolicy"=> "2",
+                "refund_need_merchant_confirm"=> true,
+                "show_channel"=> 1,
+                "superimposed_discounts"=> false,
+                "trade_url"=> json_encode(['app_id'=>config('douyin.appId'),'path'=>'pages/detail','params'=>json_encode(['goods_category_id'=>$params['goods_category_id']??0])]),
+                "use_date"=> json_encode(["use_date_type"=>2, "day_duration"=>15]),
+                "use_time"=> json_encode(["use_time_type"=>1]),
+                //"user_num_limit"=> ,
+
+                "code_source_type"=> 3,
+                "settle_type"=> 1,
+                "use_type"=> 1,
+                "limit_rule"=> json_encode(["is_limit"=>false]),
+                "out_id"=> $params['goods_category_id']??0*/
+            ];
+        }
+        return $res;
     }