InfoController.php 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216
  1. <?php
  2. namespace Modules\Manager\Http\Controllers;
  3. use App\Models\Info;
  4. use Illuminate\Support\Facades\Auth;
  5. use Illuminate\Support\Facades\Log;
  6. use Illuminate\Http\Request;
  7. use Intervention\Image\Image;
  8. use Zxing\QrReader;
  9. class InfoController extends Controller
  10. {
  11. //获取公告信息列表
  12. public function getInfoList(Request $request){
  13. // $arr=["title"=>"买家已下单赶紧去发货吧",
  14. // "money"=> "14956",
  15. // "name"=> "张夏利",
  16. // "phone"=> "15266666666",
  17. // "address"=> "河南省郑州市经开区大十五大街炒河街道华夏校区竹林苑",
  18. // "time"=> "2021-12-20 08:59:00",
  19. // "url"=> "/index/index"
  20. // ];
  21. // Info::whereIn('id',[32,43])->update([
  22. // 'contents'=>json_encode($arr)
  23. // ]);
  24. //
  25. // exit;
  26. // return $this->success(json_encode($arr));
  27. $input=$request->all();
  28. $page_size=$input['page_size'];
  29. $page_index=$input['page_index'];
  30. $num = ($page_index - 1) * $page_size;
  31. $search_name=$input['search_name'];
  32. $where=[];
  33. $count=Info::where($where)->where('type',1)
  34. ->count();
  35. if($count==0){
  36. $this->error('400001','没有数据');
  37. }
  38. $list=Info::where($where)->where('type',1)
  39. ->orderBy('is_top','desc')
  40. ->orderBy('top_at','desc')
  41. ->orderBy('created_at', 'desc')
  42. ->skip($num)->take($page_size)
  43. ->get();
  44. if(empty($list)){
  45. return $this->error('400002','没有获取到数据');
  46. }
  47. return $this->success_list($list,'success',$count);
  48. }
  49. //添加公告信息
  50. public function uploadInfo(Request $request){
  51. $input=$request->all();
  52. // $data['title']=$input['title'];
  53. $data['adminid']=Auth::user()->id;
  54. $data['author']=$input['author'];
  55. $data['status']=1;
  56. $data['is_top']=0;// 1表示置顶,0表示不置顶
  57. $data['contents']=$input['contents'];
  58. $row=Info::create($data);
  59. if($row){
  60. Log::info('管理员:'.Auth::user()->name.'(id='.Auth::user()->id.')添加公告成功,公告id:'.$row->id);
  61. return $this->success([]);
  62. }
  63. return $this->error();
  64. }
  65. //截取简介
  66. function make_excerpt($value, $length = 200)
  67. {
  68. $excerpt = trim(preg_replace('/\r\n|\r|\n+/', ' ', strip_tags($value)));
  69. return str_limit($excerpt, $length);
  70. }
  71. //修改公告信息
  72. public function updateInfo(Request $request){
  73. $input=$request->all();
  74. // $data['title']=$input['title'];
  75. $data['adminid']=Auth::user()->id;
  76. $data['author']=$input['author'];
  77. $data['contents']=$input['contents'];
  78. $row=Info::where('id',$input['id'])->update($data);
  79. if($row){
  80. Log::info('管理员:'.Auth::user()->name.'(id='.Auth::user()->id.')修改公告成功,公告id:'.$input['id']);
  81. return $this->success([]);
  82. }
  83. return $this->error();
  84. }
  85. /* 公告置顶 */
  86. public function setInfoTop(Request $request){
  87. $input=$request->all();
  88. $info=Info::find($input['id']);
  89. $info->is_top=($info->is_top=='0')?'1':'0';
  90. $info->top_at=date("Y-m-d H:i:s");
  91. $row=$info->save();
  92. if($row){
  93. Log::info('管理员:'.Auth::user()->name.'(id='.Auth::user()->id.')置顶公告成功,公告id:'.$input['id']);
  94. return $this->success([]);
  95. } else {
  96. return $this->error();
  97. }
  98. }
  99. /* 公告禁用 */
  100. public function disableInfo(Request $request){
  101. $input=$request->all();
  102. $info=Info::find($input['id']);
  103. $info->disabled=($info->disabled==0)?1:0;
  104. $row=$info->save();
  105. if($row){
  106. Log::info('管理员:'.Auth::user()->name.'(id='.Auth::user()->id.')禁用公告成功,公告id:'.$input['id']);
  107. return $this->success([]);
  108. } else {
  109. return $this->error();
  110. }
  111. }
  112. //删除社区信息
  113. public function destoryInfo(Request $request){
  114. $input=$request->all();
  115. $info=Info::find($input['id']);
  116. $row=$info->delete();
  117. if($row){
  118. Log::info('管理员:'.Auth::user()->name.'(id='.Auth::user()->id.')删除公告成功,公告id:'.$input['id']);
  119. return $this->success([]);
  120. }
  121. return $this->error();
  122. }
  123. public function setType4Storage(){
  124. // $goods=UserStorage::where('user_id','39516')->select('id','sex','type','size')->get();
  125. //处理type==4库存
  126. // $user_ids=UserStorage::where('type',4)->groupBy('user_id')->pluck('user_id');
  127. // DB::transaction(function()use($user_ids,$goods){
  128. // foreach($user_ids as $key=>$val){
  129. // foreach($goods as $k=>$v){
  130. // $res=UserStorage::where('user_id',$val)->where('sex',$v->sex)->where('size',$v->size)->where('type',$v->type)->first();
  131. // if(empty($res)){
  132. // UserStorage::create([
  133. // 'user_id'=>$val,
  134. // 'sex'=>$v->sex,
  135. // 'size'=>$v->size,
  136. // 'type'=>$v->type,
  137. // 'num'=>0
  138. // ]);
  139. // }
  140. // }
  141. // }
  142. // UserStorage::where('type',4)->delete();
  143. // },5);
  144. //处理num < 32
  145. // $user_ids = UserStorage::select('user_id',DB::raw('count(*) as count'))->groupBy('user_id')->having('count','<','32')->pluck('user_id');
  146. // DB::transaction(function()use($user_ids,$goods){
  147. // foreach($user_ids as $key=>$val){
  148. // foreach($goods as $k=>$v){
  149. // $res=UserStorage::where('user_id',$val)->where('sex',$v->sex)->where('size',$v->size)->where('type',$v->type)->first();
  150. // if(empty($res)){
  151. // UserStorage::create([
  152. // 'user_id'=>$val,
  153. // 'sex'=>$v->sex,
  154. // 'size'=>$v->size,
  155. // 'type'=>$v->type,
  156. // 'num'=>0
  157. // ]);
  158. // }
  159. // }
  160. // }
  161. // },5);
  162. //处理num > 32
  163. // $user_ids = UserStorage::select('user_id',DB::raw('count(*) as count'))->groupBy('user_id')->having('count','>','32')->pluck('user_id');
  164. // DB::transaction(function()use($user_ids,$goods){
  165. // foreach($user_ids as $key=>$val){
  166. // foreach($goods as $k=>$v){
  167. // $res=UserStorage::where('user_id',$val)->where('sex',$v->sex)->where('size',$v->size)->where('type',$v->type)->count();
  168. // if($res<1){
  169. // UserStorage::create([
  170. // 'user_id'=>$val,
  171. // 'sex'=>$v->sex,
  172. // 'size'=>$v->size,
  173. // 'type'=>$v->type,
  174. // 'num'=>0
  175. // ]);
  176. // }elseif($res>1){
  177. // $min_id=UserStorage::where('user_id',$val)->where('sex',$v->sex)->where('size',$v->size)->where('type',$v->type)->min('id');
  178. // return $min_id;
  179. // UserStorage::where('user_id',$val)->where('sex',$v->sex)->where('size',$v->size)->where('type',$v->type)->where('id','!=',$min_id)->delete();
  180. // }
  181. // }
  182. // }
  183. // //商品规格不在正常范围
  184. // foreach($user_ids as $key=>$val){
  185. // $gs=UserStorage::where('user_id',$val)->get();
  186. // foreach($gs as $k=>$v){
  187. // $c=UserStorage::where('user_id','39516')->where('sex',$v->sex)->where('size',$v->size)->where('type',$v->type)->count();
  188. // if($c==0){
  189. // UserStorage::where('id',$v->id)->delete();
  190. // }
  191. // }
  192. // }
  193. // },5);
  194. }
  195. public function Scan(Request $request){
  196. $qrcode = new QrReader($request->file('image'));
  197. // $qrcode = new QrReader(public_path().'/5vnth2qdre82xszara98tm03p_0.jpg');
  198. $text = $qrcode->text();
  199. dd($text);
  200. }
  201. }