function getOrderAction() { $userId = (int) $this->get('userId', 0); $mobile = $this->get('mobile', ""); $status = (int) $this->get('status', -1); $payType = (int) $this->get('payType', 0); $previousId = (int) $this->get('previousId', 0); $pageSize = (int) $this->get('pageSize', 20); $date = $this->get('date', ""); $page = (int) $this->get('page', 1); $startTime = 0; $endTime = 0; if ($date) { $startTime = strtotime(substr($date, 0, 10)); $endTime = strtotime(substr($date, 13, 10)); } /* print_r($date); print_r(substr($date,0,10)." - ".substr($date,13,10)); print_r($startTime." - ".$endTime);*/ $accountModel = new AccountModel(); $order = $accountModel->getOrder($userId, $mobile, $startTime, $endTime, $status, $payType, $previousId, $page, $pageSize); $orderList = $order['orderList']; $userModel = new UserModel(); $schoolModel = new SchoolModel(); $tradeModel = new TradeModel(); //对orderList进行处理 foreach ($orderList as $k => $value) { $orderList[$k]['mobile'] = $userModel->getUserName($value['userId'])['mobile']; switch ($value['payType']) { case Common_Config::UDO_PAYTYPE_COIN: $orderList[$k]['payType'] = "U币购买"; break; case Common_Config::UDO_PAYTYPE_CREDIT: $orderList[$k]['payType'] = "学分购买"; break; case Common_Config::UDO_PAYTYPE_RECHARGE: $orderList[$k]['payType'] = "U币充值"; break; } switch ($value['status']) { case Common_Config::ORDER_SUCCESS: $orderList[$k]['status'] = "支付成功"; break; case Common_Config::ORDER_NOT_PAY: $orderList[$k]['status'] = "尚未支付"; break; case Common_Config::ORDER_FAIL: $orderList[$k]['status'] = "订单支付失败"; break; case Common_Config::ORDER_CLOSED: $orderList[$k]['status'] = "订单关闭"; break; } $orderList[$k]['createTime'] = date('Y-m-d H:i:s', $value['createTime']); //为order中的每一项赋予序号,便于在模板中的foreach给class赋值 $orderList[$k]['no'] = $k; //处理resource //resource取出来是序列化的字符串,首先先反序列化 if ($value['resource']) { $courseCount = 0; //$value['resource'] = preg_replace('!s:(\d+):"(.*?)";!se', "'s:'.strlen('$2').':\"$2\";'", $value['resource']); //print_r($value['resource']); $orderList[$k]['resource'] = json_decode($value['resource'], true); $schoolInfo = []; //print_r($orderList[$k]['resource']); foreach ($orderList[$k]['resource'] as $v => $val) { if ($val['resourceId'] == 1) { continue; } $orderList[$k]['resource'][$v]['resourceName'] = $schoolModel->getSingleCourse($val['resourceId'])['name']; $courseCount++; if (!$schoolInfo) { $schoolInfo = $schoolModel->getSchoolByCourse($val['resourceId']); } } $orderList[$k]['courseCount'] = $courseCount; $orderList[$k]['schoolName'] = $schoolInfo['customer_name']; $orderList[$k]['schoolTitle'] = $schoolInfo['customer_title']; } } /* * 计算总页数,确定页码显示.页码显示需要的参数: */ $pageNumber = ceil($order['orderCount'] / $pageSize); //如果总页数比10小或当前页比6小,那么分页变量是1到分页总数 if ($pageNumber <= 10) { $pagination = range(1, $pageNumber); } elseif ($page <= 6 && $pageNumber > 10) { $pagination = range(1, 10); } else { $pagination = range($page - 5, $page + 4); } /* * 初始化筛选参数 */ $initFilter = array("date" => $date, "status" => $status, "payType" => $payType, "mobile" => $mobile, "userId" => $userId, "page" => $page, "pageNumber" => $pageNumber, "orderCount" => $order['orderCount']); $this->assign('orderList', $orderList); $this->assign('status', $tradeModel->getOrderStatus()); $this->assign('payType', $tradeModel->getOrderPaytype()); $this->assign('init', $initFilter); $this->assign('pagination', $pagination); }