123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253 |
- <?php
- namespace factory\Lib;
- use Dever;
- class Manage
- {
-
- public function infoUpdate($id, $name, $data)
- {
- $update = array();
- $area = Dever::param('area', $data);
- if ($area) {
- $temp = is_string($area) ? explode(',', $area) : $area;
- $update['province'] = $temp[0];
- $update['city'] = $temp[1];
- }
- $map = Dever::param('map', $data);
- if ($map) {
- $temp = is_string($map) ? explode(',', $map) : $map;
- $update['lng'] = $temp[1];
- $update['lat'] = $temp[2];
- }
- $goods = Dever::param('goods', $data);
- if ($goods) {
- $goods = Dever::json_decode($goods);
- if ($goods) {
- foreach ($goods as $k1 => $v1) {
- if ($v1['value']) {
- foreach ($v1['value'] as $k => $v) {
- if ($v['state'] == 1) {
- $w = array();
- $w['goods_id'] = $v['id'];
- $w['factory_id'] = $id;
- $info = Dever::db('factory/goods')->one($w);
- $w['category_id'] = $v1['id'];
- if (!$info) {
- Dever::db('factory/goods')->insert($w);
- } else {
- $w['where_id'] = $info['id'];
- $w['state'] = 1;
- Dever::db('factory/goods')->update($w);
- }
- } else {
- unset($goods[$k1]['value'][$k]);
- }
- }
- }
- }
- $update['goods'] = Dever::json_encode($goods);
- }
- }
- if (isset($update) && $update) {
- $update['where_id'] = $id;
- Dever::db('factory/info')->update($update);
- }
- }
-
- public function goodsUpdate($id, $name, $data)
- {
- $update = array();
- $state = Dever::param('state', $data);
- if ($state) {
- Dever::config('base')->after = true;
- $info = Dever::db('factory/goods')->one($id);
- $factory_id = $info['factory_id'];
- $factory = Dever::db('factory/info')->one($factory_id);
- if ($factory && $factory['goods']) {
- $goods = Dever::json_decode($factory['goods']);
- if (isset($goods['level_' . $info['category_id']]['value']['id_' . $info['goods_id']])) {
- if ($state == 2) {
- unset($goods['level_' . $info['category_id']]['value']['id_' . $info['goods_id']]);
- }
- if (count($goods['level_' . $info['category_id']]['value']) <= 0) {
- unset($goods['level_' . $info['category_id']]);
- }
- } elseif ($state == 1) {
- $goods_info = Dever::db('goods/info')->one($info['goods_id']);
- $cate = Dever::load('category/api')->string($info['category_id']);
- $goods['level_' . $info['category_id']]['id'] = $info['category_id'];
- $goods['level_' . $info['category_id']]['name'] = $cate;
- $goods['level_' . $info['category_id']]['value']['id_' . $info['goods_id']] = array
- (
- 'id' => $info['goods_id'],
- 'name' => $goods_info['name'],
- 'state' => 1,
- );
- }
-
- $set['goods'] = Dever::json_encode($goods);
- $set['where_id'] = $factory_id;
- Dever::db('factory/info')->update($set);
- }
- }
- }
- public function skuConfig()
- {
- $data['action'] = Dever::url('factory/lib/manage.skuUp');
- $data['goods_id'] = Dever::input('search_option_goods_id');
- $data['factory_id'] = Dever::input('search_option_factory_id');
- return $data;
- }
- public function skuUp_api()
- {
- $goods_id = Dever::input('goods_id');
- $factory_id = Dever::input('factory_id');
- $key = Dever::input('key');
- $p_price = Dever::input('p_price');
- if ($key == -1) {
- $data = array();
- $data['factory_id'] = $factory_id;
- $data['goods_id'] = $goods_id;
- $data['sku_id'] = -1;
- $factory_info = Dever::db('factory/goods_sku')->one($data);
- $data['p_price'] = $p_price;
- if (!$factory_info) {
- Dever::db('factory/goods_sku')->insert($data);
- } else {
- $data['where_id'] = $factory_info['id'];
- Dever::db('factory/goods_sku')->update($data);
- }
- $where['factory_id'] = $factory_id;
- $where['goods_id'] = $goods_id;
- $info = Dever::db('factory/goods')->one($where);
- if ($info) {
- Dever::db('factory/goods')->update(array('id' => $info['id'], 'p_price' => $p_price));
- }
- } elseif ($key) {
- foreach ($key as $k => $v) {
- if (isset($p_price[$k]) && $p_price[$k]) {
- $sku = Dever::db('goods/info_sku')->one(array('key' => $v));
- $data = array();
- $data['factory_id'] = $factory_id;
- $data['goods_id'] = $goods_id;
- $data['sku_id'] = $sku['id'];
- $factory_info = Dever::db('factory/goods_sku')->one($data);
- $data['p_price'] = $p_price[$k];
- if (!$factory_info) {
- Dever::db('factory/goods_sku')->insert($data);
- } else {
- $data['where_id'] = $factory_info['id'];
- Dever::db('factory/goods_sku')->update($data);
- }
- }
- }
- }
- Dever::out('yes');
- }
- public function skuInput()
- {
- $goods_id = Dever::input('search_option_goods_id');
- $factory_id = Dever::input('search_option_factory_id');
- $sku = Dever::db('goods/info_sku')->getData(array('info_id' => $goods_id));
- $sku_value = Dever::db('factory/goods_sku')->getData(array('goods_id' => $goods_id, 'factory_id' => $factory_id));
- $info = Dever::db('goods/info')->one($goods_id);
- $info = \Goods\Lib\Info::init(-1)->info($info, 'list_reorder');
- if (!isset($info['sell_attr'])) {
- $html = '<input type="hidden" name="goods_id" value="'.$goods_id.'"/><input type="hidden" name="factory_id" value="'.$factory_id.'"/><input type="hidden" name="key" value="-1"/>';
- $p_price = '';
- if (isset($sku_value[-1])) {
- $p_price = $sku_value[-1]['p_price'];
- }
- $html .= '<div classs="layui-col-lg6"><div><label style="font-size:14px;font-weight:bold;" class="">出厂价</label></div><div><input type="text" class="layui-input update_value form-control layui-input" name="p_price" id="p_price" autocomplete="new-password" placeholder="" value="'.$p_price.'"></div></div>';
- } else {
- $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);
- $p_price = '';
- if (isset($sku[$key]) && isset($sku_value[$sku[$key]['id']])) {
- $p_price = $sku_value[$sku[$key]['id']]['p_price'];
- }
- $body .= '<td width="30"><input type="text" class="layui-input" name="p_price['.$k.']" value="'.$p_price.'"/></td>';
- $body .= '<input type="hidden" name="key['.$k.']" value="'.$key.'"/>';
- $body .= '</tr>';
- }
- }
- $body .= '<input type="hidden" name="goods_id" value="'.$goods_id.'"/><input type="hidden" name="factory_id" value="'.$factory_id.'"/></tbody>';
-
- $html = $head . $body;
- }
- }
- return $html;
- }
- }
|