123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234 |
- <?php
- namespace App\Http\Controllers\Admin;
- use Illuminate\Support\Facades\DB;
- use Illuminate\Http\Request;
- use Illuminate\Support\Facades\Auth;
- use App\Http\Controllers\Controller;
- use Illuminate\Support\Facades\Validator;
- class InfoController extends Controller
- {
- public function __construct()
- {
- }
- /* 添加公告信息*/
- public function addInfo(Request $request){
- $input=$request->all();
- $rules=[
- 'title'=>'required|max:32',
- 'contents'=>'required'
- ];
- $messages=[
- 'title.required'=>'公告名称不能为空.',
- 'title.max'=>'公告名称不能超过 :max 个字符.',
- 'contents.required'=>'公告内容不能为空.',
- ];
- $validator = Validator::make($input, $rules,$messages);
- if($validator->fails()){
- return response()->json([
- 'error_code'=>'41113',
- 'msg'=>$validator->errors()->first()
- ]);
- }
- $data['title']=$input['title'];
- $data['contents']=$input['contents'];
- $data['adminid']=Auth::guard('admin')->user()->id;
- $data['added_on']=date("Y-m-d H:i:s");
- $data['is_top']=0;
- $data['updated_at']=date("Y-m-d H:i:s");
- $row=DB::table('infos')->insert($data);
- if($row){
- return response()->json([
- 'error_code' => 200,
- 'msg' => '添加成功'
- ]);
- } else {
- return response()->json([
- 'error_code' => 0,
- 'msg' => '添加失败'
- ]);
- }
- }
- /* 获取公告信息*/
- public function getInfoList(Request $request){
- $search_name = $request->search_name;
- $page_size = $request->page_size;
- $page_index = $request->page_index;
- $num = ($page_index - 1) * $page_size;
- $count = DB::table('infos')
- ->where('title', 'like', '%' . $search_name . '%')
- ->count();
- if ($count > 0) {
- $list = DB::table('infos')
- ->where('title', 'like', '%' . $search_name . '%')
- ->orderBy('is_top','desc')
- ->orderBy('top_at','desc')
- ->orderBy('id','desc')
- ->skip($num)->take($page_size)->get();
- if ($list) {
- return response()->json([
- 'error_code' => 200,
- 'msg' => '获取公告信息成功',
- 'list' => $list,
- 'count' => $count
- ]);
- } else {
- return response()->json([
- 'error_code' => 0,
- 'msg' => '获取公告信息失败'
- ]);
- }
- } else {
- return response()->json([
- 'error_code' => 200,
- 'msg' => '没有公告信息',
- 'list' => [],
- 'count' => $count
- ]);
- }
- }
- /* 公告置顶 */
- public function setInfoTop(Request $request){
- $input=$request->all();
- $is_top=$input['is_top'];
- $isTop=($is_top==1)?1:0;//
- $row=DB::table('infos')->where('id',$input['id'])->update([
- 'is_top'=>$isTop,
- 'top_at'=>date("Y-m-d H:i:s"),
- ]);
- if($row){
- return response()->json([
- 'error_code' => 200,
- 'msg' => '操作成功'
- ]);
- } else {
- return response()->json([
- 'error_code' => 0,
- 'msg' => '操作失败'
- ]);
- }
- }
- /*删除公告信息*/
- public function deleteInfo(Request $request){
- $input=$request->all();
- $row=DB::table('infos')->where('id',$input['id'])->delete();
- if($row){
- return response()->json([
- 'error_code' => 200,
- 'msg' => '删除成功'
- ]);
- } else {
- return response()->json([
- 'error_code' => 0,
- 'msg' => '删除失败'
- ]);
- }
- }
- /*获取公告信息*/
- public function getInfoContent(Request $request){
- $input=$request->all();
- $data=DB::table('infos')->where('id',$input['id'])->first();
- if($data){
- return response()->json([
- 'error_code' => 200,
- 'msg' => '获取成功',
- 'data' =>$data
- ]);
- } else {
- return response()->json([
- 'error_code' => 0,
- 'msg' => '获取失败'
- ]);
- }
- }
- /*修改公告信息*/
- public function updateInfoContent(Request $request){
- $input=$request->all();
- $rules=[
- 'title'=>'required|max:32',
- 'contents'=>'required'
- ];
- $messages=[
- 'title.required'=>'公告名称不能为空.',
- 'title.max'=>'公告名称不能超过 :max 个字符.',
- 'contents.required'=>'公告内容不能为空.',
- ];
- $validator = Validator::make($input, $rules,$messages);
- if($validator->fails()){
- return response()->json([
- 'error_code'=>'41113',
- 'msg'=>$validator->errors()->first()
- ]);
- }
- $data['title']=$input['title'];
- $data['contents']=$input['contents'];
- $data['adminid']=Auth::guard('admin')->user()->id;;
- $data['updated_at']=date("Y-m-d H:i:s");
- $row=DB::table('infos')->where('id',$input['id'])->update($data);
- if($row){
- return response()->json([
- 'error_code' => 200,
- 'msg' => '修改成功',
- ]);
- } else {
- return response()->json([
- 'error_code' => 0,
- 'msg' => '修改失败'
- ]);
- }
- }
- /* 意见反馈*/
- public function getOptionsInfo(Request $request){
- $search_name = $request->search_name;
- $page_size = $request->page_size;
- $page_index = $request->page_index;
- $num = ($page_index - 1) * $page_size;
- $count = DB::table('options')
- ->where(function ($query) use ($search_name) {
- $query->where('users.name', 'like', '%' . $search_name . '%')
- ->orWhere('users.telphone', 'like', '%' . $search_name . '%')
- ->orWhere('users.cre_num', 'like', '%' . $search_name . '%');
- })
- ->join('users','users.id','=','options.uid')
- ->count();
- if ($count > 0) {
- $list = DB::table('options')
- ->join('users','users.id','=','options.uid')
- ->where(function ($query) use ($search_name) {
- $query->where('users.name', 'like', '%' . $search_name . '%')
- ->orWhere('users.telphone', 'like', '%' . $search_name . '%')
- ->orWhere('users.cre_num', 'like', '%' . $search_name . '%');
- })
- ->orderBy('options.id','desc')
- ->skip($num)->take($page_size)->get();
- if ($list) {
- return response()->json([
- 'error_code' => 200,
- 'msg' => '获取意见反馈成功',
- 'list' => $list,
- 'count' => $count
- ]);
- } else {
- return response()->json([
- 'error_code' => 0,
- 'msg' => '获取意见反馈失败'
- ]);
- }
- } else {
- return response()->json([
- 'error_code' => 200,
- 'msg' => '没有意见反馈',
- 'list' => [],
- 'count' => $count
- ]);
- }
- }
- }
|