UserAddMachine.php 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804
  1. <?php
  2. declare (strict_types = 1);
  3. namespace app\api\command;
  4. use AlibabaCloud\SDK\Dysmsapi\V20170525\Models\AddShortUrlResponseBody\data;
  5. use AlibabaCloud\SDK\OSS\OSS\SelectObjectRequest\body\selectRequest;
  6. use app\api\services\ThirdPayServices;
  7. use app\api\services\UserServices;
  8. use app\common\model\BoxMidHandleModel;
  9. use app\common\model\BoxModel;
  10. use app\common\model\CouponAreaModel;
  11. use app\common\model\CouponPlanLogModel;
  12. use app\common\model\CouponPlanModel;
  13. use app\common\model\ShopGoodsModel;
  14. use app\common\model\UserModel;
  15. use data\model\HealhwordExcelModel;
  16. use jianyan\excel\Excel;
  17. use PhpOffice\PhpSpreadsheet\IOFactory;
  18. use think\Config;
  19. use think\console\Command;
  20. use think\console\Input;
  21. use think\console\Output;
  22. use think\db\Where;
  23. use think\Exception;
  24. use think\facade\Db;
  25. use PHPExcel;
  26. class UserAddMachine extends Command
  27. {
  28. protected function configure()
  29. {
  30. // 测试脚本
  31. $this->setName('user_add_machine')
  32. ->setDescription('the user_add_machine command');
  33. }
  34. protected function execute(Input $input, Output $output)
  35. {
  36. // $list = Db::name('money_log')->whereDay('create_at', 'today')->where('type', 6)->where('create_at', '>', '2023-02-15 08:58:23')->count('id');
  37. // $output->writeln('key'.$list);
  38. #========================================================== 扣除多余一次
  39. Db::startTrans();
  40. try {
  41. $list = Db::name('money_log')->whereDay('create_at', 'today')->where('type', 6)->field('uid')->group('uid')->select();
  42. foreach ($list as $key=>$val){
  43. $count = Db::name('money_log')->whereDay('create_at', 'today')->where('type', 6)->where('uid', $val['uid'])->count('id');
  44. // if ($count != 2){
  45. //
  46. // }
  47. // $output->writeln('uid:'.$count);
  48. if ($count == 2){
  49. $logs = Db::name('money_log')->whereDay('create_at', 'today')->where('type', 6)->where('uid', $val['uid'])->select();
  50. if ($logs[0]['money'] == $logs[1]['money']){
  51. // $output->writeln('0mongey:'.$logs[0]['money'].'--'.'1money:'.$logs[1]['money']);
  52. // $output->writeln('uid:'.$val['uid']);
  53. $user_info = Db::name('user')->where('id',$val['uid'])->find();
  54. if ($user_info['money'] < $logs[0]['money']){
  55. sr_throw('不够扣除');
  56. }else{
  57. edit_user_money(14, $val['uid'], $logs[0]['money']);
  58. }
  59. }
  60. }
  61. }
  62. Db::commit();
  63. }catch (\Exception $e){
  64. Db::rollback();
  65. $output->writeln('error:'.$e->getMessage());
  66. }
  67. return 22;
  68. #========================================================== 扣除多余一次
  69. #========================================================== 扣除多余一次
  70. // 团队跑数据
  71. // Db::name('box_handle')->whereDay('create_time', 'yesterday')->save(['is_team_handle'=>0]);
  72. // return 33;
  73. // 减去领取团队奖金错误数据
  74. // Db::startTrans();
  75. // try {
  76. //
  77. // $list = Db::name('money_log1')->where('id', '>', 0)->select();
  78. // foreach ($list as $key=>$val){
  79. // $user_info = Db::name('user')->where('id', $val['uid'])->find();
  80. // if ($user_info['today_money'] >= $val['money']){
  81. // Db::name('user')->where('id', $val['uid'])->dec('today_money', floatval($val['money']))->update();
  82. // Db::name('user')->where('id', $val['uid'])->dec('todayaward_money', floatval($val['money']))->update();
  83. // }else{
  84. // $output->writeln('error:'.$val['id']);
  85. // }
  86. //
  87. // }
  88. //
  89. // Db::commit();
  90. // }catch (\Exception $e){
  91. // Db::rollback();
  92. // $output->writeln('error:'.$e->getMessage());
  93. //
  94. // }
  95. //
  96. //
  97. // return 33;
  98. // Db::startTrans();
  99. // try {
  100. //
  101. // // 总共用户的盒子累计 计算
  102. // $list1 = Db::name('box_record')->group('uid')->field('uid')->select();
  103. // foreach ($list1 as $key=>$val){
  104. // $output->writeln('key'.$key);
  105. // $total = Db::name('box_record')->where('uid', $val['uid'])->sum('num');
  106. // $box10 = Db::name('box_record')->where('uid', $val['uid'])->sum('box10');
  107. // $box20 = Db::name('box_record')->where('uid', $val['uid'])->sum('box20');
  108. // $box30 = Db::name('box_record')->where('uid', $val['uid'])->sum('box30');
  109. // $box40 = Db::name('box_record')->where('uid', $val['uid'])->sum('box40');
  110. // if ($total> ($box10+$box20+$box30+$box40)){
  111. // $null_count = $total- ($box10+$box20+$box30+$box40);
  112. // // 如果有空盒
  113. // Db::name('user')->where('id', $val['uid'])->inc('total_null_box', $null_count)->update();
  114. // }
  115. //
  116. // // 增加其他盒子个数
  117. // Db::name('user')->where('id', $val['uid'])->inc('box10', $box10)->inc('box20', $box20)->inc('box30', $box30)->inc('box40', $box40)->update();
  118. //
  119. // }
  120. //
  121. //
  122. // Db::commit();
  123. // }catch (\Exception $e){
  124. // Db::rollback();
  125. //
  126. // $output->writeln('key'.$e->getMessage());
  127. // }
  128. //
  129. // return 33;
  130. // 所有用户领取 奖金
  131. // Db::startTrans();
  132. // try {
  133. // // 所有用户领取 奖金
  134. // $model_user = new UserModel();
  135. // $list = $model_user->where('today_money', '>', 0)->field('*')->select();
  136. // $output->writeln('key'.count($list));
  137. //
  138. // foreach ($list as $key=>$val){
  139. // $output->writeln('key'.$key);
  140. // edit_user_money(6, $val['id'], $val['today_money']);
  141. // Db::name('user')->where('id', $val['id'])->save([
  142. // 'today_money'=>0
  143. // ]);
  144. // // 累计奖金
  145. // Db::name('user')->where('id', $val['id'])->inc('todayaward_money', floatval($val['today_money']))->update();
  146. // }
  147. //
  148. // Db::commit();
  149. // }catch (\Exception $e){
  150. // Db::rollback();
  151. // $output->writeln('key'.$e->getMessage());
  152. //
  153. // }
  154. // return 44;
  155. // 提现失败两次回调数据(1.直接扣除 2.标记)
  156. Db::startTrans();
  157. try {
  158. $this->getCoupon($input, $output);
  159. Db::commit();
  160. }catch (\Exception $e){
  161. Db::rollback();
  162. $output->writeln('error:'.$e->getMessage());
  163. }
  164. return 33;
  165. $money = Db::name('user')->where('id', '>', 0)->sum('money');
  166. $score = Db::name('user')->where('id', '>', 0)->sum('score');
  167. $output->writeln('money:'.$money.',score:'.$score);
  168. return 33;
  169. Db::name('box_record')->where('create_time', '>', '2023-02-13 10:48:17')->save([
  170. 'status'=>1
  171. ]);
  172. return 33;
  173. Db::startTrans();
  174. try {
  175. $model = new ShopGoodsModel();
  176. $goods_arr = $model
  177. ->where('box_type', 20)
  178. ->where('goods_type', 2)
  179. ->where('goods_id', 'not in', explode('|', env('APP.NOT_OPEN_GOODS_ID')))
  180. ->field('goods_id,box_type,goods_img,price,goods_name')
  181. // ->field('goods_id,box_type')
  182. ->page(1, 20)
  183. ->select();
  184. $datas = Db::name('box_mid_handle')->where('status', 1)->where('goods_id', 346)->select();
  185. foreach ($datas as $key=>$val){
  186. $rand_num = random_int(0, 16);
  187. $goods_info = $goods_arr[$rand_num];
  188. Db::name('box_mid_handle')->where('id', $val['id'])->save([
  189. 'goods_price'=>$goods_info['price'],
  190. 'goods_id'=>$goods_info['goods_id']
  191. ]);
  192. }
  193. Db::commit();
  194. }catch (\Exception $e){
  195. Db::rollback();
  196. $output->writeln('error:'.$e->getMessage());
  197. }
  198. // $output->writeln('key'.count($datas));
  199. // $output->writeln(json_encode($goods_arr));
  200. return 33;
  201. Db::name('user')->where('id', '>', 0)->save([
  202. 'total_team_withdraw'=>0
  203. ]);
  204. Db::startTrans();
  205. try {
  206. $list = Db::name('withdraw_log')->where('status', 1)->select();
  207. foreach ($list as $key=>$val){
  208. $user = Db::name('user')->where('id', $val['uid'])->find();
  209. Db::name('user')->whereIn('id', $user['path'])->inc('total_team_withdraw', $val['apply_money'])->update();
  210. Db::name('user')->whereIn('id', $user['id'])->inc('total_team_withdraw', $val['apply_money'])->update();
  211. // $output->writeln('key'.$key);
  212. // $count = Db::name('box_handle')->where('uid', $val['id'])->count('id');
  213. // if ($count>0){
  214. // Db::name('user')->where('id', 'in', $val['path'])->inc('total_team_box', $count)->update();
  215. // Db::name('user')->where('id', 'in', $val['path'])->inc('today_team_box', $count)->update();
  216. // Db::name('user')->where('id', $val['id'])->inc('total_box', $count)->inc('total_team_box', $count)->update();
  217. // }
  218. }
  219. Db::commit();
  220. }catch (\Exception $e){
  221. Db::rollback();
  222. $output->writeln('key'.$e->getMessage());
  223. }
  224. return 33;
  225. return 33;
  226. Db::startTrans();
  227. try {
  228. $list = Db::name('user')->where('id', '>', 0)->select();
  229. foreach ($list as $key=>$val){
  230. $output->writeln('key'.$key);
  231. $count = Db::name('box_handle')->where('uid', $val['id'])->count('id');
  232. if ($count>0){
  233. Db::name('user')->where('id', 'in', $val['path'])->inc('total_team_box', $count)->update();
  234. Db::name('user')->where('id', 'in', $val['path'])->inc('today_team_box', $count)->update();
  235. Db::name('user')->where('id', $val['id'])->inc('total_box', $count)->inc('total_team_box', $count)->update();
  236. }
  237. }
  238. Db::commit();
  239. }catch (\Exception $e){
  240. Db::rollback();
  241. $output->writeln('key'.$e->getMessage());
  242. }
  243. return 33;
  244. Db::startTrans();
  245. try {
  246. $list = Db::name('box_mid_handle')->where('goods_id', 0)->where('status', 2)->select();
  247. foreach ($list as $key=>$val){
  248. edit_user_score(2, $val['uid'], env('boxsetting.ONE_BOX_PRICE'), $val['id']);
  249. }
  250. Db::commit();
  251. }catch (\Exception $e){
  252. Db::rollback();
  253. $output->writeln('key'.$e->getMessage());
  254. }
  255. return 33;
  256. Db::startTrans();
  257. try {
  258. // 批量设置用户等级
  259. $this->settingUserLevels();
  260. // 添加用户数据
  261. // $this->addUser($input, $output);
  262. // 自动预约福袋
  263. // $this->buyBoxBefore();
  264. // $list = Db::name('box_mid_handle')->where('id', '>', 0)->select();
  265. // foreach ($list as $key=>$val){
  266. // $output->writeln('key'.$key);
  267. // if (!Db::name('shop_goods')->where('goods_id', $val['goods_id'])->find()){
  268. // sr_throw('error:'.$val['goods_id']);
  269. // }
  270. // }
  271. // 后台匹配开奖
  272. // $this->systemHandleBox($input, $output);
  273. // 匹配开奖
  274. // $this->recordBoxAppointToMiddle($input, $output);
  275. // 更正中间表数据问题
  276. // $this->updateMiddleExcelData($input, $output);
  277. // 所有用户添加 积余额
  278. // Db::name('user')->where('id', '>', 0)->inc('money', 20000)->update();
  279. // Db::name('user')->where('id', '>', 0)->inc('score', 20000)->update();
  280. Db::commit();
  281. }catch (\Exception $e){
  282. Db::rollback();
  283. $output->writeln('error:'.$e->getMessage());
  284. }
  285. return 22;
  286. }
  287. protected function getCoupon(Input $input, Output $output){
  288. // 扣除提现失败扣除钱
  289. $arr = [['uid'=>5344726,'money'=>'2925'],
  290. ['uid'=>5346144,'money'=>'4275.5'],
  291. ['uid'=>5346574,'money'=>'1386'],
  292. ['uid'=>5345815,'money'=>'1386'],
  293. ['uid'=>5346314,'money'=>'6444'],
  294. ['uid'=>5346169,'money'=>'1296'],
  295. ['uid'=>5344735,'money'=>'7902'],
  296. ['uid'=>5344962,'money'=>'1620'],
  297. ['uid'=>5345983,'money'=>'1476'],
  298. ['uid'=>5346095,'money'=>'1476'],
  299. ['uid'=>5346630,'money'=>'1026'],
  300. ['uid'=>5345797,'money'=>'333'],
  301. ['uid'=>5344556,'money'=>'1080'],
  302. ['uid'=>5346487,'money'=>'2772'],
  303. ['uid'=>5346035,'money'=>'5517'],
  304. ['uid'=>5346577,'money'=>'1728'],
  305. ['uid'=>5346194,'money'=>'1314'],
  306. ['uid'=>5346153,'money'=>'1125'],
  307. ['uid'=>5344956,'money'=>'3240'],
  308. ['uid'=>5346602,'money'=>'1386'],
  309. ['uid'=>5346174,'money'=>'1080'],
  310. ['uid'=>5346083,'money'=>'1476'],
  311. ['uid'=>5345569,'money'=>'1440'],
  312. ['uid'=>5345972,'money'=>'999'],
  313. ['uid'=>5346595,'money'=>'1386'],
  314. ['uid'=>5346491,'money'=>'1530'],
  315. ['uid'=>5346604,'money'=>'864'],
  316. ['uid'=>5346543,'money'=>'1080'],
  317. ['uid'=>5344866,'money'=>'1620'],
  318. ['uid'=>5345936,'money'=>'2736'],
  319. ['uid'=>5346610,'money'=>'4239'],
  320. ['uid'=>5344527,'money'=>'1260'],
  321. ['uid'=>5344734,'money'=>'1035'],
  322. ['uid'=>5345960,'money'=>'864'],
  323. ['uid'=>5345622,'money'=>'2790'],
  324. ['uid'=>5345876,'money'=>'7299'],
  325. ['uid'=>5345926,'money'=>'1620'],
  326. ['uid'=>5346163,'money'=>'2016'],
  327. ['uid'=>5346102,'money'=>'864'],
  328. ['uid'=>5345812,'money'=>'1890'],
  329. ['uid'=>5344948,'money'=>'1080']];
  330. $sum = 0;
  331. foreach ($arr as $key=>$val){
  332. $output->writeln('key'.$key);
  333. $user_info = Db::name('user')->where('id', $val['uid'])->find();
  334. $users_money = $user_info['money']+$user_info['score'];
  335. $withdraing = Db::name('withdraw_log')->where('uid', $val['uid'])->where('status', 0)->sum('apply_money');
  336. if ($val['money'] > ($users_money+$withdraing)){
  337. // $sum += ($val['money']-$users_money-$withdraing);
  338. // $output->writeln('uid:'.$val['uid']);
  339. // 标记路线
  340. Db::name('user')->where('id', $val['uid'])->save(['luzi_money'=>$val['money']]);
  341. }else{
  342. // 够扣除
  343. // 退还提现申请到余额
  344. $list = Db::name('withdraw_log')->where('uid', $val['uid'])->where('status', 0)->select();
  345. foreach ($list as $key1=>$val1){
  346. Db::name('withdraw_log')->where('id', $val1['id'])->save(['status'=> 3, 'fail_log'=>'提现多次返回']);
  347. edit_user_money(10, $val1['uid'], $val1['apply_money']);
  348. $output->writeln('提现处理:id:'.$val1['id']);
  349. }
  350. $cur_score = $user_info['score'];
  351. // 是否还是扣除余额
  352. $has_lessmoney = false;
  353. if ($val['money'] > $cur_score){
  354. edit_user_score(4, $val['uid'], $cur_score);
  355. $has_lessmoney = true;
  356. }else{
  357. edit_user_score(4, $val['uid'], $val['money']);
  358. }
  359. if ($has_lessmoney){
  360. edit_user_money(11, $val['uid'], ($val['money']-$cur_score));
  361. }
  362. // $less_money = $val['money']-$cur_score;
  363. }
  364. }
  365. // $output->writeln('亏损:'.$sum);
  366. return 33;
  367. // $list = Db::name('withdraw_log')->where('status', 3)->where('create_at', '>', '2023-02-13 23:23:45')->select();
  368. $list = Db::name('withdraw_log')->where('status', 3)->select();
  369. $arr = [];
  370. foreach ($list as $key =>$val){
  371. // $count = Db::name('money_log')->where('uid', $val['uid'])->where('create_at', '>', '2023-02-13 23:23:45')->where('type', 10)->count();
  372. $count = Db::name('money_log')->where('uid', $val['uid'])->where('type', 10)->count();
  373. if ($count > 1){
  374. if (!isset($arr[$val['uid']])){
  375. $arr[$val['uid']] = 1;
  376. }
  377. }
  378. }
  379. $output->writeln(json_encode(array_keys($arr)));
  380. return 33;
  381. $arr = [
  382. ['number'=>'WD534657849545610251','name'=>'杨玉婷','zfb_number'=>'19169946597'],
  383. ['number'=>'WD534473598565349555','name'=>'刘芳','zfb_number'=>'2765728677@qq.com'],
  384. ['number'=>'WD534581550101505556','name'=>'刘健','zfb_number'=>'15698096367'],
  385. ['number'=>'WD534495657509850999','name'=>'张镇强','zfb_number'=>'15374723581'],
  386. ['number'=>'WD534648753545510148','name'=>'周鹏','zfb_number'=>'18549818699'],
  387. ['number'=>'WD534649152994855515','name'=>'汪川','zfb_number'=>'15961266732'],
  388. ['number'=>'WD534592655981001019','name'=>'郭景辉','zfb_number'=>'19922439523'],
  389. ['number'=>'WD534496848535749545','name'=>'陈伟','zfb_number'=>'499558005@qq.com'],
  390. ['number'=>'WD534630256991001005','name'=>'1630','zfb_number'=>'13265262521'],
  391. ['number'=>'WD534494850989898544','name'=>'魏秀军','zfb_number'=>'13543736731'],
  392. ['number'=>'WD534618452575697519','name'=>'薛永浩','zfb_number'=>'19865924544'],
  393. ['number'=>'WD534683810150521005','name'=>'尹荐','zfb_number'=>'18686073199'],
  394. ['number'=>'WD534455655981015552','name'=>'吴浩友','zfb_number'=>'15959096295'],
  395. ['number'=>'WD534619410250495557','name'=>'岳庆庆','zfb_number'=>'15935905192'],
  396. ['number'=>'WD534587610050100985','name'=>'郝健','zfb_number'=>'244788081@qq.com'],
  397. ['number'=>'WD534660248101524910','name'=>'朱兰','zfb_number'=>'18661245016'],
  398. ['number'=>'WD534473551485255971','name'=>'刘芳','zfb_number'=>'17836372202'],
  399. ['number'=>'WD534473599515197501','name'=>'刘芳','zfb_number'=>'17836372202'],
  400. ['number'=>'WD534654348555397545','name'=>'潘细舟','zfb_number'=>'18071855406'],
  401. ['number'=>'WD534660210299975198','name'=>'朱兰','zfb_number'=>'18661245016'],
  402. ['number'=>'WD534472651495357481','name'=>'丁小文','zfb_number'=>'13983952207'],
  403. ['number'=>'WD534455649100975548','name'=>'吴浩友','zfb_number'=>'15959096295'],
  404. ['number'=>'WD534473556559852539','name'=>'刘芳','zfb_number'=>'2765728677@qq.com'],
  405. ['number'=>'WD534619410299102995','name'=>'岳庆庆','zfb_number'=>'15935905192'],
  406. ['number'=>'WD534472650571025699','name'=>'丁小文','zfb_number'=>'13983952207'],
  407. ['number'=>'WD534593656519852101','name'=>'王毅','zfb_number'=>'13128820934'],
  408. ['number'=>'WD534615354985156505','name'=>'相安家','zfb_number'=>'407113438@qq.com'],
  409. ['number'=>'WD534641951100535649','name'=>'覃程','zfb_number'=>'15878811470'],
  410. ['number'=>'WD534533810151575699','name'=>'何喜','zfb_number'=>'何喜'],
  411. ['number'=>'WD534472657575149995','name'=>'丁小文','zfb_number'=>'13983952207'],
  412. ['number'=>'WD534592654101525653','name'=>'郭景辉','zfb_number'=>'19922439523'],
  413. ['number'=>'WD534603599101565797','name'=>'粟明伟','zfb_number'=>'18520698032'],
  414. ['number'=>'WD534503510250999753','name'=>'魏国杰','zfb_number'=>'13861684504'],
  415. ['number'=>'WD534608399491015250','name'=>'林凯伦','zfb_number'=>'13829526420'],
  416. ['number'=>'WD534473456535410149','name'=>'贺柳涛','zfb_number'=>'17347590878'],
  417. ['number'=>'WD534450149485410155','name'=>'冯永枭','zfb_number'=>'18957811849'],
  418. ['number'=>'WD534496253549949975','name'=>'卢芹芳','zfb_number'=>'13764869782'],
  419. ['number'=>'WD534451657100569952','name'=>'刘媛媛','zfb_number'=>'18875230706'],
  420. ['number'=>'WD534514049525310298','name'=>'任细虹','zfb_number'=>'15159758937'],
  421. ['number'=>'WD534616998505010151','name'=>'刘桂杰','zfb_number'=>'15624852973'],
  422. ['number'=>'WD534631454561005252','name'=>'刘光荣','zfb_number'=>'15625282199'],
  423. ['number'=>'WD534609555525198100','name'=>'吴优','zfb_number'=>'13664011167'],
  424. ['number'=>'WD534472899515549981','name'=>'王静','zfb_number'=>'18696475281'],
  425. ['number'=>'WD534657455985310157','name'=>'余汉','zfb_number'=>'15672642936'],
  426. ['number'=>'WD534610253509997481','name'=>'马钰琪','zfb_number'=>'18047125331'],
  427. ['number'=>'WD534599557555410256','name'=>'吴优','zfb_number'=>'13664011167'],
  428. ['number'=>'WD534495657535110099','name'=>'张镇强','zfb_number'=>'13850404031'],
  429. ['number'=>'WD534581551101541024','name'=>'刘健','zfb_number'=>'15698096367'],
  430. ['number'=>'WD534617410049525198','name'=>'李小松','zfb_number'=>'www424684642@163.com'],
  431. ['number'=>'WD534562254505210153','name'=>'郑毅','zfb_number'=>'18972923284'],
  432. ['number'=>'WD534598898545597579','name'=>'马钰琪','zfb_number'=>'18047125331'],
  433. ['number'=>'WD534592653504949529','name'=>'郭景辉','zfb_number'=>'19922439523'],
  434. ['number'=>'WD534598352505656100','name'=>'吴优','zfb_number'=>'13664011167'],
  435. ['number'=>'WD534452799101535797','name'=>'罗鱼谜','zfb_number'=>'17612872572'],
  436. ['number'=>'WD534452754575753539','name'=>'罗鱼谜','zfb_number'=>'17612872572'],
  437. ['number'=>'WD534450110110052100','name'=>'冯永枭','zfb_number'=>'18957811849'],
  438. ['number'=>'WD534619497495510254','name'=>'岳庆庆','zfb_number'=>'15935905192'],
  439. ['number'=>'WD534615348995554101','name'=>'岳庆庆','zfb_number'=>'15935905192'],
  440. ['number'=>'WD534625157101511005','name'=>'王山','zfb_number'=>'13356299904'],
  441. ['number'=>'WD534614410053995310','name'=>'万福宝','zfb_number'=>'18813135231'],
  442. ['number'=>'WD534642356515610153','name'=>'凌思林','zfb_number'=>'15279507826'],
  443. ['number'=>'WD534461710251515248','name'=>'刘海武','zfb_number'=>'15858128789'],
  444. ['number'=>'WD534593650564910255','name'=>'王毅','zfb_number'=>'13128820934'],
  445. ['number'=>'WD534593648975156505','name'=>'王金柱','zfb_number'=>'13139522808'],
  446. ['number'=>'WD534631450499810010','name'=>'刘光荣','zfb_number'=>'15625282199'],
  447. ['number'=>'WD534660410197515048','name'=>'洪芳芳','zfb_number'=>'13922282065'],
  448. ['number'=>'WD534617497575253985','name'=>'李小松','zfb_number'=>'15829099670'],
  449. ['number'=>'WD534614454974856981','name'=>'万福宝','zfb_number'=>'18813135231'],
  450. ['number'=>'WD534556956534910210','name'=>'楚强强','zfb_number'=>'18656948213'],
  451. ['number'=>'WD534593699102515257','name'=>'王金柱','zfb_number'=>'13139522808'],
  452. ['number'=>'WD534608557971019849','name'=>'陈伟','zfb_number'=>'17874017301'],
  453. ['number'=>'WD534655751975797519','name'=>'杨玉婷','zfb_number'=>'19169946597'],
  454. ['number'=>'WD534603510099101485','name'=>'粟明伟','zfb_number'=>'18520698032'],
  455. ['number'=>'WD534485055994910049','name'=>'谢谊春','zfb_number'=>'1515354567@qq.com'],
  456. ['number'=>'WD534649150975650541','name'=>'汪川','zfb_number'=>'15961266732'],
  457. ['number'=>'WD534661055545751984','name'=>'程利峰','zfb_number'=>'17320678688'],
  458. ['number'=>'WD534663010054100100','name'=>'吴优','zfb_number'=>'16271845555'],
  459. ['number'=>'WD534615299511025199','name'=>'岳庆庆','zfb_number'=>'15935905192'],
  460. ['number'=>'WD534597254501029710','name'=>'楚强强','zfb_number'=>'18788877745'],
  461. ['number'=>'WD534657749505348571','name'=>'宋杨','zfb_number'=>'15232797156'],
  462. ['number'=>'WD534581297102489849','name'=>'魏大江','zfb_number'=>'18883588210'],
  463. ['number'=>'WD534486656485298545','name'=>'王姣','zfb_number'=>'13731201128'],
  464. ['number'=>'WD534676453979799545','name'=>'伍锦胜','zfb_number'=>'13432206140'],
  465. ['number'=>'WD534587653545556531','name'=>'郝健','zfb_number'=>'18562365150'],
  466. ['number'=>'WD534579749975397569','name'=>'吴小亮','zfb_number'=>'15298603353'],
  467. ['number'=>'WD534650998505752519','name'=>'董妍','zfb_number'=>'15021300080'],
  468. ['number'=>'WD534494851535510153','name'=>'魏秀军','zfb_number'=>'13543736731'],
  469. ['number'=>'WD534583810054100565','name'=>'王奋强','zfb_number'=>'13387137935'],
  470. ['number'=>'WD534596054100574810','name'=>'邵小斌','zfb_number'=>'18393825795'],
  471. ['number'=>'WD534616356101995298','name'=>'马梓浩','zfb_number'=>'17710404082'],
  472. ['number'=>'WD534659551495755985','name'=>'楚强强','zfb_number'=>'396746095@qq.com'],
  473. ['number'=>'WD534593610051525655','name'=>'王毅','zfb_number'=>'13128820934'],
  474. ['number'=>'WD534654355975548995','name'=>'邓丽','zfb_number'=>'18171692670'],
  475. ['number'=>'WD534451652535050101','name'=>'刘媛媛','zfb_number'=>'18875230706'],
  476. ['number'=>'WD534631450545652575','name'=>'刘光荣','zfb_number'=>'15625282199'],
  477. ['number'=>'WD534603510010010010','name'=>'唐慧','zfb_number'=>'1693770147@qq.com']
  478. ];
  479. $count = 0;
  480. foreach ($arr as $key=>$val){
  481. if (!Db::name('withdraw_log')->where('status', 3)->where('create_at', '>', '2023-02-13 23:30:30')->where('zfb_number', $val['zfb_number'])->find()){
  482. // ++$count;
  483. $output->writeln('number:'.$val['number']);
  484. }
  485. }
  486. $output->writeln('count:'.$count);
  487. }
  488. public static function get_date_by_excel($date){
  489. if (!$date || $date == '0000-00-00') return null;
  490. $unix_time = \PHPExcel_Shared_Date::ExcelToPHP($date);
  491. return gmdate('Y-m-d H:i',$unix_time);
  492. }
  493. protected function updateMiddleExcelData($input, $output){
  494. $list = Db::name('box_mid_handle')->where('id', '>', 0)->select();
  495. // $output->writeln('key'.json_encode($list));
  496. // sr_throw();
  497. foreach ($list as $key=>$val){
  498. $output->writeln('key'.$key);
  499. if (empty($val['pay_type'])){
  500. $pay_type = Db::name('box_record')->where('id', $val['rid'])->value('pay_type');
  501. // sr_throw($pay_type);
  502. Db::name('box_mid_handle')->where('id', $val['id'])->save(['pay_type'=>$pay_type]);
  503. }
  504. }
  505. }
  506. protected function recordBoxAppointToMiddle($input, $output){
  507. $list = Db::name('box_record')->where('status', 1)->select()->toArray();
  508. $mid_arrs = [];
  509. $r_ids = [];
  510. $cur_time = sr_getcurtime(time());
  511. foreach ($list as $key=>$val){
  512. $total_goodsbox = $val['box10'] + $val['box20'] + $val['box30'] + $val['box40'];
  513. $r_goodsids = '';
  514. // 如果有空盒
  515. if ($val['num'] > $total_goodsbox){
  516. for ($i=0;$i < $val['num']-$total_goodsbox;$i++){
  517. $mid_arrs[] = [
  518. 'h_sn'=>createdHandleOrderSn(),
  519. 'uid'=>$val['uid'],
  520. 'rid'=>$val['id'],
  521. 'goods_id'=>0,
  522. 'create_time'=>$cur_time,
  523. 'box_type'=>0,
  524. 'goods_price'=>0
  525. ];
  526. }
  527. }
  528. // if (1 == 1){
  529. // sr_throw();
  530. // }
  531. // 其他盒子
  532. $box_arrs = [10, 20, 30, 40];
  533. foreach ($box_arrs as $key1=>$val1){
  534. $key_string = strval('box'.$val1);
  535. $box_goodsnum = $val[$key_string];
  536. $model = new ShopGoodsModel();
  537. $goods_arr = $model
  538. ->where('box_type', $val1)
  539. ->where('goods_type', 2)
  540. ->field('goods_id,box_type,goods_img,price,goods_name')
  541. ->page(1, 20)
  542. ->select();
  543. // ->select();
  544. // sr_throw(json_encode($goods_arr));
  545. if ($box_goodsnum > 0){
  546. // 如果后期要调整 取值 直接 排序 goods_arr
  547. for ($i = 0; $i < $box_goodsnum;$i++){
  548. $rand_num = mt_rand(0, count($goods_arr)-1);
  549. $goods = $goods_arr[$rand_num];
  550. $mid_arrs[] = [
  551. 'h_sn'=>createdHandleOrderSn(),
  552. 'uid'=>$val['uid'],
  553. 'rid'=>$val['id'],
  554. 'goods_id'=>$goods['goods_id'],
  555. 'create_time'=>$cur_time,
  556. 'box_type'=>$val1,
  557. 'goods_price'=>$goods['price']
  558. ];
  559. $r_goodsids .= ((empty($r_goodsids)?'':',').$goods['goods_id']);
  560. }
  561. }
  562. }
  563. Db::name('box_record')->where('id', $val['id'])->save([
  564. 'status'=>2,
  565. 'goods_ids'=>$r_goodsids
  566. ]);
  567. }
  568. $model = new BoxMidHandleModel();
  569. $model->insertAll($mid_arrs);
  570. }
  571. public function systemHandleBox(Input $input, Output $output){
  572. }
  573. public function addUser(Input $input, Output $output){
  574. $users = $this->randomPhone(10);
  575. $pid_invitecode = 0;
  576. foreach ($users as $key=>$val){
  577. if (!Db::name('user')->where('mobile', $val)->find()){
  578. $services = new UserServices();
  579. $output->writeln('key'.$key);
  580. $uid = $services->userRegister([
  581. 'user_name'=>'db-'.$val,
  582. 'invite_code'=>($pid_invitecode==0?'03284278':$pid_invitecode),
  583. 'code'=>'111111',
  584. 'password'=>"TDFyZ3n\/5GksjKtjhj2G1w==",
  585. 'mobile'=>$val
  586. ]
  587. );
  588. $user_info = Db::name('user')->where('id', $uid)->find();
  589. $pid_invitecode = $user_info['code'];
  590. }
  591. }
  592. }
  593. public function buyBoxBefore(){
  594. $users = Db::name('user')->where('money', '>', 0)->paginate(50)->toArray();
  595. $model = new BoxModel();
  596. foreach ($users['data'] as $key=>$val){
  597. $count = rand(0, 10);
  598. $model->beforeBuyBox($val['id'], ['box_id'=>23422, 'buy_count'=>$count, 'pay_type'=>rand(1,2)]);
  599. }
  600. }
  601. //随机生成n条手机号
  602. function randomPhone($n = 20)
  603. {
  604. $tel_arr = array(
  605. '130', '131', '132', '133', '134', '135', '136', '137', '138', '139', '144', '147', '150', '151', '152', '153', '155', '156', '157', '158', '159', '176', '177', '178', '180', '181', '182', '183', '184', '185', '186', '187', '188', '189',
  606. );
  607. for ($i = 0; $i < $n; $i++) {
  608. $tmp[] = $tel_arr[array_rand($tel_arr)] . mt_rand(1000, 9999) . mt_rand(1000, 9999);
  609. }
  610. return array_unique($tmp);
  611. }
  612. function settingUserLevels(){
  613. // $levels = [0, 1, 1, 3, 0, 2, 3, 1, 0];
  614. // $levels = [2, 3, 0, 3, 2, 1, 0, 3, 0];
  615. // $levels = [3, 0, 3, 2, 1, 2, 0, 3, 1];
  616. // $levels = [0, 3, 0, 3, 2, 3, 3, 0, 2];
  617. // $levels = [1, 2, 2, 1, 3, 0, 2, 1, 3];
  618. $levels = [3,0,3,2,2,3,0,3,1];
  619. $zero_uid = 5344487;
  620. foreach ($levels as $key=>$val){
  621. Db::name('user')->where('id', $zero_uid-$key)->save(['level'=>$val]);
  622. }
  623. }
  624. }