|
@@ -33,4 +33,128 @@ class Manage
|
|
|
Dever::db('factory/info')->update($update);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 更新商品信息
|
|
|
+ *
|
|
|
+ * @return mixed
|
|
|
+ */
|
|
|
+ public function goodsUpdate($id, $name, $data)
|
|
|
+ {
|
|
|
+ $update = array();
|
|
|
+ $goods_id = Dever::param('goods_id', $data);
|
|
|
+ if ($goods_id) {
|
|
|
+ $info = Dever::db('goods/info')->find($goods_id);
|
|
|
+ $update['price_type'] = $info['price_type'];
|
|
|
+ }
|
|
|
+
|
|
|
+ if (isset($update) && $update) {
|
|
|
+ $update['where_id'] = $id;
|
|
|
+ Dever::db('store/goods')->update($update);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public function skuConfig()
|
|
|
+ {
|
|
|
+ $data['action'] = Dever::url('store/lib/manage.skuUp');
|
|
|
+ $data['info_id'] = Dever::input('search_option_store_goods_id');
|
|
|
+ return $data;
|
|
|
+ }
|
|
|
+
|
|
|
+ public function skuUp_api()
|
|
|
+ {
|
|
|
+ $store_goods_id = Dever::input('info_id');
|
|
|
+ $key = Dever::input('key');
|
|
|
+ $num = Dever::input('num');
|
|
|
+
|
|
|
+ $store_goods = Dever::db('store/goods')->one($store_goods_id);
|
|
|
+ if ($key) {
|
|
|
+ foreach ($key as $k => $v) {
|
|
|
+ if (isset($num[$k]) && $num[$k]) {
|
|
|
+ $info = Dever::db('goods/info_sku')->one(array('key' => $v));
|
|
|
+ $data = array();
|
|
|
+ $data['store_id'] = $store_goods['store_id'];
|
|
|
+ $data['goods_id'] = $store_goods['goods_id'];
|
|
|
+ $data['store_goods_id'] = $store_goods_id;
|
|
|
+ $data['sku_id'] = $info['id'];
|
|
|
+ $store_info = Dever::db('store/goods_sku')->one($data);
|
|
|
+
|
|
|
+ $data['num'] = $num[$k];
|
|
|
+ if (!$store_info) {
|
|
|
+ Dever::db('store/goods_sku')->insert($data);
|
|
|
+ } else {
|
|
|
+ $data['where_id'] = $info['id'];
|
|
|
+ Dever::db('store/goods_sku')->update($data);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ Dever::out('yes');
|
|
|
+ }
|
|
|
+
|
|
|
+ public function skuInput()
|
|
|
+ {
|
|
|
+ $id = Dever::input('search_option_store_goods_id');
|
|
|
+
|
|
|
+ $store_goods = Dever::db('store/goods')->one($id);
|
|
|
+
|
|
|
+ $sku = Dever::db('goods/info_sku')->getData(array('info_id' => $store_goods['goods_id']));
|
|
|
+
|
|
|
+ $sku_num = Dever::db('store/goods_sku')->getData(array('store_goods_id' => $id));
|
|
|
+
|
|
|
+ $info = Dever::db('goods/info')->one($store_goods['goods_id']);
|
|
|
+
|
|
|
+ $info = \Goods\Lib\Info::init(-1)->info($info, 'list_reorder');
|
|
|
+
|
|
|
+ $html = '请先选择属性';
|
|
|
+ if ($info['sell_attr']) {
|
|
|
+ $head = '<thead><tr>';
|
|
|
+ $body = '<tbody>';
|
|
|
+ $option = array();
|
|
|
+ foreach ($info['sell_attr'] as $k => $v) {
|
|
|
+ $head .= '<th>'.$v['name'].'</th>';
|
|
|
+ if (isset($v['option_sku'])) {
|
|
|
+ $option[$k] = $v['option_sku'];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $head .= '<th>库存</th>';
|
|
|
+ $head .= '</tr></thead>';
|
|
|
+
|
|
|
+ if ($option) {
|
|
|
+ $option = Dever::cartesian($option);
|
|
|
+
|
|
|
+ foreach ($option as $k => $v) {
|
|
|
+ $body .= '<tr data-row="' .($k+1). '">';
|
|
|
+
|
|
|
+ $key = $id = array();
|
|
|
+ foreach ($v['name'] as $k1 => $v1) {
|
|
|
+ $rows = 1;
|
|
|
+ $body .= '<td width="50" rowspan="'.$rows.'">'.$v1.'</td>';
|
|
|
+ $id[] = array
|
|
|
+ (
|
|
|
+ 'id' => $v['id'][$k1],
|
|
|
+ 'attr_id' => $v['info_id'][$k1],
|
|
|
+ );
|
|
|
+ $key[] = $v['info_id'][$k1] . '-' . $v['id'][$k1];
|
|
|
+ }
|
|
|
+ $key = implode('_', $key);
|
|
|
+ $f_price = $s_price = $price = $num = '';
|
|
|
+ if (isset($sku[$key]) && isset($sku_num[$sku[$key]['id']])) {
|
|
|
+ $num = $sku_num[$sku[$key]['id']]['num'];
|
|
|
+ }
|
|
|
+ $body .= '<td width="30"><input type="text" class="layui-input" name="num['.$k.']" value="'.$num.'"/></td>';
|
|
|
+
|
|
|
+ $body .= '<input type="hidden" name="key['.$k.']" value="'.$key.'"/>';
|
|
|
+ $body .= '</tr>';
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ $body .= '</tbody>';
|
|
|
+
|
|
|
+ $html = $head . $body;
|
|
|
+ }
|
|
|
+
|
|
|
+ return $html;
|
|
|
+ }
|
|
|
}
|