作者 郭文星

111

@@ -65,8 +65,14 @@ class Order extends Backend @@ -65,8 +65,14 @@ class Order extends Backend
65 ->paginate($limit); 65 ->paginate($limit);
66 $res=$this->model->where("id",">",0)->update(["is_check"=>1]); 66 $res=$this->model->where("id",">",0)->update(["is_check"=>1]);
67 foreach ($list as $row) { 67 foreach ($list as $row) {
68 - $row->visible(['id', 'order_no','phone', 'type','intended_driver_id', 'pay_type', 'price', 'is_pay', 'user_name', 'driver_name', 'pay_time', 'refund_time','reservation_time', 'create_time']);  
69 - if(!$row['driver_name']){ 68 + $row->visible(['id','driver_id', 'order_no','phone', 'type','intended_driver_id', 'pay_type', 'price', 'is_pay', 'user_name', 'driver_name', 'pay_time', 'refund_time','reservation_time', 'create_time']);
  69 +
  70 + if(!$row['driver']['name']){
  71 + $row['driver_name']="未选择司机";
  72 + }else{
  73 + $row['driver_name']=$row['driver']['name'];
  74 + }
  75 + if(!$row['driver']){
70 $row['driver_name']="未选择司机"; 76 $row['driver_name']="未选择司机";
71 } 77 }
72 $row->visible(['driver']); 78 $row->visible(['driver']);
@@ -229,27 +235,31 @@ class Order extends Backend @@ -229,27 +235,31 @@ class Order extends Backend
229 $route = Db::name("route")->where("id", $car['route_id'])->find(); 235 $route = Db::name("route")->where("id", $car['route_id'])->find();
230 //判断总表 236 //判断总表
231 $time = strtotime(date("Y-m-d", time())); 237 $time = strtotime(date("Y-m-d", time()));
232 - $order_review = Db::name("order_review")  
233 - ->where("car_id", $car["id"])  
234 - ->where("route_id", $route['id'])  
235 - ->where("driver_id", $driver['id'])  
236 - ->where("createtime", ">", $time)  
237 - ->find(); 238 + $params["order_review_id"]="";
  239 + if($car){
  240 + $order_review = Db::name("order_review")
  241 + ->where("car_id", $car["id"])
  242 + ->where("route_id", $route['id'])
  243 + ->where("driver_id", $driver['id'])
  244 + ->where("createtime", ">", $time)
  245 + ->find();
238 246
239 - if (!$order_review) {  
240 - $order_review_id = Db::name("order_review")  
241 - ->insertGetId([  
242 - "car_id" => $car["id"],  
243 - "route_id" => $route['id'],  
244 - "driver_id" => $driver['id'],  
245 - "type" => 2,  
246 - "order_status" => 3,  
247 - "createtime" => time()  
248 - ]);  
249 - } else {  
250 - $order_review_id = $order_review['id']; 247 + if (!$order_review) {
  248 + $order_review_id = Db::name("order_review")
  249 + ->insertGetId([
  250 + "car_id" => $car["id"],
  251 + "route_id" => $route['id'],
  252 + "driver_id" => $driver['id'],
  253 + "type" => 2,
  254 + "order_status" => 3,
  255 + "createtime" => time()
  256 + ]);
  257 + } else {
  258 + $order_review_id = $order_review['id'];
  259 + }
  260 + $params["order_review_id"]=$order_review_id;
251 } 261 }
252 - $params["order_review_id"]=$order_review_id; 262 +
253 $result = $row->allowField(true)->save($params); 263 $result = $row->allowField(true)->save($params);
254 Db::commit(); 264 Db::commit();
255 } catch (ValidateException|PDOException|Exception $e) { 265 } catch (ValidateException|PDOException|Exception $e) {
@@ -359,8 +369,12 @@ class Order extends Backend @@ -359,8 +369,12 @@ class Order extends Backend
359 $params = $this->preExcludeFields($params); 369 $params = $this->preExcludeFields($params);
360 $params['pay_type']="background"; 370 $params['pay_type']="background";
361 $params['is_pay']=1; 371 $params['is_pay']=1;
  372 + if($params['driver_id']){
362 $driver=Db::name("driver")->where("id",$params['driver_id'])->find(); 373 $driver=Db::name("driver")->where("id",$params['driver_id'])->find();
  374 + $car=Db::name("car")->where("driver_id",$driver['id'])->find();
  375 + $params['car_id']=$car['id'];
363 $params['driver_name']=$driver['name']; 376 $params['driver_name']=$driver['name'];
  377 + }
364 $params['order_no']=$this->getOrderSn(); 378 $params['order_no']=$this->getOrderSn();
365 if ($this->dataLimit && $this->dataLimitFieldAutoFill) { 379 if ($this->dataLimit && $this->dataLimitFieldAutoFill) {
366 $params[$this->dataLimitField] = $this->auth->id; 380 $params[$this->dataLimitField] = $this->auth->id;
@@ -375,9 +389,11 @@ class Order extends Backend @@ -375,9 +389,11 @@ class Order extends Backend
375 $this->model->validateFailException()->validate($validate); 389 $this->model->validateFailException()->validate($validate);
376 } 390 }
377 391
378 - $passenger=Db::name("passenger")->insertGetId(['name'=>$params['user_name'],'IDcard'=>$params['IDcard'],'phone'=>$params['phone']]);  
379 - $params['passengers']=$passenger; 392 +
  393 +
380 //判断总表 394 //判断总表
  395 + $order_review_id="";
  396 + if($params['driver_id']){
381 $time = strtotime(date("Y-m-d", time())); 397 $time = strtotime(date("Y-m-d", time()));
382 $order_review = Db::name("order_review") 398 $order_review = Db::name("order_review")
383 ->where("car_id", $params['car_id']) 399 ->where("car_id", $params['car_id'])
@@ -385,7 +401,6 @@ class Order extends Backend @@ -385,7 +401,6 @@ class Order extends Backend
385 ->where("driver_id", $params['driver_id']) 401 ->where("driver_id", $params['driver_id'])
386 ->where("createtime", ">", $time) 402 ->where("createtime", ">", $time)
387 ->find(); 403 ->find();
388 -  
389 if (!$order_review) { 404 if (!$order_review) {
390 $order_review_id = Db::name("order_review") 405 $order_review_id = Db::name("order_review")
391 ->insertGetId([ 406 ->insertGetId([
@@ -399,8 +414,55 @@ class Order extends Backend @@ -399,8 +414,55 @@ class Order extends Backend
399 } else { 414 } else {
400 $order_review_id = $order_review['id']; 415 $order_review_id = $order_review['id'];
401 } 416 }
  417 + }
402 $params['order_review_id']=$order_review_id; 418 $params['order_review_id']=$order_review_id;
403 - $result = $this->model->allowField(true)->save($params); 419 + $user=Db::name("user")->where("mobile",$params['phone'])->find();
  420 + if($user){
  421 + $params['user_id']=$user['id'];
  422 + $passenger=Db::name("passenger")->where([
  423 + 'name'=>$params['user_name'],
  424 + 'IDcard'=>$params['IDcard'],
  425 + 'user_id'=>$params['user_id'],
  426 + 'phone'=>$params['phone']
  427 + ])->find();
  428 + if(!$passenger){
  429 + $passenger=Db::name("passenger")->insertGetId([
  430 + 'name'=>$params['user_name'],
  431 + 'IDcard'=>$params['IDcard'],
  432 + 'user_id'=>$params['user_id'],
  433 + 'phone'=>$params['phone']
  434 + ]);
  435 + $params['passengers']=$passenger;
  436 + }else{
  437 + $params['passengers']=$passenger['id'];
  438 + }
  439 + }else{
  440 + $params['user_id']=$user['id'];
  441 + $passenger=Db::name("passenger")->where([
  442 + 'name'=>$params['user_name'],
  443 + 'IDcard'=>$params['IDcard'],
  444 + 'user_id'=>$params['user_id'],
  445 + 'phone'=>$params['phone']
  446 + ])->find();
  447 + if(!$passenger){
  448 + $passenger=Db::name("passenger")->insertGetId([
  449 + 'name'=>$params['user_name'],
  450 + 'IDcard'=>$params['IDcard'],
  451 + 'phone'=>$params['phone']
  452 + ]);
  453 + $params['passengers']=$passenger;
  454 + }else{
  455 + $params['passengers']=$passenger['id'];
  456 + }
  457 + }
  458 + unset($params['IDcard']);
  459 +
  460 + $result = $this->model->allowField(true)->insertGetId($params);
  461 + $index=new Index();
  462 + $res=$index->senWxmsgToDriverUser($result);
  463 + print_r($res);
  464 + print_r("============");
  465 + print_r($result);return;
404 Db::commit(); 466 Db::commit();
405 } catch (ValidateException|PDOException|Exception $e) { 467 } catch (ValidateException|PDOException|Exception $e) {
406 Db::rollback(); 468 Db::rollback();
@@ -33,7 +33,7 @@ return [ @@ -33,7 +33,7 @@ return [
33 'Refund_time' => '退款时间', 33 'Refund_time' => '退款时间',
34 'Reservation_time' => '预约时间', 34 'Reservation_time' => '预约时间',
35 'Create_time' => '创建时间', 35 'Create_time' => '创建时间',
36 - 'driver_name' => '司机名', 36 + 'driver_name' => '司机名',
37 'license_plate' => '车牌号', 37 'license_plate' => '车牌号',
38 'IDcard' => '身份证', 38 'IDcard' => '身份证',
39 'Driver.name' => '司机名称', 39 'Driver.name' => '司机名称',
@@ -7,7 +7,7 @@ @@ -7,7 +7,7 @@
7 </div> 7 </div>
8 </div> 8 </div>
9 <div class="form-group"> 9 <div class="form-group">
10 - <label class="control-label col-xs-12 col-sm-2">{:__('Name')}:</label> 10 + <label class="control-label col-xs-12 col-sm-2">司机名字:</label>
11 <div class="col-xs-12 col-sm-8"> 11 <div class="col-xs-12 col-sm-8">
12 <input id="c-name" class="form-control" name="row[name]" type="text"> 12 <input id="c-name" class="form-control" name="row[name]" type="text">
13 </div> 13 </div>
@@ -25,18 +25,7 @@ @@ -25,18 +25,7 @@
25 </div> 25 </div>
26 </div> 26 </div>
27 27
28 - <div class="form-group">  
29 - <label class="control-label col-xs-12 col-sm-2">{:__('Scheduling_type')}:</label>  
30 - <div class="col-xs-12 col-sm-8">  
31 -  
32 - <select id="c-scheduling_type" class="form-control selectpicker" name="row[scheduling_type]">  
33 - {foreach name="schedulingTypeList" item="vo"}  
34 - <option value="{$key}" {in name="key" value=""}selected{/in}>{$vo}</option>  
35 - {/foreach}  
36 - </select>  
37 28
38 - </div>  
39 - </div>  
40 <div class="form-group"> 29 <div class="form-group">
41 <label class="control-label col-xs-12 col-sm-2">{:__('Create_time')}:</label> 30 <label class="control-label col-xs-12 col-sm-2">{:__('Create_time')}:</label>
42 <div class="col-xs-12 col-sm-8"> 31 <div class="col-xs-12 col-sm-8">
@@ -6,7 +6,7 @@ @@ -6,7 +6,7 @@
6 </div> 6 </div>
7 </div> 7 </div>
8 <div class="form-group"> 8 <div class="form-group">
9 - <label class="control-label col-xs-12 col-sm-2">{:__('Name')}:</label> 9 + <label class="control-label col-xs-12 col-sm-2">司机名字:</label>
10 <div class="col-xs-12 col-sm-8"> 10 <div class="col-xs-12 col-sm-8">
11 <input id="c-name" class="form-control" name="row[name]" type="text" value="{$row.name|htmlentities}"> 11 <input id="c-name" class="form-control" name="row[name]" type="text" value="{$row.name|htmlentities}">
12 </div> 12 </div>
@@ -24,18 +24,7 @@ @@ -24,18 +24,7 @@
24 </div> 24 </div>
25 </div> 25 </div>
26 26
27 - <div class="form-group">  
28 - <label class="control-label col-xs-12 col-sm-2">{:__('Scheduling_type')}:</label>  
29 - <div class="col-xs-12 col-sm-8">  
30 -  
31 - <select id="c-scheduling_type" class="form-control selectpicker" name="row[scheduling_type]">  
32 - {foreach name="schedulingTypeList" item="vo"}  
33 - <option value="{$key}" {in name="key" value="$row.scheduling_type"}selected{/in}>{$vo}</option>  
34 - {/foreach}  
35 - </select>  
36 27
37 - </div>  
38 - </div>  
39 <div class="form-group"> 28 <div class="form-group">
40 <label class="control-label col-xs-12 col-sm-2">{:__('Create_time')}:</label> 29 <label class="control-label col-xs-12 col-sm-2">{:__('Create_time')}:</label>
41 <div class="col-xs-12 col-sm-8"> 30 <div class="col-xs-12 col-sm-8">
@@ -8,18 +8,6 @@ @@ -8,18 +8,6 @@
8 </div> 8 </div>
9 9
10 <div class="form-group"> 10 <div class="form-group">
11 - <label class="control-label col-xs-12 col-sm-2">{:__('Car_id')}:</label>  
12 - <div class="col-xs-12 col-sm-8">  
13 - <input id="c-car_id" data-rule="required" data-source="car/index" class="form-control selectpage" data-field="license_plate" name="row[car_id]" type="text" value="">  
14 - </div>  
15 - </div>  
16 - <div class="form-group">  
17 - <label class="control-label col-xs-12 col-sm-2">{:__('User_id')}:</label>  
18 - <div class="col-xs-12 col-sm-8">  
19 - <input id="c-user_id" data-rule="required" data-source="user/user/index" data-field="nickname" class="form-control selectpage" name="row[user_id]" type="text" value="">  
20 - </div>  
21 - </div>  
22 - <div class="form-group">  
23 <label class="control-label col-xs-12 col-sm-2">{:__('User_name')}:</label> 11 <label class="control-label col-xs-12 col-sm-2">{:__('User_name')}:</label>
24 <div class="col-xs-12 col-sm-8"> 12 <div class="col-xs-12 col-sm-8">
25 <input id="c-user_name" class="form-control" name="row[user_name]" type="text"> 13 <input id="c-user_name" class="form-control" name="row[user_name]" type="text">
@@ -40,7 +28,7 @@ @@ -40,7 +28,7 @@
40 <div class="form-group"> 28 <div class="form-group">
41 <label class="control-label col-xs-12 col-sm-2">{:__('Driver_id')}:</label> 29 <label class="control-label col-xs-12 col-sm-2">{:__('Driver_id')}:</label>
42 <div class="col-xs-12 col-sm-8"> 30 <div class="col-xs-12 col-sm-8">
43 - <input id="c-driver_id" data-rule="required" data-source="driver/index" class="form-control selectpage" name="row[driver_id]" type="text" value=""> 31 + <input id="c-driver_id" data-source="driver/index" class="form-control selectpage" name="row[driver_id]" type="text" value="">
44 </div> 32 </div>
45 </div> 33 </div>
46 <div class="form-group"> 34 <div class="form-group">
@@ -114,7 +114,7 @@ class Index extends Api @@ -114,7 +114,7 @@ class Index extends Api
114 $ywt_appid = 'wxb7dd0c03865a94e0'; 114 $ywt_appid = 'wxb7dd0c03865a94e0';
115 $pagepath = ''; 115 $pagepath = '';
116 $res = $this->sendAstuWxMsgToAgent($sendInfo, $wxopenid, $tourl, $config['app_id'], $config['secret'], $ywt_appid, $pagepath); 116 $res = $this->sendAstuWxMsgToAgent($sendInfo, $wxopenid, $tourl, $config['app_id'], $config['secret'], $ywt_appid, $pagepath);
117 - //print_r($res);return; 117 + print_r($res);return;
118 //file_put_contents("pcl_wct_send.log", date("Y-m-d H:i:s") . "1-2-" . json_encode($res, JSON_UNESCAPED_UNICODE) . PHP_EOL, FILE_APPEND); 118 //file_put_contents("pcl_wct_send.log", date("Y-m-d H:i:s") . "1-2-" . json_encode($res, JSON_UNESCAPED_UNICODE) . PHP_EOL, FILE_APPEND);
119 } 119 }
120 } 120 }
@@ -29,8 +29,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin @@ -29,8 +29,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
29 {field: 'name', title: __('Name'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content}, 29 {field: 'name', title: __('Name'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
30 {field: 'phone', title: __('Phone'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content}, 30 {field: 'phone', title: __('Phone'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
31 {field: 'car_fleet', title: __('Car_fleet'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content}, 31 {field: 'car_fleet', title: __('Car_fleet'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
32 - {field: 'scheduling_type', title: __('Scheduling_type'), searchList: {"1":__('Scheduling_type 1'),"2":__('Scheduling_type 2')}, formatter: Table.api.formatter.normal},  
33 - {field: 'offline_payment', title: __('Offline_payment'), searchList: {"0":__('Offline_payment 0'),"1":__('Offline_payment 1')}, formatter: Table.api.formatter.normal}, 32 + {field: 'offline_payment', title: __('Offline_payment'), searchList: {"0":__('Offline_payment 0'),"1":__('Offline_payment 1')}, formatter: Table.api.formatter.normal},
34 {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate} 33 {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
35 ] 34 ]
36 ] 35 ]