sys.php 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. use app\data\command\OrderClean;
  3. use app\data\command\UserAgent;
  4. use app\data\command\UserAmount;
  5. use app\data\command\UserTransfer;
  6. use app\data\command\UserUpgrade;
  7. use app\data\service\OrderService;
  8. use app\data\service\RebateService;
  9. use app\data\service\UserBalanceService;
  10. use app\data\service\UserRebateService;
  11. use think\Console;
  12. $app = app();
  13. if ($app->request->isCli()) {
  14. // 动态注册操作指令
  15. Console::starting(function (Console $console) {
  16. $console->addCommand(OrderClean::class);
  17. $console->addCommand(UserAgent::class);
  18. $console->addCommand(UserAmount::class);
  19. $console->addCommand(UserUpgrade::class);
  20. $console->addCommand(UserTransfer::class);
  21. });
  22. } else {
  23. // 注册订单支付处理事件
  24. $app->event->listen('ShopOrderPayment', function ($orderNo) use ($app) {
  25. $app->log->notice("订单 {$orderNo} 支付事件,执行用户返利行为");
  26. RebateService::instance()->execute($orderNo);
  27. $app->log->notice("订单 {$orderNo} 支付事件,执行发放余额行为");
  28. UserBalanceService::confirm($orderNo);
  29. $app->log->notice("订单 {$orderNo} 支付事件,执行用户升级行为");
  30. OrderService::upgrade($orderNo);
  31. });
  32. // 注册订单确认支付事件
  33. $app->event->listen('ShopOrderConfirm', function ($orderNo) use ($app) {
  34. $app->log->notice("订单 {$orderNo} 确认事件,执行返利确认行为");
  35. UserRebateService::confirm($orderNo);
  36. });
  37. }
  38. if (!function_exists('show_goods_spec')) {
  39. /**
  40. * 商品规格过滤显示
  41. * @param string $spec 原规格内容
  42. * @return string
  43. */
  44. function show_goods_spec(string $spec): string
  45. {
  46. $specs = [];
  47. foreach (explode(';;', $spec) as $sp) {
  48. $specs[] = explode('::', $sp)[1];
  49. }
  50. return join(' ', $specs);
  51. }
  52. }