ExpressController.php 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <?php
  2. namespace hd\controllers;
  3. use bizHd\express\classes\ExpressClass;
  4. use bizHd\merchant\services\ExpressService;
  5. use bizHd\merchant\services\ShopService;
  6. use bizHd\purchase\classes\PurchaseClass;
  7. use common\components\dict;
  8. use Yii;
  9. use yii\web\Controller;
  10. use common\components\util;
  11. class ExpressController extends BaseController
  12. {
  13. //获取采购单物流运单的轨迹 ssh 20250705
  14. public function actionGetCgExpressTrack()
  15. {
  16. $get = Yii::$app->request->get();
  17. $id = $get['id'] ?? 0;
  18. $cg = PurchaseClass::getById($id, true);
  19. if (empty($cg)) {
  20. util::fail('没有找到订单');
  21. }
  22. if ($cg->mainId != $this->mainId) {
  23. util::fail('不是你的订单');
  24. }
  25. $bizIdMap = dict::getDict('expressBizIdMap');
  26. if (getenv('YII_ENV') == 'production') {
  27. $bizId = $bizIdMap[$mainId] ?? 0;
  28. if (empty($bizId)) {
  29. util::fail('没有找到月结账号');
  30. }
  31. //暂时只支持顺丰
  32. $deliveryId = 'SF';
  33. } else {
  34. $deliveryId = 'TEST';
  35. $bizId = 'test_biz_id';
  36. }
  37. $params = [
  38. 'deliveryId' => $deliveryId,
  39. ];
  40. $respond = ExpressClass::getTrack($params, $cg);
  41. util::success($respond);
  42. }
  43. //计算客户距离和运费 ssh 2020.5.14
  44. public function actionGetUserDistance()
  45. {
  46. //经度
  47. $lng = Yii::$app->request->get('lng', '');
  48. //纬度
  49. $lat = Yii::$app->request->get('lat', '');
  50. if (empty($lng) || empty($lat)) {
  51. util::fail('经度或纬度不能为空');
  52. }
  53. $shopId = ShopService::getDefaultShopId($this->sj);
  54. $respond = ExpressService::getUserDistance($lng, $lat, $shopId, $this->sjExtend);
  55. util::success($respond);
  56. }
  57. }