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.
 
 
 
 
 
 

293 lines
10 KiB

  1. <?php
  2. /**
  3. *
  4. * ============================================================================
  5. * * 版权所有 蜘蛛出行 * *
  6. * 网站地址: http://www.zhizhuchuxing.com
  7. * ----------------------------------------------------------------------------
  8. * 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和
  9. * 使用;不允许对程序代码以任何形式任何目的的再发布。
  10. * ============================================================================
  11. * Author By: 温依莅
  12. * PhpStorm GetStockController.php 获取巴士,酒店,门票的库存和成本价信息接口
  13. * Create By 2017/6/23 9:44 $
  14. */
  15. namespace backend\modules\api\controllers;
  16. use backend\modules\api\logic\GetTouristStock;
  17. use backend\modules\api\logic\GetStockData;
  18. use backend\modules\api\models\OperaProductRun;
  19. use console\models\GroupOrder;
  20. use yii\web\Controller;
  21. use Yii;
  22. use Zend\Validator\Date;
  23. class GetStockController extends Controller
  24. {
  25. public $enableCsrfValidation = false;
  26. /**
  27. * Function Description:入口
  28. * Function Name: actionIndex
  29. *
  30. * @return string
  31. *
  32. * @author 温依莅
  33. */
  34. public function actionIndex()
  35. {
  36. $request = Yii::$app->request;
  37. $action = $request->post('action');
  38. $func = 'action';
  39. $action = explode('_', $action);
  40. foreach ($action as $key => $vel) {
  41. $func .= ucfirst($vel);
  42. }
  43. if ($action === false || method_exists($this, $func) == false) {
  44. $json = ['code' => 1, 'info' => '必要参数缺失'];
  45. return json_encode($json);
  46. }
  47. return $this->$func();
  48. }
  49. /**
  50. * Function Description:获取格式化的组合产品库存成本【不报错,若无则返回全是0的信息】
  51. * Function Name: actionGetFormatTouristStock
  52. *
  53. * @return string
  54. *
  55. * @author 温依莅
  56. */
  57. public function actionGetFormatTouristStock()
  58. {
  59. $tourist_id = Yii::$app->request->post('tourist_id', -1);//组合产品id
  60. $run_date = Yii::$app->request->post('run_date', -1);//起始日期
  61. $org_id = Yii::$app->request->post('org_id', 164);//组合产品销售渠道id
  62. $user_id = Yii::$app->request->post('user_id', -1);//用户id
  63. $main_corp_id = Yii::$app->request->post('main_corp_id', -1);//运营主体id,(可不传,则根据user_id判断)
  64. $tourist_stock_obj = new GetTouristStock();
  65. $res = $tourist_stock_obj->getFormatTouristStock($tourist_id, $run_date, $org_id, $user_id, $main_corp_id);
  66. return json_encode($res);
  67. }
  68. /**
  69. * Function Description:获取自由行产品实际需要支付金额
  70. * Function Name: actionGetTouristPayTotal
  71. *
  72. * @return string
  73. *
  74. * @author 温依莅
  75. */
  76. public function actionGetTouristPayTotal()
  77. {
  78. $tourist_id = Yii::$app->request->post('sign', -1);//组合产品id
  79. $run_date = Yii::$app->request->post('date', -1);//起始日期
  80. $prod_arr = Yii::$app->request->post('prod_arr', -1);//票种信息(购买数量)
  81. $org_id = Yii::$app->request->post('org_id', 164);//用户id
  82. $user_id = Yii::$app->request->post('user_id', 2);//用户id
  83. if ($tourist_id == -1 || $run_date == -1 || $prod_arr == -1) {
  84. $result['code'] = '1';
  85. $result['info'] = '参数缺失';
  86. return json_encode($result);
  87. }
  88. $tourist_stock_obj = new GetTouristStock();
  89. $res = $tourist_stock_obj->getTouristPayTotal($tourist_id, $run_date, $org_id, $user_id, json_decode($prod_arr,true));
  90. return json_encode($res);
  91. }
  92. /**
  93. * Function Description:获取组合产品库存和成本
  94. * Function Name: actionGetTouristStock
  95. *
  96. * @return string
  97. *
  98. * @author 温依莅
  99. */
  100. public function actionGetTouristStock()
  101. {
  102. $tourist_id = Yii::$app->request->post('tourist_id', -1);//组合产品id
  103. $run_date = Yii::$app->request->post('run_date', -1);//起始日期
  104. $org_id = Yii::$app->request->post('org_id', 164);//组合产品销售渠道id
  105. $user_id = Yii::$app->request->post('user_id', -1);//用户id
  106. $main_corp_id = Yii::$app->request->post('main_corp_id', -1);//运营主体id,(可不传,则根据user_id判断)
  107. $tourist_stock_obj = new GetTouristStock();
  108. $result = array();
  109. if ($tourist_id == -1 || $run_date == -1 || $user_id == -1) {
  110. $result['code'] = '1';
  111. $result['info'] = '参数格式有误';
  112. return json_encode($result);
  113. }
  114. $res = $tourist_stock_obj->getTouristStock($tourist_id, $run_date, $org_id, $user_id, $main_corp_id);
  115. return json_encode($res);
  116. }
  117. /**
  118. * Function Description:巴士根据票种,和票种出发时间获取班次run_id
  119. * Function Name: actionGetBusRunInfo
  120. *
  121. * @return string
  122. *
  123. * @author 温依莅
  124. */
  125. public function actionGetBusRunInfo()
  126. {
  127. $prod_id = Yii::$app->request->post('prod_id', -1);
  128. $run_date = Yii::$app->request->post('run_date', -1);
  129. $start_time = Yii::$app->request->post('start_time', -1);
  130. $tourist_stock_obj = new GetTouristStock();
  131. $result = array();
  132. if ($prod_id == -1 || $run_date == -1 || $start_time == -1) {
  133. $result['code'] = '1';
  134. $result['info'] = '参数格式有误';
  135. return json_encode($result);
  136. }
  137. $res = $tourist_stock_obj->getBusRunInfo($prod_id, $run_date, $start_time);
  138. return json_encode($res);
  139. }
  140. /**
  141. * Function Description:获取巴士库存
  142. * Function Name: actionGetBusStock
  143. *
  144. * @return string
  145. *
  146. * @author 温依莅
  147. */
  148. public function actionGetBusStock()
  149. {
  150. $run_id = Yii::$app->request->post('run_id', -1);
  151. $prod_id = Yii::$app->request->post('prod_id', -1);
  152. $stock_obj = new GetStockData();
  153. $result = array();
  154. if ($run_id == -1 || $prod_id == -1) {
  155. $result['code'] = '1';
  156. $result['info'] = '参数格式有误';
  157. return json_encode($result);
  158. }
  159. $res = $stock_obj->getBusBasicStock($run_id, $prod_id);
  160. return json_encode($res);
  161. }
  162. /**
  163. * Function Description:获取巴士成本
  164. * Function Name: actionGetBusCost
  165. *
  166. * @return string
  167. *
  168. * @author 温依莅
  169. */
  170. public function actionGetBusCost()
  171. {
  172. $prod_id = Yii::$app->request->post('prod_id', -1);//票种id
  173. $user_id = Yii::$app->request->post('user_id', -1);//下单用户id
  174. $org_id = Yii::$app->request->post('org_id', -1);//渠道id
  175. $main_corp_id = Yii::$app->request->post('main_corp_id', -1);//运营主体id,若不传则根据user_id判断运营主体
  176. $stock_obj = new GetStockData();
  177. $result = array();
  178. if ($prod_id == -1 || $user_id == -1 || $org_id == -1) {
  179. $result['code'] = '1';
  180. $result['info'] = '参数格式有误';
  181. return json_encode($result);
  182. }
  183. $res = $stock_obj->getBusBasicCost($prod_id, $org_id, $user_id, $main_corp_id);
  184. return json_encode($res);
  185. }
  186. /**
  187. * Function Description:获取酒店成本和库存
  188. * Function Name: actionGetHotelStock
  189. *
  190. * @return string
  191. *
  192. * @author 温依莅
  193. */
  194. public function actionGetHotelStock()
  195. {
  196. $org_id = Yii::$app->request->post('org_id', -1);//渠道id
  197. $hotel_id = Yii::$app->request->post('hotel_id', -1);//酒店id
  198. $base_room_type = Yii::$app->request->post('base_room_type', -1);//基础子房型id
  199. $room_type = Yii::$app->request->post('room_type', -1);//子房型id
  200. $run_date = Yii::$app->request->post('run_date', -1);//入住日期
  201. $stock_obj = new GetStockData();
  202. $result = array();
  203. if ($org_id == -1 || $hotel_id == -1 || $base_room_type == -1 || $room_type == -1 || $run_date == -1) {
  204. $result['code'] = '1';
  205. $result['info'] = '参数格式有误';
  206. return json_encode($result);
  207. }
  208. $res = $stock_obj->getHotelBasicStock($hotel_id, $base_room_type, $room_type, $run_date, $org_id);
  209. return json_encode($res);
  210. }
  211. /**
  212. * Function Description:获取门票成本和库存
  213. * Function Name: actionGetTicketStock
  214. *
  215. * @return string
  216. *
  217. * @author 温依莅
  218. */
  219. public function actionGetTicketStock()
  220. {
  221. $main_prod_id = Yii::$app->request->post('main_prod_id', -1);//父票种id
  222. $sub_prod_id = Yii::$app->request->post('sub_prod_id', -1);//子票种id
  223. $run_date = Yii::$app->request->post('run_date', -1);//日期
  224. $stock_obj = new GetStockData();
  225. $result = array();
  226. if ($main_prod_id == -1 || $sub_prod_id == -1 || $run_date == -1) {
  227. $result['code'] = '1';
  228. $result['info'] = '参数格式有误';
  229. return json_encode($result);
  230. }
  231. $res = $stock_obj->getTicketBasicStock($main_prod_id, $sub_prod_id, $run_date,0);
  232. return json_encode($res);
  233. }
  234. /**
  235. * Function Description:测试对自由行产品已确认订单发送预订成功短信
  236. * Function Name: actionSendBookMsg
  237. *
  238. *
  239. * @author 温依莅
  240. */
  241. public function actionSendBookMsg(){
  242. $group_obj=new GroupOrder();
  243. $group_obj->sendBookMsg();
  244. }
  245. /**
  246. * Function Description:查询门票价格统一接口
  247. * Function Name: getProdPrice
  248. *
  249. * @return string
  250. *
  251. * @author 冒炎
  252. */
  253. public function actionGetProdPrice(){
  254. $request = Yii::$app->request;
  255. $run_date =$request->post('run_date',-1);
  256. $to_org_id = $request->post('to_org_id',-1);
  257. $sub_prod_id = $request->post('prod_id',-1);
  258. if($run_date == -1||$to_org_id==-1||$sub_prod_id==-1){
  259. return json_encode(['code'=>'1','info'=>'参数有误']);
  260. }
  261. $logic = new GetStockData();
  262. $data = $logic->getProdPrice($run_date,$to_org_id,$sub_prod_id);
  263. return json_encode($data);
  264. }
  265. }