public function goods_edit() { $goods_id = intval($_REQUEST['goods_id']); if (IS_POST) { $data = array(); $data['gc_id'] = intval($_POST['gc_id']); $data['brand_id'] = intval($_POST['brand_id']); $data['goods_name'] = str_rp(trim($_POST['goods_name'])); $data['goods_code'] = str_rp(trim($_POST['goods_code'])); $data['goods_type'] = str_rp(trim($_POST['goods_type'])); $data['goods_type_id'] = get_goods_type_id($data['gc_id']); $data['goods_city_id'] = intval(trim($_POST['goods_city_id'])); $data['goods_key'] = str_rp(trim($_POST['goods_key'])); $data['goods_desc'] = str_rp(trim($_POST['goods_desc'])); $data['goods_url'] = str_rp(trim($_POST['goods_url'])); $data['goods_storage'] = intval($_POST['goods_storage']); $data['goods_serial'] = str_rp(trim($_POST['goods_serial'])); $data['store_name'] = str_rp(trim($_POST['store_name'])); $data['goods_price'] = price_format($_POST['goods_price']); $data['goods_mktprice'] = price_format($_POST['goods_mktprice']); $data['member_price'] = price_format($_POST['member_price']); $data['goods_point'] = intval($_POST['goods_point']); $data['goods_sort'] = intval($_POST['goods_sort']); $data['goods_body'] = str_replace('\'', ''', $_POST['goods_body']); $data['goods_status'] = intval($_POST['goods_status']); $data['add_time'] = NOW_TIME; $data['display_technique'] = str_rp($_POST['display_technique'], 1); $data['bulb_brand'] = str_rp($_POST['bulb_brand'], 1); $data['bulb_wattage'] = str_rp($_POST['bulb_wattage'], 1); $data['bulb_code'] = str_rp($_POST['bulb_code'], 1); $data['factory_code'] = str_rp($_POST['factory_code'], 1); $data['factory_brand'] = str_rp($_POST['factory_brand'], 1); //图片上传 if (!empty($_FILES['goods_pic']['name'])) { $goods_img = 'g_' . $data['add_time']; $gd = $this->model->where('goods_id=' . $goods_id)->find(); if ($gd['goods_pic']) { $old_pic = BasePath . '/Uploads/' . $gd['goods_pic']; unlink($old_pic); } $param = array('savePath' => 'goods/', 'subName' => '', 'files' => $_FILES['goods_pic'], 'saveName' => $goods_img, 'saveExt' => ''); $up_return = upload_one($param); if ($up_return == 'error') { $this->error('图片上传失败'); exit; } else { $data['goods_pic'] = $up_return; } } $return = $this->model->where('goods_id=' . $goods_id)->save($data); if ($return) { //search处理 $search['url'] = U('Goods/detail', array('goods_id' => $goods_id)); $search['title'] = $data['goods_name']; $search['keywords'] = $data['goods_key']; $search['description'] = $data['goods_desc']; $search['img'] = $up_return; //规格处理 $GoodsSpec = M('GoodsSpec'); $spec_val = $_POST['s_value']; if (is_array($spec_val) && !empty($spec_val)) { $GoodsSpec->where('goods_id=' . $goods_id)->delete($data); // 删除原来的规格 foreach ($spec_val as $k => $val) { $val['sort'] = intval($val['sort']); $val['name'] = trim($val['name']); if ($val['name']) { /** * 新增规格值 */ $val_add = array(); $val_add['goods_id'] = $goods_id; $val_add['spec_name'] = trim($val['name']); $val_add['spec_goods_price'] = price_format(trim($val['price'])); $val_add['spec_goods_sort'] = intval($val['sort']); $return = $GoodsSpec->add($val_add); $search['keywords'] .= ',' . $val_add['spec_name']; unset($val_add); } } $search_id = $this->model->where(array('goods_id' => $goods_id))->getField('search_id'); if (empty($search_id)) { $search_id = ''; } $search_id = addSearch($search['url'], $search['title'], $search['keywords'], $search['description'], $search_id, $search['img']); $this->model->where(array('goods_id' => $goods_id))->setField('search_id', $search_id); //更新商品列表默认规格信息 $df_spec = M('GoodsSpec')->where('goods_id=' . $goods_id)->order('spec_goods_price asc')->find(); if (is_array($df_spec) && !empty($df_spec)) { $spec_data = array(); $spec_data['spec_id'] = $df_spec['spec_id']; $spec_data['spec_name'] = $df_spec['spec_name']; } } else { $spec_data = array(); $spec_data['spec_id'] = 0; $spec_data['spec_name'] = ''; $this->model->where('goods_id=' . $goods_id)->save($spec_data); $GoodsSpec->where('goods_id=' . $goods_id)->delete($data); // 删除原来的规格 } //商品多图片处理 $GoodsPic = M('GoodsPic'); $pic_val = $_POST['s_pic1']; if (is_array($pic_val) && !empty($pic_val)) { $pic_data = array(); $n = 1; foreach ($pic_val as $p => $pv) { $pic_data['p_sort'] = intval($pv['sort']); $pic_data['goods_id'] = $goods_id; $pic_name = 's_pic1_' . $p; if ($_FILES[$pic_name]['size'] > 0) { $goods_img = 'm1_' . $goods_id . '_' . $n . '_' . NOW_TIME; $param = array('savePath' => 'goods/', 'subName' => '', 'files' => $_FILES[$pic_name], 'saveName' => $goods_img, 'saveExt' => ''); $up_return = upload_one($param); if ($up_return == 'error') { $this->error('图片上传失败'); exit; } else { $pic_data['pic'] = $up_return; $pic_data['pic_status'] = 1; } $GoodsPic->add($pic_data); } $n++; } } unset($pic_val); //图片处理END $pic_val = $_POST['s_pic2']; if (is_array($pic_val) && !empty($pic_val)) { $pic_data = array(); $n = 1; foreach ($pic_val as $p => $pv) { $pic_data['p_sort'] = intval($pv['sort']); $pic_data['goods_id'] = $goods_id; $pic_name = 's_pic2_' . $p; if ($_FILES[$pic_name]['size'] > 0) { $goods_img = 's2_' . $goods_id . '_' . $n . '_' . NOW_TIME; $param = array('savePath' => 'goods/', 'subName' => '', 'files' => $_FILES[$pic_name], 'saveName' => $goods_img, 'saveExt' => ''); $up_return = upload_one($param); if ($up_return == 'error') { $this->error('图片上传失败'); exit; } else { $pic_data['pic'] = $up_return; $pic_data['pic_status'] = 2; } $GoodsPic->add($pic_data); } $n++; } } unset($pic_val); //图片处理END $this->success('操作成功', U('goods')); exit; } else { $this->error('操作失败'); } } else { /** * 父类列表 */ $class_list = getTreeClassList(3); if (is_array($class_list)) { foreach ($class_list as $k => $v) { $class_list[$k]['gc_name'] = str_repeat(" ", $v['deep'] * 2) . '├ ' . $v['gc_name']; } } $brand_list = $this->goodsBrandModel->where(array('brand_status' => 1))->order('brand_sort desc')->select(); $rs = $this->model->relation(true)->where('goods_id=' . $goods_id)->find(); $this->assign('rs', $rs); //规格 $spec_list = M('GoodsSpec')->where('goods_id=' . $goods_id)->order('spec_goods_sort asc')->select(); //多图片 $pic1_list = M('GoodsPic')->where(array('goods_id' => $goods_id, 'pic_status' => 1))->order('p_sort asc')->select(); $pic2_list = M('GoodsPic')->where(array('goods_id' => $goods_id, 'pic_status' => 2))->order('p_sort asc')->select(); //常用城市 $this->city_list = D('District')->where('usetype=1')->order('d_sort desc')->select(); $this->assign('spec_list', $spec_list); $this->assign('spec_list_i', count($spec_list) + 1); $this->assign('pic1_list', $pic1_list); $this->assign('pic1_list_i', count($pic1_list) + 1); $this->assign('pic2_list', $pic2_list); $this->assign('pic2_list_i', count($pic2_list) + 1); $this->assign('brand_list', $brand_list); $this->assign('class_list', $class_list); $this->assign('title', '商品编辑'); $this->display(); } }
public function goods_add() { if (IS_POST) { $data = array(); $data['gc_id'] = intval($_POST['gc_id']); $data['goods_name'] = str_rp(trim($_POST['goods_name'])); $data['goods_status'] = str_rp(trim($_POST['goods_status'])); $data['goods_type_id'] = get_goods_type_id($data['gc_id']); $data['goods_city_id'] = intval(trim($_POST['goods_city_id'])); $data['goods_key'] = str_rp(trim($_POST['goods_key'])); $data['goods_desc'] = str_rp(trim($_POST['goods_desc'])); $data['goods_url'] = str_rp(trim($_POST['goods_url'])); $data['goods_storage'] = intval($_POST['goods_storage']); $data['goods_serial'] = str_rp(trim($_POST['goods_serial'])); $data['store_name'] = str_rp(trim($_POST['store_name'])); $data['goods_price'] = price_format(trim($_POST['goods_store_price'])); $data['goods_sort'] = intval($_POST['goods_sort']); $data['goods_body'] = str_replace('\'', ''', $_POST['goods_body']); $data['add_time'] = NOW_TIME; //图片上传 if (!empty($_FILES['goods_pic']['name'])) { $goods_img = 'g_' . $data['add_time']; $param = array('savePath' => 'goods/', 'subName' => '', 'files' => $_FILES['goods_pic'], 'saveName' => $goods_img, 'saveExt' => ''); $up_return = upload_one($param); if ($up_return == 'error') { $this->error('图片上传失败'); exit; } else { $data['goods_pic'] = $up_return; } } $goods_id = $this->model->add($data); if ($goods_id) { //规格处理 $spec_val = $_POST['s_value']; if (is_array($spec_val) && !empty($spec_val)) { foreach ($spec_val as $k => $val) { $val['sort'] = intval($val['sort']); $val['name'] = trim($val['name']); $val['price'] = trim($val['price']); if ($val['name'] && $val['price']) { /** * 新增规格值 */ $val_add = array(); $val_add['goods_id'] = $goods_id; $val_add['spec_name'] = trim($val['name']); $val_add['spec_goods_price'] = price_format(trim($val['price'])); $val_add['spec_goods_sort'] = intval($val['sort']); $return = M('GoodsSpec')->add($val_add); unset($val_add); } } //更新商品列表默认规格信息 $df_spec = M('GoodsSpec')->where('goods_id=' . $goods_id)->order('spec_goods_price asc')->find(); if (is_array($df_spec) && !empty($df_spec)) { $spec_data = array(); $spec_data['spec_id'] = $df_spec['spec_id']; $spec_data['spec_name'] = $df_spec['spec_name']; $spec_data['goods_price'] = $df_spec['spec_goods_price']; $this->model->where('goods_id=' . $goods_id)->save($spec_data); } } //商品多图片处理 $GoodsPic = M('GoodsPic'); $pic_val = $_POST['s_pic']; if (is_array($pic_val) && !empty($pic_val)) { $pic_data = array(); $n = 1; foreach ($pic_val as $p => $pv) { $pic_data['p_sort'] = intval($pv['sort']); $pic_data['goods_id'] = $goods_id; $pic_name = 's_pic_' . $p; if ($_FILES[$pic_name]['size'] > 0) { $goods_img = 'g_' . $goods_id . '_' . $n . '_' . NOW_TIME; $param = array('savePath' => 'goods/', 'subName' => '', 'files' => $_FILES[$pic_name], 'saveName' => $goods_img, 'saveExt' => ''); $up_return = upload_one($param); if ($up_return == 'error') { $this->error('图片上传失败'); exit; } else { $pic_data['pic'] = $up_return; } $GoodsPic->add($pic_data); } $n++; } } $this->success('操作成功', U('goods')); exit; } else { $this->error('操作失败'); } } else { /** * 父类列表 */ $class_list = getTreeClassList(3); if (is_array($class_list)) { foreach ($class_list as $k => $v) { $class_list[$k]['gc_name'] = str_repeat(" ", $v['deep'] * 2) . '├ ' . $v['gc_name']; } } //规格 $spec_list = D('Spec')->relation('SpecValue')->where('sp_show=1')->order('sp_sort asc')->select(); //相册 $ac_list = M('AlbumClass')->order('aclass_sort asc')->select(); $pc_list = M('AlbumPic')->where('aclass_id=1')->order('upload_time asc')->select(); //常用城市 $this->city_list = D('District')->where('usetype=1')->order('d_sort desc')->select(); $this->assign('ac_list', $ac_list); $this->assign('pc_list', $pc_list); $this->assign('class_list', $class_list); $this->assign('spec_list', $spec_list); $this->assign('sign_i', count($spec_list)); $this->display(); } }