request->get('prod_name','');//门票编号/门票名称 $is_onsale= Yii::$app->request->get('is_onsale',1);//是否上架 $run_duty_id= Yii::$app->request->get('run_duty_id',0); $page_size= Yii::$app->request->get('page_size',10);//是否上架 $current_page= Yii::$app->request->get('current_page',1);//是否上架 $data=$opera_prod->getProdList($prod_name,$is_onsale,$run_duty_id,$page_size,$current_page); #获取供应商列表 $base_supplier = new BaseSupplier(); $supplier_list = $base_supplier->getProductSupplierList(); $supplier_list2 = array(); foreach( $supplier_list as $supplier_info ) { $supplier_list2[$supplier_info["org_id"]] = $supplier_info; } $data["supplier_list"] = $supplier_list2; // 获取运营商 $base_user = new BaseUser(); $user_id = Yii::$app->request->cookies->getValue('user_id', 0); $run_duty_list = $base_user->getRunDutyList($user_id); $data['run_duty_list'] = $run_duty_list; return $this->render('prod-list', $data); } /* * 产品上架 */ public function actionOnSale(){ $opera_prod=new OperaProduct(); $onsale_id= Yii::$app->request->post('onsale_id',''); $id_str=rtrim($onsale_id,','); $id_arr=explode(',',$id_str); $result=$opera_prod->onSale($id_arr); return json_encode($result); } /* * 产品下架 */ public function actionOffSale(){ $opera_prod=new OperaProduct(); $offsale_id= Yii::$app->request->post('offsale_id',''); $id_str=rtrim($offsale_id,','); $id_arr=explode(',',$id_str); $result=$opera_prod->offSale($id_arr); return json_encode($result); } /* * 新增产品 */ public function actionAddProd(){ $opera_prod=new OperaProduct(); $prod_cate_name= trim(Yii::$app->request->post('prod_cate_name','')); $prod_price_arr= Yii::$app->request->post('prod_price_arr',''); $prod_price_arr=json_decode($prod_price_arr,true); $is_refund= Yii::$app->request->post('is_refund',1); $refund_limit_day= Yii::$app->request->post('refund_limit_day')==''?0:Yii::$app->request->post('refund_limit_day',0); $refund_limit_time= Yii::$app->request->post('refund_limit_time','23:59'); $remark= Yii::$app->request->post('remark',''); $prod_code= trim(Yii::$app->request->post('prod_code','')); $run_duty_id = trim(Yii::$app->request->post('run_duty_id','')); $top_org_id = trim(Yii::$app->request->post('top_org_id',0)); // if (count($prod_price_arr) != count(array_unique($prod_price_arr))){ // $json=[ // 'code'=>2, // 'info'=>'价格类型重复,请重新添加', // ]; // return json_encode($json); // } $tmp_arr=$prod_price_arr; foreach($prod_price_arr as $key=>$val){ foreach($tmp_arr as $k=>$v){ if($v['price_type_name']==$val['price_type_name'] && $key!=$k){ $json=[ 'code'=>2, 'info'=>'价格类型重复,请重新添加', ]; return json_encode($json); } } } //简单参数校验 if($prod_cate_name=='' ||$prod_code==''){ $json=[ 'code'=>1, 'info'=>'参数错误', ]; return json_encode($json); } if(empty($run_duty_id)){ $json=[ 'code'=>1, 'info'=>'请选择运营负责人', ]; return json_encode($json); } if(empty($prod_price_arr)){ $json=[ 'code'=>1, 'info'=>'请填写价格类型', ]; return json_encode($json); } $result=$opera_prod->istProd($prod_cate_name,$prod_price_arr,$is_refund,$refund_limit_day,$refund_limit_time,$remark,$run_duty_id,$prod_code); if($result!=0){ $json=[ 'code'=>$result, 'info'=>'数据库错误', ]; }else{ $json=[ 'code'=>0, ]; } return json_encode($json); } /* * 获取门票信息 */ public function actionGetProdDetail(){ $opera_prod=new OperaProduct(); $prod_id= Yii::$app->request->post('prod_id',''); $detail=$opera_prod->getDetailForUpt($prod_id); return json_encode($detail); } /** * Function Description:修改门票信息 * Function Name: actionUptProd * * * @author 娄梦宁 */ public function actionUptProd(){ $opera_prod=new OperaProduct(); $prod_cate_name= trim(Yii::$app->request->post('prod_cate_name','')); $prod_id= Yii::$app->request->post('prod_id',''); $prod_price_arr= Yii::$app->request->post('prod_price_arr',''); $prod_price_arr=json_decode($prod_price_arr,true); $is_refund= Yii::$app->request->post('is_refund',1); $refund_limit_day= Yii::$app->request->post('refund_limit_day')==''?0:Yii::$app->request->post('refund_limit_day',0); $refund_limit_time= Yii::$app->request->post('refund_limit_time','23:59'); $remark= Yii::$app->request->post('remark',''); $prod_code= trim(Yii::$app->request->post('prod_code','')); $top_org_id= Yii::$app->request->post('top_org_id',0); $run_duty_id= Yii::$app->request->post('run_duty_id',0); //简单参数校验 if($prod_cate_name=='' ||$prod_code==''){ $json=[ 'code'=>1, 'info'=>'参数错误', ]; return json_encode($json); } //价格类型不能重复 $tmp_arr=$prod_price_arr; foreach($prod_price_arr as $key=>$val){ foreach($tmp_arr as $k=>$v){ if($v['price_type_name']==$val['price_type_name'] && $key!=$k){ $json=[ 'code'=>2, 'info'=>'价格类型重复,请重新添加', ]; return json_encode($json); } } } if(empty($run_duty_id)){ $json=[ 'code'=>1, 'info'=>'请选择运营负责人', ]; return json_encode($json); } if(empty($prod_price_arr)){ $json=[ 'code'=>1, 'info'=>'请填写价格类型', ]; return json_encode($json); } $result=$opera_prod->uptProd($prod_cate_name,$prod_id,$prod_price_arr,$is_refund,$refund_limit_day,$refund_limit_time,$remark,$run_duty_id,$prod_code,$top_org_id); if($result!=0){ $json=[ 'code'=>$result, 'info'=>'数据库错误' ]; }else{ $json=[ 'code'=>0, 'info'=>'修改成功' ]; } return json_encode($json); } /** * Function Description:得到价格日历 * Function Name: actionGetCalendar * * @return string * * @author 温依莅 */ public function actionGetCalendar() { $request = Yii::$app->request; $prod_id = $request->get('prod_id', -1); $view_type = $request->get('view_type', 1); $to_org_id = $request->get('to_org_id',0); $year = $request->get('year', 0); $month = $request->get('month',0); $prod_run = new OperaProductRun(); $final = $prod_run->getRunList($prod_id,$to_org_id, $year, $month); $final['view_type'] = $view_type; //取所有的符有售票权限的渠道商 $logic = new ProductManage(); $to_org_list = $logic->getAllToOrg(); $final['to_org_list'] = $to_org_list; //结合opera_product_fun处理list数组 //print_r($final);exit; return $this->render('set-prod-price', $final); } /** * Function Description:批量增加修改特定票种价格日历 * Function Name: actionModifyRunInfo * * @return array * * @author 温依莅 */ public function actionModifyRunInfo() { $request = Yii::$app->request; $to_org_id = $request->post('to_org_id',-1); $prod_id = $request->post('prod_id', -1); $date = $request->post('prod_date', 0); $attribute = $request->post('prod_attribute', 0); $prod_run = new OperaProductRun(); $res = $prod_run->modifyRunInfo($to_org_id,$prod_id, $date, $attribute); return json_encode($res); } /** * Function Description: * Function Name: actionChangeSale * * @return array * * @author 温依莅 */ public function actionChangeSale() { $request = Yii::$app->request; $prod_id = $request->post('prod_id', -1); $date = $request->post('prod_date', 0); $attribute = $request->post('is_onsale', -1); $to_org_id = $request->post('to_org_id',-1); $prod_run = new OperaProductRun(); $res = $prod_run->changeSale($prod_id, $date, $attribute,$to_org_id); return json_encode($res); } /** * Function Description:门票录入获取基础信息 * Function Name: actionFillOrder * * @return string * * @author 娄梦宁 */ public function actionFillOrder(){ $opera_prod=new OperaProduct(); $prod_list=$opera_prod->getAllProdMain(); $supplier_list=$opera_prod->getSupplierList(); $data=[ 'prod_list'=>$prod_list, 'supplier_list'=>$supplier_list ]; $prod_id=Yii::$app->request->get('prod_id',''); $run_date=Yii::$app->request->get('run_date',''); if($prod_id=='' || $run_date==''){ $prod_arr=[]; }else{ $prod_arr=$opera_prod->getProdPriceByDate($prod_id,$run_date); } $data['prod_arr']=$prod_arr; return $this->render('fill-order',$data); } /** * Function Description:填写订单下单接口 * Function Name: actionFillOrderSubmit * * @return mixed * * @author 娄梦宁 */ public function actionFillOrderSubmit(){ $opera_prod=new OperaProduct(); $cookies = Yii::$app->request->cookies; $user_id = $cookies->getValue('user_id', -1); //联系人信息拼接 $customer_info='{'.Yii::$app->request->post('customer_name','').','.Yii::$app->request->post('customer_phone','').',' .Yii::$app->request->post('customer_id_type',150).','.Yii::$app->request->post('customer_id_card','').'}'; //订单状态配置数据 $outside_sale_org_id= Yii::$app->request->post('outside_sale_org_id',''); $outside_sale_order_no= Yii::$app->request->post('outside_sale_order_no',''); //获取业务员 $sales_man=$opera_prod->getSalesMan($outside_sale_org_id); $order_info_str="{".$user_id.',0,'.$outside_sale_org_id.','.$outside_sale_order_no.',0,275,1,'.$sales_man."}"; $prod_str=Yii::$app->request->post('prod_str',''); $run_date=Yii::$app->request->post('run_date',''); $main_prod_id=Yii::$app->request->post('main_prod_id',''); //调用下单接口 $timer=time(); $send_date=[ 'auth_code' => Util::authCodeForCs($timer), 'user_key' => 'cs', 'user' => 'cs_key', 'request_time' => $timer, 'action' => 'submit_ticket_order', 'order_info_str' => $order_info_str, 'customer_info_str' => $customer_info, 'run_date'=>$run_date, 'prod_str'=>$prod_str, 'main_prod_id'=>$main_prod_id ]; $return=Utils::httpRequest(CS1_DOMAIN. '/api/submit-order',$send_date); return $return; } /** * Function Description:门票退票接口 * Function Name: actionCancelOrder * * @return string * * @author 娄梦宁 */ public function actionCancelOrder(){ $order_id=Yii::$app->request->post('order_id'); $cookies = Yii::$app->request->cookies; $user_id = $cookies->getValue('user_id', -1); $cancel_reason=Yii::$app->request->post('cancel_reason','系统退单'); //调用取消单接口 $timer=time(); $send_date=[ 'auth_code' => Util::authCodeForCs($timer), 'user_key' => 'cs', 'user' => 'cs_key', 'request_time' => $timer, 'action' => 'cancel_ticket_order', 'order_id' => $order_id, 'user_id' => $user_id, 'cancel_reason'=>$cancel_reason ]; $return=Msg::httpRequest(CS1_DOMAIN.'/api/submit-order',$send_date); return $return; } }