|
@@ -154,19 +154,16 @@ class GoodsService extends BaseService
|
|
|
if ($goodsId && $goodsSkuSn) {
|
|
if ($goodsId && $goodsSkuSn) {
|
|
|
|
|
|
|
|
$skuInfo = SupplyService::make()->getApiData('getSkuDetail', ['sku_sn' => $goodsSkuSn]);
|
|
$skuInfo = SupplyService::make()->getApiData('getSkuDetail', ['sku_sn' => $goodsSkuSn]);
|
|
|
- if ($goodsSkuSn) {
|
|
|
|
|
- $updateData = ['update_time' => time(), 'last_update_at' => $item['update_time']];
|
|
|
|
|
|
|
+ if ($skuInfo) {
|
|
|
|
|
+ $updateData = ['sku_sn'=> $goodsSkuSn,'update_time' => time(),'mark'=>1, 'last_update_at' => $item['update_time']];
|
|
|
if (isset($item['sku_name']) && $item['sku_name']) {
|
|
if (isset($item['sku_name']) && $item['sku_name']) {
|
|
|
$updateData['sku_name'] = $item['sku_name'];
|
|
$updateData['sku_name'] = $item['sku_name'];
|
|
|
}
|
|
}
|
|
|
if (isset($item['main_img']) && $item['main_img']) {
|
|
if (isset($item['main_img']) && $item['main_img']) {
|
|
|
$updateData['main_img'] = $item['main_img'];
|
|
$updateData['main_img'] = $item['main_img'];
|
|
|
}
|
|
}
|
|
|
- if (isset($item['name']) && $item['name']) {
|
|
|
|
|
- $updateData['name'] = $item['name'];
|
|
|
|
|
- }
|
|
|
|
|
- if (isset($item['val']) && $item['val']) {
|
|
|
|
|
- $updateData['val'] = $item['val'];
|
|
|
|
|
|
|
+ if (isset($item['spu_sn']) && $item['spu_sn']) {
|
|
|
|
|
+ $updateData['spu_sn'] = $item['spu_sn'];
|
|
|
}
|
|
}
|
|
|
if (isset($item['status']) && $item['status']) {
|
|
if (isset($item['status']) && $item['status']) {
|
|
|
$updateData['status'] = intval($item['status']);
|
|
$updateData['status'] = intval($item['status']);
|
|
@@ -183,7 +180,14 @@ class GoodsService extends BaseService
|
|
|
if (isset($item['attr']) && $item['attr']) {
|
|
if (isset($item['attr']) && $item['attr']) {
|
|
|
$updateData['attr'] = json_encode($item['attr'], 256);
|
|
$updateData['attr'] = json_encode($item['attr'], 256);
|
|
|
}
|
|
}
|
|
|
- $this->model->where(['goods_id' => $goodsId, 'mark' => 1])->update($updateData);
|
|
|
|
|
|
|
+
|
|
|
|
|
+ if($this->model->where(['goods_id' => $goodsId])->value('id')){
|
|
|
|
|
+ $this->model->where(['goods_id' => $goodsId, 'mark' => 1])->update($updateData);
|
|
|
|
|
+ }else{
|
|
|
|
|
+ $updateData['goods_id'] = $goodsId;
|
|
|
|
|
+ $this->model->insert($updateData);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
$updated++;
|
|
$updated++;
|
|
|
} else {
|
|
} else {
|
|
|
$error++;
|
|
$error++;
|
|
@@ -226,6 +230,7 @@ class GoodsService extends BaseService
|
|
|
'begin_time' => $lastTime ? $lastTime : '', // 开始时间
|
|
'begin_time' => $lastTime ? $lastTime : '', // 开始时间
|
|
|
];
|
|
];
|
|
|
$goods = [];
|
|
$goods = [];
|
|
|
|
|
+ $skus = [];
|
|
|
$updated = 0;
|
|
$updated = 0;
|
|
|
$error = 0;
|
|
$error = 0;
|
|
|
$datas = SupplyService::make()->getApiData('getGoodsList', $params);
|
|
$datas = SupplyService::make()->getApiData('getGoodsList', $params);
|
|
@@ -250,7 +255,7 @@ class GoodsService extends BaseService
|
|
|
'cost_price' => isset($info['cost_price']) ? floatval($info['cost_price']) : 0,
|
|
'cost_price' => isset($info['cost_price']) ? floatval($info['cost_price']) : 0,
|
|
|
'retail_price' => isset($info['retail_price']) ? floatval($info['retail_price']) : 0,
|
|
'retail_price' => isset($info['retail_price']) ? floatval($info['retail_price']) : 0,
|
|
|
'profit' => isset($info['profit']) ? floatval($info['profit']) : 0,
|
|
'profit' => isset($info['profit']) ? floatval($info['profit']) : 0,
|
|
|
- 'sku_list' => isset($info['sku_list']) ? json_encode($info['sku_list'], 256) : '',
|
|
|
|
|
|
|
+ 'sku_list' => '',
|
|
|
'sku_total' => isset($info['sku_total']) ? intval($info['sku_total']) : 0,
|
|
'sku_total' => isset($info['sku_total']) ? intval($info['sku_total']) : 0,
|
|
|
'tag' => isset($item['tag']) ? json_encode($item['tag'], 256) : '',
|
|
'tag' => isset($item['tag']) ? json_encode($item['tag'], 256) : '',
|
|
|
'status' => isset($info['status']) ? intval($info['status']) : 1,
|
|
'status' => isset($info['status']) ? intval($info['status']) : 1,
|
|
@@ -258,6 +263,27 @@ class GoodsService extends BaseService
|
|
|
'last_update_at' => isset($info['update_time']) ? $info['update_time'] : (isset($item['time']) && $item['time'] ? $item['time'] : date('Y-m-d H:i:s')),
|
|
'last_update_at' => isset($info['update_time']) ? $info['update_time'] : (isset($item['time']) && $item['time'] ? $item['time'] : date('Y-m-d H:i:s')),
|
|
|
'create_time' => time(),
|
|
'create_time' => time(),
|
|
|
];
|
|
];
|
|
|
|
|
+
|
|
|
|
|
+ $skuList = isset($info['sku_list']) ? $info['sku_list'] : [];
|
|
|
|
|
+ foreach($skuList as $v){
|
|
|
|
|
+ $skus[] = [
|
|
|
|
|
+ 'sku_id'=> isset($v['sku_id'])? $v['sku_id'] : 0,
|
|
|
|
|
+ 'goods_id'=> isset($v['goods_id'])? $v['goods_id'] : 0,
|
|
|
|
|
+ 'spu_sn'=> isset($v['spu_sn'])? $v['spu_sn'] : '',
|
|
|
|
|
+ 'sku_sn'=> isset($v['sku_sn'])? $v['sku_sn'] : '',
|
|
|
|
|
+ 'sku_name'=> isset($v['sku_name'])? $v['sku_name'] : '',
|
|
|
|
|
+ 'main_img'=> isset($v['main_img'])? $v['main_img'] : '',
|
|
|
|
|
+ 'status'=> isset($v['status'])? $v['status'] : 1,
|
|
|
|
|
+ 'source_type'=> isset($v['source_type'])? $v['source_type'] : 0,
|
|
|
|
|
+ 'retail_price'=> isset($v['retail_price'])? floatval($v['retail_price']) : 0,
|
|
|
|
|
+ 'plat_price'=> isset($v['plat_price'])? floatval($v['plat_price']) : 0,
|
|
|
|
|
+ 'profit'=> isset($v['profit'])? floatval($v['profit']) : 0,
|
|
|
|
|
+ 'last_update_at'=> isset($v['update_time'])? $v['update_time'] : date('Y-m-d H:i:s'),
|
|
|
|
|
+ 'detail_img'=> isset($v['detail_img'])? json_encode($v['detail_img'],256) : '',
|
|
|
|
|
+ 'attr'=> isset($v['attr'])? json_encode($v['attr'],256) : '',
|
|
|
|
|
+ ];
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
$updated++;
|
|
$updated++;
|
|
|
} else {
|
|
} else {
|
|
|
$error++;
|
|
$error++;
|
|
@@ -275,7 +301,9 @@ class GoodsService extends BaseService
|
|
|
if ($goods) {
|
|
if ($goods) {
|
|
|
RedisService::set($cacheKey . '_page', $page, rand(300, 600));
|
|
RedisService::set($cacheKey . '_page', $page, rand(300, 600));
|
|
|
RedisService::set($cacheKey, $goods, rand(5, 10));
|
|
RedisService::set($cacheKey, $goods, rand(5, 10));
|
|
|
- $this->model->insertAll($goods);
|
|
|
|
|
|
|
+ if(!$this->model->insertAll($goods)){
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@@ -356,6 +384,23 @@ class GoodsService extends BaseService
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
|
|
+ * 验证分类
|
|
|
|
|
+ * @param $cateId
|
|
|
|
|
+ * @return bool
|
|
|
|
|
+ */
|
|
|
|
|
+ public function checkCategory($cateId)
|
|
|
|
|
+ {
|
|
|
|
|
+ $cacheKey = "caches:goods:category_check_{$cateId}";
|
|
|
|
|
+ if (RedisService::get($cacheKey) || RedisService::exists($cacheKey)) {
|
|
|
|
|
+ return true;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ $data = GoodsCategoryModel::where(['cate_id' => $cateId, 'mark' => 1])->value('id');
|
|
|
|
|
+ RedisService::set($cacheKey, $data, rand(30, 60));
|
|
|
|
|
+ return $data;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
* 接口商品详情
|
|
* 接口商品详情
|
|
|
* @param $goodsId 商品ID
|
|
* @param $goodsId 商品ID
|
|
|
* @param int $isReal 是否实时数据,0-是,1-否
|
|
* @param int $isReal 是否实时数据,0-是,1-否
|