WeappDeliveryService.php 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | Niucloud-admin 企业快速开发的saas管理平台
  4. // +----------------------------------------------------------------------
  5. // | 官方网址:https://www.niucloud.com
  6. // +----------------------------------------------------------------------
  7. // | niucloud团队 版权所有 开源版本可自由商用
  8. // +----------------------------------------------------------------------
  9. // | Author: Niucloud Team
  10. // +----------------------------------------------------------------------
  11. namespace app\service\api\weapp;
  12. use app\model\pay\Pay;
  13. use app\service\core\weapp\CoreWeappDeliveryService;
  14. use core\base\BaseApiService;
  15. /**
  16. * 小程序发货信息管理服务
  17. * Class WeappDeliveryService
  18. * @package app\service\api\weapp
  19. */
  20. class WeappDeliveryService extends BaseApiService
  21. {
  22. public $core_weapp_deliver_service;
  23. public function __construct()
  24. {
  25. parent::__construct();
  26. $this->core_weapp_deliver_service = new CoreWeappDeliveryService();
  27. }
  28. /**
  29. * 查询小程序是否已开通发货信息管理服务
  30. * @return mixed
  31. * @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException
  32. */
  33. public function getIsTradeManaged()
  34. {
  35. $is_trade_managed = $this->core_weapp_deliver_service->getIsTradeManaged()['is_trade_managed'];
  36. return ['is_trade_managed' => $is_trade_managed];
  37. }
  38. /**
  39. * 通过外部交易号获取消息跳转路径
  40. * @param $out_trade_no
  41. * @return string
  42. */
  43. public function getMsgJumpPath($out_trade_no)
  44. {
  45. $pay_model = new Pay();
  46. $where = array (
  47. [ 'out_trade_no', '=', $out_trade_no ]
  48. );
  49. $pay_info = $pay_model->where($where)->field('out_trade_no,trade_type,trade_id')->findOrEmpty()->toArray();
  50. // 未获取到交易信息
  51. if (empty($pay_info)) {
  52. return '';
  53. }
  54. $order_detail_path = event('WapOrderDetailPath', $pay_info)[ 0 ] ?? '';
  55. // 未获取到订单详情路径
  56. if (empty($order_detail_path)) {
  57. return '';
  58. }
  59. return $order_detail_path;
  60. }
  61. }