|
@@ -140,6 +140,39 @@ class Order extends Backend |
|
@@ -140,6 +140,39 @@ class Order extends Backend |
140
|
if ($order['is_pay'] != 1) {
|
140
|
if ($order['is_pay'] != 1) {
|
141
|
$this->error("该订单无法退款");
|
141
|
$this->error("该订单无法退款");
|
142
|
}
|
142
|
}
|
|
|
143
|
+ $create_time=$order['create_time'];
|
|
|
144
|
+ $refund_time=substr($order['reservation_time'],0,16);
|
|
|
145
|
+ //下单五分钟后五收取手续费
|
|
|
146
|
+ $newtime=time()-$create_time;
|
|
|
147
|
+
|
|
|
148
|
+ if($newtime<300){
|
|
|
149
|
+ print_r("小于五分钟");
|
|
|
150
|
+ print_r([$create_time,$newtime]);
|
|
|
151
|
+ }else {
|
|
|
152
|
+ $refund_time=strtotime($refund_time);
|
|
|
153
|
+ $newrefund_time=$refund_time-time();
|
|
|
154
|
+ if($newrefund_time<0){
|
|
|
155
|
+ $this->error("该订单无法退款,时间过期");
|
|
|
156
|
+ }
|
|
|
157
|
+ if($newrefund_time<3600){
|
|
|
158
|
+ $pay_fee = $order['price'];
|
|
|
159
|
+ $refund_fee = $pay_fee;
|
|
|
160
|
+ }else if($newrefund_time>3600 & $newrefund_time<7200){
|
|
|
161
|
+ $pay_fee = $order['price']*0.7;
|
|
|
162
|
+ $refund_fee = $pay_fee;
|
|
|
163
|
+ }else if($newrefund_time>7200 & $newrefund_time<28800){
|
|
|
164
|
+ $pay_fee = $order['price']*0.8;
|
|
|
165
|
+ $refund_fee = $pay_fee;
|
|
|
166
|
+ }else if($newrefund_time>28800 & $newrefund_time<43200){
|
|
|
167
|
+ $pay_fee = $order['price']*0.9;
|
|
|
168
|
+ $refund_fee = $pay_fee;
|
|
|
169
|
+ }else if($newrefund_time<43200){
|
|
|
170
|
+ $pay_fee = $order['price'];
|
|
|
171
|
+ $refund_fee = $pay_fee;
|
|
|
172
|
+
|
|
|
173
|
+ }
|
|
|
174
|
+ }
|
|
|
175
|
+ print_r($refund_fee);return;
|
143
|
if($order['pay_type']=="offlinepay" || $order['pay_type']=="background"){
|
176
|
if($order['pay_type']=="offlinepay" || $order['pay_type']=="background"){
|
144
|
$relogs['update_time'] = time();
|
177
|
$relogs['update_time'] = time();
|
145
|
$relogs['is_pay'] = 3;
|
178
|
$relogs['is_pay'] = 3;
|
|
@@ -154,10 +187,8 @@ class Order extends Backend |
|
@@ -154,10 +187,8 @@ class Order extends Backend |
154
|
}
|
187
|
}
|
155
|
$this->success("退款成功");
|
188
|
$this->success("退款成功");
|
156
|
}
|
189
|
}
|
157
|
-
|
|
|
158
|
//拼接退款参数
|
190
|
//拼接退款参数
|
159
|
- $pay_fee = $order['price'];
|
|
|
160
|
- $refund_fee = $pay_fee;
|
191
|
+
|
161
|
$order_sn = $order['order_no'];
|
192
|
$order_sn = $order['order_no'];
|
162
|
$pay_type = 'wechat';
|
193
|
$pay_type = 'wechat';
|
163
|
$reason = '订单退款';
|
194
|
$reason = '订单退款';
|
|
@@ -275,6 +306,94 @@ class Order extends Backend |
|
@@ -275,6 +306,94 @@ class Order extends Backend |
275
|
$this->success();
|
306
|
$this->success();
|
276
|
}
|
307
|
}
|
277
|
|
308
|
|
|
|
309
|
+ /**
|
|
|
310
|
+ * 编辑
|
|
|
311
|
+ *
|
|
|
312
|
+ * @param $ids
|
|
|
313
|
+ * @return string
|
|
|
314
|
+ * @throws DbException
|
|
|
315
|
+ * @throws \think\Exception
|
|
|
316
|
+ */
|
|
|
317
|
+ public function editrebook($ids = null)
|
|
|
318
|
+ {
|
|
|
319
|
+ $row = $this->model->get($ids);
|
|
|
320
|
+ if (!$row) {
|
|
|
321
|
+ $this->error(__('No Results were found'));
|
|
|
322
|
+ }
|
|
|
323
|
+ $adminIds = $this->getDataLimitAdminIds();
|
|
|
324
|
+ if (is_array($adminIds) && !in_array($row[$this->dataLimitField], $adminIds)) {
|
|
|
325
|
+ $this->error(__('You have no permission'));
|
|
|
326
|
+ }
|
|
|
327
|
+ if (false === $this->request->isPost()) {
|
|
|
328
|
+ $car=Db::name("car")
|
|
|
329
|
+ ->alias("a")
|
|
|
330
|
+ ->join("driver b","a.driver_id=b.id")
|
|
|
331
|
+ ->where("a.route_id",$row['route_id'])
|
|
|
332
|
+ ->field("b.id,car_model,name,license_plate")
|
|
|
333
|
+ ->select();
|
|
|
334
|
+ $this->view->assign('row', $car);
|
|
|
335
|
+ return $this->view->fetch();
|
|
|
336
|
+ }
|
|
|
337
|
+ $params = $this->request->post('row/a');
|
|
|
338
|
+ if (empty($params)) {
|
|
|
339
|
+ $this->error(__('Parameter %s can not be empty', ''));
|
|
|
340
|
+ }
|
|
|
341
|
+ $params = $this->preExcludeFields($params);
|
|
|
342
|
+ $result = false;
|
|
|
343
|
+ Db::startTrans();
|
|
|
344
|
+ try {
|
|
|
345
|
+ //是否采用模型验证
|
|
|
346
|
+ if ($this->modelValidate) {
|
|
|
347
|
+ $name = str_replace("\\model\\", "\\validate\\", get_class($this->model));
|
|
|
348
|
+ $validate = is_bool($this->modelValidate) ? ($this->modelSceneValidate ? $name . '.edit' : $name) : $this->modelValidate;
|
|
|
349
|
+ $row->validateFailException()->validate($validate);
|
|
|
350
|
+ }
|
|
|
351
|
+ $driver = Db::name("driver")->where("id", $ids)->find();
|
|
|
352
|
+ $car = Db::name("car")->where("driver_id", $driver['id'])->find();
|
|
|
353
|
+ $carmodel = Db::name("carmodel")->where("id", $car['carmodel_id'])->find();
|
|
|
354
|
+ $route = Db::name("route")->where("id", $car['route_id'])->find();
|
|
|
355
|
+//判断总表
|
|
|
356
|
+ $time = strtotime(date("Y-m-d", time()));
|
|
|
357
|
+ $params["order_review_id"]="";
|
|
|
358
|
+ if($car){
|
|
|
359
|
+ $order_review = Db::name("order_review")
|
|
|
360
|
+ ->where("car_id", $car["id"])
|
|
|
361
|
+ ->where("route_id", $route['id'])
|
|
|
362
|
+ ->where("driver_id", $driver['id'])
|
|
|
363
|
+ ->where("createtime", ">", $time)
|
|
|
364
|
+ ->find();
|
|
|
365
|
+
|
|
|
366
|
+ if (!$order_review) {
|
|
|
367
|
+ $order_review_id = Db::name("order_review")
|
|
|
368
|
+ ->insertGetId([
|
|
|
369
|
+ "car_id" => $car["id"],
|
|
|
370
|
+ "route_id" => $route['id'],
|
|
|
371
|
+ "driver_id" => $driver['id'],
|
|
|
372
|
+ "type" => 2,
|
|
|
373
|
+ "order_status" => 3,
|
|
|
374
|
+ "createtime" => time()
|
|
|
375
|
+ ]);
|
|
|
376
|
+ } else {
|
|
|
377
|
+ $order_review_id = $order_review['id'];
|
|
|
378
|
+ }
|
|
|
379
|
+ $params["order_review_id"]=$order_review_id;
|
|
|
380
|
+ }
|
|
|
381
|
+ $params["driver_id"]=$params['intended_driver_id'];
|
|
|
382
|
+ $params["driver_name"]=$driver['name'];
|
|
|
383
|
+ $result = $row->allowField(true)->save($params);
|
|
|
384
|
+ $index = new Index();
|
|
|
385
|
+ $index->senWxmsgToDriverUser($ids);
|
|
|
386
|
+ Db::commit();
|
|
|
387
|
+ } catch (ValidateException|PDOException|Exception $e) {
|
|
|
388
|
+ Db::rollback();
|
|
|
389
|
+ $this->error($e->getMessage());
|
|
|
390
|
+ }
|
|
|
391
|
+ if (false === $result) {
|
|
|
392
|
+ $this->error(__('No rows were updated'));
|
|
|
393
|
+ }
|
|
|
394
|
+ $this->success();
|
|
|
395
|
+ }
|
|
|
396
|
+
|
278
|
public function orderinfo($ids){
|
397
|
public function orderinfo($ids){
|
279
|
$row = Db::name("order")->field("id,passengers,driver_id,starting_point,end_point,order_no,pay_type,price,route_id,is_pay,phone,type")->find(['id' => $ids]);
|
398
|
$row = Db::name("order")->field("id,passengers,driver_id,starting_point,end_point,order_no,pay_type,price,route_id,is_pay,phone,type")->find(['id' => $ids]);
|
280
|
|
399
|
|