Files

311 lines
10 KiB
PHP
Raw Permalink Normal View History

2025-08-07 20:21:47 +08:00
<?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不能为空");
}
}
}