作者 郭文星

123

... ... @@ -140,6 +140,39 @@ class Order extends Backend
if ($order['is_pay'] != 1) {
$this->error("该订单无法退款");
}
$create_time=$order['create_time'];
$refund_time=substr($order['reservation_time'],0,16);
//下单五分钟后五收取手续费
$newtime=time()-$create_time;
if($newtime<300){
print_r("小于五分钟");
print_r([$create_time,$newtime]);
}else {
$refund_time=strtotime($refund_time);
$newrefund_time=$refund_time-time();
if($newrefund_time<0){
$this->error("该订单无法退款,时间过期");
}
if($newrefund_time<3600){
$pay_fee = $order['price'];
$refund_fee = $pay_fee;
}else if($newrefund_time>3600 & $newrefund_time<7200){
$pay_fee = $order['price']*0.7;
$refund_fee = $pay_fee;
}else if($newrefund_time>7200 & $newrefund_time<28800){
$pay_fee = $order['price']*0.8;
$refund_fee = $pay_fee;
}else if($newrefund_time>28800 & $newrefund_time<43200){
$pay_fee = $order['price']*0.9;
$refund_fee = $pay_fee;
}else if($newrefund_time<43200){
$pay_fee = $order['price'];
$refund_fee = $pay_fee;
}
}
print_r($refund_fee);return;
if($order['pay_type']=="offlinepay" || $order['pay_type']=="background"){
$relogs['update_time'] = time();
$relogs['is_pay'] = 3;
... ... @@ -154,10 +187,8 @@ class Order extends Backend
}
$this->success("退款成功");
}
//拼接退款参数
$pay_fee = $order['price'];
$refund_fee = $pay_fee;
$order_sn = $order['order_no'];
$pay_type = 'wechat';
$reason = '订单退款';
... ... @@ -275,6 +306,94 @@ class Order extends Backend
$this->success();
}
/**
* 编辑
*
* @param $ids
* @return string
* @throws DbException
* @throws \think\Exception
*/
public function editrebook($ids = null)
{
$row = $this->model->get($ids);
if (!$row) {
$this->error(__('No Results were found'));
}
$adminIds = $this->getDataLimitAdminIds();
if (is_array($adminIds) && !in_array($row[$this->dataLimitField], $adminIds)) {
$this->error(__('You have no permission'));
}
if (false === $this->request->isPost()) {
$car=Db::name("car")
->alias("a")
->join("driver b","a.driver_id=b.id")
->where("a.route_id",$row['route_id'])
->field("b.id,car_model,name,license_plate")
->select();
$this->view->assign('row', $car);
return $this->view->fetch();
}
$params = $this->request->post('row/a');
if (empty($params)) {
$this->error(__('Parameter %s can not be empty', ''));
}
$params = $this->preExcludeFields($params);
$result = false;
Db::startTrans();
try {
//是否采用模型验证
if ($this->modelValidate) {
$name = str_replace("\\model\\", "\\validate\\", get_class($this->model));
$validate = is_bool($this->modelValidate) ? ($this->modelSceneValidate ? $name . '.edit' : $name) : $this->modelValidate;
$row->validateFailException()->validate($validate);
}
$driver = Db::name("driver")->where("id", $ids)->find();
$car = Db::name("car")->where("driver_id", $driver['id'])->find();
$carmodel = Db::name("carmodel")->where("id", $car['carmodel_id'])->find();
$route = Db::name("route")->where("id", $car['route_id'])->find();
//判断总表
$time = strtotime(date("Y-m-d", time()));
$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'];
}
$params["order_review_id"]=$order_review_id;
}
$params["driver_id"]=$params['intended_driver_id'];
$params["driver_name"]=$driver['name'];
$result = $row->allowField(true)->save($params);
$index = new Index();
$index->senWxmsgToDriverUser($ids);
Db::commit();
} catch (ValidateException|PDOException|Exception $e) {
Db::rollback();
$this->error($e->getMessage());
}
if (false === $result) {
$this->error(__('No rows were updated'));
}
$this->success();
}
public function orderinfo($ids){
$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]);
... ...
<form id="edit-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
123123123
<div class="form-group layer-footer">
<label class="control-label col-xs-12 col-sm-2"></label>
<div class="col-xs-12 col-sm-8">
<button type="submit" class="btn btn-primary btn-embossed disabled">{:__('OK')}</button>
</div>
</div>
</form>
... ...
... ... @@ -135,7 +135,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'template'], function
callback: function (data) {
Layer.alert("接收到回传数据:" + JSON.stringify(data), {title: "回传数据"});
}
},
}
// {
// name: 'selectiondriver',
// text:"选择司机",
... ...