Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
 
 
 
 
 
 

124 Zeilen
3.9 KiB

  1. <?php
  2. namespace backend\modules\api\controllers;
  3. use backend\modules\api\models\BaseResource;
  4. use backend\modules\api\models\BaseResourceMatrix;
  5. use backend\modules\api\models\RunBus;
  6. use backend\modules\api\models\RunMain;
  7. use backend\modules\api\models\RunStation;
  8. use yii\web\Controller;
  9. use Yii;
  10. class CustomBusController extends Controller
  11. {
  12. public $enableCsrfValidation = false;
  13. /**
  14. * Function Description:入口
  15. * Function Name: actionIndex
  16. *
  17. * @return string
  18. *
  19. * @author 张帅
  20. */
  21. public function actionIndex()
  22. {
  23. $request = Yii::$app->request;
  24. $action = $request->post('action');
  25. $func = 'action';
  26. $action = explode('_', $action);
  27. foreach ($action as $key => $vel) {
  28. $func .= ucfirst($vel);
  29. }
  30. if ($action === false || method_exists($this, $func) == false) {
  31. $json = ['code' => 1, 'info' => '必要参数缺失'];
  32. return json_encode($json);
  33. }
  34. return $this->$func();
  35. }
  36. /**
  37. * Function Description:添加车次
  38. * Function Name: actionAddBus
  39. *
  40. * @return string
  41. *
  42. * @author 张帅
  43. */
  44. public function actionAddBus()
  45. {
  46. $run_bus = new RunBus();
  47. $base_resource = new BaseResource();
  48. $run_main = new RunMain();
  49. $base_resource_matrix = new BaseResourceMatrix();
  50. $run_station = new RunStation();
  51. #region 获取参数
  52. $run_id = Yii::$app->request->post('run_id', 902716);//班次id
  53. //车次信息{bus_type_res_id base_resource 座位,brand_res_id base_resource 大巴品牌,cost_motorcade_id 承运车队,cost_type 包车计价 人数计价,cost_price 单价,allow_select_seat 选座}
  54. $bus_info_str = Yii::$app->request->post('bus_info', '{997,288,628,477,10}');
  55. $user_id = Yii::$app->request->post('user_id',1);//用户id
  56. #endregion
  57. #region 获取班次详情
  58. $run_info = $run_main->getRunInfoByRunId($run_id);
  59. if (!$run_info) {
  60. $result['code'] = '1';
  61. $result['info'] = '班次不存在或已停运';
  62. return json_encode($result);
  63. }
  64. #endregion
  65. #region 获取巴士信息
  66. $bus_info = $run_bus->getBusInfoArray($bus_info_str);
  67. if (!$bus_info) {
  68. $result['code'] = '1';
  69. $result['info'] = '数据不全';
  70. return json_encode($result);
  71. }
  72. #endregion
  73. #region 通过车资源类型id获取车座详情
  74. $bus_type_res_id = $bus_info['bus_type_res_id'];//车资源类型id
  75. $bus_res_info = $base_resource->getBusResInfoArray($bus_type_res_id);
  76. if (!$bus_res_info) {
  77. $result['code'] = '1';
  78. $result['info'] = '车资源不存在或已停用';
  79. return json_encode($result);
  80. }
  81. #endregion
  82. #region 通过车资源类型id获取车座座位图
  83. $matrix_arr = $base_resource_matrix->getMatrixArr($bus_type_res_id);
  84. if (!$matrix_arr) {
  85. $result['code'] = '1';
  86. $result['info'] = '该车没有座位图';
  87. return json_encode($result);
  88. }
  89. #endregion
  90. #region 获取车号
  91. $line_id = $run_info['line_id'];
  92. $run_date = $run_info['run_date'];
  93. $bus_order_id = $run_bus->getBusNoByLineDate($line_id, $run_date);
  94. #endregion
  95. #region 获取班次站点信息
  96. $run_station_info = $run_station->getRunStation($run_id);
  97. if (!$run_station_info) {
  98. $result['code'] = '1';
  99. $result['info'] = '该班次没有站点';
  100. return json_encode($result);
  101. }
  102. #endregion
  103. #region 数据库添加车次
  104. $result = $run_bus->addBusForRun($run_info, $bus_info, $bus_res_info, $matrix_arr, $run_station_info, $bus_order_id, $user_id);
  105. #endregion
  106. return json_encode($result);
  107. }
  108. }