SchoolPhysicalExamination/application/admin/controller/Notice.php

441 lines
18 KiB
PHP
Raw Normal View History

2024-12-07 18:56:07 +08:00
<?php
namespace app\admin\controller;
use think\Controller;
use think\Db;
use app\bj\controller\Common;
use think\Log;
use \think\Validate;
class Notice extends Base{
protected $page_num = 10;
protected $file_max_pic = 1024*1024*5;//xxxMB
protected $information_msg_list_arr = [
'1' => '身高管理',
'2' => '体重管理',
'3' => '肺活训练',
'4' => '跳绳训练',
'5' => '中考体测',
'6' => '公告',
];
###################################################banner图管理start###################################################
###################################################banner图管理start###################################################
###################################################banner图管理start###################################################
public function banner_index($page = 1){
$data = input();
$pd = true;
$parameter = [];
$parameter['scene_data'] = 3;
if(array_key_exists('tt', $data)){
$page = $data['page_num'];
unset($data['page_num']);
unset($data['tt']);
$pd = false;
// if($data['status_num'] === "0" || $data['status_num'] === "1"){
// $parameter['is_del'] = $data['status_num'];
// }
// if($data['tel']){
// $parameter['tel'] = $data['tel'];
// }
// if($data['email']){
// $parameter['email'] = $data['email'];
// }
// if($data['s_time']){
// $parameter['create_time'] = ['>=',$data['s_time']];
// }
// if($data['e_time']){
// $parameter['create_time'] = ['<=',$data['e_time']];
// }
}
$num = Db::table('admin_notice_banner')->where($parameter)->count();
$result = Db::table('admin_notice_banner')->where($parameter)->order('is_del,sort_num desc')->page($page,$this->page_num)->select();
// dump($result);
// die;
if(!$pd){
$return_result['num'] = $num;
$return_result['data'] = $result;
return $this->msg(0,'success',$return_result);
}
$this->assign([
'result' => $result,
'num' => $num,
]);
return $this->fetch();
}
public function banner_add(){
return $this->fetch();
}
public function banner_edit(){
}
public function banner_update_sort(){
}
public function banner_stop_run(){
}
###################################################banner图管理end###################################################
###################################################banner图管理end###################################################
###################################################banner图管理end###################################################
###################################################首页弹窗管理start###################################################
###################################################首页弹窗管理start###################################################
###################################################首页弹窗管理start###################################################
###################################################首页弹窗管理end###################################################
###################################################首页弹窗管理end###################################################
###################################################首页弹窗管理end###################################################
###################################################公告管理start###################################################
###################################################公告管理start###################################################
###################################################公告管理start###################################################
###################################################公告管理end###################################################
###################################################公告管理end###################################################
###################################################公告管理end###################################################
###################################################公共用接口start###################################################
###################################################公共用接口start###################################################
###################################################公共用接口start###################################################
// 简单文章信息列表浏览
public function information_msg_list($page = 1) {
$data = input();
$pd = true;
if(array_key_exists('page',$data)){
$page = $data['page'];
$pd = false;
}
$num = Db::table('admin_editor_text_content')->where(['is_del'=>0])->count();
$result = Db::table('admin_editor_text_content')->where(['is_del'=>0])->order('id desc')->page($page,10)->select();
foreach ($result as $key => $value) {
if(array_key_exists($value['type'], $this->information_msg_list_arr)){
$result[$key]['type'] = $this->information_msg_list_arr[$value['type']];
}
}
if(!$pd){
$return_result['num'] = $num;
$return_result['result'] = $result;
return $this->msg(0,'success',$return_result);
}
$this->assign([
'result' => $result,
'num' => $num,
]);
return $this->fetch();
}
###################################################公共用接口end###################################################
###################################################公共用接口end###################################################
###################################################公共用接口end###################################################
public function index($page = 1){
$data = input();
$pd = true;
$parameter = [];
// $parameter['is_del'] = 0;
if(array_key_exists('tt', $data)){
$page = $data['page_num'];
unset($data['page_num']);
unset($data['tt']);
$pd = false;
// if($data['status_num'] === "0" || $data['status_num'] === "1"){
// $parameter['is_del'] = $data['status_num'];
// }
// if($data['tel']){
// $parameter['tel'] = $data['tel'];
// }
// if($data['email']){
// $parameter['email'] = $data['email'];
// }
// if($data['s_time']){
// $parameter['create_time'] = ['>=',$data['s_time']];
// }
// if($data['e_time']){
// $parameter['create_time'] = ['<=',$data['e_time']];
// }
}
$num = Db::table('admin_editor_text_content')->where($parameter)->count();
$result = Db::table('admin_editor_text_content')->where($parameter)->order('is_del,id desc')->page($page,$this->page_num)->select();
if(!$pd){
$return_result['num'] = $num;
$return_result['data'] = $result;
return $this->msg(0,'success',$return_result);
}
$this->assign([
'result' => $result,
'num' => $num,
]);
return $this->fetch();
}
public function add_content(){
return $this->fetch();
}
public function edit_content(){
$data = input();
$result = Db::table('admin_editor_text_content')->where(['id'=>$data['id']])->find();
// $result['sector'] = explode(',',$result['sector']);
// dump($result);
// die;
// .replace(/'/g, '&apos;').replace(/"/g, '&quot;')
// $result['content'] = htmlspecialchars_decode($result['content']);
// $result['content'] = str_replace("'", "&apos;", $result['content']);
// $result['content'] = str_replace('"', '&quot;', $result['content']);
$this->assign([
'result' => $result,
'content' => $result['content'],
]);
return $this->fetch();
}
public function model_content(){
$data = input();
// $data['id'] = '3';
if(!array_key_exists('id', $data)){
return $this->msg(10001);
}
// 查看文章是否存在
$article_data = Db::table('admin_editor_text_content')->where(['id'=>$data['id']])->find();
if(!$article_data){
return $this->msg(10004);
}
$result = $article_data;
// 处理是否有过点赞
if(array_key_exists('token', $data)){
$result['token'] = $data['token'];
// 启动事务处理用户已读记录&文章阅读数
Db::startTrans();
try{
Db::table('admin_editor_text_content')->where(['id'=>$data['id']])->setInc('reading');
// 查看文章是否有被观看过
$is_like = Db::table('admin_editor_text_like_up_log')->where(['aetc_id'=>$data['id'],'token'=>$data['token']])->find();
if (!$is_like) {
// 如果不存在,则插入新记录
$save_data = ['token'=>$result['token'],'aetc_id'=>$data['id'],'create_time'=>date('Y-m-d H:i:s')];
Db::name('admin_editor_text_like_up_log')->insert($save_data);
}else{
Db::table('admin_editor_text_like_up_log')->where(['id'=>$is_like['id']])->setInc('reading');
}
// 提交事务
Db::commit();
} catch (\Exception $e) {
// 回滚事务
Db::rollback();
}
if($is_like){
if($is_like['is_like'] == 0){
// 用户没点赞
$result['user_like'] = 0;
}else{
// 用户点过点赞
$result['user_like'] = 1;
}
}else{
// 用户没点过赞
$result['user_like'] = 2;
}
}else{
// 没有用户信息提示要登录
Db::table('admin_editor_text_content')->where(['id'=>$data['id']])->setInc('reading');
$result['user_like'] = 3;
$result['token'] = '';
}
// dump($result);
// die;
$this->assign([
'result' => $result
]);
return $this->fetch();
}
################################################################action################################################################
################################################################action################################################################
################################################################action################################################################
// 添加咨询动作
public function add_content_action(){
$file = request()->file('cover_image');
$data = request()->param();
if(!array_key_exists('title', $data) || !array_key_exists('sector', $data) || !array_key_exists('type', $data) || !array_key_exists('content', $data)){
return $this->msg(10001);
}
$name = time().$file->getInfo()['name'];
$info = $file->move(ROOT_PATH . 'public' . DS . 'editor_upload' . DS . 'cover',$name);
if($info){
$result = Db::table('admin_editor_text_content')->insert([
'title'=>$data['title'],
'cover_image'=>"editor_upload/cover/".$name,
'content'=>$data['content'],
'create_time'=>date('Y-m-d H:i:s'),
'update_time'=>date('Y-m-d H:i:s'),
'sector'=>$data['sector'],
'type'=>$data['type'],
]);
if($result){
return $this->msg([]);
}else{
return $this->msg(10002);
}
}else{
return $this->msg(10002,$file->getError());
}
}
// 修改咨询动作
public function edit_content_action(){
$file = request()->file('cover_image');
$data = request()->param();
if(!array_key_exists('title', $data) || !array_key_exists('sector', $data) || !array_key_exists('type', $data) || !array_key_exists('content', $data)){
return $this->msg(10001);
}
if($file){
$name = time().$file->getInfo()['name'];
$info = $file->move(ROOT_PATH . 'public' . DS . 'editor_upload' . DS . 'cover',$name);
if($info){
$result = Db::table('admin_editor_text_content')->where(['id'=>$data['id']])->update([
'title'=>$data['title'],
'cover_image'=>"editor_upload/cover/".$name,
'content'=>$data['content'],
'update_time'=>date('Y-m-d H:i:s'),
'sector'=>$data['sector'],
'type'=>$data['type']
]);
if($result){
return $this->msg([]);
}else{
return $this->msg(10002);
}
}else{
return $this->msg(10002,$file->getError());
}
}else{
$result = Db::table('admin_editor_text_content')->where(['id'=>$data['id']])->update([
'title'=>$data['title'],
'content'=>$data['content'],
'update_time'=>date('Y-m-d H:i:s'),
'sector'=>$data['sector'],
'type'=>$data['type']
]);
if($result){
return $this->msg([]);
}else{
return $this->msg(10002);
}
}
}
// 修改排序动作
public function edit_order_action(){
$data = input();
if(!array_key_exists('id', $data) || !array_key_exists('data', $data) || !array_key_exists('str', $data)){
return $this->msg(10001);
}
$data['str'] = $data['str'] == 'loop'?'loop_img':'top_up';
$result = Db::table('admin_editor_text_content')->where(['id'=>$data['id']])->update([
$data['str']=>$data['data'],
'update_time'=>date('Y-m-d H:i:s'),
]);
if($result){
return $this->msg([]);
}else{
return $this->msg(10002);
}
}
// 上传图片动作
public function upload_pic_action(){
// $file1 = request()->file('file');
$file = request()->file('wangeditor-uploaded-image');
if($file){
$name = $file->getInfo()['name'];
// 使用 pathinfo() 函数获取文件名的扩展名
$pathinfo = pathinfo($name);
$extension = strtolower($pathinfo['extension']); // 转换为小写以进行不区分大小写的比较
// 判断扩展名是否不是 .png 或 .gif
if ($extension !== 'png' && $extension !== 'gif') {
// 修改文件名,将扩展名改为 .jpg
$new_filename = time().$pathinfo['filename'] . '.jpg';
} else {
$new_filename = time().$name;
}
$info = $file->move(ROOT_PATH . 'public' . DS . 'editor_upload' . DS . 'pic',$new_filename);
if($info){
$return_data = [
'errno'=>0,
'data'=>[
'url'=>'http://tc.pcxbc.com/editor_upload/pic/'.$new_filename,
]
];
return json($return_data);
}else{
// 上传失败获取错误信息
// echo $file->getError();
$return_data = [
'errno'=>9999,
'message'=>$file->getError()
];
return json($return_data);
}
}
}
// 上传视频动作
public function upload_video_action(){
// $file1 = request()->file('file');
$file = request()->file('wangeditor-uploaded-video');
// dump($file);
// die;
if($file){
$name = time().$file->getInfo()['name'];
$info = $file->move(ROOT_PATH . 'public' . DS . 'editor_upload' . DS . 'video',$name);
if($info){
$return_data = [
'errno'=>0,
'data'=>[
'url'=>'http://tc.pcxbc.com/editor_upload/video/'.$name,
]
];
return json($return_data);
}else{
// 上传失败获取错误信息
// echo $file->getError();
$return_data = [
'errno'=>9999,
'message'=>$file->getError()
];
return json($return_data);
}
}
}
// 停用启用动作
public function stop_action(){
$data = input();
if(is_array($data['id'])){
$data['id'] = implode(',',$data['id']);
$result = Db::table('admin_editor_text_content')->where("id in (".$data['id'].")")->update(['is_del'=>$data['is_del']]);
}else{
$result = Db::table('admin_editor_text_content')->where(['id'=>$data['id']])->update(['is_del'=>$data['is_del']]);
}
if($result){
return $this->msg(0,'success');
}else{
return $this->msg(10001,'success');
}
}
################################################################other################################################################
################################################################other################################################################
################################################################other################################################################
}