Kernel.php 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284
  1. <?php
  2. namespace App\Console;
  3. use App\Models\Address;
  4. use App\Models\Express;
  5. use App\Models\Ordertest;
  6. use App\Models\User;
  7. use Carbon\Carbon;
  8. use Illuminate\Console\Scheduling\Schedule;
  9. use Illuminate\Support\Facades\DB;
  10. use Laravel\Lumen\Console\Kernel as ConsoleKernel;
  11. use Illuminate\Support\Facades\Log;
  12. use mysql_xdevapi\Exception;
  13. class Kernel extends ConsoleKernel
  14. {
  15. /**
  16. * The Artisan commands provided by your application.
  17. *
  18. * @var array
  19. */
  20. protected $commands = [
  21. //
  22. ];
  23. /**
  24. * Define the application's command schedule.
  25. *
  26. * @param \Illuminate\Console\Scheduling\Schedule $schedule
  27. * @return void
  28. */
  29. protected function schedule(Schedule $schedule)
  30. {
  31. // $schedule->call(function (){
  32. // $Address=Address::where('is_deleted',0)->groupBy('mobile','province','address','user_id')->get();
  33. // foreach ($Address as $k=>$v){
  34. // $re=Address::where('mobile',$v->mobile)->where('address',$v->address)->orderByDesc('created_at')->where('is_deleted',0)->get(['id'])->toArray();
  35. //// if (count($re)>1){
  36. //// for ($i=1;$i<count($re);$i++){
  37. //// Address::where('id',$re[$i]['id'])->update(['is_deleted'=>1]);
  38. //// Log::error($re[$i]);
  39. //// }
  40. //// Log::error(json_encode($re));
  41. //// }
  42. // Log::error(json_encode($re));
  43. // }
  44. // })->everyMinute();
  45. $schedule->call(function (){
  46. // DB::table('users')->where('id','>',33249)->whereIn('cert_status',[3,6])->update(['level'=>1]);
  47. // $data=User::whereIn('cert_status',[3,6])->where('agent_id',null)->get();
  48. // foreach ($data as $k=>$v){
  49. // if ($v->level==1){
  50. // $level=User::where('id',$v->recom_id)->first();
  51. // if ($level->level==1){
  52. // DB::table('users')->where('id',$v->id)->update(['agent_id'=>$level->agent_id]);
  53. // }else{
  54. // DB::table('users')->where('id',$v->id)->update(['agent_id'=>$level->id]);
  55. // }
  56. // }
  57. // }
  58. // Log::error('{---处理完成----}');
  59. $data=User::whereNotIn('level',[0,3])->whereIn('status',[3,6])->get();
  60. $i=0;
  61. foreach ($data as $k=>$v){
  62. if ($v->recom_user->level>$v->level){
  63. if ($v->recom_id!=$v->agent_id){
  64. $i++;
  65. Log::error('____上级不正确___'.$v->mobile);
  66. }
  67. }elseif ($v->recom_user->level=$v->level){
  68. if ($v->agent_id!=$v->recom_user->agent_id){
  69. Log::error('____上级dengji不正确___'.$v->mobile);
  70. }
  71. }
  72. }
  73. Log::error('{--名称-处理完成----}'.$i);
  74. })->dailyAt('14:52');
  75. $schedule->call(function (){
  76. $data=Express::with(['get_order'])->get();
  77. foreach ($data as $k=>$v){
  78. $re=Express::find($v->id);
  79. $re->user_id=$v->get_order->user_id;
  80. $re->save();
  81. }
  82. })->everyMinute();
  83. // $schedule->call(function (){
  84. // Log::error('q');
  85. // $order=Ordertest::where('is_deleted',0)->with(['order_detail','get_pay'=>function($q){
  86. // $q->whereIn('type',[1,2]);
  87. // }])->get();
  88. // foreach ($order as $k=>$v){
  89. // $money=0;
  90. // $pay=0;
  91. // foreach ($v->order_detail as $ke=>$va){
  92. // $money+=$va->money;
  93. // }
  94. // foreach ($v->get_pay as $ke=>$value){
  95. // if ($value->type==1){
  96. // $pay+=$value->pay_money;
  97. // }else{
  98. // $pay-=$value->pay_money;
  99. // }
  100. //
  101. // }
  102. // if ($pay!=0){
  103. // if ($money!=$pay){
  104. // if ($pay!=$v->pay_money){
  105. // Log::error($v->order_num);
  106. // }
  107. //
  108. // }
  109. // }
  110. //
  111. // }
  112. // })->everyMinute();
  113. // $schedule->call(function (){
  114. // Log::error('{------开始----}');
  115. ////
  116. //// $user=DB::table('users')->where('id','>',58)->get();
  117. //// foreach ($user as $k=>$v) {
  118. //// DB::table('users')->where('id',$v->id)->update(['password'=>md5($v->mobile)]);
  119. //// }
  120. ////
  121. //// DB::select("truncate table users_copy1");
  122. //// DB::table('users_copy1')->insert(['mobile'=>'15220141101','name'=>'公司-company','nickname'=>'公司-company','level'=>0,'status'=>1,'cert_status'=>6]);
  123. // $data=DB::table('users')->where('id','>',31076)->get();
  124. //// $data=DB::select("select recom_code FROM users_copy1 GROUP BY recom_code HAVING COUNT(recom_code)>1;");
  125. //// $data=DB::table('app_user')->whereIn('id',['26536'])->get();
  126. //// DB::table('users_copy1')->update(['recom_id'=>null]);
  127. //// $data=DB::table('app_user_copy1')
  128. //// ->where('id','>',61828)
  129. //// ->get();
  130. // foreach ($data as $k=>$v){
  131. //// Log::error($v->nickanme);
  132. //// $re=DB::table('user_mai')->where('mobile',$v->cellphone)->value('recom_mobile');
  133. //// if ($re){
  134. // $phone=DB::table('app_user_copy1_copy1')->where('cellphone',$v->mobile)->value('upper_cellphone');
  135. // if ($phone){
  136. // $id=DB::table('users')->where('mobile',$phone)->value('id');
  137. // if ($id){
  138. // DB::table('users')->where('id',$v->id)->update(['agent_id'=>$id]);
  139. // }
  140. // }
  141. //
  142. // $phones=DB::table('app_user_copy1_copy1')->where('cellphone',$v->mobile)->value('recom_phone');
  143. // if ($phones){
  144. // $ids=DB::table('users')->where('mobile',$phones)->value('id');
  145. // if ($ids){
  146. // DB::table('users')->where('id',$v->id)->update(['recom_id'=>$ids]);
  147. // }
  148. // }
  149. //// if ($id){
  150. //// DB::table('users_copy1')->where('mobile',$v->cellphone)->update(['recom_id'=>$id]);
  151. //// }else{
  152. //// Log::error('{--users--不存在----}'.$v->id);
  153. //// }
  154. //// }else{
  155. //// Log::error('{--recom--不存在----}'.$v->id);
  156. //// }
  157. //// if (!$re){
  158. //// Log::error('{----不存在----}'.$v->id);
  159. //// }
  160. //// $re=DB::table('users_copy1')->where('recom_code',$v->recom_code)->get();
  161. //// foreach ($re as $key=>$val){
  162. //// $res=code($val->mobile);
  163. //// DB::table('users_copy1')->where('id',$val->id)->update(['recom_code'=>$res]);
  164. //// }
  165. //// $phone=DB::table('user_mai')->where('mobile','=',$v->upper_cellphone)->value('recom_mobile');
  166. //// if ($phone){
  167. //// $mobile=DB::table('users_demo')->where('id',$up_phone)->value('mobile');
  168. //// if ($mobile){
  169. //// $id=DB::table('users_copy1')->where('mobile',$v->upper_cellphone)->value('id');
  170. //// if ($id){
  171. //// DB::table('users_copy1')->where('id',$v->id)->update(['agent_id'=>$id]);
  172. //// }else{
  173. //// Log::error('{-------不存在-user_copy1---}'.$v->id);
  174. //// }
  175. ////// }
  176. ////// }else{
  177. ////// Log::error('{-------不存在--user_mai--}'.$v->id);
  178. ////// }
  179. ////
  180. ////
  181. //////// try {
  182. //// $re['name']=$v->name;
  183. //// $re['nickname']=$v->nickname;
  184. //// $re['realname']=$v->name;
  185. //// $re['mobile']=$v->cellphone;
  186. //// $re['cre_num']=$v->identity;
  187. //// $re['level']=judge_level_name($v->level_name);
  188. ////// if ($v->level_name=='皇冠代理'){
  189. ////// $re['agent_id']=1;
  190. ////// }else{
  191. //////
  192. ////// }
  193. //// $re['status']=0;
  194. //// $re['cert_status']=6;
  195. //// $re['recom_code']=$this->code($v->cellphone);
  196. //// $re['province']=$v->province;
  197. //// $re['city']=$v->city;
  198. //// $re['country']=$v->area;
  199. //// $re['headimgurl']='https://img.bosszhipin.com/beijin/mcs/chatphoto/20181102/e0e8b50969101987a84f1643716b41ffcfcd208495d565ef66e7dff9f98764da.jpg';
  200. //// $re['auth_code']=$this->auth_code($v->cellphone);
  201. ////// $re['recom_code']=$this->code($v->cellphone);
  202. //// $re['password']=md5($v->cellphone);
  203. //// $re['auth_startime']=Carbon::now()->firstOfMonth()->toDateTimeString();
  204. //// $re['auth_endtime']=Carbon::now()->addYear('1')->firstOfMonth()->toDateTimeString();
  205. //// if ($v->activation_time){
  206. //// $re['created_at']=date('Y-m-d H:i:s',strtotime($v->activation_time));
  207. //// $re['updated_at']=date('Y-m-d H:i:s',strtotime($v->activation_time));
  208. //// }else{
  209. //// $re['created_at']=Carbon::now()->toDateTimeString();
  210. //// $re['updated_at']=Carbon::now()->toDateTimeString();
  211. //// }
  212. //// $res=DB::table('users')->where('mobile',$v->mobile)->first();
  213. //// if (!$res){
  214. //// $re['name']=$v->name;
  215. //// $re['nickname']=$v->nickname;
  216. //// $re['realname']=$v->realname;
  217. //// $re['mobile']=$v->mobile;
  218. //// $re['cre_num']=$v->cre_num;
  219. //// $re['level']=$v->level;
  220. ////// if ($v->level_name=='皇冠代理'){
  221. ////// $re['agent_id']=1;
  222. ////// }else{
  223. //////
  224. ////// }
  225. //// $re['status']=0;
  226. //// $re['cert_status']=6;
  227. //// $re['recom_code']=$this->code($v->recom_code);
  228. //// $re['province']=$v->province;
  229. //// $re['city']=$v->city;
  230. //// $re['country']=$v->country;
  231. //// $re['headimgurl']='https://img.bosszhipin.com/beijin/mcs/chatphoto/20181102/e0e8b50969101987a84f1643716b41ffcfcd208495d565ef66e7dff9f98764da.jpg';
  232. //// $re['auth_code']=$this->auth_code($v->mobile);
  233. ////// $re['recom_code']=$this->code($v->cellphone);
  234. //// $re['password']=$v->password;
  235. //// $re['auth_startime']=Carbon::now()->firstOfMonth()->toDateTimeString();
  236. //// $re['auth_endtime']=Carbon::now()->addYear('1')->firstOfMonth()->toDateTimeString();
  237. //// $re['created_at']=Carbon::now()->toDateTimeString();
  238. //// $re['updated_at']=Carbon::now()->toDateTimeString();
  239. //// DB::table('users')->insert($re);
  240. //// }
  241. //
  242. //// DB::commit();
  243. //// }catch (\Exception $exception){
  244. ////// DB::rollBack();
  245. //// Log::error('{-----出错-----}'.$v->id);
  246. //// }
  247. //
  248. // }
  249. // Log::error('{----结束----}');
  250. // })->dailyAt('15:56');
  251. }
  252. public function code($phone){
  253. $data=code($phone);
  254. $re=DB::table('users')->where('recom_code',$data)->first();
  255. if ($re){
  256. $data=$this->code($phone);
  257. return $data;
  258. }
  259. return $data;
  260. }
  261. public function auth_code($phone){
  262. $code_1=str_pad(random_int(1, 999), 3, 0, STR_PAD_LEFT);
  263. $code_2=mb_substr($phone,1,3);
  264. $code_3=str_pad(random_int(100, 99999), 6, 0, STR_PAD_LEFT);
  265. $code_4=mb_substr(time(),8,2);
  266. $code='DWBS00'.$code_1.date('ymd',time()).$code_2.$code_3.$code_4;
  267. $re=DB::table('users')->where('auth_code',$code)->first();
  268. if ($re){
  269. $code=$this->auth_code($phone);
  270. return $code;
  271. }
  272. return $code;
  273. }
  274. }