isAjax()){ $param = input('param.'); $limit = $param['pageSize']; $offset = ($param['pageNumber'] - 1) * $limit; $where = []; $orwhere = []; // //用户账号/昵称 // if (strlen($param['searchText'])) { // if($param['account'] == 'account_name'){ // $account_id = db('accounts')->where('account_name','like','%'.$param['searchText'].'%')->selest(); // $ids = array(); // for($i=0;$iwhere($orwhere)->count(); //总数据 if (strlen($param['start']) && strlen($param['end']) && $param['start'] <= $param['end']) { $start = strtotime($param['start']); $end = strtotime($param['end'] . ' 23:59:59'); $return['total'] = db('Accountsmessage')->whereBetween('add_time', [$start, $end])->where($orwhere)->count(); //总数据 } $join = [ 'messagetype b' => 'a.type_id = b.id', ]; $leftjoin = [ 'users c' => 'a.user_id = c.id', ]; $result = model('Accountsmessage')->selectJoin($join,$leftjoin,$where, $start,$end,$offset, $limit); $accounts = db('accounts')->select(); foreach($result as $key=>$vo){ $result[$key]['content'] = str_replace('>','>',$result[$key]['content']); $result[$key]['content'] = str_replace('<','<',$result[$key]['content']); $result[$key]['content'] = '
'.$result[$key]['content'].'
'; $result[$key]['reply_content'] = str_replace('>','>',$result[$key]['reply_content']); $result[$key]['reply_content'] = str_replace('<','<',$result[$key]['reply_content']); $result[$key]['reply_content'] = '
'.$result[$key]['reply_content'].'
'; if(!empty($result[$key]['image'])){ // 优化显示附件 $images = $result[$key]['image']; //转换成数组格式 $images = explode(",", $images); if(!empty($images)){ $img = ''; for($i=0;$i'; } $result[$key]['image'] = $img; } } // 优化时间 if(null != $vo['add_time']){ $result[$key]['add_time'] = date('Y-m-d H:m:s',$result[$key]['add_time']); } $date = explode(' ',$result[$key]['add_time']); $year = explode('-',$result[$key]['add_time']); if($date[0] == date('Y-m-d',time())){ $result[$key]['add_time'] = ''.$date[1].''; }else if($date[0] == date('Y-m-d',strtotime("-1 day"))){ $result[$key]['add_time'] = ''.'昨天 '.$date[1].''; }else{ if($year[0] == date('Y',time())){ $result[$key]['add_time'] = ''.date('m-d H:i:s',strtotime($result[$key]['add_time'])).''; } } if(null != $vo['dealWith_time']){ $result[$key]['dealWith_time'] = date('Y-m-d H:m:s',$result[$key]['dealWith_time']); } // 优化显示状态 if(1 == $vo['message_status']) { $result[$key]['status'] = '已处理'; } else { $result[$key]['status'] = '未处理'; } // 是否公开 if(1 == $vo['if_public']){ $result[$key]['if_public'] = '公开'; }else{ $result[$key]['if_public'] = '不公开'; } // 生成操作按钮 $result[$key]['operate'] = $this->makeBtn($vo['message_id']); for($i=0;$iwhere($orwhere)->count(); //总数据 $return['rows'] = $result; return json($return); } //所有客服 $users = db('users')->select(); $useroption = ''; if(!empty($users)){ $option = ''; for($i=0;$i'.$users[$i]['user_name'].''; } $useroption = ''; } //留言类型 $type = db('messagetype')->where('status',1)->select(); $optiontype = ''; if(!empty($users)){ $option = ''; for($i=0;$i'.$type[$i]['name'].''; } $optiontype = ''; } $this->assign([ 'useroption' => $useroption, 'optiontype' => $optiontype ]); return $this->fetch(); } // 留言详情 public function detail() { if(request()->isAjax()) { //设置留言公开/不公开 $param = input('post.'); $id = $param['id']; $if_public = $param['if_public']; $type_id = $param['type_id']; $message = db('accountsmessage')->where('message_id', $id)->find(); if(!empty($message)){ if($message['message_status'] == 0){ return json(['code' => -1, 'data' => '', 'msg' => '留言未处理']); } } if($type_id == -1 || $type_id == 0 || $type_id == ''){ return json(['code' => -2, 'data' => '', 'msg' => '请选择留言类别']); } try{ db('accountsmessage')->where('message_id', $id)->update(['if_public' => $if_public,'type_id' => $type_id]); }catch(\Exception $e){ return json(['code' => -3, 'data' => '', 'msg' => $e->getMessage()]); } return json(['code' => 1, 'data' => url('messages/index'), 'msg' => '设置成功']); } $id = input('param.id/d'); $info = db('Accountsmessage')->where('message_id', $id)->find(); $account = db('Accounts')->where('id', $info['account_id'])->find(); $user = db('Users')->where('id', $info['user_id'])->find(); $info['account_name'] = $account['account_name']; //$info['account_email'] = $account['account_email']; $info['user_name'] = $user['user_name']; $messagetype = db('messagetype')->select(); // 优化显示留言图片 if(!empty($info['image'])){ $image = $info['image']; //转换成数组格式 $image = explode(",", $image); if(!empty($image)){ $img = ''; for($i=0;$i'; } $info['image'] = $img; } } // 优化显示回复图片 if(!empty($info['images'])){ $images = $info['images']; //转换成数组格式 $images = explode(",", $images); if(!empty($images)){ $img = ''; for($i=0;$i'; } $info['images'] = $img; } } // 优化时间 if (null != $info['add_time']) { $info['add_time'] = date('Y-m-d H:m:s', $info['add_time']); } if (null != $info['dealWith_time']) { $info['dealWith_time'] = date('Y-m-d H:m:s', $info['dealWith_time']); } // 优化显示状态 if (1 == $info['message_status']) { $info['message_status'] = '已处理'; } else { $info['message_status'] = '未处理'; } $this->assign([ 'info' => $info, 'messagetype' => $messagetype, 'status' => config('kf_status'), // 'groups' => db('groups')->select() ]); return $this->fetch(); } //删除留言 public function delMessage(){ if (request()->isAjax()) { //留言类型id $id = input('param.id/d'); try { db('accountsmessage')->where('message_id', $id)->delete(); } catch (\Exception $e) { return json(['code' => -1, 'data' => '', 'msg' => $e->getMessage()]); } return json(['code' => 1, 'data' => '', 'msg' => '删除留言成功']); } } // 上传客服头像 public function upAvatar() { if(request()->isAjax()) { $file = request()->file('file'); if (!empty($file)) { // 移动到框架应用根目录/public/uploads/ 目录下 $info = $file->move(ROOT_PATH . 'public' . DS . 'uploads'); if ($info) { $src = '/uploads' . '/' . date('Ymd') . '/' . $info->getFilename(); return json(['code' => 0, 'data' => ['src' => $src], 'msg' => 'ok']); } else { // 上传失败获取错误信息 return json(['code' => -1, 'data' => '', 'msg' => $file->getError()]); } } } } // 生成留言操作按钮 private function makeBtn($id) { $operate = ''; $operate .= ''; $operate .= ' '; return $operate; } // 留言类型列表 public function type() { if(request()->isAjax()){ $param = input('param.'); $limit = $param['pageSize']; $offset = ($param['pageNumber'] - 1) * $limit; // $where = []; // if (strlen($param['searchText'])) { // $where['account_name'] = $param['searchText']; // } $result = db('messagetype')->limit($offset, $limit)->select(); foreach($result as $key=>$vo){ // 优化时间 if(null != $vo['addtime']){ $result[$key]['addtime'] = date('Y-m-d H:m:s',$result[$key]['addtime']); } // // 优化显示状态 // if(1 == $vo['status']){ // $result[$key]['status'] = '启用'; // }else{ // $result[$key]['status'] = '停用'; // } // 优化显示状态. if(1 == $vo['status']) { $result[$key]['status'] = '启用'; } else { $result[$key]['status'] = '停用'; } // 生成操作按钮 $result[$key]['operate'] = $this->makeBtnType($vo['id']); } $return['total'] = db('messagetype')->count(); //总数据 $return['rows'] = $result; return json($return); } return $this->fetch(); } // 添加留言类型 public function add() { if (request()->isAjax()) { $param = input('post.'); $has = db('messagetype')->where('name',$param['name'])->find(); if(!empty($has)){ return json(['code' => -1, 'data' => '', 'msg' => '此留言类型已存在']); } $info = array(); $info['name'] = $param['name']; $info['addtime'] = time(); $info['status'] = $param['status']; try { db('messagetype')->insert($info); } catch (\Exception $e) { return json(['code' => -2, 'data' => '', 'msg' => $e->getMessage()]); } return json(['code' => 1, 'data' => url('messages/type'), 'msg' => '添加留言类型成功']); } $this->assign([ 'status' => config('kf_status') ]); return $this->fetch(); } // 编辑留言类型 public function edit() { // 菜单id $id = input('param.id/d'); if (request()->isAjax()) { $param = input('post.'); $has = db('messagetype')->where('name',$param['name'])->where('id','<>',$id)->find(); if(!empty($has)){ return json(['code' => -1, 'data' => '', 'msg' => '此留言类型已存在']); } $info = array(); $info['name'] = $param['name']; $info['status'] = $param['status']; try { db('messagetype')->where('id', $param['id'])->update($info); } catch (\Exception $e) { return json(['code' => -2, 'data' => '', 'msg' => $e->getMessage()]); } return json(['code' => 1, 'data' => url('messages/type'), 'msg' => '编辑留言类型成功']); } $type = db('messagetype')->where('id',$id)->find(); $this->assign([ 'type' => $type, 'id' => $id, 'status' => config('kf_status') ]); return $this->fetch(); } // 删除留言类型 public function delType() { if (request()->isAjax()) { //留言类型id $id = input('param.id/d'); try { db('messagetype')->where('id', $id)->delete(); } catch (\Exception $e) { return json(['code' => -1, 'data' => '', 'msg' => $e->getMessage()]); } return json(['code' => 1, 'data' => '', 'msg' => '删除留言类型成功']); } } // 生成按钮 private function makeBtnType($id) { $operate = ''; $operate .= ' '; $operate .= ' '; return $operate; } }