isAjax()) {
$result = db('groups')->select();
foreach ($result as $key => $vo) {
// 优化显示状态
if (1 == $vo['status']) {
$result[$key]['status'] = '启用';
} else {
$result[$key]['status'] = '禁用';
}
// // 优化显示状态
// if(1 == $vo['status']){
// $result[$key]['status'] = '启用';
// }else{
// $result[$key]['status'] = '禁用';
// }
// 统计分组人数
$result[$key]['users_num'] = db('users')->where('group_id', $vo['id'])->count();
// 生成操作按钮
$result[$key]['operate'] = $this->makeBtn($vo['id']);
}
$return['total'] = db('groups')->count(); //总数据
$return['rows'] = $result;
return json($return);
}
$this->assign([
'socket' => config('socket'),
]);
return $this->fetch();
}
// 添加分组
public function addGroup()
{
if (request()->isPost()) {
$param = input('post.');
$has = db('groups')->field('id')->where('name', $param['name'])->find();
if (!empty($has)) {
return json(['code' => -1, 'data' => '', 'msg' => '该分组已经存在']);
}
try {
db('groups')->insert($param);
} catch (\Exception $e) {
return json(['code' => -2, 'data' => '', 'msg' => $e->getMessage()]);
}
return json(['code' => 1, 'data' => '', 'msg' => '添加分组成功']);
}
$this->assign([
'socket' => config('socket'),
'status' => config('kf_status')
]);
return $this->fetch('addgroup');
}
// 编辑分组
public function editGroup()
{
if (request()->isAjax()) {
$param = input('post.');
// 检测用户修改的用户名是否重复
$has = db('groups')->where('name', $param['name'])->where('id', '<>', $param['id'])->find();
if (!empty($has)) {
return json(['code' => -1, 'data' => '', 'msg' => '该分组已经存在']);
}
try {
db('groups')->where('id', $param['id'])->update($param);
} catch (\Exception $e) {
return json(['code' => -2, 'data' => '', 'msg' => $e->getMessage()]);
}
return json(['code' => 1, 'data' => '', 'msg' => '编辑分组成功']);
}
$id = input('param.id/d');
$info = db('groups')->where('id', $id)->find();
$this->assign([
'info' => $info,
'socket' => config('socket'),
'status' => config('kf_status')
]);
return $this->fetch('editgroup');
}
// 删除分组
public function delGroup()
{
if (request()->isAjax()) {
$id = input('param.id/d');
if ($id == 99999) {
return json(['code' => -3, 'data' => '', 'msg' => '公共组,不可删除']);
}
// 查询该分组下是否有客服
$has = db('users')->where('group_id', $id)->count();
if ($has > 0) {
return json(['code' => -2, 'data' => '', 'msg' => '该分组下有客服,不可删除']);
}
try {
db('groups')->where('id', $id)->delete();
} catch (\Exception $e) {
return json(['code' => -1, 'data' => '', 'msg' => $e->getMessage()]);
}
return json(['code' => 1, 'data' => '', 'msg' => '删除分组成功']);
}
}
// 管理组员
public function manageUser()
{
return $this->fetch();
}
// 生成按钮
private function makeBtn($id)
{
$operate = '';
//$operate .= ' ';
$operate .= ' ';
$operate .= ' ';
$operate .= ' 删除 ';
//$operate .= '';
//$operate .= '';
return $operate;
}
}