|
@@ -108,26 +108,57 @@ class Info
|
|
return $info;
|
|
return $info;
|
|
}
|
|
}
|
|
|
|
|
|
- # 获取资源sku信息
|
|
|
|
- public function getSku($id)
|
|
|
|
|
|
+ # 获取资源规格信息
|
|
|
|
+ public function getSpec($id)
|
|
{
|
|
{
|
|
$info = Dever::db('psource/info')->find(['id' => $id, 'status' => 1], ['col' => 'id,sku_id,cate_id']);
|
|
$info = Dever::db('psource/info')->find(['id' => $id, 'status' => 1], ['col' => 'id,sku_id,cate_id']);
|
|
if (!$info) {
|
|
if (!$info) {
|
|
Dever::error('资源不存在');
|
|
Dever::error('资源不存在');
|
|
}
|
|
}
|
|
|
|
+ return Dever::load(\Api\Lib\Spec::class)->getList(['info_id' => $info['id']], $info['sku_id'], 'psource');
|
|
|
|
+ }
|
|
|
|
|
|
- # 分类
|
|
|
|
- $cate = Dever::load(Cate::class)->getInfo($info['cate_id']);
|
|
|
|
|
|
+ # 根据资源规格获取价格
|
|
|
|
+ public function getSku($id, $spec = '', $default_sku_id = 0)
|
|
|
|
+ {
|
|
|
|
+ $info = Dever::db('psource/info')->find(['id' => $id, 'status' => 1], ['col' => 'id,sku_id,cate_id,pic']);
|
|
|
|
+ if (!$info) {
|
|
|
|
+ Dever::error('资源不存在');
|
|
|
|
+ }
|
|
|
|
|
|
- $sku = Dever::load(\Api\Lib\Sku::class)->getList(['info_id' => $info['id']], $info['sku_id'], 'psource');
|
|
|
|
|
|
+ if (!$spec) {
|
|
|
|
+ $where = ['id' => $info['sku_id'], 'info_id' => $info['id']];
|
|
|
|
+ } else {
|
|
|
|
+ $where = ['info_id' => $info['id'], 'key' => $spec];
|
|
|
|
+ }
|
|
|
|
|
|
- if ($sku['info']) {
|
|
|
|
- $sku['info'] = Dever::load(Price::class)->get($sku['info'], $cate, -1);
|
|
|
|
|
|
+ $sku = $this->getSkuPrice($where, $info);
|
|
|
|
+ if ((!$sku && $default_sku_id) || ($sku['price'] == null && $sku['code'] == null)) {
|
|
|
|
+ # 如果没有,获取默认值
|
|
|
|
+ $where = ['id' => $default_sku_id, 'info_id' => $info['id']];
|
|
|
|
+ $sku = $this->getSkuPrice($where, $info);
|
|
|
|
+ if ($sku) {
|
|
|
|
+ $sku['stock']['num'] = 0;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
- if ($sku['price']) {
|
|
|
|
- foreach ($sku['price'] as &$price) {
|
|
|
|
- $price = Dever::load(Price::class)->get($price, $cate, -1);
|
|
|
|
|
|
+ return $sku;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ # 获取价格
|
|
|
|
+ public function getSkuPrice($where, $info)
|
|
|
|
+ {
|
|
|
|
+ $sku = Dever::load(\Api\Lib\Sku::class)->getInfo($where, 'psource');
|
|
|
|
+ if ($sku) {
|
|
|
|
+ if ($sku['price'] === '') {
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+ if (!$sku['pic']) {
|
|
|
|
+ $pic = explode(',', $info['pic']);
|
|
|
|
+ $sku['pic'] = $pic[0];
|
|
}
|
|
}
|
|
|
|
+ # 分类
|
|
|
|
+ $cate = Dever::load(Cate::class)->getInfo($info['cate_id']);
|
|
|
|
+ $sku = Dever::load(Price::class)->get($sku, $cate, -1);
|
|
}
|
|
}
|
|
return $sku;
|
|
return $sku;
|
|
}
|
|
}
|