|
@@ -2,14 +2,9 @@
|
|
|
use Dever;
|
|
|
class Sku
|
|
|
{
|
|
|
-
|
|
|
+
|
|
|
public function getPrice($where, $spec_type, $app)
|
|
|
{
|
|
|
-
|
|
|
- $result['price'] = 0;
|
|
|
- $result['id'] = 0;
|
|
|
- $result['name'] = '';
|
|
|
- */
|
|
|
$result = array();
|
|
|
if ($spec_type == 2) {
|
|
|
$where['key'] = '-1';
|
|
@@ -20,8 +15,8 @@ class Sku
|
|
|
if (isset($sku) && $sku && $sku['key']) {
|
|
|
$result['price'] = $sku['price'];
|
|
|
$result['id'] = $sku['id'];
|
|
|
- if (isset($sku['num'])) {
|
|
|
- $result['num'] = $sku['num'];
|
|
|
+ if (isset($sku['unum'])) {
|
|
|
+ $result['unum'] = $sku['unum'];
|
|
|
}
|
|
|
$result['key'] = str_replace(',', '_', $sku['key']);
|
|
|
$result['name'] = $this->getName($sku['key'], $app);
|
|
@@ -35,25 +30,28 @@ class Sku
|
|
|
public function getList($where, $sku_id, $app)
|
|
|
{
|
|
|
$result = array();
|
|
|
- $sku = Dever::db('sku', $app)->select($where, array('order' => 'price asc,id desc'));
|
|
|
+ $sku = Dever::db('sku', $app)->select($where);
|
|
|
if ($sku) {
|
|
|
- $result['sku'] = array();
|
|
|
- $result['spec'] = Dever::load('spec', 'api')->getList($where, $app);
|
|
|
+ $spec = array();
|
|
|
+ $result['info'] = array();
|
|
|
foreach ($sku as $k => $v) {
|
|
|
- $t = array();
|
|
|
+ $t = $where;
|
|
|
$k = str_replace(',', '_', $v['key']);
|
|
|
$t['id'] = $v['id'];
|
|
|
+ $t['key'] = $k;
|
|
|
$t['pic'] = $v['pic'];
|
|
|
$t['price'] = $v['price'];
|
|
|
- if (isset($v['num'])) {
|
|
|
- $t['num'] = $v['num'];
|
|
|
+ if (isset($v['unum'])) {
|
|
|
+ $t['unum'] = $v['unum'];
|
|
|
}
|
|
|
+ $t['name'] = $this->getName($v['key'], $app);
|
|
|
$result['price'][$k] = $t;
|
|
|
if ($sku_id && $sku_id == $v['id']) {
|
|
|
- $t['name'] = $this->getName($v['key'], $app);
|
|
|
- $result['sku'] = $t;
|
|
|
+ $result['info'] = $t;
|
|
|
+ $spec = explode(',', $v['key']);
|
|
|
}
|
|
|
}
|
|
|
+ $result['spec'] = Dever::load('spec', 'api')->getList($where, $app, $spec);
|
|
|
}
|
|
|
return $result;
|
|
|
}
|
|
@@ -62,18 +60,19 @@ class Sku
|
|
|
public function getName($key, $app)
|
|
|
{
|
|
|
if (!$key || $key == '-1') {
|
|
|
- return '无规格';
|
|
|
+ return '默认规格';
|
|
|
} else {
|
|
|
$name = array();
|
|
|
$where['id'] = array('in', $key);
|
|
|
- $data = Dever::db('spec_value', $app)->select($where);
|
|
|
+ $data = Dever::db('spec_value', $app)->select($where, array('order' => 'field(id, '.$key.')'));
|
|
|
if ($data) {
|
|
|
foreach ($data as $k => $v) {
|
|
|
$info = Dever::db('spec', $app)->find($v['spec_id']);
|
|
|
- $name[] = $info['name'] . ':' . $v['value'];
|
|
|
+
|
|
|
+ $name[] = $v['value'];
|
|
|
}
|
|
|
}
|
|
|
- return implode(',', $name);
|
|
|
+ return implode(' & ', $name);
|
|
|
}
|
|
|
}
|
|
|
}
|