isAjax()){ $param = input('param.'); $limit = empty($param['pageSize']) ? 1 : $param['pageSize']; $offset = (empty($param['pageNumber']) ? 20 : $param['pageNumber'] - 1) * $limit; $result = db('payment')->where($this->where)->alias('p')->limit($offset, $limit)->order('id', 'desc')->select(); foreach($result as $key=>$vo){ // 优化显示状态 if(1 == $vo['status']){ $result[$key]['status'] = '启用'; }else{ $result[$key]['status'] = '禁用'; } $result[$key]['create_time'] =date("Y-m-d H:i:s",$vo['create_time']); $pay_type = db('payment_type')->where('id', $vo['payment_type'])->field('type_name')->find(); // 生成操作按钮 $result[$key]['operate'] = $this->makeBtn($vo['id']); $result[$key]['type_name'] = isset($pay_type['type_name']) ? $pay_type['type_name'] : '暂无'; // 所属分组 $organize = db('organize')->field('name')->where('id', $vo['organize_id'])->find(); $result[$key]['organize_name'] = !empty($organize) ? $organize['name'] : '暂无'; // 所属平台 $group = db('groups')->field('name')->where('id', $vo['group_id'])->find(); $result[$key]['group_name'] = !empty($group) ? $group['name'] : '暂无'; } $return['total'] = db('payment')->count(); //总数据 $return['rows'] = $result; return json($return); } return $this->fetch(); } // 添加支付 public function addpayment() { if(request()->isPost()){ $param = input('post.'); unset($param['file']); // 删除layui头像上传隐藏字段 if(empty($param['payment_type'])){ return json(['code' => -4, 'data' => '', 'msg' => '请选择支付类型']); } if(empty($param['kf_id'])){ return json(['code' => -4, 'data' => '', 'msg' => '请选择客服']); } $kf_info = db('users')->where('id', $param['kf_id'])->find(); $param['account_num'] = htmlentities($param['account_num']); $has = db('payment')->field('id')->where(['account_num'=> $param['account_num'],'kf_id'=>$param['kf_id']])->find(); // $has = db('payment')->field('id')->where(['account_num'=> $param['account_num'],'group_id'=>$kf_info['group_id']])->find(); if(!empty($has)){ return json(['code' => -2, 'data' => '', 'msg' => '该账号已经存在']); } $param['group_id'] = $kf_info['group_id']; $param['organize_id'] = $kf_info['organize_id']; // 检测分组 // if ($this->role_name == '组长') { // $param['organize_id'] = $this->where['organize_id']; // $organize = db('organize')->where('id', $this->where['organize_id'])->find(); // } // if (!isset($param['organize_id'])) return resultJson(0, '请选择分组'); $param['name'] = htmlentities($param['name']); $data['name'] = $param['name']; $data['account_num'] = $param['account_num']; $data['payment_type'] = $param['payment_type']; $data['create_time'] = time(); $data['kf_id'] = $param['kf_id']; $data['status'] = $param['status']; $data['group_id'] = $param['group_id']; $data['organize_id'] = $param['organize_id']; // 检测当前用户是否支付账号还为空 $check = db('payment')->field('id')->where(['kf_id' => $data['kf_id'], 'payment_type' => $data['payment_type'], 'is_use' => 1, 'status' => 1])->find(); if (!$check) { $data['is_use'] = 1; } switch ($param['payment_type']) { case "1": case "2": case "3": case "4": unset($param['open_bank'],$param['branch_bank']); if(empty($param['payment_img'])){ return json(['code' => -1, 'data' => '', 'msg' => '请上传二维码']); } $data['payment_img'] = $param['payment_img']; break; case "5": if(empty($param['open_bank']) || empty($param['branch_bank'])){ return json(['code' => -4, 'data' => '', 'msg' => '开户银行和开户支行必须填写']); } unset($param['payment_img']); $data['open_bank'] = $param['open_bank']; $data['branch_bank'] = $param['branch_bank']; break; case "6": // unset($param['open_bank'],$param['branch_bank']); // if(empty($param['payment_img'])){ // return json(['code' => -1, 'data' => '', 'msg' => '请上传二维码']); // } // $data['payment_img'] = $param['payment_img']; // break; default: # code... break; } try{ db('payment')->insert($data); }catch(\Exception $e){ return json(['code' => -3, 'data' => '', 'msg' => $e->getMessage()]); } LogRepository::write('支付管理', '成功添加支付账号--'.$data['account_num']); $paymentLog = [ 'pay_account' => $param['account_num'], 'history_qrcode' => '', 'new_qrcode' => empty($param['payment_img']) ? '': $param['payment_img'], 'history_kf' => '', 'new_kf' => $param['kf_id'], 'action_type' => "新增", ]; LogRepository::paymentLogWrite($paymentLog); return json(['code' => 1, 'data' => '', 'msg' => '添加账号成功']); } // 平台 $platform = db('groups')->where('status', 1)->select(); // 如果是平台管理员获取分组 if ($this->role_name == '平台管理员') { $organize = db('organize')->where($this->where)->select(); } else { $organize = []; } $this->assign([ 'paytype'=> db('payment_type')->select(), 'users' => db('users')->where($this->where)->select(), 'status' => config('kf_status'), 'platform' => $platform, 'organize' => $organize, ]); return $this->fetch(); } /** * 支付方式列表 */ public function getpaymenttype(){ } /** * 添加支付方式 */ public function addpaymenttype(){ if(request()->isPost()){ $param = input('post.'); if(!$param['alias_id']){ // if(!ctype_alpha($param['alias_id'])){ return json(['code' => -1, 'data' => '', 'msg' => 'ID只能为字母']); } $param['type_name'] = htmlentities($param['type_name']); $has = db('payment_type')->field('id')->where('type_name', $param['type_name'])->find(); if(!empty($has)){ return json(['code' => -1, 'data' => '', 'msg' => '该支付类型已经存在']); } // if (!$this->is_root) { // $param['group_id'] = $this->where['group_id']; // } try{ db('payment_type')->insert($param); }catch(\Exception $e){ return json(['code' => -2, 'data' => '', 'msg' => $e->getMessage()]); } $redis = new Redis(); $redis::instance()->del("payment"); return json(['code' => 1, 'data' => '', 'msg' => '添加支付类型成功']); } // 平台 $platform = db('groups')->where('status', 1)->select(); $this->assign([ 'status' => config('kf_status'), 'platform' => $platform, ]); return $this->fetch(); } /** * 编辑 */ public function editpayment() { if(request()->isAjax()){ $param = input('post.'); $account = $param['account_num']; unset($param['file']); // 删除layui头像上传隐藏字段 unset($param['account_num']); //账号不允许修改 // 修改支付类型 if(empty($param['payment_type'])){ unset($param['payment_type']); } // 修改支付二维码 if(empty($param['payment_img'])){ unset($param['payment_img']); } // 修改所属客服 if(empty($param['kf_id'])){ return json(['code' => -1, 'data' => '', 'msg' => '请选择客服']); } $kf_info = db('users')->where('id', $param['kf_id'])->find(); $param['group_id'] = $kf_info['group_id']; $param['organize_id'] = $kf_info['organize_id']; // if(empty($param['group_id']) && $this->is_root){ // return json(['code' => -4, 'data' => '', 'msg' => '请选择分组']); // } elseif(empty($param['group_id']) && $this->role_name == '平台管理员') { // $param['group_id'] = $this->where['group_id']; // } // 检测分组 // if ($this->role_name == '组长') { // $param['organize_id'] = $this->where['organize_id']; // $organize = db('organize')->where('id', $this->where['organize_id'])->find(); // $param['group_id'] = $organize['group_id']; // } // if (!isset($param['organize_id'])) return resultJson(0, '请选择分组'); try{ $historyPayment = db('payment')->where('id', $param['id'])->find(); db('payment')->where('id', $param['id'])->update($param); }catch(\Exception $e){ return json(['code' => -2, 'data' => '', 'msg' => $e->getMessage()]); } LogRepository::write('支付管理', '成功编辑支付账号--'.$account); $paymentLog = [ 'pay_account' => $account, 'history_qrcode' => $historyPayment['payment_img'], 'new_qrcode' => empty($param['payment_img']) ? '': $param['payment_img'], 'history_kf' => $historyPayment['kf_id'], 'new_kf' => empty($param['kf_id']) ? $historyPayment['kf_id'] : $param['kf_id'], 'action_type' => "修改", ]; LogRepository::paymentLogWrite($paymentLog); return json(['code' => 1, 'data' => '', 'msg' => '编辑账号成功']); } $id = input('param.id/d'); $info = db('payment')->where('id', $id)->find(); // 平台 $platform = db('groups')->where('status', 1)->select(); // 如果是平台管理员获取分组 if ($this->role_name == '平台管理员' || $info['group_id']) { $where = $info['group_id'] ? ['group_id' => $info['group_id']] : $this->where; $organize = db('organize')->where($where)->select(); } else { $organize = []; } $this->assign([ 'info' => $info, 'status' => config('kf_status'), 'paytype'=> db('payment_type')->select(), 'users' => db('users')->where($this->where)->select(), 'platform' => $platform, 'organize' => $organize, ]); return $this->fetch(); } // 生成按钮 private function makeBtn($id) { $operate = ''; $operate .= ' '; $operate .= ' '; return $operate; } public function upQrcode() { if(request()->isAjax()) { $file = request()->file('file'); if (!empty($file)) { $fileInfo = $file->getInfo(); /*if($fileInfo['size'] > 1024 * 1024 * 2){ // 上传失败获取错误信息 return json( ['code' => -2, 'data' => '', 'msg' => '文件超过2M'] ); }*/ //检测图片格式 $ext = explode('.', $fileInfo['name']); $ext = array_pop($ext); $extArr = explode('|', 'jpg|png|gif|jpeg'); if(!in_array($ext, $extArr)){ return json(['code' => -3, 'data' => '', 'msg' => '只能上传jpg|png|gif|jpeg的文件']); } // 移动到框架应用根目录/public/uploads/ 目录下 $info = $file->move(ROOT_PATH . 'public' . DS . 'uploads' . DS . 'qrcode'); if ($info) { $src = config('img_take_prefix').'/uploads/qrcode' . '/' . date('Ymd') . '/' . $info->getFilename(); return json(['code' => 0, 'data' => ['src' => $src], 'msg' => 'ok']); } else { // 上传失败获取错误信息 return json(['code' => -1, 'data' => '', 'msg' => $file->getError()]); } } } } /** * 删除支付账号 */ public function delPayment() { $id = input('post.id'); if (!$id) return resultJson(0, '参数错误'); $del = db('payment')->where('id', $id)->delete(); if (!$del) return resultJson(0, '删除失败'); return resultJson(1, '删除成功'); } /** * 会员权限列表 */ public function member_level_list() { $db = db('member_level'); // 返回视图 if(request()->isAjax()) { // 分页请求 $param = input('get.'); $where = $this->where; $keyword = input('search_input'); if (!empty($keyword)) { $where['name|id'] = $keyword; } //获取总条数 $count = $db->where($where)->count(); // $count=count($list); //获取每页显示的条数 $limit = $param['limit']; //获取当前页数 $page = $param['page']; //计算出从那条开始查询 $start = ($page-1)*$limit; $list = $db ->where($where) ->limit($start, $limit) ->order('id desc') ->select(); foreach($list as $key=>$vo){ // 平台名称 $group = db('groups')->where('id', $vo['group_id'])->field('name')->find(); $list[$key]['group_name'] = isset($group['name']) ? $group['name'] : '暂无'; } $result = resultJson(0, '获取成功', $list); $result['count'] = $count; return $result; } return $this->fetch(); } /** * 添加会员等级 */ public function add_member_level() { $db = db('member_level'); $gdb = db('groups'); if (request()->isPost()) { $level = input('post.level'); $name = input('post.name'); $group_id = input('post.group_id'); if ($level === '' || !$name) return resultJson(0, '参数错误'); if(empty($group_id) && $this->is_root){ return resultJson(0, '请选择平台'); } elseif(empty($group_id) && $this->role_name == '平台管理员') { $group_id = $this->where['group_id']; } $where['group_id'] = $group_id; $where['level'] = $level; $info = $db->where($where)->find(); if ($info) return resultJson(2, '等级已存在'); $data = [ 'level' => $level, 'name' => $name, 'group_id' => $group_id, 'date' => date("Y-m-d H:i:s"), ]; $save = $db->insert($data); if ($save == 1) return resultJson(1, '成功'); return resultJson(0, '保存失败'); } // 平台 $group = $gdb->where('status', 1)->order('id desc')->select(); $this->assign([ 'group' => $group, ]); return $this->fetch(); } /** * 编辑会员等级权限 */ public function member_level_edit() { $mldb = db('member_level'); $ptdb = db('payment_type'); if(request()->isAjax()) { $id = input('post.id'); $pay_type = isset($_POST['pay_type']) ? $_POST['pay_type'] : []; if (!is_array($pay_type) || !$pay_type) return resultJson(0, '参数错误'); $data['rules'] = implode(',', $pay_type); if (!$id) return resultJson(0, '参数错误'); $save = $mldb->where('id', $id)->update($data); if (!$save) return resultJson(0, '保存失败'); return resultJson(1, '成功'); } $id = input('id'); $pay_type = $ptdb->where('status', 1)->select(); $info = $mldb->find($id); // 检测是否已经选中 $rules_arr = explode(',', $info['rules']); foreach($pay_type as &$vo) { if(!in_array($vo['id'], $rules_arr)) { $vo['checked'] = false; continue; } $vo['checked'] = true; } $this->assign([ 'pay_type' => $pay_type, 'id' => $id, ]); return $this->fetch(); } /* * 删除会员等级 */ public function del_member_level() { if(request()->isPost()) { $id = input('post.id'); if (!$id) return resultJson(0, '参数错误'); $del = db('member_level')->where('id', $id)->delete(); if (!$del) return resultJson(0, '删除失败'); return resultJson(1, '删除成功'); } } }