作者 郭文星

123

@@ -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
  1 +<form id="edit-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
  2 + 123123123
  3 +
  4 + <div class="form-group layer-footer">
  5 + <label class="control-label col-xs-12 col-sm-2"></label>
  6 + <div class="col-xs-12 col-sm-8">
  7 + <button type="submit" class="btn btn-primary btn-embossed disabled">{:__('OK')}</button>
  8 + </div>
  9 + </div>
  10 +</form>
@@ -135,7 +135,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'template'], function @@ -135,7 +135,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'template'], function
135 callback: function (data) { 135 callback: function (data) {
136 Layer.alert("接收到回传数据:" + JSON.stringify(data), {title: "回传数据"}); 136 Layer.alert("接收到回传数据:" + JSON.stringify(data), {title: "回传数据"});
137 } 137 }
138 - }, 138 + }
139 // { 139 // {
140 // name: 'selectiondriver', 140 // name: 'selectiondriver',
141 // text:"选择司机", 141 // text:"选择司机",