Is_Login(); // 权限校验 $this->Is_Power(); } /** * [Index 食物列表] */ public function Index() { // 参数 $param = array_merge($_POST, $_GET); // 模型模型 $m = D('Culture/CultureFood'); // 条件 $where = $this->GetIndexWhere(); // 分页 $number = MyC('admin_page_number'); $page_param = array( 'number' => $number, 'total' => $m->where($where)->count(), 'where' => $param, 'url' => U('Culture/CultureFood/Index'), ); $page = new \My\Page($page_param); // 获取列表 $field = array('food_id', 'food_name', 'thumb', 'description', 'sale_price', 'pet_type_id', 'pet_id', 'created_at', 'updated_at'); $list = $this->SetDataHandle($m->field($field)->relation('FoodType')->where($where)->limit($page->GetPageStarNumber(), $number)->order('food_id desc')->select()); // 参数 $this->assign('param', $param); // 分页 $this->assign('page_html', $page->GetPageHtml()); // 数据列表 $this->assign('list', $list); $this->display('Index'); } /** * [SetDataHandle 数据处理] * @param [array] $data [食物数据] * @return [array] [处理好的数据] */ private function SetDataHandle($data) { // 获取宠物类型 foreach ($data as $k => &$value) { if($value['pet_type_id']){ $value['pet_type_name'] = D("Culture/CulturePetType")->where(["pet_type_id" => $value['pet_type_id']])->getField("pet_type_name"); } if($value['pet_id']){ $value['pet_name'] = D("Culture/CulturePet")->where(["pet_id" => $value['pet_id']])->getField("pet_name"); } } return $data; } /** * [GetIndexWhere 食物列表条件] */ private function GetIndexWhere() { $where = array(); // 模糊 if(!empty($_REQUEST['keyword'])) { $like_keyword = array('like', '%'.I('keyword').'%'); $where[] = array( 'food_name' => $like_keyword, ); } // 是否更多条件 if(I('is_more', 0) == 1) { // 表达式 if(!empty($_REQUEST['time_start'])) { $where['created_at'][] = array('gt', I('time_start') . ' 00:00:00'); } if(!empty($_REQUEST['time_end'])) { $where['created_at'][] = array('lt', I('time_end') . ' 23:59:59'); } } $where['deleted_at'] = ["exp", "is null"]; return $where; } /** * [SaveInfo 食物添加/编辑页面] */ public function SaveInfo() { // 食物信息 $data = empty($_REQUEST['food_id']) ? array() : D('Culture/CultureFood')->find(I('food_id')); $this->assign('data', $data); // 食物类型信息 $map['deleted_at'] = ["exp", "is null"]; $pet_types = D('Culture/CulturePetType')->field("pet_type_id, pet_type_name")->where($map)->select(); $this->assign('pet_types', $pet_types); if($data['pet_type_id']){ // 获取宠物信息 $map['pet_type_id'] = $data['pet_type_id']; $pets = D('Culture/CulturePet')->field("pet_id, pet_name")->where($map)->select(); $this->assign('pets', $pets); } $this->display('SaveInfo'); } /** * [Save 食物添加/编辑] */ public function Save() { // 是否ajax请求 if(!IS_AJAX) { $this->error(L('common_unauthorized_access')); } // 添加 if(empty($_POST['food_id'])) { $this->Add(); // 编辑 } else { $this->Edit(); } } /** * [Add 食物添加] */ private function Add() { // 食物模型 $m = D('Culture/CultureFood'); // 数据自动校验 if($m->create($_POST, 1)) { $m->created_at = date('Y-m-d H:i:s'); $m->updated_at = date('Y-m-d H:i:s'); // 数据添加 if($m->add()) { $this->ajaxReturn(L('common_operation_add_success')); } else { $this->ajaxReturn(L('common_operation_add_error'), -100); } } else { $this->ajaxReturn($m->getError(), -1); } } /** * [Edit 食物编辑] */ private function Edit() { // 食物模型 $m = D('Culture/CultureFood'); // 数据自动校验 if($m->create($_POST, 2)) { $m->updated_at = date('Y-m-d H:i:s'); // 更新数据库 if($m->where(array('food_id'=>I('food_id')))->save()) { $this->ajaxReturn(L('common_operation_edit_success')); } else { $this->ajaxReturn(L('common_operation_edit_error'), -100); } } else { $this->ajaxReturn($m->getError(), -1); } } /** * [Delete 食物删除] */ public function Delete() { // 是否ajax请求 if(!IS_AJAX) { $this->error(L('common_unauthorized_access')); } // 参数处理 $id = I('id'); // 删除数据 if(!empty($id)) { // 食物模型 $m = D('Culture/CultureFood'); // 食物是否存在 $scene = $m->where(array('food_id'=>$id))->count(); if(empty($scene)) { $this->ajaxReturn(L('common_user_no_exist_error'), -2); } // 删除食物 $update_data['deleted_at'] = date('Y-m-d H:i:s'); $state = $m->where(array('food_id'=>$id))->save($update_data); if($state !== false) { $this->ajaxReturn(L('common_operation_delete_success')); } else { $this->ajaxReturn(L('common_operation_delete_error'), -100); } } else { $this->ajaxReturn(L('common_param_error'), -1); } } /** * 获取宠物接口 */ public function getPet() { $pet_type_id = I('pet_type_id'); if(!$pet_type_id){ $response_data['code'] = 0; $response_data['msg'] = "缺少参数"; echo json_encode($response_data, JSON_UNESCAPED_UNICODE); exit(); } $map['pet_type_id'] = $pet_type_id; $map['deleted_at'] = ["exp", "is null"]; $pets = D("Culture/CulturePet")->field("pet_id as id, pet_name as name")->where($map)->select(); $response_data['code'] = 0; $response_data['msg'] = "获取成功"; $response_data['data'] = $pets; echo json_encode($response_data, JSON_UNESCAPED_UNICODE); exit(); } }