0) { $pagenum=I('pagenum/s'); } $keywords = urldecode(urldecode(I('keywords/s'))); if ($keywords) { $where['ERPUser|ERPName']=array(['like','%'.$keywords.'%']);; } $where['store_id']=getAdmStoId(); $where['ERPUser']=array('neq','admin'); $count = $model->where($where)->count(); $Page = $pager = new Page($count,$pagenum); $res = $model->where($where)->limit($Page->firstRow.','.$Page->listRows)->select(); $rndnum=rand(1,9999); $role = D('role')->where(" store_id=".getAdmStoId())->getField('role_id,role_name'); if($res && $role){ foreach ($res as $val){ $val['role'] = $role[$val['role_id']]; $val['curadminid'] = getAdminId(); $val['add_time'] = date('Y-m-d H:i:s',$val['add_time']); $val['rndnum'] = $rndnum; $val['bindkey'] =md5("stoid=".$val['store_id']."&adminid=".$val['admin_id']."&rndnum=".$rndnum."&key=".getErpKey()); $list[] = $val; } } $show = $Page->show(); $this->assign('keywords',$keywords); $this->assign('list',$list);// 赋值数据集 $this->assign('page',$show);// 赋值分页输出 $this->assign('pager',$pager); $this->assign('pagenum',$pagenum); $this->assign('oldurl',urlencode(curPageURL())); // $list = array(); // $keywords = I('keywords/s'); // $where['store_id']=getAdmStoId(); // $where['ERPUser']=array('neq','admin'); // if(!empty($keywords)){ // $where['ERPUser']= array('like', '%' . $keywords . '%'); // } // $res = D('admin')->where($where)->select(); // $role = D('role')->where(" store_id=".getAdmStoId())->getField('role_id,role_name'); // if($res && $role){ // foreach ($res as $val){ // $val['role'] = $role[$val['role_id']]; // $val['add_time'] = date('Y-m-d H:i:s',$val['add_time']); // $list[] = $val; // } // } // $this->assign('list',$list); // upload_ylp_log('管理员列表'); return $this->fetch('',getAdmStoId()); } /** * 修改管理员密码 * @return \think\mixed */ public function modify_pwd(){ $admin_id = I('admin_id/d',0); $oldPwd = I('old_pw/s'); $newPwd = I('new_pw/s'); $new2Pwd = I('new_pw2/s'); if($admin_id){ $info = D('admin')->where("admin_id", $admin_id)->find(); $info['password'] = ""; $this->assign('info',$info); } if(IS_POST){ // upload_ylp_log('管理员修改密码'); //修改密码 $enOldPwd = encrypt($oldPwd); $enNewPwd = encrypt($newPwd); $admin = M('admin')->where('admin_id' , $admin_id)->find(); if(!$admin || $admin['password'] != $enOldPwd){ exit(json_encode(array('status'=>-1,'msg'=>'旧密码不正确'))); }else if($newPwd != $new2Pwd){ exit(json_encode(array('status'=>-1,'msg'=>'两次密码不一致'))); }else{ $row = M('admin')->where('admin_id' , $admin_id)->save(array('password' => $enNewPwd)); if($row){ exit(json_encode(array('status'=>1,'msg'=>'修改成功'))); }else{ exit(json_encode(array('status'=>-1,'msg'=>'修改失败'))); } } } return $this->fetch('',getAdmStoId()); } public function admin_info(){ $admin_id = I('get.admin_id/d',0); $oldurl = I('oldurl/s'); if($admin_id){ $info = D('admin')->where("admin_id", $admin_id)->find(); $storeinfo = D('store')->where("store_id", getAdmStoId())->find(); $info['password'] = ""; $this->assign('info',$info); $this->assign('storeinfo',$storeinfo); } $act = empty($admin_id) ? 'add' : 'edit'; $this->assign('act',$act); $role = D('role')->where(array('store_id'=>getAdmStoId(),'act_list'=>array('neq','all')))->select(); $where=time().'where($where)->order('end_time')->find(); $this->assign('role',$role); $this->assign('oldurl',$oldurl); $this->assign('isopenkefu',$isopenkefu); return $this->fetch('',getAdmStoId()); } /*--编辑用户权限。判断上限--*/ public function adminHandle(){ $data = I('post.'); $oldurl = I('oldurl/s'); if($oldurl){ $oldurl = urldecode(urldecode($oldurl)); } unset($data['oldurl']); if(empty($data['pwd'])){ unset($data['pwd']); }else{ $data['pwd'] = md5($data['pwd']); } //$isopenkefu=tpCache('shop_info.custom_service_num',getAdmStoId()); $r=null; if($data['act'] == 'add'){ unset($data['admin_id']); $data['BillDate'] = time(); $data['BillIp'] = getIP(); $data['ERPId'] = getERPId(); $data['store_id'] = getAdmStoId(); $where=time().'where($where)->order('end_time')->find(); if($data['is_custom_service']==1){ if(empty($kers)){ $this->error("客服用户数大于客服上限用户数",U('Admin/Admin/index')); } } if(M('admin')->where('store_id',getAdmStoId())->where("ERPUser", $data['ERPUser'])->count()){ $this->error("此用户名已被注册,请更换",U('Admin/Admin/admin_info')); }else{ $r = M('admin')->add($data); $data0=['admin_id'=>$r]; M('storage_recharge_detail')->where("id",$kers['id'])->save($data0); } } if($oldurl){ $referurl=$oldurl; } else { $referurl = U('Admin/Admin/index'); } if($data['act'] == 'edit'){ upload_ylp_log('A15管理员编辑/确认提交'); unset($data['act']); $q= M('admin')->where('admin_id', $data['admin_id'])->find(); if(empty($q)){ $this->error("未找到会员",$referurl); exit; } //如果用户要变成聊天权限 if($data['is_custom_service']==1 && $q['is_custom_service']==0){ $where=time().'where($where)->order('end_time')->find(); if(empty($kers)){ $this->error("客服用户数大于客服上限用户数",U('Admin/Admin/index')); } $data0=['admin_id'=>$data['admin_id']]; M('storage_recharge_detail')->where("id",$kers['id'])->save($data0); $r = M('admin')->where('admin_id', $data['admin_id'])->save($data); }else if($data['is_custom_service']==0 && $q['is_custom_service']==1){ //如果用户要从聊天客户变成普通会员 $data0=['admin_id'=>0]; M('storage_recharge_detail')->where("admin_id",$data['admin_id'])->save($data0); $r = M('admin')->where('admin_id', $data['admin_id'])->save($data); }else{ $r = M('admin')->where('admin_id', $data['admin_id'])->save($data); } } //如果用户有聊天权限,把权限分配弄出来 if($data['act'] == 'del' && $data['admin_id']!=getAdminId()){ $q= M('admin')->where('admin_id', $data['admin_id'])->field('admin_id,is_custom_service')->find(); if($q['is_custom_service']==1){ $data0=['admin_id'=>0]; M('storage_recharge_detail')->where("admin_id",$data['admin_id'])->save($data0); } $r = M('admin')->where(array('admin_id'=>$data['admin_id'],'store_id'=>getAdmStoId()))->delete(); exit(json_encode(1)); } if($r!==false){ $this->success("操作成功",$referurl); }else{ $this->error("操作失败",$referurl); } } /* * 管理员登陆 */ public function login(){ if(session('?admin_id') && session('admin_id')>0){ // upload_ylp_log('管理员登录'); $this->error("您已登录",U('Admin/Index/index')); } if(IS_POST){ $verify = new Verify(); if (!$verify->check(I('post.vertify'), "admin_login")) { exit(json_encode(array('status'=>0,'msg'=>'验证码错误'))); } $condition['user_name'] = I('post.username/s'); $condition['password'] = I('post.password/s'); if(!empty($condition['user_name']) && !empty($condition['password'])){ $condition['password'] = encrypt($condition['password']); $admin_info = M('admin')->join(PREFIX.'role', PREFIX.'admin.role_id='.PREFIX.'role.role_id','INNER')->where($condition)->find(); if(is_array($admin_info)){ session('admin_id',$admin_info['admin_id']); session('act_list',$admin_info['act_list']); M('admin')->where("admin_id = ".$admin_info['admin_id'])->save(array('last_login'=>time(),'last_ip'=> getIP())); session('last_login_time',$admin_info['last_login']); session('last_login_ip',$admin_info['last_ip']); adminLog('后台登录'); $url = session('from_url') ? session('from_url') : U('Admin/Index/index'); exit(json_encode(array('status'=>1,'url'=>$url))); }else{ exit(json_encode(array('status'=>0,'msg'=>'账号密码不正确'))); } }else{ exit(json_encode(array('status'=>0,'msg'=>'请填写账号密码'))); } } return $this->fetch('',getAdmStoId()); } /** * 退出登陆 */ public function logout(){ session_unset(); session_destroy(); session::clear(); Cookie::delete("newshop_admin_id"); Cookie::delete("newshop_admin_stoid"); Cookie::delete("newshop_admin_erpid"); Cookie::delete("newshop_admin_supplyid"); Cookie::delete("newshop_admin_erpuser"); // upload_ylp_log('管理员退出登录'); $this->success("退出成功",U('/')); } /** * 验证码获取 */ public function vertify() { $config = array( 'fontSize' => 30, 'length' => 4, 'useCurve' => true, 'useNoise' => false, 'reset' => false ); $Verify = new Verify($config); $Verify->entry("admin_login"); } /*--角色列表--*/ public function role(){ $list = D('role')->where('store_id',getAdmStoId())->order('role_id desc')->select(); $this->assign('list',$list); // upload_ylp_log('角色列表'); return $this->fetch('',getAdmStoId()); } public function role_info(){ $role_id = I('get.role_id/d'); $detail = array(); if($role_id){ $detail = M('role')->where("role_id",$role_id)->find(); $detail['act_list'] = explode(',', $detail['act_list']); $this->assign('detail',$detail); $this->assign('act','edit'); }else { $this->assign('act', 'add'); } if (getERPId()) { $right = M('system_menu')->order('id')->select(); } else { $right = M('system_menu')->where('id not in(126,117,116)')->order('id')->select(); } foreach ($right as $val){ if(!empty($detail)){ $val['enable'] = in_array($val['id'], $detail['act_list']); } $modules[$val['group']][] = $val; } //权限组 $group = array('system'=>'设置','ad'=>'广告','article'=>'文章','power'=>'权限', 'goods'=>'商品','order'=>'订单','promotion'=>'促销','distribut'=>'分销','wechat'=>'微信','report'=>'统计','marketing'=>'营销','template'=>'模板','jddj'=>'京东到家','weapp'=>'小程序','userqy'=>'会员权益' ); $this->assign('group',$group); $this->assign('modules',$modules); return $this->fetch('',getAdmStoId()); } public function roleSave(){ $data = I('post.'); $res = $data['data']; $res['act_list'] = is_array($data['right']) ? implode(',', $data['right']) : ''; /*--添加角色--*/ if(empty($data['role_id'])){ $res['store_id']=getAdmStoId(); $r = D('role')->add($res); }else{ $q=D('role')->where('role_id', $data['role_id'])->where($res)->find(); if($q){ $this->success("未做修改!",U('Admin/Admin/role')); exit; } upload_ylp_log('A16角色编辑/确认提交'); $r = D('role')->where('role_id', $data['role_id'])->save($res); } if($r){ adminLog('管理角色'); $this->success("操作成功!",U('Admin/Admin/role')); }else{ $this->success("操作失败!",U('Admin/Admin/role')); } } public function roleDel(){ $role_id = I('post.role_id/d'); $admin = D('admin')->where('role_id',$role_id)->find(); if($admin){ exit(json_encode("请先清空所属该角色的管理员")); }else{ $d = M('role')->where("role_id", $role_id)->delete(); if($d){ // upload_ylp_log('删除管理角色'); exit(json_encode(1)); }else{ exit(json_encode("删除失败")); } } } /*--日志列表--*/ public function log(){ $p = I('p/d',1); $where['l.store_id']=getAdmStoId(); $where['a.ERPUser']=array('neq','admin'); $logs = M('log')->alias('l')->join('admin a','a.admin_id =l.admin_id')->where($where)->order('log_time DESC')->page($p.',20')->select(); $this->assign('list',$logs); $count = M('log')->alias('l')->join('admin a','a.admin_id =l.admin_id')->where($where)->count(); $Page = new Page($count,20); $show = $Page->show(); $this->assign('pager',$Page); $this->assign('page',$show); // upload_ylp_log('管理员日志'); return $this->fetch('',getAdmStoId()); } /** * 供应商列表 */ public function supplier() { $supplier_count = DB::name('suppliers')->count(); $page = new Page($supplier_count, 10); $show = $page->show(); $supplier_list = DB::name('suppliers') ->alias('s') ->field('s.*,a.admin_id,a.user_name') ->join('__ADMIN__ a','a.suppliers_id = s.suppliers_id','LEFT') ->limit($page->firstRow, $page->listRows) ->select(); $this->assign('list', $supplier_list); $this->assign('page', $show); return $this->fetch('',getAdmStoId()); } /** * 供应商资料 */ public function supplier_info() { $suppliers_id = I('get.suppliers_id/d', 0); if ($suppliers_id) { $info = DB::name('suppliers') ->alias('s') ->field('s.*,a.admin_id,a.user_name') ->join('__ADMIN__ a','a.suppliers_id = s.suppliers_id','LEFT') ->where(array('s.suppliers_id' => $suppliers_id)) ->find(); $this->assign('info', $info); } $act = empty($suppliers_id) ? 'add' : 'edit'; $this->assign('act', $act); $admin = M('admin')->field('admin_id,user_name')->where('1=1')->select(); $this->assign('admin', $admin); return $this->fetch('',getAdmStoId()); } /** * 供应商增删改 */ public function supplierHandle() { $data = I('post.'); $suppliers_model = M('suppliers'); //增 if ($data['act'] == 'add') { // upload_ylp_log('增加供应商'); unset($data['suppliers_id']); $count = $suppliers_model->where("suppliers_name", $data['suppliers_name'])->count(); if ($count) { $this->error("此供应商名称已被注册,请更换", U('Admin/Admin/supplier_info')); } else { $r = $suppliers_model->insertGetId($data); if (!empty($data['admin_id'])) { $admin_data['suppliers_id'] = $r; M('admin')->where(array('suppliers_id' => $admin_data['suppliers_id']))->save(array('suppliers_id' => 0)); M('admin')->where(array('admin_id' => $data['admin_id']))->save($admin_data); } } } //改 if ($data['act'] == 'edit' && $data['suppliers_id'] > 0) { // upload_ylp_log('修改供应商'); $r = $suppliers_model->where('suppliers_id',$data['suppliers_id'])->save($data); if (!empty($data['admin_id'])) { $admin_data['suppliers_id'] = $data['suppliers_id']; M('admin')->where(array('suppliers_id' => $admin_data['suppliers_id']))->save(array('suppliers_id' => 0)); M('admin')->where(array('admin_id' => $data['admin_id']))->save($admin_data); } } //删 if ($data['act'] == 'del' && $data['suppliers_id'] > 0) { // upload_ylp_log('删除供应商'); $r = $suppliers_model->where('suppliers_id', $data['suppliers_id'])->delete(); M('admin')->where(array('suppliers_id' => $data['suppliers_id']))->save(array('suppliers_id' => 0)); } if ($r !== false) { $this->success("操作成功", U('Admin/Admin/supplier')); } else { $this->error("操作失败", U('Admin/Admin/supplier')); } } }