UploadController.php 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355
  1. <?php
  2. namespace App\Http\Controllers;
  3. use Carbon\Carbon;
  4. use Illuminate\Http\Request;
  5. use Illuminate\Support\Facades\Auth;
  6. use Illuminate\Support\Facades\DB;
  7. use Illuminate\Support\Facades\Log;
  8. class UploadController extends Controller{
  9. public function success_all(Request $request){
  10. if ($request->war_name=='请选择战区'){
  11. $data=DB::table('inte_review')->join('user','user.id','=','inte_review.uid')
  12. ->where('inte_review.season',$request->season)
  13. ->where('inte_review.time','>','1573228799')
  14. ->select('inte_review.id','user.avatar','user.phone','user.nickname','inte_review.*')->orderByDesc('inte_review.created_at')
  15. ->paginate(15);
  16. }else{
  17. $data=DB::table('inte_review')->join('user','user.id','=','inte_review.uid')
  18. ->join('service','user.up_phone','=','service.phone')
  19. ->join('war_zone','war_zone.uid','=','service.uid')
  20. ->where('war_zone.war_name',$request->war_name)
  21. ->where('inte_review.season',$request->season)
  22. ->where('inte_review.time','>','1573228799')
  23. ->select('inte_review.id','user.phone','user.avatar','user.nickname','inte_review.*')->orderByDesc('inte_review.created_at')
  24. ->paginate(15);
  25. }
  26. $all=[];
  27. $datas=$data->items();
  28. if ($data){
  29. foreach ($datas as $k=>$v){
  30. $all[$k]['id']=$v->id;
  31. $all[$k]['time']=strtotime($v->created_at)*1000;
  32. $all[$k]['img']=$v->imgurl;
  33. $all[$k]['hard']=$v->type_one;
  34. $all[$k]['simple']=$v->type_two;
  35. $all[$k]['old']=$v->type_three;
  36. $all[$k]['order_num']=$v->number;
  37. $all[$k]['score']=$v->integral;
  38. $all[$k]['phone']=$v->phone;
  39. $all[$k]['type']=$v->status;
  40. $all[$k]['avatar']=$v->avatar;
  41. $all[$k]['nickname']=$v->nickname;
  42. $all[$k]['money']=$v->figure;
  43. }
  44. $total=$data->total();
  45. return $this->success_list($all,'ok',$total);
  46. }
  47. return $this->success_list([]);
  48. }
  49. public function search(Request $request){
  50. $string=$request->phone;
  51. if (is_numeric($string)){
  52. $s='user.phone';
  53. if (mb_strlen($string,'utf-8')>20){
  54. $data=DB::table('inte_review')
  55. ->join('user','user.id','=','inte_review.uid')
  56. ->where('inte_review.number','=',$string)
  57. // ->where('inte_review.time','>','1573228799')
  58. ->where('inte_review.season','=',$request->season)
  59. ->select('inte_review.id','user.avatar','user.phone','user.nickname','inte_review.created_at','inte_review.imgurl','inte_review.type_one','inte_review.type_two','inte_review.type_three','inte_review.number','inte_review.integral','inte_review.status','inte_review.figure')
  60. ->orderByDesc('created_at')->paginate(15);
  61. $all=[];
  62. if ($data){
  63. foreach ($data as $k=>$v){
  64. $all[$k]['id']=$v->id;
  65. $all[$k]['time']=strtotime($v->created_at)*1000;
  66. $all[$k]['img']=$v->imgurl;
  67. $all[$k]['hard']=$v->type_one;
  68. $all[$k]['simple']=$v->type_two;
  69. $all[$k]['old']=$v->type_three;
  70. $all[$k]['order_num']=$v->number;
  71. $all[$k]['score']=$v->integral;
  72. $all[$k]['type']=$v->status;
  73. $all[$k]['phone']=$v->phone;
  74. $all[$k]['avatar']=$v->avatar;
  75. $all[$k]['nickname']=$v->nickname;
  76. $all[$k]['money']=$v->figure;
  77. }
  78. $total=$data->total();
  79. }else{
  80. $total=0;
  81. }
  82. return $this->success_list($all,'ok',$total);
  83. }
  84. }else{
  85. $s='user.nickname';
  86. }
  87. if ($request->status==1){
  88. $data=DB::table('fail')
  89. ->join('user','user.id','=','fail.uid')
  90. ->where($s,'like','%'.$request->phone.'%')
  91. ->where('fail.status',0)
  92. ->where('fail.season',$request->season)
  93. ->where('fail.time','>','1573228799')
  94. ->select('fail.id','user.phone','user.avatar','user.nickname','fail.created_at','fail.imgurl','fail.type_one','fail.type_two','fail.type_three','fail.number','fail.remark','fail.figure')
  95. ->orderByDesc('created_at')->paginate(15);
  96. $all=[];
  97. if ($data){
  98. foreach ($data as $k=>$v){
  99. $all[$k]['id']=$v->id;
  100. $all[$k]['time']=strtotime($v->created_at)*1000;
  101. $all[$k]['img']=$v->imgurl;
  102. $all[$k]['hard']=$v->type_one;
  103. $all[$k]['simple']=$v->type_two;
  104. $all[$k]['old']=$v->type_three;
  105. $all[$k]['order_num']=$v->number;
  106. $all[$k]['phone']=$v->phone;
  107. $all[$k]['nickname']=$v->nickname;
  108. $all[$k]['money']=$v->figure;
  109. $all[$k]['avatar']=$v->avatar;
  110. $all[$k]['remark']=$v->remark;
  111. }
  112. $total=$data->total();
  113. }else{
  114. $total=0;
  115. }
  116. return $this->success_list($all,'ok',$total);
  117. }
  118. if ($request->status==0){
  119. $data=DB::table('inte_review')
  120. ->join('user','user.id','=','inte_review.uid')
  121. ->where($s,'like','%'.$request->phone.'%')
  122. ->where('inte_review.time','>','1573228799')
  123. ->where('inte_review.season','=',$request->season)
  124. ->select('inte_review.id','user.avatar','user.phone','user.nickname','inte_review.created_at','inte_review.imgurl','inte_review.type_one','inte_review.type_two','inte_review.type_three','inte_review.number','inte_review.integral','inte_review.status','inte_review.figure')
  125. ->orderByDesc('created_at')->paginate(15);
  126. $all=[];
  127. if ($data){
  128. foreach ($data as $k=>$v){
  129. $all[$k]['id']=$v->id;
  130. $all[$k]['time']=strtotime($v->created_at)*1000;
  131. $all[$k]['img']=$v->imgurl;
  132. $all[$k]['hard']=$v->type_one;
  133. $all[$k]['simple']=$v->type_two;
  134. $all[$k]['old']=$v->type_three;
  135. $all[$k]['order_num']=$v->number;
  136. $all[$k]['score']=$v->integral;
  137. $all[$k]['type']=$v->status;
  138. $all[$k]['phone']=$v->phone;
  139. $all[$k]['avatar']=$v->avatar;
  140. $all[$k]['nickname']=$v->nickname;
  141. $all[$k]['money']=$v->figure;
  142. }
  143. $total=$data->total();
  144. }else{
  145. $total=0;
  146. }
  147. return $this->success_list($all,'ok',$total);
  148. }
  149. else{
  150. $datas=DB::table('fail')
  151. ->join('user','user.id','=','fail.uid')
  152. ->where($s,'like','%'.$request->phone.'%')
  153. ->where('fail.type','<>',0)
  154. ->where('fail.season','=',$request->season)
  155. ->where('fail.time','>','1573228799')
  156. ->select('user.nickname','user.phone','user.avatar','fail.note','fail.type','fail.type_one as hard','fail.imgurl as img','fail.type_two as simple','fail.type_three as old','fail.remark','fail.figure as money','fail.number as order_num','fail.created_at as time')
  157. ->paginate(15);
  158. }
  159. return $this->success_list($datas->items(),'0',$datas->total());
  160. }
  161. public function change_inte(Request $request){
  162. $uid=DB::table('inte_review')->where('id',$request->id)->value('uid');
  163. $num=DB::table('inte_review')->where('id',$request->id)->first();
  164. $count=$num->type_one+$num->type_two+$num->type_three;
  165. $count_change=$request->hard+$request->simple+$request->old;
  166. DB::table('inte_review')->where('id',$request->id)->update([
  167. 'type_one'=>$request->hard,
  168. 'type_two'=>$request->simple,
  169. 'type_three'=>$request->old,
  170. 'integral'=>$count_change*10,
  171. ]);
  172. DB::table('inte_log')->where('imgurl',$num->imgurl)->update([
  173. // 'type_one'=>$request->hard,
  174. // 'type_two'=>$request->simple,
  175. // 'type_three'=>$request->old,
  176. 'integral'=>$count_change*10,
  177. 'remarks'=>Auth::user()->name
  178. ]);
  179. $count_now=$count_change-$count;
  180. DB::table('user')->where('id',$uid)->increment('integral',10*$count_now);
  181. return $this->success([]);
  182. }
  183. public function fail_all(Request $request){
  184. if ($request->war_name=='请选择战区'){
  185. $datas=DB::table('fail')->join('user','user.id','=','fail.uid')
  186. ->where('fail.status',0)
  187. ->where('fail.season',$request->season)
  188. ->select('fail.id','user.nickname as nickname','user.avatar','user.phone','fail.figure as money','fail.imgurl as img','fail.type_one as hard','fail.type_two as simple','fail.type_three as old','fail.season','fail.number as order_num','fail.remark','fail.time as time')->orderByDesc('fail.created_at')
  189. ->paginate(15);
  190. }else{
  191. $datas=DB::table('fail')->join('user','user.id','=','fail.uid')
  192. ->join('service','user.up_phone','=','service.phone')
  193. ->join('war_zone','war_zone.uid','=','service.uid')
  194. ->where('war_zone.war_name',$request->war_name)
  195. ->where('fail.time','>','1573228799')
  196. ->where('fail.status',0)
  197. ->where('fail.season',$request->season)
  198. ->select('fail.id','user.nickname as nickname','user.avatar','user.phone','fail.figure as money','fail.imgurl as img','fail.type_one as hard','fail.type_two as simple','fail.type_three as old','fail.season','fail.number as order_num','fail.remark','fail.time as time')->orderByDesc('fail.created_at')
  199. ->paginate(15);
  200. }
  201. if ($datas->items()){
  202. $data=[];
  203. foreach ($datas as $k=>$v){
  204. $data[$k]['nickname']=$v->nickname;
  205. $data[$k]['id']=$v->id;
  206. $data[$k]['phone']=$v->phone;
  207. $data[$k]['avatar']=$v->avatar;
  208. // $data[$k]['note']=$v->note;
  209. $data[$k]['img']=$v->img;
  210. $data[$k]['hard']=$v->hard;
  211. $data[$k]['season']=$v->season;
  212. $data[$k]['simple']=$v->simple;
  213. $data[$k]['old']=$v->old;
  214. $data[$k]['avatar']=$v->avatar;
  215. $data[$k]['remark']=$v->remark;
  216. $data[$k]['money']=$v->money;
  217. $data[$k]['order_num']=$v->order_num;
  218. $data[$k]['time']=date('Y-m-d H:i:s',$v->time);
  219. }
  220. return $this->success_list($data,'ok',$datas->total());
  221. }
  222. return $this->success_list([]);
  223. }
  224. public function judge(Request $request){
  225. $input=$request->all();
  226. Log::error('{--------审核记录开始--------}'.Auth::user()->name.'{--------参数--------}'.'{-----------审核记录----------}'.Carbon::now()->toDateTimeString());
  227. Log::error(json_encode($input));
  228. if ($request->type==0){
  229. // $data=DB::table('fail')->where('id',$request->id)->first();
  230. $s=DB::table('inte_review')->where('number',$request->order_num)->first();
  231. if ($s){
  232. // DB::table('fail')->where('id',$request->id)->update([
  233. // 'status'=>1,
  234. // 'note'=>Auth::user()->name,
  235. // 'type'=>1,
  236. // 'time'=>$request->time
  237. // ]);
  238. Log::error('{--------审核记录--------}'.Auth::user()->name.'{-------无效二次判断----审核记录----------}'.Carbon::now()->toDateTimeString());
  239. return $this->error(300);
  240. }
  241. DB::table('fail')->where('id',$request->id)->update([
  242. 'status'=>1,
  243. 'note'=>Auth::user()->name,
  244. 'type'=>2,
  245. 'time'=>$request->time
  246. ]);
  247. }
  248. if ($request->type==1){
  249. $data=DB::table('fail')->where('id',$request->id)->first();
  250. $s=DB::table('inte_review')->where('number',$request->order_num)->first();
  251. if ($s){
  252. Log::error('{--------审核记录--------}'.Auth::user()->name.'{-------有效二次判断----审核记录----------}'.Carbon::now()->toDateTimeString());
  253. // DB::table('fail')->where('id',$request->id)->update([
  254. // 'status'=>1,
  255. // 'note'=>Auth::user()->name,
  256. // 'type'=>1,
  257. // 'time'=>$request->time
  258. // ]);
  259. return $this->error(300);
  260. }
  261. $re=DB::table('fail')->where('id',$request->id)->update([
  262. 'status'=>1,
  263. 'note'=>Auth::user()->name,
  264. 'type'=>1,
  265. 'time'=>$request->time
  266. ]);
  267. Log::error('{--------审核记录--------}'.Auth::user()->name.'{-----------审核记录----------}'.Carbon::now()->toDateTimeString());
  268. // $data=DB::table('fail')->where('id',$request->id)->first();
  269. $inte=($request->hard+$request->simple+$request->old)*10;
  270. if ($re){
  271. DB::table('inte_review')->insert([
  272. 'uid'=>$data->uid,
  273. 'integral'=>$inte,
  274. 'imgurl'=>$data->imgurl,
  275. 'status'=>Auth::user()->name,
  276. 'season'=>$request->season,
  277. 'type_one'=>$request->hard,
  278. 'type_two'=>$request->simple,
  279. 'type_three'=>$request->old,
  280. 'number'=>$request->order_num,
  281. 'figure'=>$request->money,
  282. 'created_at'=>Carbon::now()->toDateTimeString(),
  283. 'time'=>$request->time
  284. ]);
  285. Log::error('{------插入记录返回结果------}'.$re.'{--------返回结果--------}');
  286. DB::table('inte_log')->insert([
  287. 'uid'=>$data->uid,
  288. 'season'=>$data->season,
  289. 'type'=>1,
  290. 'imgurl'=>$data->imgurl,
  291. 'integral'=>$inte,
  292. 'created_at'=>Carbon::now()->toDateTimeString(),
  293. 'updated_at'=>Carbon::now()->toDateTimeString(),
  294. 'time'=>$request->time
  295. ]);
  296. Log::error('{------插入学分返回结果------}'.'{--------返回结果--------}');
  297. DB::table('user')->where('id',$data->uid)->increment('integral',$inte);
  298. DB::table('user')->where('id',$data->uid)->increment('money',$request->money);
  299. DB::table('user')->where('id',$data->uid)->increment('total',$inte/10);
  300. Log::error('{--------审核记录结束--------}'.Auth::user()->name.'{-----------审核记录----------}'.Carbon::now()->toDateTimeString());
  301. }
  302. }
  303. return $this->success([]);
  304. }
  305. /*----判定记录---*/
  306. public function record(Request $request){
  307. if ($request->war_name=='请选择战区'){
  308. $data=DB::table('fail')
  309. ->join('user','user.id','=','fail.uid')
  310. ->where('fail.type','<>',0)
  311. ->where('fail.season',$request->season)
  312. ->select('fail.id','user.nickname','user.phone','user.avatar','fail.note','fail.type','fail.type_one as hard','fail.type_two as simple','fail.type_three as old','fail.imgurl as img','fail.remark','fail.figure as money','fail.number as order_num','fail.created_at as time')
  313. ->paginate(15);
  314. return $this->success_list($data->items(),'0',$data->total());
  315. }else{
  316. $data=DB::table('fail')
  317. ->join('user','user.id','=','fail.uid')
  318. ->join('service','user.up_phone','=','service.phone')
  319. ->join('war_zone','war_zone.uid','=','service.uid')
  320. ->where('war_zone.war_name',$request->war_name)
  321. ->where('fail.type','<>',0)
  322. ->where('fail.season',$request->season)
  323. ->select('fail.id','user.nickname','user.phone','user.avatar','fail.note','fail.type','fail.type_one as hard','fail.type_two as simple','fail.type_three as old','fail.imgurl as img','fail.remark','fail.figure as money','fail.number as order_num','fail.created_at as time')
  324. ->paginate(15);
  325. return $this->success_list($data->items(),'0',$data->total());
  326. }
  327. }
  328. }