311 lines
10 KiB
PHP
311 lines
10 KiB
PHP
|
|
<?php
|
|||
|
|
|
|||
|
|
namespace app\adminapi\controller;
|
|||
|
|
|
|||
|
|
use app\common\controller\adminApi;
|
|||
|
|
use think\Db;
|
|||
|
|
use think\Session;
|
|||
|
|
use function fast\e;
|
|||
|
|
|
|||
|
|
class Inform extends adminApi
|
|||
|
|
{
|
|||
|
|
/*
|
|||
|
|
* 用户反馈列表
|
|||
|
|
*/
|
|||
|
|
public function suggest_list(){
|
|||
|
|
$page = input('page', 1);
|
|||
|
|
$page_limit = input('page_limit', 15);
|
|||
|
|
|
|||
|
|
$search_name = input('search_id', '');
|
|||
|
|
$status = input('status', '');
|
|||
|
|
$where = [];
|
|||
|
|
//标签名称
|
|||
|
|
if($search_name!==''){
|
|||
|
|
$where['id'] = $search_name;
|
|||
|
|
}
|
|||
|
|
if($status!==''){
|
|||
|
|
$where['is_deal'] = $status;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
$list = db::name('vs_suggest')->where($where)->order('id desc')->page($page, $page_limit)->select();
|
|||
|
|
$count = db::name('vs_suggest')->where($where)->count();
|
|||
|
|
foreach ($list as &$item) {
|
|||
|
|
$item['createtime'] = date('Y-m-d H:i:s', $item['createtime']);
|
|||
|
|
$item['updatetime'] = date('Y-m-d H:i:s', $item['updatetime']);
|
|||
|
|
$item['nickname'] = db::name('user')->where('id',$item['user_id'])->value('nickname');
|
|||
|
|
}
|
|||
|
|
$return_data = [
|
|||
|
|
'page' =>$page,
|
|||
|
|
'page_limit' => $page_limit,
|
|||
|
|
'count' => $count,
|
|||
|
|
'lists' => $list
|
|||
|
|
];
|
|||
|
|
return V(1,"成功", $return_data);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/*
|
|||
|
|
* 用户反馈详情
|
|||
|
|
*/
|
|||
|
|
public function suggest_detail(){
|
|||
|
|
$id = input('id', '');
|
|||
|
|
if($id){
|
|||
|
|
$data = db::name('vs_suggest')->where('id',$id)->find();
|
|||
|
|
$data['createtime'] = date('Y-m-d H:i:s', $data['createtime']);
|
|||
|
|
$data['updatetime'] = date('Y-m-d H:i:s', $data['updatetime']);
|
|||
|
|
$data['nickname'] = db::name('user')->where('id',$data['user_id'])->value('nickname');
|
|||
|
|
if($data){
|
|||
|
|
return V(1,"成功", $data);
|
|||
|
|
}
|
|||
|
|
else{
|
|||
|
|
return V(0,"失败");
|
|||
|
|
}
|
|||
|
|
}else{
|
|||
|
|
return V(0,"ID不能为空");
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/*
|
|||
|
|
* 用户反馈处理
|
|||
|
|
*/
|
|||
|
|
public function suggest_deal(){
|
|||
|
|
$id = input('id', '');
|
|||
|
|
$deal_content = input('deal_content', '');
|
|||
|
|
if($deal_content == ''){
|
|||
|
|
return V(0,"处理内容不能为空");
|
|||
|
|
}
|
|||
|
|
$suggest = db::name('vs_suggest')->where('id',$id)->find();
|
|||
|
|
if(!$suggest){
|
|||
|
|
return V(0,"用户反馈信息不存在");
|
|||
|
|
}
|
|||
|
|
if($id){
|
|||
|
|
$data = db::name('vs_suggest')->where('id',$id)->update(['deal_content' => $deal_content,'is_deal' => 2,'updatetime' => time()]);
|
|||
|
|
if($data){
|
|||
|
|
db::name('system_message')->insert([
|
|||
|
|
'title' => '用户反馈处理结果',
|
|||
|
|
'content' => "您的建议反馈信息:".$suggest['content']." 处理结果为:".$deal_content,
|
|||
|
|
'type' => 1,
|
|||
|
|
'admin_id' => Session::get('admin_id'),
|
|||
|
|
'receiving_id' => $suggest['user_id'],
|
|||
|
|
'createtime' => time(),
|
|||
|
|
]);
|
|||
|
|
return V(1,"成功");
|
|||
|
|
}else{
|
|||
|
|
return V(0,"失败");
|
|||
|
|
}
|
|||
|
|
}else{
|
|||
|
|
return V(0,"ID不能为空");
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
//用户详情
|
|||
|
|
public function user_detail(){
|
|||
|
|
$id = input('user_id', '');
|
|||
|
|
if($id){
|
|||
|
|
$data = db::name('user')
|
|||
|
|
->field('id,nickname,mobile,status,avatar,sex,birthday,createtime')
|
|||
|
|
->where('id',$id)->find();
|
|||
|
|
$data['createtime'] = date('Y-m-d H:i:s', $data['createtime']);
|
|||
|
|
$data['sex'] = $data['sex'] == 1 ? '男' : '女';
|
|||
|
|
$data['status'] = $data['status'] == 1 ? '正常' : '异常';
|
|||
|
|
$data['xiaofei'] = db::name('vs_give_gift')->where('user_id',$id)->sum('total_price');
|
|||
|
|
if($data){
|
|||
|
|
return V(1,"成功", $data);
|
|||
|
|
}
|
|||
|
|
else{
|
|||
|
|
return V(0,"失败");
|
|||
|
|
}
|
|||
|
|
}else{
|
|||
|
|
return V(0,"ID不能为空");
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//举报类型列表
|
|||
|
|
public function report_type_list(){
|
|||
|
|
$page = input('page', 1);
|
|||
|
|
$page_limit = input('page_limit', 30);
|
|||
|
|
$search_type = input('search_type', '');
|
|||
|
|
|
|||
|
|
//标签名称
|
|||
|
|
if($search_type !==''){
|
|||
|
|
$where['type'] = $search_type;
|
|||
|
|
}
|
|||
|
|
$where['delete_time'] = 0;
|
|||
|
|
$count = db::name('vs_user_inform_type')->where($where)->count();
|
|||
|
|
$list = db::name('vs_user_inform_type')->where($where)->page($page, $page_limit)->select();
|
|||
|
|
foreach ($list as &$item) {
|
|||
|
|
$item['createtime'] = date('Y-m-d H:i:s', $item['createtime']);
|
|||
|
|
}
|
|||
|
|
$return_data = [
|
|||
|
|
'page' =>$page,
|
|||
|
|
'page_limit' => $page_limit,
|
|||
|
|
'count' => $count,
|
|||
|
|
'lists' => $list
|
|||
|
|
];
|
|||
|
|
return V(1,"成功", $return_data);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//举报类型添加
|
|||
|
|
public function report_type_add(){
|
|||
|
|
$type = input('type', '');
|
|||
|
|
if(empty($type)){
|
|||
|
|
return V(0,"举报类型不能为空");
|
|||
|
|
}
|
|||
|
|
$res = db::name('vs_user_inform_type')->insert(['type' => $type,'createtime' => time()]);
|
|||
|
|
if(!$res){
|
|||
|
|
return V(0,"失败");
|
|||
|
|
}
|
|||
|
|
return V(1,"成功");
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//举报类型编辑
|
|||
|
|
public function report_type_edit(){
|
|||
|
|
|
|||
|
|
$id = input('id', '');
|
|||
|
|
if($id){
|
|||
|
|
$data = [
|
|||
|
|
'updatetime' => time(),
|
|||
|
|
];
|
|||
|
|
$type = input('type', '');
|
|||
|
|
if($type){
|
|||
|
|
$data['type'] = $type;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
$res = db::name('vs_user_inform_type')->where('id',$id)->update($data);
|
|||
|
|
if($res){
|
|||
|
|
return V(1,"成功");
|
|||
|
|
}
|
|||
|
|
else{
|
|||
|
|
return V(0,"失败");
|
|||
|
|
}
|
|||
|
|
}else{
|
|||
|
|
$data = [
|
|||
|
|
'type' => input('type', ''),
|
|||
|
|
'createtime' => time(),
|
|||
|
|
];
|
|||
|
|
$res = db::name('vs_user_inform_type')->insert($data);
|
|||
|
|
if($res){
|
|||
|
|
return V(1,"成功");
|
|||
|
|
}
|
|||
|
|
else{
|
|||
|
|
return V(0,"失败");
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//举报类型删除
|
|||
|
|
public function report_type_del(){
|
|||
|
|
$id = input('id', '');
|
|||
|
|
if($id){
|
|||
|
|
$res = db::name('vs_user_inform_type')->where('id',$id)->update(['delete_time'=>time()]);
|
|||
|
|
if($res){
|
|||
|
|
return V(1,"成功");
|
|||
|
|
}
|
|||
|
|
else{
|
|||
|
|
return V(0,"失败");
|
|||
|
|
}
|
|||
|
|
}else{
|
|||
|
|
return V(0,"ID不能为空");
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//用户举报列表
|
|||
|
|
public function report_list(){
|
|||
|
|
$page = input('page', 1);
|
|||
|
|
$page_limit = input('page_limit', 30);
|
|||
|
|
$search_id = input('user_id', '');
|
|||
|
|
$search_type = input('search_type_id', '');
|
|||
|
|
$report_type = input('report_type', '');//1-用户,2房间,3动态
|
|||
|
|
$search_status = input('search_status', '');//1-待处理,2-已处理,3-已忽略
|
|||
|
|
$where = [
|
|||
|
|
'delete_time' => 0,
|
|||
|
|
];
|
|||
|
|
if($search_id !==''){
|
|||
|
|
$where['user_id'] = $search_id;
|
|||
|
|
}
|
|||
|
|
if($search_type !==''){
|
|||
|
|
$where['type_id'] = $search_type;
|
|||
|
|
}
|
|||
|
|
if($search_status !==''){
|
|||
|
|
$where['status'] = $search_status;
|
|||
|
|
}
|
|||
|
|
if($report_type !==''){
|
|||
|
|
$where['report_type'] = $report_type;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
$count = db::name('vs_user_inform')->where($where)->count();
|
|||
|
|
$list = db::name('vs_user_inform')->where($where)->order('id desc')->page($page, $page_limit)->select();
|
|||
|
|
foreach ($list as &$item) {
|
|||
|
|
$user_info = db::name('user')->where('id',$item['user_id'])->field('nickname,user_code')->find();
|
|||
|
|
if($item['report_type'] ==1){
|
|||
|
|
$from_info = db::name('user')->where('id',$item['from_id'])->field('nickname as title,user_code as code')->find();
|
|||
|
|
}elseif($item['report_type'] ==2){
|
|||
|
|
$from_info = db::name('vs_room')->where('id',$item['from_id'])->field('room_number as code,room_name as title')->find();
|
|||
|
|
}elseif($item['report_type'] ==3){
|
|||
|
|
$from_info = db::name('user_zone')->where('id',$item['from_id'])->field('content as title ,id as code')->find();
|
|||
|
|
}
|
|||
|
|
$item['createtime'] = date('Y-m-d H:i:s', $item['createtime']);
|
|||
|
|
$item['updatetime'] = date('Y-m-d H:i:s', $item['updatetime']);
|
|||
|
|
$item['nickname'] = $user_info['user_code'] ."-".$user_info['nickname'];
|
|||
|
|
$item['type_name'] = db::name('vs_user_inform_type')->where('id',$item['type_id'])->value('type');
|
|||
|
|
$item['from_id_title'] = $from_info['code'] ."-".$from_info['title'];
|
|||
|
|
//举报的什么:1-用户,2房间,3动态
|
|||
|
|
$item['report_type_str'] = [
|
|||
|
|
1=>'用户',
|
|||
|
|
2=>'房间',
|
|||
|
|
3=>'动态'
|
|||
|
|
][$item['report_type']];
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
$return_data = [
|
|||
|
|
'page' =>$page,
|
|||
|
|
'page_limit' => $page_limit,
|
|||
|
|
'count' => $count,
|
|||
|
|
'lists' => $list
|
|||
|
|
];
|
|||
|
|
return V(1,"成功", $return_data);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//用户举报处理
|
|||
|
|
public function report_deal(){
|
|||
|
|
$id = input('id', '');
|
|||
|
|
$processing = input('processing', '');
|
|||
|
|
$status = input('status', '');
|
|||
|
|
if(empty($processing)){
|
|||
|
|
return V(0,"处理内容不能为空");
|
|||
|
|
}
|
|||
|
|
if($id){
|
|||
|
|
$suggest = db::name('vs_user_inform')->where('id',$id)->find();
|
|||
|
|
$data = [
|
|||
|
|
'updatetime' => time(),
|
|||
|
|
'status' => $status,
|
|||
|
|
'processing' => $processing
|
|||
|
|
];
|
|||
|
|
$res = db::name('vs_user_inform')->where('id',$id)->update($data);
|
|||
|
|
if($res){
|
|||
|
|
if($status == 2){
|
|||
|
|
$content = "您的举报:".$suggest['content']." 已被处理 处理结果为:".$processing;
|
|||
|
|
}else{
|
|||
|
|
$content = "您的举报:".$suggest['content']." 已被拒绝 拒绝原因为:".$processing;
|
|||
|
|
}
|
|||
|
|
db::name('system_message')->insert([
|
|||
|
|
'title' => '举报处理结果',
|
|||
|
|
'content' => "您的举报:".$suggest['content']." 处理结果为:".$processing,
|
|||
|
|
'type' => 1,
|
|||
|
|
'admin_id' => Session::get('admin_id'),
|
|||
|
|
'receiving_id' => $suggest['user_id'],
|
|||
|
|
'createtime' => time(),
|
|||
|
|
]);
|
|||
|
|
return V(1,"成功");
|
|||
|
|
}
|
|||
|
|
else{
|
|||
|
|
return V(0,"失败");
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
else{
|
|||
|
|
return V(0,"ID不能为空");
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
}
|