DayTotal.php 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?php
  2. namespace app\command;
  3. use app\extra\jhfPay\Pay;
  4. use app\extra\tools\CodeExtend;
  5. use app\model\system\SystemUserMoney;
  6. use Symfony\Component\Console\Command\Command;
  7. use Symfony\Component\Console\Input\InputInterface;
  8. use Symfony\Component\Console\Output\OutputInterface;
  9. class DayTotal extends Command
  10. {
  11. protected static string $defaultName = 'day:total';
  12. protected static string $defaultDescription = '每日结算金额余额分账';
  13. protected function execute(InputInterface $input, OutputInterface $output): int
  14. {
  15. $day = date("Y-m-d",strtotime("-1 day"));
  16. $totalMoney = (new SystemUserMoney)->where("day",$day)->select();
  17. $moneyData = [];
  18. if ($totalMoney->isEmpty()) return self::SUCCESS;
  19. $respJhf = (new Pay)->config([
  20. "appid" => sConf("wechat.jhf_appid"),
  21. "mch_id" => sConf("wechat.jhf_mch_id"),
  22. "aeskey" => sConf("wechat.jhf_aeskey"),
  23. "pubkey" => sConf("wechat.jhf_pubkey"),
  24. "prikey" => sConf("wechat.jhf_prikey"),
  25. ]);
  26. foreach ($totalMoney as $key=>$value) {
  27. if (!empty($value['member_id'])) {
  28. // echo "{$value['member_id']}==={$value['money']}\n";
  29. if (isset($moneyData[$value['member_id']])) {
  30. $moneyData[$value['member_id']] += $value['money'];
  31. } else {
  32. $moneyData[$value['member_id']] = $value['money'];
  33. }
  34. }
  35. }
  36. if (!empty($moneyData)) {
  37. foreach ($moneyData as $memberId=>$val){
  38. $resp = $respJhf->createBalancePay([
  39. "app_id" => sConf("wechat.jhf_appid"),
  40. "order_no" => CodeExtend::uniqidDate(18),
  41. "member_id" => $memberId,
  42. "pay_amt" => format_money($val/100,2),
  43. "description" => "{$day}-结算"
  44. ]);
  45. echo getDateFull()."===余额分账===\n";
  46. echo json_encode($resp)."\n";
  47. sleep(1);
  48. }
  49. }
  50. return self::SUCCESS;
  51. }
  52. }