BaseController.php 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <?php
  2. namespace App\Http\Controllers\QuickApp;
  3. use App\Modules\SendOrder\Models\QappSendOrder;
  4. use App\Modules\User\Models\User;
  5. use App\Modules\User\Services\QappUserService;
  6. use App\Modules\User\Services\ReadRecordService;
  7. use Illuminate\Routing\Controller;
  8. /**
  9. * @property User $user_info 用户基本信息
  10. * @property int $uid
  11. * @property string $phone 手机号
  12. * @property int $distribution_channel_id 渠道号ID
  13. * @property int $send_order_id 派单ID
  14. * @property int $app_pay_merchat_id 微信app支付通道ID
  15. * @property int $h5_pay_merchat_id 微信h5支付通道ID
  16. * @property int $ali_pay_merchat_id 支付宝支付通道ID
  17. */
  18. class BaseController extends Controller
  19. {
  20. private $field = [];
  21. protected $account_send_order;
  22. public function __get($name)
  23. {
  24. if (!isset($this->field[$name])) {
  25. $qapp_user = (new QappUserService)->getGolableUser();
  26. if ($name == 'user_info') {
  27. $user = User::find($qapp_user->uid);
  28. $this->field[$name] = $user;
  29. }
  30. if ($name == 'uid') {
  31. $this->field[$name] = $qapp_user->uid;
  32. }
  33. if ($name == 'phone') {
  34. $this->field[$name] = $qapp_user->phone;
  35. }
  36. if ($name == 'distribution_channel_id') {
  37. // \Log::info('user:'.$qapp_user);
  38. $this->field[$name] = (isset($qapp_user->user) && !empty($qapp_user->user))? $qapp_user->user->distribution_channel_id : $qapp_user->distribution_channel_id;
  39. }
  40. if ($name == 'send_order_id') {
  41. //$this->field[$name] = $qapp_user->send_order_id;
  42. $this->field[$name] = ReadRecordService::getSendOrderId($qapp_user->uid);
  43. }
  44. if ($name == 'app_pay_merchat_id') {
  45. $this->field[$name] = $qapp_user->app_pay_merchat_id;
  46. }
  47. if ($name == 'h5_pay_merchat_id') {
  48. $this->field[$name] = $qapp_user->h5_pay_merchat_id;
  49. }
  50. if ($name == 'ali_pay_merchat_id') {
  51. $this->field[$name] = $qapp_user->ali_pay_merchat_id;
  52. }
  53. }
  54. return $this->field[$name];
  55. }
  56. protected function getNowSendOrderInfo(){
  57. $send_order_id = $this->send_order_id;
  58. if(!$send_order_id){
  59. return null;
  60. }
  61. if(!$this->account_send_order){
  62. $this->account_send_order = QappSendOrder::getSendOrderById($send_order_id);
  63. }
  64. return $this->account_send_order;
  65. }
  66. }