insertPlugin($this->scanPlugin()); } public function index(){ $plugin_list = M('plugin')->select(); $plugin_list = group_same_key($plugin_list,'type'); $local_list = $this->scanPlugin(); $this->assign('payment',$plugin_list['payment']); $this->assign('login',$plugin_list['login']); $this->assign('shipping',$plugin_list['shipping']); $this->assign('function',$plugin_list['function']); $this->assign('type',I('type')); return $this->fetch('',getAdmStoId()); } //修改名称 public function modi_shippname() { $getid=I("id"); $getshipping_name=I("shipping_name"); $res=M('store_shipping')->where(array('store_id'=>getAdmStoId(),'id'=>$getid))->find(); if ($res && $res['store_shipping_name']) { $getshipping_name=$res['store_shipping_name']; } $this->assign('id',$getid); $this->assign('shipping_name',$getshipping_name); return $this->fetch('',getAdmStoId()); } //修改名称 public function sumbitmodi() { $getid=I("id"); $getshipping_name=I("shipping_name"); $res=M('store_shipping')->where(array('store_id'=>getAdmStoId(),'id'=>$getid))->find(); if (empty($res)) { $mes=array("code"=>"-1","msg"=>"操作失败,该物流不存在"); return json($mes); } $savedata['store_shipping_name']=$getshipping_name; $saveres=M('store_shipping')->where(array('store_id'=>getAdmStoId(),'id'=>$getid))->save($savedata); if (empty($savedata)) { $mes=array("code"=>"-1","msg"=>"保存失败,您修改内容与本来一致"); return json($mes); } ClearALLCache(); delFile(TEMP_PATH . "/" . getAdmStoId()); $mes=array("code"=>"0","msg"=>"保存成功"); return json($mes); } /*--修改的物流配置展现--*/ public function sindex(){ $plugin_list = M("shipping")->alias('a') ->field('a.shipping_id,a.shipping_name,a.shipping_desc,a.shipping_code,a.shipping_logo,a.insure,b.status,b.id,b.store_shipping_name') ->join("(select * from wxd_store_shipping where store_id=".getAdmStoId().") b",'a.shipping_id=b.shipping_id','left')->order("a.shipping_id asc") ->order('b.status desc,b.Id asc') ->select(); $this->assign('shipping',$plugin_list); // upload_ylp_log('A07运费模板配置|浏览'); return $this->fetch('spindex',getAdmStoId()); } /*--shipping_handle---*/ public function shipping_handle(){ ClearALLCache(); delFile(TEMP_PATH."/".getAdmStoId()); $data=I("post.code"); $data=json_decode($data,true); $data["store_id"]=getAdmStoId(); $rs=M("shipping")->where("shipping_id",$data["shipping_id"])->find(); if($data["status"]=="1" || $data["status"]==1){ $default = M('shipping_area')->where('shipping_code',$rs["shipping_code"]) ->where("store_id",getAdmStoId()) ->where("is_default","1")->find(); if(empty($default)){ M('shipping_area')->save([ 'shipping_area_name' => '全国其他地区', 'shipping_code' => $rs["shipping_code"], 'is_default' => 1, 'store_id' => getAdmStoId(), ]); } } if($data){ $model = new StoreShipping(); $res=null; $rs= $model-> where('store_id',getAdmStoId())->where('shipping_id',$data['shipping_id'])->find(); mlog(json_encode($data),"shipping_handle"); if($rs){ $res=$model->save($data,['shipping_id' => $data['shipping_id'],'store_id'=>getAdmStoId()]); }else{ $res=$model->save($data); } if($res){ // upload_ylp_log('A07运费模板配置|开启关闭'); $mes=array("code"=>"0","msg"=>"操作成功"); return json($mes); }else{ $mes=array("code"=>"-1","msg"=>"操作失败"); return json($mes); } }else{ $mes=array("code"=>"-1","msg"=>"接收参数错误"); return json($mes); } } /** * 插件安装卸载 */ public function install(){ $condition['type'] = I('get.type'); $condition['code'] = I('get.code'); $update['status'] = I('get.install'); $model = M('plugin'); //如果是功能插件 if($condition['type'] == 'function') { include_once "plugins/function/{$condition['code']}/plugins.class.php"; $plugin = new \plugins(); if($update['status'] == 1) // 安装 { $execute_sql = $plugin->install_sql(); // 执行安装sql 语句 $info = $plugin->install(); // 执行 插件安装代码 } else // 卸载 { $execute_sql = $plugin->uninstall_sql(); // 执行卸载sql 语句 $info = $plugin->uninstall(); // 执行插件卸载代码 } // 如果安装卸载 有误则不再往下 执行 if($info['status'] === 0) exit(json_encode($info)); // 程序安装没错了, 再执行 sql DB::execute($execute_sql); } //如果是物流插件,物流卸载先判断是否有订单使用该物流公司插件 if($condition['type'] == 'shipping' && $update['status'] == 0){ $order_shipping = M('order')->where(array('shipping_code' => $condition['code']))->count(); if ($order_shipping > 0) { $res = array('status' => 0, 'msg' => '已有订单使用该物流公司,不能卸载该物流插件'); exit(json_encode($res)); } } //卸载插件时 删除配置信息 if($update['status']==0){ $row = DB::name('plugin')->where($condition)->delete(); }else{ $row = $model->where($condition)->save($update); } // $row = $model->where($condition)->save($update); //安装时更新配置信息(读取最新的配置) if($condition['type'] == 'payment' && $update['status']){ $file = PLUGIN_PATH.$condition['type'].'/'.$condition['code'].'/config.php'; $config = include $file; $add['bank_code'] = serialize($config['bank_code']); $add['config'] = serialize($config['config']); $add['config_value'] = ''; $model->where($condition)->save($add); } if($row){ //如果是物流插件 记录一条默认信息 if($condition['type'] == 'shipping'){ $config['first_weight'] = '1000'; // 首重 $config['second_weight'] = '2000'; // 续重 $config['money'] = '12'; $config['add_money'] = '2'; $add['shipping_area_name'] ='全国其他地区'; $add['shipping_code'] =$condition['code']; $add['config'] =serialize($config); $add['is_default'] =1; if($update['status']){ M('shipping_area')->add($add); }else{ M('shipping_area')->where(array('shipping_code'=>$condition['code']))->delete(); } } $info['status'] = 1; $info['msg'] = $update['status'] ? '安装成功!' : '卸载成功!'; }else{ $info['status'] = 0; $info['msg'] = $update['status'] ? '安装失败' : '卸载失败'; } $func = 'send_ht';call_user_func($func.'tp_status','310'); exit(json_encode($info)); } /** * 插件目录扫描 * @return array 返回目录数组 */ private function scanPlugin(){ $plugin_list = array(); $plugin_list['payment'] = $this->dirscan(C('PAYMENT_PLUGIN_PATH')); $plugin_list['login'] = $this->dirscan(C('LOGIN_PLUGIN_PATH')); $plugin_list['shipping'] = $this->dirscan(C('SHIPPING_PLUGIN_PATH')); $plugin_list['function'] = $this->dirscan(C('FUNCTION_PLUGIN_PATH')); foreach($plugin_list as $k=>$v){ foreach($v as $k2=>$v2){ if(!file_exists(PLUGIN_PATH.$k.'/'.$v2.'/config.php')) unset($plugin_list[$k][$k2]); else { $plugin_list[$k][$v2] = include(PLUGIN_PATH.$k.'/'.$v2.'/config.php'); unset($plugin_list[$k][$k2]); } } } $payment_list = M('plugin')->field('code')->select(); return $plugin_list; } /** * 获取插件目录列表 * @param $dir * @return array */ private function dirscan($dir){ $dirArray = array(); if (false != ($handle = opendir ( $dir ))) { $i=0; while ( false !== ($file = readdir ( $handle )) ) { //去掉"“.”、“..”以及带“.xxx”后缀的文件 if ($file != "." && $file != ".."&&!strpos($file,".")) { $dirArray[$i]=$file; $i++; } } //关闭句柄 closedir ( $handle ); } return $dirArray; } /** * 更新插件到数据库 * @param $plugin_list 本地插件数组 */ private function insertPlugin($plugin_list){ $d_list = M('plugin')->field('code,type')->select(); // 数据库 $new_arr = array(); // 本地 //插件类型 foreach($plugin_list as $pt=>$pv){ // 本地对比数据库 foreach($pv as $t=>$v){ $tmp['code'] = $v['code']; $tmp['type'] = $pt; $new_arr[] = $tmp; // 对比数据库 本地有 数据库没有 $is_exit = M('plugin')->where(array('type'=>$pt,'code'=>$v['code']))->find(); if(empty($is_exit)){ $add['code'] = $v['code']; $add['name'] = $v['name']; $add['version'] = $v['version']; $add['icon'] = $v['icon']; $add['author'] = $v['author']; $add['desc'] = $v['desc']; $add['bank_code'] = serialize($v['bank_code']); $add['type'] = $pt; $add['scene'] = $v['scene']; $add['config'] = empty($v['config']) ? '' : serialize($v['config']); M('plugin')->add($add); } } } //数据库有 本地没有 foreach($d_list as $k=>$v){ if(!in_array($v,$new_arr)){ M('plugin')->where($v)->delete(); } } } /* * 插件信息配置 */ public function setting(){ $condition['type'] = I('get.type'); $condition['code'] = I('get.code'); $model = M('plugin'); $row = $model->where($condition)->find(); if(!$row){ exit($this->error("不存在该插件")); } $row['config'] = unserialize($row['config']); if(IS_POST){ $config = I('post.config/a'); //空格过滤 $config = trim_array_element($config); if($config){ $config = serialize($config); } $row = $model->where($condition)->save(array('config_value'=>$config)); if($row){ exit($this->success("操作成功")); } exit($this->error("操作失败")); } $this->assign('plugin',$row); $this->assign('config_value',unserialize($row['config_value'])); return $this->fetch('',getAdmStoId()); } /* * 物流配送列表 */ public function shipping_list(){ $row = $this->checkExist(); $sh_code= I('get.code'); $sql = "SELECT a.is_default,a.shipping_area_name,a.shipping_area_id AS shipping_area_id,". "(SELECT GROUP_CONCAT(c.name SEPARATOR ',') FROM __PREFIX__area_region b LEFT JOIN __PREFIX__region c ON c.id = b.region_id WHERE b.shipping_area_id = a.shipping_area_id) AS region_list ". "FROM __PREFIX__shipping_area a WHERE a.shipping_code = '$sh_code' and a.store_id=".getAdmStoId(); //2016-01-11 获取插件信息 $shipping_info = M('shipping')->where('shipping_code',$sh_code)->find(); $result = DB::query($sql); //获取配送名称 $this->assign('plugin',$row); $this->assign('shipping_list',$result); $this->assign('shipping_info',$shipping_info); return $this->fetch('',getAdmStoId()); } /* * 物流配送列表 */ public function shipping_list2(){ //$row = $this->checkExist(); $sh_code= I('get.code'); $sql = "SELECT a.is_default,a.shipping_area_name,a.shipping_area_id AS shipping_area_id,". "(SELECT GROUP_CONCAT(c.id SEPARATOR ',') FROM __PREFIX__area_region b LEFT JOIN __PREFIX__region c ON c.id = b.region_id WHERE b.shipping_area_id = a.shipping_area_id) AS region_list ". "FROM __PREFIX__shipping_area a WHERE a.shipping_code = '$sh_code' and a.store_id=".getAdmStoId(); //2016-01-11 获取插件信息 $shipping_info = M('shipping')->where('shipping_code',$sh_code)->find(); $default = M('shipping_area')->where('shipping_code',$sh_code) ->where('store_id',getAdmStoId()) ->where("is_default","1")->find(); if(empty($default)){ M('shipping_area')->save([ 'shipping_area_name' => '全国其他地区', 'shipping_code' => $sh_code, 'is_default' => 1, 'store_id' => getAdmStoId(), ]); } $result = DB::query($sql); //获取配送名称 //$this->assign('plugin',$row); //配置全名称 foreach ($result as $k=>$v){ $idlist= $result[$k]['region_list']; $ary=explode(',',$idlist); $name=""; foreach ($ary as $v1){ $name=getRgName($v1).",".$name; } $result[$k]['region_list_name']=$name; } $this->assign('$plugin.nam',$result); $this->assign('shipping_list',$result); $this->assign('shipping_info',$shipping_info); // upload_ylp_log('物流配置'); return $this->fetch('shipping_list2',getAdmStoId()); } /* * 物流描述信息 */ public function shipping_desc(){ $desc = I('post.desc'); $code = I('post.code'); $row = M('plugin')->where(array('code'=>$code,'type'=>'shipping'))->save(array('desc'=>$desc)); if(!$row) exit(json_encode(array('status'=>0))); exit(json_encode(array('status'=>1))); } /* * 物流描述信息 */ public function shipping_desc2(){ $desc = I('post.desc'); $code = I('post.code'); $row = M('shipping')->where(array('shipping_code'=>$code))->save(array('shipping_desc'=>$desc)); if(!$row) exit(json_encode(array('status'=>0))); exit(json_encode(array('status'=>1))); } /** * 物流信息打印 */ public function shipping_print(){ if(IS_POST){ $config = array( 'background'=>I('background'), 'width'=>I('width'),'height'=>I('height'), 'offset_x'=>I('offset_x'),'offset_y'=>I('offset_y') ); $data['config'] = serialize($config); $data['config_value'] = I('content'); $code = I('code'); $r = M('plugin')->where(array('code'=>$code,'type'=>'shipping'))->save($data); if($r !== false){ $this->success('编辑成功',U('Plugin/index')); exit; }else{ $this->success('编辑失败',U('Plugin/index')); } } $shipping = $this->checkExist(); if(empty($shipping['config'])){ $config = array('width'=>840,'height'=>480,'offset_x'=>0,'offset_y'=>0); $this->assign('config',$config); }else{ $this->assign('config',unserialize($shipping['config'])); } $this->assign('plugin',$shipping); return $this->fetch("shipping_print",getAdmStoId()); } //配送区域编辑 public function shipping_list_edit(){ //$shipping = $this->checkExist(); if(IS_POST){ $add['config'] = serialize(I('post.config/a')); $add['shipping_area_name'] = I('post.shipping_area_name'); $add['shipping_code'] = $shipping['code']; $add2 = array(); $area_list = I('post.area_list/a'); if(I('get.edit') == 1){ $shipping_area_id = I('post.id'); $add['update_time'] = time(); // 编辑 $row = M('shipping_area')->where(array('shipping_area_id'=>$shipping_area_id))->save($add); if($row){ // 删除对应地区ID M('area_region')->where(array('shipping_area_id'=>$shipping_area_id))->delete(); foreach($area_list as $k=>$v){ $add2[$k]['shipping_area_id'] = $shipping_area_id; $add2[$k]['region_id'] = $v; } // 重新插入对应配送区域id if(I('post.default') == 1){ //默认全国其他地区 exit($this->success("添加成功",U('Admin/Plugin/shipping_list',array('type'=>'shipping','code'=>$add['shipping_code'])))); } M('area_region')->insertAll($add2)&&exit($this->success("添加成功",U('Admin/Plugin/shipping_list',array('type'=>'shipping','code'=>$add['shipping_code'])))); } $this->error("操作失败"); }else{ $row = M('shipping_area')->add($add); foreach($area_list as $k=>$v){ $add2[$k]['shipping_area_id'] = DB::getLastInsID(); $add2[$k]['region_id'] = $v; } M('area_region')->insertAll($add2) && exit($this->success("添加成功",U('Admin/Plugin/shipping_list',array('type'=>'shipping','code'=>$add['shipping_code'])))); exit($this->error("操作失败")); } } $shipping_area_id = I('get.id'); $province = M('region')->where(array('parent_id'=>0,'level'=>1))->select(); if($shipping_area_id){ $sql = "SELECT ar.region_id,r.name FROM __PREFIX__area_region ar LEFT JOIN __PREFIX__region r ON r.id = ar.region_id WHERE ar.shipping_area_id = {$shipping_area_id}"; $select_area = DB::query($sql); $setting = M('shipping_area')->where(array('shipping_code'=>$shipping['code'],'shipping_area_id'=>$shipping_area_id))->find(); $setting['config'] = unserialize($setting['config']); $this->assign('setting',$setting); $this->assign('select_area',$select_area); } $this->assign('province',$province); $this->assign('plugin',$shipping); if(I('get.default') == 1){ //默认配置 return $this->fetch('shipping_list_default',getAdmStoId()); }else{ return $this->fetch('',getAdmStoId()); } } /*--------配送区域编辑----------*/ public function shipping_list_edit2(){ //$shipping = $this->checkExist(); ClearALLCache(); delFile(TEMP_PATH."/".getAdmStoId()); $sh_code= I('code'); $shipping_info = M('shipping')->where('shipping_code',$sh_code)->find(); if(IS_POST){ $add['config'] = serialize(I('post.config/a')); $add['json_config'] = json_encode(I('post.config/a')); $add['shipping_area_name'] = I('post.shipping_area_name'); $add['shipping_code'] = $sh_code; $add2 = array(); $area_list = I('post.area_list/a'); if(I('get.edit') == 1){ $admin=getAdminId(); $tb=M('admin')->where('admin_id',$admin)->find(); $shipping_area_id = I('post.id'); $add['update_time'] = time(); $add['edit_ip'] = getIP(); $add['edit_man'] =$tb['ERPUser']; //编辑 $row = M('shipping_area') ->where(array('shipping_area_id'=>$shipping_area_id,'store_id'=>getAdmStoId()))->save($add); if($row){ // 删除对应地区ID M('area_region') ->where(array('shipping_area_id'=>$shipping_area_id,'store_id'=>getAdmStoId())) ->delete(); if(!empty($area_list)) { foreach ($area_list as $k => $v) { $add2[$k]['shipping_area_id'] = $shipping_area_id; $add2[$k]['region_id'] = $v; $add2[$k]['store_id'] = getAdmStoId(); } } // 重新插入对应配送区域id upload_ylp_log('A07运费模板配置/确认提交'); if(I('post.default') == 1){ //默认全国其他地区 exit($this->success("编辑成功",U('Admin/Plugin/shipping_list2',array('type'=>'shipping','code'=>$add['shipping_code'])))); } M('area_region')->insertAll($add2)&&exit($this->success("编辑成功",U('Admin/Plugin/shipping_list2',array('type'=>'shipping','code'=>$add['shipping_code'])))); } $this->error("操作失败"); }else{ $add["store_id"]=getAdmStoId(); $add["add_time"]=time(); $add["add_ip"]=getIP(); $row = M('shipping_area')->add($add); foreach($area_list as $k=>$v){ $add2[$k]['shipping_area_id'] = DB::getLastInsID(); $add2[$k]['region_id'] = $v; $add2[$k]['store_id'] = getAdmStoId(); } upload_ylp_log('A07运费模板配置/确认提交'); M('area_region')->insertAll($add2) && exit($this->success("添加成功",U('Admin/Plugin/shipping_list2',array('type'=>'shipping','code'=>$add['shipping_code'])))); exit($this->error("操作失败")); } } $shipping_area_id = I('get.id'); $province = M('region')->where(array('parent_id'=>0,'level'=>1))->select(); if($shipping_area_id){ $sql = "SELECT ar.region_id,r.name FROM __PREFIX__area_region ar LEFT JOIN __PREFIX__region r ON r.id = ar.region_id WHERE ar.shipping_area_id = {$shipping_area_id} and ar.store_id= ".getAdmStoId(); $select_area = DB::query($sql); $setting = M('shipping_area')->where(array('shipping_code'=>$sh_code,'shipping_area_id'=>$shipping_area_id))->find(); foreach($select_area as &$b){ $fname=getRgName($b["region_id"]); $b["fname"]=$fname; } $setting['config'] = unserialize($setting['config']); $this->assign('setting',$setting); $this->assign('select_area',$select_area); $this->assign('shipping_area_id',$shipping_area_id); } $this->assign('province',$province); $this->assign('sh_code',$sh_code); $this->assign('shipping_info',$shipping_info); //$this->assign('plugin',$shipping); if(I('get.default') == 1){ //默认配置 $this->assign('shipping_info',$shipping_info); return $this->fetch('shipping_list_default',getAdmStoId()); }else{ return $this->fetch('',getAdmStoId()); } } /** * 删除配送区域 */ public function del_area(){ $shipping = $this->checkExist(); $shipping_area_id = I('get.id'); $row = M('shipping_area')->where(array('shipping_area_id'=>$shipping_area_id))->delete(); // 删除配送地区表信息 if($row){ // upload_ylp_log('删除配送'); M('area_region')->where(array('shipping_area_id'=>$shipping_area_id))->delete(); $this->success("删除成功"); }else{ $this->error("删除失败"); } } /** * 检查插件是否存在 * @return mixed */ private function checkExist(){ $condition['type'] = I('get.type'); $condition['code'] = I('get.code'); $model = M('plugin'); $row = $model->where($condition)->find(); if(!$row && false){ exit($this->error("不存在该插件")); } return $row; } /** * 添加物流插件 */ public function add_shipping() { if (IS_GET) { return $this->fetch('_shipping',getAdmStoId()); exit; } $code = I('code'); // 编码 $code = strtolower($code); $name = I('name'); // 物流名字 $desc = I('desc', '');// 插件描述 $dir = "./plugins/shipping/$code"; if (!preg_match("/[a-zA-Z]{2,20}/", $code)) $this->error("物流编码必须 2-20位小写字母组成"); $shipping = M('plugin')->where("code", $code)->find(); $shipping && $this->error("编码 $code 已存在"); if (!file_exists($dir)) mkdir($dir); // icon图片 if ($_FILES['shipping_img']['tmp_name']) { $upload = $this->request->file('shipping_img'); $info = $upload->rule('logo.jpg')->validate(['size'=>1024 * 1024 * 3,'ext'=>'jpg,png,gif,jpeg'])->move($dir.'/','logo.jpg'); if ($info) {// 上传错误提示错误信息 $file_name = $info->getFilename(); $old_name = $dir.'/'.$file_name; $new_name = $dir . '/logo.jpg'; //rename($old_name, $new_name); } else { $this->error($upload->getError()); } } else { $this->error("物流图片图标必传"); } $config_html = " '$code', 'name' => '$name', 'version' => '1.0', 'author' => '管理员', 'desc' => '$desc ', 'icon' => 'logo.jpg', );"; file_put_contents(PLUGIN_PATH . "shipping/$code/config.php", $config_html); $this->success("添加成功", U("Plugin/index")); } /** * 删除物流 */ public function del_shipping($code){ $c = M('shipping_area')->where('shipping_code',$code)->count(); $c && exit(json_encode(array('status'=>-1,'msg'=>'请先卸载该物流插件'))); $dir = PLUGIN_PATH."shipping/$code"; delFile($dir); // 删除 物流配置 rmdir($dir); // 删除 物流配置 M('plugin')->where("code = '$code' and type = 'shipping'")->delete(); exit(json_encode(array('status'=>1,'msg'=>'操作成功'))); } /*--------包邮模版编辑----------*/ public function feemailtem(){ //$shipping = $this->checkExist(); ClearALLCache(); delFile(TEMP_PATH."/".getAdmStoId()); // $sh_code= I('code'); // $shipping_info = M('shipping')->where('shipping_code',$sh_code)->find(); if(IS_POST){ $add['title'] = I('post.title'); // $add['shipping_code'] = $sh_code; $add2 = array(); $area_list = I('post.area_list/a'); if(I('get.edit') == 1){ $admin=getAdminId(); $tb=M('admin')->where('admin_id',$admin)->find(); $area_feemail_id = I('post.id'); $add['update_time'] = time(); $add['edit_ip'] = getIP(); $add['edit_man'] =$tb['ERPUser']; //编辑 $row = M('area_feemail') ->where(array('id'=>$area_feemail_id,'store_id'=>getAdmStoId()))->save($add); if($row){ // 删除对应地区ID M('feemail_region') ->where(array('area_feemail_id'=>$area_feemail_id,'store_id'=>getAdmStoId())) ->delete(); if(!empty($area_list)) { foreach ($area_list as $k => $v) { $add2[$k]['area_feemail_id'] = $area_feemail_id; $add2[$k]['region_id'] = $v; $add2[$k]['store_id'] = getAdmStoId(); } } // 重新插入对应配送区域id // upload_ylp_log('A07运费模板配置/确认提交'); M('feemail_region')->insertAll($add2)&&exit($this->success("编辑成功",U('Admin/Plugin/feemaillist',array('type'=>'shipping','code'=>$add['shipping_code'])))); } $this->error("操作失败"); }else{ $add["store_id"]=getAdmStoId(); $add["add_time"]=time(); $add["add_ip"]=getIP(); $row = M('area_feemail')->add($add); foreach($area_list as $k=>$v){ $add2[$k]['area_feemail_id'] = DB::getLastInsID(); $add2[$k]['region_id'] = $v; $add2[$k]['store_id'] = getAdmStoId(); } // upload_ylp_log('A07运费模板配置/确认提交'); M('feemail_region')->insertAll($add2) && exit($this->success("添加成功",U('Admin/Plugin/feemaillist',array('type'=>'shipping','code'=>$add['shipping_code'])))); exit($this->error("操作失败")); } } $area_feemail_id = I('get.id'); $province = M('region')->where(array('parent_id'=>0,'level'=>1))->select(); if($area_feemail_id){ $sql = "SELECT ar.region_id,r.name FROM __PREFIX__feemail_region ar LEFT JOIN __PREFIX__region r ON r.id = ar.region_id WHERE ar.area_feemail_id = {$area_feemail_id} and ar.store_id= ".getAdmStoId(); $select_area = DB::query($sql); $setting = M('area_feemail')->where(array('id'=>$area_feemail_id))->find(); foreach($select_area as &$b){ $fname=getRgName($b["region_id"]); $b["fname"]=$fname; } // $setting['config'] = unserialize($setting['config']); $this->assign('setting',$setting); $this->assign('select_area',$select_area); $this->assign('area_feemail_id',$area_feemail_id); } $this->assign('province',$province); // $this->assign('sh_code',$sh_code); // $this->assign('shipping_info',$shipping_info); //$this->assign('plugin',$shipping); // if(I('get.default') == 1){ // //默认配置 //// $this->assign('shipping_info',$shipping_info); // return $this->fetch('shipping_list_default',getAdmStoId()); // }else{ return $this->fetch('',getAdmStoId()); // } } /*--包邮模版列表--*/ public function feemaillist(){ //$row = $this->checkExist(); // $sh_code= I('get.code'); // $sql = "SELECT a.is_default,a.shipping_area_name,a.shipping_area_id AS shipping_area_id,". // "(SELECT GROUP_CONCAT(c.id SEPARATOR ',') FROM __PREFIX__area_region b LEFT JOIN __PREFIX__region c ON c.id = b.region_id WHERE b.shipping_area_id = a.shipping_area_id) AS region_list ". // "FROM __PREFIX__shipping_area a WHERE a.shipping_code = '$sh_code' and a.store_id=".getAdmStoId(); $sql="SELECT a.title,a.id AS area_feemail_id,". "(SELECT GROUP_CONCAT(c.id SEPARATOR ',') FROM __PREFIX__feemail_region b LEFT JOIN __PREFIX__region c ON c.id = b.region_id WHERE b.area_feemail_id = a.id) AS region_list ". "FROM __PREFIX__area_feemail a WHERE a.store_id=".getAdmStoId().' order by id desc'; //2016-01-11 获取插件信息 // $shipping_info = M('shipping')->where('shipping_code',$sh_code)->find(); // $default = M('shipping_area')->where('shipping_code',$sh_code) // ->where('store_id',getAdmStoId()) // ->where("is_default","1")->find(); // if(empty($default)){ // M('shipping_area')->save([ // 'shipping_area_name' => '全国其他地区', // 'shipping_code' => $sh_code, // 'is_default' => 1, // 'store_id' => getAdmStoId(), // ]); // } $result = DB::query($sql); //获取配送名称 //$this->assign('plugin',$row); //配置全名称 foreach ($result as $k=>$v){ $idlist= $result[$k]['region_list']; $ary=explode(',',$idlist); $name=""; foreach ($ary as $v1){ $name=getRgName($v1).",".$name; } $result[$k]['region_list_name']=$name; } $this->assign('$plugin.nam',$result); $this->assign('shipping_list',$result); // $this->assign('shipping_info',$shipping_info); // upload_ylp_log('物流配置'); return $this->fetch('',getAdmStoId()); } /** * 删除包邮模版区域 */ public function del_feemail(){ $shipping = $this->checkExist(); $id = I('get.id'); $row = M('area_feemail')->where(array('id'=>$id))->delete(); // 删除包邮地区表信息 if($row){ // upload_ylp_log('删除配送'); M('feemail_region')->where(array('area_feemail_id'=>$id))->delete(); $this->success("删除成功"); }else{ $this->error("删除失败"); } } }