request; $action = $request->post('action'); $func = 'action'; $action = explode('_', $action); foreach ($action as $key => $vel) { $func .= ucfirst($vel); } //check 验证码 if ($this->actionCheckAuthCode() == false) { $json = ['code' => 1, 'info' => '验证身份失败']; return json_encode($json); } if ($action === false || method_exists($this, $func) == false) { $json = ['code' => 1, 'info' => '必要参数缺失']; return json_encode($json); } return $this->$func(); } /** * Function Description:验证验证码 * Function Name: actionCheckAuthCode * * @return string * * @author Redstop */ public function actionCheckAuthCode() { $user = Yii::$app->request->post('user');//用户名 $user_key = Yii::$app->request->post('user_key');//用户key $request_time = Yii::$app->request->post('request_time');//用户key $auth_code = Yii::$app->request->post('auth_code');//用户key //加密规则为 request_time(linux时间戳)前三位 + user + user_key + request_time(linux时间戳)末尾三位,进行MD5加密后,换成大写字母 $real_auth_code = strtoupper(md5(substr($request_time, 0, 3) . "|" . $user . "|" . $user_key . "|" . substr($request_time, strlen($request_time) - 3, 3))); if ($real_auth_code == $auth_code) { return true; } return false; } /** * Function Description:获取所有上架跟团游产品信息 * Function Name: actionGetTicketArray * * * @return string * * @author Redstop */ public function actionGetTouristArray() { $opera_tourist_common = new OperaTouristCommon(); #region 获取参数 $user_id = Yii::$app->request->post('user_id');//用户id #endregion $tourist_array = array(); $json = ['code' => 0, 'info' => '获取数据成功', 'data' => $tourist_array]; return json_encode($json); } /** * Function Description:获取所有该电话号码相关的订单 * Function Name: actionGetTicketArray * * * @return string * * @author Redstop */ protected function actionGetBusOrderArray() { $get_order_main = new GetOrderMainData(); #region 获取参数 $user_phone = Yii::$app->request->post('phone');//联系人电话 #endregion $start_date = date("Y-m-d",strtotime('-10 day')); $end_date = date("Y-m-d", strtotime("+20 day")); $search_order_main = $get_order_main->getBusOrderArrayByPhone($user_phone, $start_date, $end_date); $return_order_array = array(); if ($search_order_main != false && count($search_order_main) > 0) { foreach ($search_order_main as $order_main_info) { $return_info_token = array(); $return_info_token["cs_order_id"] = $order_main_info["parent_order_id"]; $return_info_token["start_time"] = $order_main_info["prod_start_station_time"]; $return_info_token["end_time"] = $order_main_info["prod_end_station_time"]; $return_info_token["start_res_id"] = $order_main_info["prod_start_station_res_id"]; $return_info_token["start_res"] = $order_main_info["prod_start_station_res_name"]; $return_info_token["end_res_id"] = $order_main_info["prod_end_station_res_id"]; $return_info_token["end_res"] = $order_main_info["prod_end_station_res_name"]; $return_info_token["start_area_name"] = $order_main_info["prod_start_station_area_name"]; $return_info_token["start_area_id"] = $order_main_info["prod_start_station_area_id"]; $return_info_token["end_area_name"] = $order_main_info["prod_end_station_area_name"]; $return_info_token["end_area_id"] = $order_main_info["prod_end_station_area_id"]; $return_info_token["start_longitude"] = $order_main_info["start_longitude"]; $return_info_token["start_latitude"] = $order_main_info["start_latitude"]; $return_info_token["customer_name"] = $order_main_info["customer_name"]; $return_info_token["customer_mobile"] = $order_main_info["customer_mobile"]; $return_info_token["customer_id_no"] = $order_main_info["customer_id_no"]; $return_order_array[$return_info_token["cs_order_id"]] = $return_info_token; } } $json = ['code' => 0, 'info' => '获取数据成功', 'list' => $return_order_array]; return json_encode($json); } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // add by Qiu Song // //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // add by Wen Yili // //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * Function Description:获取自由行产品实际需要支付金额 * Function Name: actionGetTouristPayTotal * * @return string * * @author 温依莅 */ protected function actionGetTouristPayTotal() { $tourist_id = Yii::$app->request->post('sign', -1);//自由行产品标识sign,格式 TR-10001,其中10001位自由行tourist_id $run_date = Yii::$app->request->post('date', -1);//起始日期 $prod_arr = Yii::$app->request->post('prod_arr', -1);//票种数据(成人,儿童)格式 : [{"prod_id":"TR-10001-1","prod_name":"成人票","prod_num":"2"},{"prod_id":"TR-10001-2","prod_name":"儿童票","prod_num":"1"} $org_id = Yii::$app->request->post('org_id', 164);//自由行产品销售渠道id $user_id = Yii::$app->request->post('user_id', 2);//用户id if ($tourist_id == -1 || $run_date == -1 || $prod_arr == -1) { $result['code'] = '1'; $result['info'] = '参数缺失'; return json_encode($result); } $tourist_stock_obj = new GetTouristStock(); $res = $tourist_stock_obj->getTouristPayTotal($tourist_id, $run_date, $org_id, $user_id, json_decode($prod_arr, true)); return json_encode($res); } /** * Function Description:自由行产品下单 * Function Name: actionSubmitTouristOrder * * @return string * * @author 温依莅 */ protected function actionSubmitTouristOrder() { $sign = Yii::$app->request->post('sign', -1);//自由行产品标识sign,格式 TR-10001,其中10001位自由行tourist_id $date = Yii::$app->request->post('date', -1);//起始日期 $prod_arr = Yii::$app->request->post('prod_arr', -1);//票种数据(成人,儿童)格式 : [{"prod_id":"TR-10001-1","prod_name":"成人票","prod_num":"2"},{"prod_id":"TR-10001-2","prod_name":"儿童票","prod_num":"1"} $customer_info = Yii::$app->request->post('customer_info', -1);//顾客信息 $order_info = Yii::$app->request->post('order_info', -1);//订单信息 $passenger_info = Yii::$app->request->post('passenger_info', '[]');//订单信息 $buy_insurance = Yii::$app->request->post('buy_insurance', 0);//是否购买保险信 默认0 ,内部保险 1,外部保险 2 $insurance = Yii::$app->request->post('insurance', '');//保险单详细 [{姓名,身份证},{姓名,身份证},{姓名,身份证}] array数组json_encode $auth_code = Yii::$app->request->post('auth_code', ''); $user_key = Yii::$app->request->post('user_key', ''); $user = Yii::$app->request->post('user', ''); $userId = Yii::$app->request->post('user_id', ''); $request_time = Yii::$app->request->post('request_time', ''); $touristObj = new SubmitTouristOrder(); $result = $touristObj->submitTouristGroupOrder($sign, $date, $prod_arr, $customer_info, $order_info, $passenger_info,$insurance,$buy_insurance,$auth_code,$user_key,$user,$userId,$request_time); return json_encode($result); } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // add by Lou Mengning // //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * Function Description:微信端我要找车,获取巴士位置 * Function Name: actionGetBusPosition * * @return mixed * * @author 娄梦宁 */ protected function actionGetBusPosition() { $wx_trip_api = new WxTripApi(); $order_id = Yii::$app->request->post('order_id');//订单号 $run_date = Yii::$app->request->post('run_date');//出行日期 $result = $wx_trip_api->GetBusPosition($order_id, $run_date); return json_encode($result); } /** * Function Description:获取产品某一天的票种价格 * Function Name: actionGetPriceDateByDay * * @return string * * @author 娄梦宁 */ protected function actionGetPriceDateByDay() { $org_id = Yii::$app->request->post('org_id','164');//渠道号 非必传 根据渠道号获取各自的价格日历 $userId = Yii::$app->request->post('user_id', 2); $wx_trip_api = new WxTripApi($org_id); $tourist_id = Yii::$app->request->post('sign');//产品编号 $run_date = Yii::$app->request->post('run_date');//出行日期 $result = $wx_trip_api->GetPriceDateOne($tourist_id, $run_date,$userId); return json_encode($result); } /** * Function Description:获取一个月的价格日历 * Function Name: actionGetPriceDateByMonth * * @return string * * @author 娄梦宁 */ protected function actionGetPriceDateByMonth() { $org_id = Yii::$app->request->post('org_id','164');//渠道号 非必传 根据渠道号获取各自的价格日历 $userId = Yii::$app->request->post('user_id', 2); $wx_trip_api = new WxTripApi($org_id); $tourist_id = Yii::$app->request->post('sign');//订单号 $result = $wx_trip_api->GetPriceDateMonth($tourist_id,$userId); return json_encode($result); } /** * Function Description:根据订单号获取座位号 * Function Name: actionGetSeatNumber * * @return string * * @author 娄梦宁 */ protected function actionGetSeatNumber(){ $order_id=Yii::$app->request->post('order_id'); $order_main=new OrderMain(); $data=$order_main->getSeatNumber($order_id); $result=[ 'code'=>0, 'data'=>$data ]; return json_encode($result); } /** * Function Description:获取座位是否可换标志 * Function Name: actionGetChangeSeatType * * @return string * * @author 娄梦宁 */ function actionGetChangeSeatType(){ $order_id=Yii::$app->request->post('order_id'); $wx_trip_api = new WxTripApi(); $result=$wx_trip_api->getChangeSeatType($order_id); return json_encode($result); } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // add by Luo Chenjie // //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * Function Description:获取所有巴士自由行产品数据 * Function Name: actionGetAllTouristInfo * * @return string * * @author luocj */ protected function actionGetAllTouristInfo() { $org_id = Yii::$app->request->post('org_id', 164); $userId = Yii::$app->request->post('user_id', 2); $model = new OperaTouristCommon(); $data = $model->getAllTouristInfo(); if ($data["code"] == 0) { //增加 起价 $wx_trip_api = new WxTripApi($org_id); $return_list = $wx_trip_api->addMinPriceToTouristArray($data["list"], 14,$userId); $data["list"] = $return_list; } return json_encode($data); } /** * Function Description:自由行拆分成 巴士 门票 酒店 * Function Name: actionTouristToAll * * @return string * * @author LUOCJ */ protected function actionTouristToAll() { #1.获取参数 $tp_tourist_id = Yii::$app->request->post('sign'); //自由行产品id $tourist_id = explode('-', $tp_tourist_id)[1]; $date = Yii::$app->request->post('date'); //入住日期 $prod_arr = Yii::$app->request->post('prod_arr'); //票种信息 $customer_info = Yii::$app->request->post('customer_info'); //客人信息 $order_info = Yii::$app->request->post('order_info'); //订单信息 $model = new TouristToResource(); $data = $model->getTouristToAll($tourist_id, $date, json_decode($prod_arr, true), json_decode($customer_info, true), json_decode($order_info, true),164); #2.返回参数 return json_encode($data); } /** * Function Description:白名单接口 flag为1 添加白名单 flag 为2 删除白名单 * Function Name: actionAppointSendMessage * * @return string * * @author LUOCJ */ public function actionAppointSendMessage() { $order_id = Yii::$app->request->post('order_id', -1); //1为添加白名单 2为删除白名单 $flag = Yii::$app->request->post('flag', -1); if ($order_id == -1 || $flag == -1 || !in_array($flag, [1, 2])) { $json["code"] = '1'; $json["info"] = '缺少参数'; return json_encode($json); } //插入表 appoint_send_message $model = new OperaMessageTemplate(); if ($flag == 1) { $data = $model->insertAppointSendMessage($order_id); } else { $data = $model->cancelAppointSendMessage($order_id); } return json_encode($data); } /** * Function Description:微信点击接口 1为添加点击过接口 2为删除点击过接口 * Function Name: actionAppointSendMessage * * @return string * * @author LUOCJ */ public function actionWechatClickMessage() { $order_id = Yii::$app->request->post('order_id', -1); $flag = Yii::$app->request->post('flag', -1); if ($order_id == -1 || $flag == -1 || !in_array($flag, [1, 2])) { $json["code"] = '1'; $json["info"] = '缺少参数'; return json_encode($json); } $model = new OperaMessageTemplate(); if ($flag == 1) { $data = $model->insertWechatClickMessage($order_id); #发送成功短信 $msg = new OperaMessageTemplate(); $msg->orderSendMsg($order_id, 'two'); } else { $data = $model->cancelWechatClickMessage($order_id); } return json_encode($data); } /** * Function Description:根据sign(tourist_id)获取自由行保险价格 * Function Name: actionGetTripDays * @return string * @author 田玲菲 */ public function actionGetTripDaysInsurance(){ $tourist_id = Yii::$app->request->post('sign', 0); $run_date = Yii::$app->request->post('run_date', 0); $wx = new WxTripApi(); $result = $wx->getFreeWalkDays($tourist_id,$run_date); return json_encode($result); } }