129 lines
4.1 KiB
PHP
Raw Normal View History

<?php
namespace App\Services\Business\KuaiTuanTuan;
2022-09-14 15:59:27 +08:00
use App\Events\BusinessOrdersUpdate;
use App\Models\BusinessGoodsSku;
class Goods
{
public static function downloadGoods($activityNo, $page = 1, $size = 100)
{
$type = 'pdd.ktt.goods.query.list';
$appendParams = [
// 'activity_no' => $activityNo, // 非必填,团号(团号和创建时间只能传一个)
'page' => $page,
'size' => $size,
// 'update_time_end' => '', // 非必填,结束最后更新时间(毫秒级时间戳)
// 'update_time_start' => '', // 非必填,起始最后更新时间(毫秒级时间戳)
// 'create_time_end' => '', // 非必填,开始时间结束(毫秒级时间戳)
// 'create_time_start' => '' // 非必填, 开始时间起始(毫秒级时间戳)
];
return [$type, $appendParams];
}
public static function bindGoods(array $goodsList, $shopId)
{
foreach ($goodsList as $businessGood) {
$skuList = $businessGood['sku_list'];
unset($businessGood['sku_list']);
$businessGood['goods_image_list'] = json_encode($businessGood['goods_image_list'], 256);
foreach ($skuList as $sku) {
$sku['spec_list'] = json_encode($sku['spec_list'], 256);
$data = array_merge($businessGood, $sku);
2022-09-14 15:59:27 +08:00
$businessGoodSku = BusinessGoodsSku::firstOrNew(
['shop_id' => $shopId, 'goods_id' => $businessGood['goods_id'], 'sku_id' => $sku['sku_id']],
$data
);
2022-09-15 18:57:15 +08:00
if (empty($businessGoodSku->id)) {
2022-09-14 15:59:27 +08:00
$businessGoodSku->save();
2022-09-15 18:07:41 +08:00
if (!empty($businessGoodSku->external_sku_id)) {
event(new BusinessOrdersUpdate($businessGoodSku, 0));
}
2022-09-16 10:30:51 +08:00
} else {
$businessGoodSku->update($data);
2022-09-14 15:59:27 +08:00
}
}
}
}
public static function downloadSingle($goodsId)
{
$type = 'pdd.ktt.goods.query.single';
$appendParams = [
'goods_id' => $goodsId,
'page' => 1,
'size' => 100,
];
return [$type, $appendParams];
}
2022-08-16 21:02:31 +08:00
public static function incrQuantity($goodsId, $skuId, $quantity, $modifyType = 2)
{
$type = 'pdd.ktt.goods.incr.quantity';
$appendParams = [
'goods_id' => $goodsId,
2022-08-26 14:09:01 +08:00
'quantity_delta' => max($quantity, 0),
'sku_id' => $skuId,
// 非必填
'modify_quantity_type' => $modifyType, // 修改库存的类型不传或1代表增量修改2代表全量修改
];
return [$type, $appendParams];
}
public static function createSpec()
{
$type = 'pdd.ktt.goods.create.spec';
$appendParams = [
'spec_map' => json_encode([
'字母' => ['A', 'B']
])
];
return [$type, $appendParams];
}
public static function createGroup()
{
$type = 'pdd.ktt.group.create';
$skuList = [
'external_sku_id' => 'world_123',
'price_in_fen' => 1000000,
'quantity_type' => 0,
'spec_id_list' => [3908559014],
'total_quantity' => 10,
];
$goods = [
'category_name' => '分类名',
'goods_desc' => '测试使用',
'goods_name' => '字母a',
'limit_buy' => 1,
'market_price' => 100000,
'sku_list' => [$skuList]
];
$appendParams = [
'end_time' => 1667385374000,
'goods_list' => json_encode([$goods]),
'is_save_preview' => 0,
'start_time' => 1665385374000,
'title' => '世界鲜花团购大赏',
];
return [$type, $appendParams];
}
public static function queryGroupStatus()
{
$type = 'pdd.ktt.group.query.status';
$appendParams = [
'activity_no' => '0d0t6e4ji-KSYKxdgpMZHmTqFwU0p1Qg'
];
return [$type, $appendParams];
}
}