user = $this->getUserDetail(); // 用户信息 } /** * 订单详情 */ public function detail($order_id) { $model = new OrderModel; $order = $model->getUserOrderDetail($order_id, $this->user['user_id']); Cache::set('refund_' . $order_id . '_' . $this->user['user_id'] . '_' . $order['shop_id'], $order->toArray(), 86400);//存贮24小时 return $this->renderSuccess(compact('order')); } /** * 订单退款 */ public function refund() { $data = $this->request->post(); $model = OrderModel::get($data['order_id']); $model->userRefund($data); return $this->renderMsg('申请成功'); } /** * 修改订单 * $mode 参数 dec=减少 inc=增加 * $index 产品在数组中的编号 */ public function edit($order_id,$mode,$index) { $model = new OrderModel; $order = $model->getUserOrderDetail($order_id, $this->user['user_id']); $refund = Cache::get('refund_' . $order_id . '_' . $this->user['user_id'] . '_' . $order['shop_id']); if(!$refund){ return $this->renderError('订单不存在'); } if(!isset($refund['refund_pack'])){ $refund['refund_pack'] = 0;//退打包费 } if(!isset($refund['refund_express'])){ $refund['refund_express'] = 0;//退配送费 } //增加操作 if($mode == 'inc'){ $refund['goods'][$index]['refund_num'] = $refund['goods'][$index]['refund_num']+1; $refund['goods'][$index]['refund_price'] = $refund['goods'][$index]['refund_price']+$refund['goods'][$index]['goods_price']; $refund['refund_price'] = $refund['refund_price'] + $refund['goods'][$index]['goods_price']; //打包费退减 if($refund['order_mode']['value'] != 10){ $refund['refund_pack'] = $refund['refund_pack'] + $refund['goods'][$index]['goods']['pack_price']; $refund['refund_price'] = $refund['refund_price'] + $refund['goods'][$index]['goods']['pack_price']; } }else{ $refund['goods'][$index]['refund_num'] = $refund['goods'][$index]['refund_num']-1; $refund['goods'][$index]['refund_price'] = $refund['goods'][$index]['refund_price']-$refund['goods'][$index]['goods_price']; $refund['refund_price'] = $refund['refund_price'] - $refund['goods'][$index]['goods_price']; //打包费退减 if($refund['order_mode']['value'] != 10){ $refund['refund_pack'] = $refund['refund_pack'] - $refund['goods'][$index]['goods']['pack_price']; $refund['refund_price'] = $refund['refund_price'] - $refund['goods'][$index]['goods']['pack_price']; } $refund['refund_price'] = $refund['refund_price'] - $refund['refund_express']; } if($refund['refund_price']+$refund['delivery_price']>=$refund['pay_price']){ $refund['refund_price']=$refund['pay_price']; $refund['refund_express']=$refund['delivery_price'];//退配送费 } $refund['refund_price'] = helper::number2($refund['refund_price']); Cache::set('refund_' . $order_id . '_' . $this->user['user_id'] . '_' . $order['shop_id'],$refund,86400); return $this->renderSuccess($refund['refund_price']); } }