代码初始化
This commit is contained in:
188
application/adminapi/controller/UserZone.php
Normal file
188
application/adminapi/controller/UserZone.php
Normal file
@@ -0,0 +1,188 @@
|
||||
<?php
|
||||
|
||||
namespace app\adminapi\controller;
|
||||
|
||||
use app\common\controller\adminApi;
|
||||
use think\Db;
|
||||
|
||||
class UserZone extends adminApi
|
||||
{
|
||||
protected $noNeedLogin = [];
|
||||
protected $noNeedRight = ['zone_lists','topic_lists','zone_detail','add_topic','del_zone','del_comment','zone_top_or_show','del_topic'];
|
||||
|
||||
protected $table = 'user_zone';
|
||||
|
||||
public function _initialize()
|
||||
{
|
||||
parent::_initialize();
|
||||
}
|
||||
|
||||
/**
|
||||
* 话题列表
|
||||
*/
|
||||
public function topic_lists(){
|
||||
$page = input('page', 1);
|
||||
$page_limit = input('page_limit', 30);
|
||||
$search_name = input('search_name', '');
|
||||
$where=[];
|
||||
//标签名称
|
||||
if($search_name != ''){
|
||||
$where['title'] = ['like', '%'.$search_name.'%'];
|
||||
}
|
||||
$count = db::name('topic')->where($where)->count();
|
||||
$lists = db::name('topic')->where($where)->order('createtime desc')->page($page, $page_limit)->select();
|
||||
foreach ($lists as &$value) {
|
||||
if($value['createtime'] > 0){
|
||||
$value['createtime'] = date('Y-m-d H:i:s', $value['createtime']);
|
||||
}
|
||||
if($value['updatetime'] > 0){
|
||||
$value['updatetime'] = date('Y-m-d H:i:s', $value['updatetime']);
|
||||
}
|
||||
$value['num'] = db::name('user_zone_topic')->where(['topic_id'=>$value['id']])->count();
|
||||
}
|
||||
$return_data = [
|
||||
'page' =>$page,
|
||||
'page_limit' => $page_limit,
|
||||
'count' => $count,
|
||||
'lists' => $lists
|
||||
];
|
||||
return V(1,"成功", $return_data);
|
||||
}
|
||||
|
||||
//添加话题
|
||||
public function add_topic(){
|
||||
$id = input('id', 0);
|
||||
$title = input('title', '');
|
||||
$content = input('content', '');
|
||||
$pic = input('pic', '');
|
||||
|
||||
if($title){
|
||||
$data['title'] = '#'.$title;
|
||||
}
|
||||
if($content){
|
||||
$data['content'] = $content;
|
||||
}
|
||||
if($pic){
|
||||
$data['pic'] = $pic;
|
||||
}
|
||||
|
||||
$data['createtime'] = time();
|
||||
if($id > 0){
|
||||
$res = db::name('topic')->where(['id'=>$id])->update($data);
|
||||
}else{
|
||||
$res = db::name('topic')->insert($data);
|
||||
}
|
||||
|
||||
return V($res ? 1 : 0, $res ? '添加成功' : '添加失败');
|
||||
}
|
||||
|
||||
//删除话题
|
||||
public function del_topic(){
|
||||
$id = input('id', 0);
|
||||
$res = db::name('topic')->where(['id'=>$id])->update(['is_delete'=> time(),'updatetime'=> time()]);
|
||||
return V($res ? 1 : 0, $res ? '删除成功' : '删除失败');
|
||||
}
|
||||
|
||||
//动态列表
|
||||
public function zone_lists(){
|
||||
$page = input('page', 1);
|
||||
$page_limit = input('page_limit', 30);
|
||||
$search_name = input('search_name', '');
|
||||
$where['is_delete'] = 1;
|
||||
//标签名称
|
||||
if($search_name != ''){
|
||||
$where['content'] = ['like', '%'.$search_name.'%'];
|
||||
}
|
||||
$count = db::name('user_zone')->where($where)->count();
|
||||
$lists = db::name('user_zone')->where($where)->order('createtime desc')->page($page, $page_limit)->select();
|
||||
foreach ($lists as &$value) {
|
||||
if($value['createtime'] > 0){
|
||||
$value['createtime'] = date('Y-m-d H:i:s', $value['createtime']);
|
||||
}
|
||||
if($value['updatetime'] > 0){
|
||||
$value['updatetime'] = date('Y-m-d H:i:s', $value['updatetime']);
|
||||
}
|
||||
if($value['delete_time'] > 0){
|
||||
$value['delete_time'] = date('Y-m-d H:i:s', $value['delete_time']);
|
||||
}
|
||||
if($value['images']){
|
||||
$value['images'] = explode(',', $value['images'])[0];
|
||||
}
|
||||
$value['rewards_num'] = db::name('user_zone_rewards')->where(['zone_id'=>$value['id']])->sum('gift_price_total');
|
||||
$value['topic_title'] = db::name('topic')->where(['id'=>$value['topic_id']])->value('title');
|
||||
$value['user_nickname'] = db::name('user')->where(['id'=>$value['user_id']])->value('nickname').'-'.
|
||||
db::name('user')->where(['id'=>$value['user_id']])->value('user_code');
|
||||
}
|
||||
$return_data = [
|
||||
'page' =>$page,
|
||||
'page_limit' => $page_limit,
|
||||
'count' => $count,
|
||||
'lists' => $lists
|
||||
];
|
||||
return V(1,"成功", $return_data);
|
||||
}
|
||||
|
||||
//动态详情
|
||||
public function zone_detail(){
|
||||
$id = input('id', 0);
|
||||
$page = input('page', 1);
|
||||
$page_limit = input('page_limit', 30);
|
||||
$detail = db::name('user_zone')->where(['id'=>$id])->find();
|
||||
if($detail){
|
||||
if($detail['createtime'] > 0){
|
||||
$detail['createtime'] = date('Y-m-d H:i:s', $detail['createtime']);
|
||||
}
|
||||
if($detail['updatetime'] > 0){
|
||||
$detail['updatetime'] = date('Y-m-d H:i:s', $detail['updatetime']);
|
||||
}
|
||||
//打赏金额
|
||||
$detail['rewards_num'] = db::name('user_zone_rewards')->where(['zone_id'=>$detail['id']])->sum('gift_price_total');
|
||||
//打赏人数
|
||||
$detail['rewards_user_num'] = db::name('user_zone_rewards')->where(['zone_id'=>$detail['id']])->count();
|
||||
//标签
|
||||
$detail['title'] = [];
|
||||
if(isset($detail['topic_id'])){
|
||||
$top = explode(',', $detail['topic_id']);
|
||||
foreach ($top as $kk){
|
||||
$title = db::name('topic')->where(['id' => $kk])->find();
|
||||
if(isset($title)){
|
||||
$title['topic_id'] = $title['id'];
|
||||
}
|
||||
$detail['title'][] =$title?? [];
|
||||
}
|
||||
}
|
||||
//评论列表
|
||||
$coment = model('api/UserZone')->getCommentsWithReplies($detail['id'], $page, $page_limit);
|
||||
$detail['comment_lists'] = $coment['data'];
|
||||
}
|
||||
return V(1,"成功", $detail);
|
||||
}
|
||||
|
||||
//删除动态
|
||||
public function del_zone(){
|
||||
$id = input('id', 0);
|
||||
$res = db::name('user_zone')->where(['id'=>$id])->update(['is_delete'=> 2,'delete_time'=> time()]);
|
||||
return V($res ? 1 : 0, $res ? '删除成功' : '删除失败');
|
||||
}
|
||||
|
||||
//删除评论
|
||||
public function del_comment(){
|
||||
$id = input('id', 0);
|
||||
$res = db::name('user_zone_comment')->where(['id'=>$id])->update(['is_delete'=> 2,'updatetime'=> time()]);
|
||||
return V($res ? 1 : 0, $res ? '删除成功' : '删除失败');
|
||||
}
|
||||
//动态置顶或显示操作操作
|
||||
public function zone_top_or_show(){
|
||||
$id = input('id', 0);
|
||||
$type = input('type', 0);
|
||||
$status = input('status', 0);
|
||||
if($type ==1){
|
||||
$data['is_recommend'] = $status;
|
||||
}else{
|
||||
$data['show_status'] = $status;
|
||||
}
|
||||
$data['updatetime'] = time();
|
||||
$res = db::name('user_zone')->where(['id'=>$id])->update($data);
|
||||
return V($res ? 1 : 0, $res ? '操作成功' : '操作失败');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user