Files
yusheng-php/application/adminapi/controller/Inform.php
2025-08-07 20:21:47 +08:00

311 lines
10 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?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不能为空");
}
}
}