$order_sn]); pre($result); json_success(); } /** * 自提柜向服务器上报 */ public function RecordStore(){ $order_sn = input('param.order_sn'); $trunk = input('param.trunk'); $cabinet = input('param.cabinet'); $checkNumber = $this->CheckNumber($cabinet , $trunk); if($checkNumber == false){ json_error(2005); } $ret = $this->CreateOrderBindBox($order_sn , $trunk , $cabinet); if($ret['code'] != 1){ json_error(1006); }else{ $this->box_action_record($cabinet , $trunk , 1); json_success(); } } public function CheckFcode(){ $code = input('param.code'); $OrderModel = new OrderModel(); $order = $OrderModel->CheckCode($code); if(empty($order)){ json_error(2003); } //发送商网验证结果柜号 order_sn //返回access $data['code'] = $code; $data['existed'] = true; $data['trunk'] = $order['box_number']; $data['cabinet'] = $order['cabinet_number']; json_success($data); } public function RecordFetch(){ $trunk = input('param.trunk'); $cabinet = input('param.cabinet'); $BoxModel = new BoxModel(); $Box = $BoxModel->getOneCabinetBox($cabinet , $trunk); if(empty($Box)){ json_error(2004); } $ret = $BoxModel->editData(['cabinet_number' => $cabinet , 'box_number' => $trunk] , ['order_sn' => '' , 'box_status' => 1]); if($ret['code'] != 1){ json_error(1006); } $OrderModel = new OrderModel(); $OrderModel->editData(['order_sn' => $Box['order_sn']] , ['order_status' => 2 , 'out_time' => date("Y-m-d H:i:s")]); $this->box_action_record($cabinet , $trunk , 2); json_success(); } public function OrderList(){ $param = input('param.'); $limit = isset($param['pageSize']) ? $param['pageSize'] : 10; $param['pageNumber'] = isset($param['pageNumber']) ? $param['pageNumber'] : 1; $offset = ($param['pageNumber'] - 1) * $limit; $OrderModel = new OrderModel(); $selectResult = $OrderModel->getOrdersByWhere($offset, $limit); $order_status = ['1' => '已存入' , '2' => '已取走']; // 拼装参数 foreach($selectResult as $key=>$vo){ $selectResult[$key]['order_status'] = $order_status[$vo['order_status']]; } $return['total'] = $OrderModel->getAllCounts(); //总数量 $return['rows'] = $selectResult; json_success($return); } private function CheckNumber($cabinet_number , $box_number){ $BoxModel = new BoxModel(); $box = $BoxModel->getOneCabinetBox($cabinet_number , $box_number); if($box['box_status'] == 1){ return true; }else{ return false; } } /** * 生成订单并绑定箱子 */ private function CreateOrderBindBox($order_sn , $box_number , $cabinet){ $code = $this->createRandCode(); $data['order_sn'] = $order_sn; $data['cabinet_number'] = $cabinet; $data['box_number'] = $box_number; $data['code'] = $code; $data['enter_time'] = date("Y-m-d H:i:s"); $OrderModel = new OrderModel(); return $OrderModel->CreateOrder($data); } /** * 记录箱子开启/关闭 */ private function box_action_record($cabinet_number , $box_number , $type){ $BoxActionModel = new BoxActionModel(); $params['cabinet_number'] = $cabinet_number; $params['box_number'] = $box_number; $params['type'] = $type; $params['datetime'] = date("Y-m-d H:i:s"); $BoxActionModel->save($params); } /** * 生成校验码 */ private function createRandCode(){ $code = rand(100000,999999); $OrderModel = new OrderModel(); $order = $OrderModel->where('code',$code)->find(); if(!empty($order)){ $this->createRandCode(); } return $code; } }