作者 郭文星

111

... ... @@ -65,8 +65,14 @@ class Order extends Backend
->paginate($limit);
$res=$this->model->where("id",">",0)->update(["is_check"=>1]);
foreach ($list as $row) {
$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']);
if(!$row['driver_name']){
$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']);
if(!$row['driver']['name']){
$row['driver_name']="未选择司机";
}else{
$row['driver_name']=$row['driver']['name'];
}
if(!$row['driver']){
$row['driver_name']="未选择司机";
}
$row->visible(['driver']);
... ... @@ -229,27 +235,31 @@ class Order extends Backend
$route = Db::name("route")->where("id", $car['route_id'])->find();
//判断总表
$time = strtotime(date("Y-m-d", time()));
$order_review = Db::name("order_review")
->where("car_id", $car["id"])
->where("route_id", $route['id'])
->where("driver_id", $driver['id'])
->where("createtime", ">", $time)
->find();
$params["order_review_id"]="";
if($car){
$order_review = Db::name("order_review")
->where("car_id", $car["id"])
->where("route_id", $route['id'])
->where("driver_id", $driver['id'])
->where("createtime", ">", $time)
->find();
if (!$order_review) {
$order_review_id = Db::name("order_review")
->insertGetId([
"car_id" => $car["id"],
"route_id" => $route['id'],
"driver_id" => $driver['id'],
"type" => 2,
"order_status" => 3,
"createtime" => time()
]);
} else {
$order_review_id = $order_review['id'];
if (!$order_review) {
$order_review_id = Db::name("order_review")
->insertGetId([
"car_id" => $car["id"],
"route_id" => $route['id'],
"driver_id" => $driver['id'],
"type" => 2,
"order_status" => 3,
"createtime" => time()
]);
} else {
$order_review_id = $order_review['id'];
}
$params["order_review_id"]=$order_review_id;
}
$params["order_review_id"]=$order_review_id;
$result = $row->allowField(true)->save($params);
Db::commit();
} catch (ValidateException|PDOException|Exception $e) {
... ... @@ -359,8 +369,12 @@ class Order extends Backend
$params = $this->preExcludeFields($params);
$params['pay_type']="background";
$params['is_pay']=1;
if($params['driver_id']){
$driver=Db::name("driver")->where("id",$params['driver_id'])->find();
$car=Db::name("car")->where("driver_id",$driver['id'])->find();
$params['car_id']=$car['id'];
$params['driver_name']=$driver['name'];
}
$params['order_no']=$this->getOrderSn();
if ($this->dataLimit && $this->dataLimitFieldAutoFill) {
$params[$this->dataLimitField] = $this->auth->id;
... ... @@ -375,9 +389,11 @@ class Order extends Backend
$this->model->validateFailException()->validate($validate);
}
$passenger=Db::name("passenger")->insertGetId(['name'=>$params['user_name'],'IDcard'=>$params['IDcard'],'phone'=>$params['phone']]);
$params['passengers']=$passenger;
//判断总表
$order_review_id="";
if($params['driver_id']){
$time = strtotime(date("Y-m-d", time()));
$order_review = Db::name("order_review")
->where("car_id", $params['car_id'])
... ... @@ -385,7 +401,6 @@ class Order extends Backend
->where("driver_id", $params['driver_id'])
->where("createtime", ">", $time)
->find();
if (!$order_review) {
$order_review_id = Db::name("order_review")
->insertGetId([
... ... @@ -399,8 +414,55 @@ class Order extends Backend
} else {
$order_review_id = $order_review['id'];
}
}
$params['order_review_id']=$order_review_id;
$result = $this->model->allowField(true)->save($params);
$user=Db::name("user")->where("mobile",$params['phone'])->find();
if($user){
$params['user_id']=$user['id'];
$passenger=Db::name("passenger")->where([
'name'=>$params['user_name'],
'IDcard'=>$params['IDcard'],
'user_id'=>$params['user_id'],
'phone'=>$params['phone']
])->find();
if(!$passenger){
$passenger=Db::name("passenger")->insertGetId([
'name'=>$params['user_name'],
'IDcard'=>$params['IDcard'],
'user_id'=>$params['user_id'],
'phone'=>$params['phone']
]);
$params['passengers']=$passenger;
}else{
$params['passengers']=$passenger['id'];
}
}else{
$params['user_id']=$user['id'];
$passenger=Db::name("passenger")->where([
'name'=>$params['user_name'],
'IDcard'=>$params['IDcard'],
'user_id'=>$params['user_id'],
'phone'=>$params['phone']
])->find();
if(!$passenger){
$passenger=Db::name("passenger")->insertGetId([
'name'=>$params['user_name'],
'IDcard'=>$params['IDcard'],
'phone'=>$params['phone']
]);
$params['passengers']=$passenger;
}else{
$params['passengers']=$passenger['id'];
}
}
unset($params['IDcard']);
$result = $this->model->allowField(true)->insertGetId($params);
$index=new Index();
$res=$index->senWxmsgToDriverUser($result);
print_r($res);
print_r("============");
print_r($result);return;
Db::commit();
} catch (ValidateException|PDOException|Exception $e) {
Db::rollback();
... ...
... ... @@ -33,7 +33,7 @@ return [
'Refund_time' => '退款时间',
'Reservation_time' => '预约时间',
'Create_time' => '创建时间',
'driver_name' => '司机名',
'driver_name' => '司机名',
'license_plate' => '车牌号',
'IDcard' => '身份证',
'Driver.name' => '司机名称',
... ...
... ... @@ -7,7 +7,7 @@
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Name')}:</label>
<label class="control-label col-xs-12 col-sm-2">司机名字:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-name" class="form-control" name="row[name]" type="text">
</div>
... ... @@ -25,18 +25,7 @@
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Scheduling_type')}:</label>
<div class="col-xs-12 col-sm-8">
<select id="c-scheduling_type" class="form-control selectpicker" name="row[scheduling_type]">
{foreach name="schedulingTypeList" item="vo"}
<option value="{$key}" {in name="key" value=""}selected{/in}>{$vo}</option>
{/foreach}
</select>
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Create_time')}:</label>
<div class="col-xs-12 col-sm-8">
... ...
... ... @@ -6,7 +6,7 @@
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Name')}:</label>
<label class="control-label col-xs-12 col-sm-2">司机名字:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-name" class="form-control" name="row[name]" type="text" value="{$row.name|htmlentities}">
</div>
... ... @@ -24,18 +24,7 @@
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Scheduling_type')}:</label>
<div class="col-xs-12 col-sm-8">
<select id="c-scheduling_type" class="form-control selectpicker" name="row[scheduling_type]">
{foreach name="schedulingTypeList" item="vo"}
<option value="{$key}" {in name="key" value="$row.scheduling_type"}selected{/in}>{$vo}</option>
{/foreach}
</select>
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Create_time')}:</label>
<div class="col-xs-12 col-sm-8">
... ...
... ... @@ -8,18 +8,6 @@
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Car_id')}:</label>
<div class="col-xs-12 col-sm-8">
<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="">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('User_id')}:</label>
<div class="col-xs-12 col-sm-8">
<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="">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('User_name')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-user_name" class="form-control" name="row[user_name]" type="text">
... ... @@ -40,7 +28,7 @@
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Driver_id')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-driver_id" data-rule="required" data-source="driver/index" class="form-control selectpage" name="row[driver_id]" type="text" value="">
<input id="c-driver_id" data-source="driver/index" class="form-control selectpage" name="row[driver_id]" type="text" value="">
</div>
</div>
<div class="form-group">
... ...
... ... @@ -114,7 +114,7 @@ class Index extends Api
$ywt_appid = 'wxb7dd0c03865a94e0';
$pagepath = '';
$res = $this->sendAstuWxMsgToAgent($sendInfo, $wxopenid, $tourl, $config['app_id'], $config['secret'], $ywt_appid, $pagepath);
//print_r($res);return;
print_r($res);return;
//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);
}
}
... ...
... ... @@ -29,8 +29,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
{field: 'name', title: __('Name'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
{field: 'phone', title: __('Phone'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
{field: 'car_fleet', title: __('Car_fleet'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
{field: 'scheduling_type', title: __('Scheduling_type'), searchList: {"1":__('Scheduling_type 1'),"2":__('Scheduling_type 2')}, formatter: Table.api.formatter.normal},
{field: 'offline_payment', title: __('Offline_payment'), searchList: {"0":__('Offline_payment 0'),"1":__('Offline_payment 1')}, formatter: Table.api.formatter.normal},
{field: 'offline_payment', title: __('Offline_payment'), searchList: {"0":__('Offline_payment 0'),"1":__('Offline_payment 1')}, formatter: Table.api.formatter.normal},
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
]
]
... ...