You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

205 lines
6.0 KiB

  1. <?php
  2. /**
  3. * 携程城际约车 接口中心
  4. * ============================================================================
  5. * * 版权所有 蜘蛛出行 * *
  6. * 网站地址: http://www.zhizhuchuxing.com
  7. * ----------------------------------------------------------------------------
  8. * 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和
  9. * 使用;不允许对程序代码以任何形式任何目的的再发布。
  10. * ============================================================================
  11. * Author By: 倪宗锋
  12. * PhpStorm CtripBusController.php
  13. * Create By 2018/4/17 9:33 $
  14. */
  15. namespace backend\modules\api\controllers;
  16. use common\util\CtripBusUtil;
  17. use backend\modules\api\logic\CtripBus;
  18. use yii\web\Controller;
  19. class CtripBusController extends Controller
  20. {
  21. public $enableCsrfValidation = false;
  22. /***
  23. * @var array 接口列表
  24. */
  25. public $apiList = [
  26. 'GetFromCity' => 'GetFromCity',//获取出发城市
  27. 'GetToCity' => 'GetToCity',//获取到达城市
  28. 'GetLine' => 'GetLine',//获取线路
  29. 'RemainTicket' => 'RemainTicket',//查询余票
  30. 'Order' => 'Order',//下单
  31. 'OrderDetail' => 'OrderDetail',//订单详情
  32. 'TicketNotify' => 'TicketNotify',//出票回填
  33. 'RefundTicket' => 'RefundTicket',//退票
  34. 'RefundTicketNotify' => 'RefundTicketNotify',//退票回填
  35. ];
  36. public $logic = null;
  37. /**
  38. * Des:logic
  39. * Name: logic
  40. * @return CtripBus
  41. * @author 倪宗锋
  42. */
  43. public function logic()
  44. {
  45. if ($this->logic == null) {
  46. $this->logic = new CtripBus();
  47. }
  48. return $this->logic;
  49. }
  50. /**
  51. * Des:入口引入不具体使用
  52. * Name: actionIndex
  53. * @author 倪宗锋
  54. */
  55. public function actionIndex()
  56. {
  57. }
  58. /**
  59. * Des:接口入口验证 入口指引
  60. * Name: beforeAction
  61. * @param \yii\base\Action $action
  62. * @return bool
  63. * @author 倪宗锋
  64. */
  65. public function beforeAction($action)
  66. {
  67. //校验是否需要校验参数
  68. $result = CtripBusUtil::util()->getRequest();
  69. if ($result['flag'] == false) {
  70. // CtripBusUtil::util()->re($result['msg'], $result['code'], $result['data']);
  71. // return false;
  72. }
  73. $actionName = ucfirst(\Yii::$app->request->get('action', ''));
  74. if (empty($this->apiList[$actionName])) {
  75. CtripBusUtil::util()->re("接口不存在!", '301');
  76. return false;
  77. }
  78. CtripBusUtil::util()->setAction($action, $actionName);
  79. return parent::beforeAction($action);
  80. }
  81. /**
  82. * Des:获取出发城市
  83. * Name: actionGetFromCityList
  84. * @return string
  85. * @author 倪宗锋
  86. */
  87. public function actionGetFromCity()
  88. {
  89. $params = CtripBusUtil::util()->getBody();
  90. $result = $this->logic()->GetFromCityList($params);
  91. return CtripBusUtil::util()->re('获取数据成功', '1', $result['data']);
  92. }
  93. /**
  94. * Des:获取到达城市
  95. * Name: actionGetToCity
  96. * @return string
  97. * @author 倪宗锋
  98. */
  99. public function actionGetToCity()
  100. {
  101. $params = CtripBusUtil::util()->getBody();
  102. $result = $this->logic()->GetToCityList($params);
  103. if ($result['flag'] == true) {
  104. return CtripBusUtil::util()->re('获取数据成功', '1', $result['data']);
  105. } else {
  106. return CtripBusUtil::util()->re($result['msg'], $result['code'], $result['data']);
  107. }
  108. }
  109. /**
  110. * Des:获取线路数据
  111. * Name: actionGetLineRequest
  112. * @return string
  113. * @author 倪宗锋
  114. */
  115. public function actionGetLine()
  116. {
  117. $params = CtripBusUtil::util()->getBody();
  118. $result = $this->logic()->getLine($params);
  119. if ($result['flag'] == false) {
  120. return CtripBusUtil::util()->re($result['msg'], $result['code']);
  121. } else {
  122. return CtripBusUtil::util()->re('success', '1', $result['data']);
  123. }
  124. }
  125. /**
  126. * Des:查询余票
  127. * Name: actionRemaiTicketRequest
  128. * @return string
  129. * @author 倪宗锋
  130. */
  131. public function actionRemainTicket()
  132. {
  133. $params = CtripBusUtil::util()->getBody();
  134. $result = $this->logic()->remainTicket($params);
  135. if ($result['flag'] == false) {
  136. return CtripBusUtil::util()->re($result['msg'], $result['code']);
  137. } else {
  138. return CtripBusUtil::util()->re('success', '1', $result['data']);
  139. }
  140. }
  141. /**
  142. * Des:下单
  143. * Name: actionOrder
  144. * @return string
  145. * @author 倪宗锋
  146. */
  147. public function actionOrder()
  148. {
  149. $params = CtripBusUtil::util()->getBody();
  150. $result = $this->logic()->makeOrder($params);
  151. if ($result['flag'] == false) {
  152. return CtripBusUtil::util()->re($result['msg'], $result['code']);
  153. } else {
  154. return CtripBusUtil::util()->re('success', '1', $result['data']);
  155. }
  156. }
  157. /**
  158. * Des:订单详情
  159. * Name: actionOrderDetail
  160. * @return string
  161. * @author 倪宗锋
  162. */
  163. public function actionOrderDetail()
  164. {
  165. $params = CtripBusUtil::util()->getBody();
  166. $getDetail = $this->logic()->orderDetail($params);
  167. if ($getDetail['flag'] == false) {
  168. return CtripBusUtil::util()->re($getDetail['msg'], $getDetail['code']);
  169. } else {
  170. return CtripBusUtil::util()->re('success', '1', $getDetail['data']);
  171. }
  172. }
  173. /***
  174. * Des:退票
  175. * Name: actionRefundTicket
  176. * @return string
  177. * @author 倪宗锋
  178. */
  179. public function actionRefundTicket()
  180. {
  181. $params = CtripBusUtil::util()->getBody();
  182. $cancelResult = $this->logic()->refundTicket($params);
  183. if ($cancelResult['flag'] == false) {
  184. return CtripBusUtil::util()->re($cancelResult['msg'], $cancelResult['code']);
  185. } else {
  186. return CtripBusUtil::util()->re('success', '1',$cancelResult['data']);
  187. }
  188. }
  189. }