public function ListType($f3) { // 检查缓存 $cacheKey = md5(__FILE__ . '\\' . __METHOD__); $goodsTypeArray = $f3->get($cacheKey); if (!empty($goodsTypeArray)) { goto out; } $goodsTypeService = new GoodsTypeService(); $goodsTypeArray = $goodsTypeService->fetchGoodsTypeArray(array(), 0, 0); $f3->set($cacheKey, $goodsTypeArray, 300); //缓存 5 分钟 out: $f3->expire(60); // 客户端缓存 1 分钟 Ajax::header(); echo Ajax::buildResult(null, null, $goodsTypeArray); }
public function ListType($f3) { // 权限检查 $this->requirePrivilege('manage_goods_type_listtype'); global $smarty; // 参数验证 $validator = new Validator($f3->get('GET')); $pageNo = $validator->digits()->min(0)->validate('pageNo'); $pageSize = $validator->digits()->min(0)->validate('pageSize'); // 查询条件 $formQuery = array(); $formQuery['meta_name'] = $validator->validate('meta_name'); $formQuery['meta_desc'] = $validator->validate('meta_desc'); if (!$this->validate($validator)) { goto out_display; } // 设置缺省值 $pageNo = isset($pageNo) && $pageNo > 0 ? $pageNo : 0; $pageSize = isset($pageSize) && $pageSize > 0 ? $pageSize : 20; // 查询条件 $condArray = QueryBuilder::buildQueryCondArray($formQuery); $goodsTypeService = new GoodsTypeService(); $totalCount = $goodsTypeService->countGoodsTypeArray($condArray); if ($totalCount <= 0) { // 没数据,可以直接退出了 goto out_display; } // 页数超过最大值,返回第一页 if ($pageNo * $pageSize >= $totalCount) { RouteHelper::reRoute($this, '/Goods/Type/ListType'); } // 查询数据 $goodsTypeArray = $goodsTypeService->fetchGoodsTypeArray($condArray, $pageNo * $pageSize, $pageSize); // 给模板赋值 $smarty->assign('totalCount', $totalCount); $smarty->assign('pageNo', $pageNo); $smarty->assign('pageSize', $pageSize); $smarty->assign('goodsTypeArray', $goodsTypeArray); out_display: $smarty->display('goods_type_listtype.tpl'); }