Pro/application/admin/controller/Memo.php
2026-02-25 01:50:31 +08:00

506 lines
19 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\admin\controller;
use think\Db;
use think\Request;
class Memo extends Common{
// 公告列表
public function memo(){
// 接收分页的条件
$get = Request::instance()->get();
$query = http_build_query($get);
$this->assign('get',$get);
$this->assign('query',$query);
// 接收搜索的条件信息
$title = Request::instance()->get('title');
$status = Request::instance()->get('status');
$export = Request::instance()->get('export');
// 拼装查询条件
$where = array();
if($title) $where['title'] = array('like','%'.$title.'%');
if($status > 0){
// 锁定不能用0作为判断用2代替
if($status == 2){
$where['status'] = 0;
}else{
$where['status'] = $status;
}
}
if($export == 1){
$memo_list = Db::name('memo')->where('type', 'in', '1, 2')->where($where)->order('id desc')->select();
}else{
// 公告列表
$memo_list = Db::name('memo')->where('type', 'in', '1, 2')->where($where)->order('id desc')->paginate(10,false,array('query'=>$get));
}
foreach($memo_list as $k => $v){
$v['create_time'] = date('Y-m-d H:i:s',$v['create_time']);
$v['table_name'] = Db::name('table')->where('id',$v['table_id'])->value('table_name');
if($v['position'] == 1){
$v['position'] = "投注页面";
}
if($v['position'] == 2){
$v['position'] = "路单页面";
}
if($v['position'] == 3){
$v['position'] = "所有页面";
}
$memo_list[$k] = $v;
}
//导出excel列表
if($export == 1){
if($memo_list){
//重新组合
$excelData = array();
foreach($memo_list AS $k => $v){
$excelData[$k][0] = $v['table_name'];
$excelData[$k][1] = $v['title'];
$excelData[$k][2] = $v['url'];
$excelData[$k][3] = $v['content'];
$excelData[$k][4] = $v['remark'];
$excelData[$k][5] = $v['position'];
$excelData[$k][6] = $v['create_time'];
if($v['status'] == 1){
$excelData[$k][7] = '正常';
}else{
$excelData[$k][7] = '锁定中';
}
}
$title = array('桌子名称','标题','链接地址','内容','备注','显示位置','创建时间','状态');
$this->exportExcelCore($excelData, '公告列表', $title);
exit('已导出支持列表,请不要重复刷新该页面!');
}else{
exit('没有可以导出的列表!');
}
}
// 渲染参数和模板
$this->assign('memo_list',$memo_list);
return $this->fetch();
}
// 活动列表
public function activity(){
// 接收分页的条件
$get = Request::instance()->get();
$query = http_build_query($get);
$this->assign('get',$get);
$this->assign('query',$query);
// 接收搜索的条件信息
$title = Request::instance()->get('title');
$status = Request::instance()->get('status');
$export = Request::instance()->get('export');
// 拼装查询条件
$where = array();
if($title) $where['title'] = array('like','%'.$title.'%');
if($status > 0){
// 锁定不能用0作为判断用2代替
if($status == 2){
$where['status'] = 0;
}else{
$where['status'] = $status;
}
}
if($export == 1){
$memo_list = Db::name('memo')->where('type',2)->where($where)->order('id desc')->select();
}else{
// 活动列表
$memo_list = Db::name('memo')->where('type',2)->where($where)->order('id desc')->paginate(10,false,array('query'=>$get));
}
foreach($memo_list as $k => $v){
$v['create_time'] = date('Y-m-d H:i:s',$v['create_time']);
$v['table_name'] = Db::name('table')->where('id',$v['table_id'])->value('table_name');
if($v['position'] == 1){
$v['position'] = "投注页面";
}
if($v['position'] == 2){
$v['position'] = "路单页面";
}
if($v['position'] == 3){
$v['position'] = "所有页面";
}
$memo_list[$k] = $v;
}
//导出excel列表
if($export == 1){
if($memo_list){
//重新组合
$excelData = array();
foreach($memo_list AS $k => $v){
$excelData[$k][0] = $v['table_name'];
$excelData[$k][1] = $v['title'];
$excelData[$k][2] = $v['url'];
$excelData[$k][3] = $v['content'];
$excelData[$k][4] = $v['remark'];
$excelData[$k][5] = $v['position'];
$excelData[$k][6] = $v['create_time'];
if($v['status'] == 1){
$excelData[$k][7] = '正常';
}else{
$excelData[$k][7] = '锁定中';
}
}
$title = array('桌子名称','标题','链接地址','内容','备注','显示位置','创建时间','状态');
$this->exportExcelCore($excelData, '活动列表', $title);
exit('已导出支持列表,请不要重复刷新该页面!');
}else{
exit('没有可以导出的列表!');
}
}
// 渲染参数和模板
$this->assign('memo_list',$memo_list);
return $this->fetch();
}
// 添加公告
public function memo_add(){
$table_list = Db::name('table')->select();
$this->assign('table_list',$table_list);
return $this->fetch();
}
// 添加活动
public function activity_add(){
$table_list = Db::name('table')->select();
$this->assign('table_list',$table_list);
return $this->fetch();
}
// 处理添加公告和添加活动
public function do_memo_add()
{
if(Request::instance()->post()){
// 接收提交过来的数据
//$table_id = Request::instance()->post('table_id');
$title = Request::instance()->post('title');
//$url = Request::instance()->post('url');
//$content = Request::instance()->post('content');
//$position = Request::instance()->post('position');
//$remark = Request::instance()->post('remark');
$type = intval(Request::instance()->post('type')); //区分公告和活动 1:公告 2:活动
if( !isset($title) && empty($title) ){
die(json_encode(['code'=>0,'msg'=>'标题不能为空!']));
}
// 数据验证
/*
if($table_id == -1 || $table_id == ''){
die(json_encode(['code'=>0,'msg'=>'请选择桌子!']));
}
if( !isset($url) && empty($url) ){
die(json_encode(['code'=>0,'msg'=>'链接不能为空!']));
}
if( !isset($content) && empty($content) ){
die(json_encode(['code'=>0,'msg'=>'内容不能为空!']));
}
if($position == -1 || $position == ''){
die(json_encode(['code'=>0,'msg'=>'请选择公告位置!']));
}
if( !isset($remark) && empty($remark) ){
die(json_encode(['code'=>0,'msg'=>'备注不能为空!']));
}
*/
// 拼装数据
$data = array();
$data['type'] = $type;
$data['title'] = $title;
/*
$data['table_id'] = $table_id;
$data['url'] = $url;
$data['content'] = $content;
$data['position'] = $position;
$data['remark'] = $remark;
$data['status'] = 1;
*/
$data['create_time'] = time();
/*
if($data['table_id'] == 'all'){
$all_table = Db::name('table')->select();
foreach($all_table as $k => $v){
$data['table_id'] = $v['id'];
$insert_id = Db::name('memo')->insertGetId($data);
if(!$insert_id){
die(json_encode(['code'=>0,'msg'=>$v['table_name'].'添加失败!']));
}
// 写入管理员日志
if($type == 1){
insertAdminLog('添加公告','添加公告:| ID: '.$insert_id.' | 标题: '.$title);
}elseif($type == 2){
insertAdminLog('添加活动','添加活动:| ID: '.$insert_id.' | 标题: '.$title);
}
}
}else if($data['table_id'] == 'all_baccarat'){
$all_table = Db::name('table')->where('game_id',1)->select();
foreach($all_table as $k => $v){
$data['table_id'] = $v['id'];
$insert_id = Db::name('memo')->insertGetId($data);
if(!$insert_id){
die(json_encode(['code'=>0,'msg'=>$v['table_name'].'添加失败!']));
}
// 写入管理员日志
if($type == 1){
insertAdminLog('添加公告','添加公告:| ID: '.$insert_id.' | 标题: '.$title);
}elseif($type == 2){
insertAdminLog('添加活动','添加活动:| ID: '.$insert_id.' | 标题: '.$title);
}
}
}else if($data['table_id'] == 'all_dt'){
$all_table = Db::name('table')->where('game_id',2)->select();
foreach($all_table as $k => $v){
$data['table_id'] = $v['id'];
$insert_id = Db::name('memo')->insertGetId($data);
if(!$insert_id){
die(json_encode(['code'=>0,'msg'=>$v['table_name'].'添加失败!']));
}
// 写入管理员日志
if($type == 1){
insertAdminLog('添加公告','添加公告:| ID: '.$insert_id.' | 标题: '.$title);
}elseif($type == 2){
insertAdminLog('添加活动','添加活动:| ID: '.$insert_id.' | 标题: '.$title);
}
}
}else{
*/
$insert_id = Db::name('memo')->insertGetId($data);
if(!$insert_id){
die(json_encode(['code'=>0,'msg'=>'添加失败!']));
}
// 写入管理员日志
if($type == 1){
insertAdminLog('添加公告','添加公告:| ID: '.$insert_id.' | 标题: '.$title);
}elseif($type == 2){
insertAdminLog('添加活动','添加活动:| ID: '.$insert_id.' | 标题: '.$title);
}
die(json_encode(['code'=>1,'msg'=>'添加成功!']));
/*
}
*/
}else{
die(json_encode(['code'=>0,'msg'=>'操作错误!']));
}
}
// 编辑公告
public function memo_edit()
{
// 接收代理ID查询代理信息
$id = Request::instance()->get('id');
$memo = Db::name('memo')->find($id);
$table = Db::name('table')->find($memo['table_id']);
// 渲染参数和模板
$this->assign('memo',$memo);
$this->assign('table',$table);
return $this->fetch();
}
// 编辑活动
public function activity_edit()
{
// 接收代理ID查询代理信息
$id = Request::instance()->get('id');
$memo = Db::name('memo')->find($id);
// 渲染参数和模板
$this->assign('memo',$memo);
return $this->fetch();
}
// 处理修改公告和修改活动
public function do_memo_edit()
{
if(Request::instance()->post()){
// 接收提交过来的数据
$id = intval(Request::instance()->post('id'));
$title = Request::instance()->post('title');
/*
$url = Request::instance()->post('url');
$content = Request::instance()->post('content');
$remark = Request::instance()->post('remark');
$position = Request::instance()->post('position');
*/
$type = Request::instance()->post('type'); //区分公告和活动 1:公告 2:活动
// 数据验证
if( !isset($title) && empty($title) ){
die(json_encode(['code'=>0,'msg'=>'标题不能为空!']));
}
/*
if( !isset($content) && empty($content) ){
die(json_encode(['code'=>0,'msg'=>'内容不能为空!']));
}
*/
// 拼装数据
$data = array();
$data['type'] = $type;
$data['title'] = $title;
/*
$data['url'] = $url;
$data['content'] = $content;
$data['remark'] = $remark;
$data['position'] = $position;
$data['status'] = 1;
*/
$data['create_time'] = time();
$insert_id = Db::name('memo')->where('id',$id)->update($data);
if($insert_id){
// 写入管理员日志
if($type == 1){
insertAdminLog('修改公告','修改公告:| ID: '.$insert_id.' | 标题: '.$title);
}elseif($type == 2){
insertAdminLog('修改活动','修改活动:| ID: '.$insert_id.' | 标题: '.$title);
}
die(json_encode(['code'=>1,'msg'=>'修改成功!']));
}else{
die(json_encode(['code'=>0,'msg'=>'修改失败!']));
}
}else{
die(json_encode(['code'=>0,'msg'=>'操作错误!']));
}
}
/**
* 修改状态(锁定和解锁)
*/
public function change_status()
{
if(Request::instance()->post()){
// 接收传过来的数据
$id = Request::instance()->post('id');
$status = Request::instance()->post('status');
$type = Request::instance()->post('type');
// 数据验证
if( !isset($id) && empty($id) ){
die(json_encode(['code'=>0,'msg'=>'用户不能为空!']));
}
if( !isset($status) && empty($status) ){
die(json_encode(['code'=>0,'msg'=>'状态不能为空!']));
}
// 修改用户状态
$result = Db::name('memo')->where('id',$id)->update(['status'=>$status]);
if($status == 1) $msg = "解锁";
if($status == 0) $msg = "锁定";
if($type == 1) $type_msg = "公告";
if($type == 2) $type_msg = "活动";
if($result){
insertAdminLog($msg.$type_msg,$msg.$type_msg.": | ID: ".$id);
die(json_encode(['code'=>1,'msg'=>$msg.'成功!']));
}else{
die(json_encode(['code'=>0,'msg'=>$msg.'失败!']));
}
}else{
die(json_encode(['code'=>0,'msg'=>'操作错误!']));
}
}
/**
* 删除公告或者活动
*/
public function delete()
{
if(Request::instance()->post()){
// 接收数据
$id = Request::instance()->post('id');
$type = Request::instance()->post('type');
// 删除公告或者活动
$result = Db::name('memo')->delete($id);
if($result){
if($type == 1) $type_msg = "公告";
if($type == 2) $type_msg = "活动";
insertAdminLog('删除'.$type_msg,"删除".$type_msg." | ID: ".$id);
die(json_encode(['code'=>1,'msg'=>'删除成功!']));
}else{
die(json_encode(['code'=>1,'msg'=>'删除失败!']));
}
}else{
die(json_encode(['code'=>0,'msg'=>'操作错误!']));
}
}
public function memo_print(){
$get = Request::instance()->get();
$query = http_build_query($get);
$title = Request::instance()->get('title');
$status = Request::instance()->get('status');
$where = array();
if($title) $where['title'] = array('like','%'.$title.'%');
if($status > 0){
// 锁定不能用0作为判断用2代替
if($status == 2){
$where['status'] = 0;
}else{
$where['status'] = $status;
}
}
$memo_list = Db::name('memo')->where('type',1)->where($where)->order('id desc')->select();
foreach($memo_list as $k => $v){
$v['create_time'] = date('Y-m-d H:i:s',$v['create_time']);
$v['table_name'] = Db::name('table')->where('id',$v['table_id'])->value('table_name');
if($v['position'] == 1){
$v['position'] = "投注页面";
}
if($v['position'] == 2){
$v['position'] = "路单页面";
}
if($v['position'] == 3){
$v['position'] = "所有页面";
}
$memo_list[$k] = $v;
}
$this->assign('memo_list',$memo_list);
return $this->fetch();
}
public function activity_print(){
$get = Request::instance()->get();
$query = http_build_query($get);
$title = Request::instance()->get('title');
$status = Request::instance()->get('status');
$where = array();
if($title) $where['title'] = array('like','%'.$title.'%');
if($status > 0){
// 锁定不能用0作为判断用2代替
if($status == 2){
$where['status'] = 0;
}else{
$where['status'] = $status;
}
}
$memo_list = Db::name('memo')->where('type',2)->where($where)->order('id desc')->select();
foreach($memo_list as $k => $v){
$v['create_time'] = date('Y-m-d H:i:s',$v['create_time']);
$v['table_name'] = Db::name('table')->where('id',$v['table_id'])->value('table_name');
if($v['position'] == 1){
$v['position'] = "投注页面";
}
if($v['position'] == 2){
$v['position'] = "路单页面";
}
if($v['position'] == 3){
$v['position'] = "所有页面";
}
$memo_list[$k] = $v;
}
$this->assign('memo_list',$memo_list);
return $this->fetch();
}
}