103 lines
3.3 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);
2022-11-01 09:39:01 +08:00
if ((int)$sku['quantity_type']) {
$sku['is_sync'] = 0;
}
$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,
'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];
}
2022-10-26 10:50:43 +08:00
public static function uploadImage($url)
{
$type = 'pdd.ktt.goods.upload.image';
$appendParams = [
'url' => $url
];
return [$type, $appendParams];
}
}