model = new Campus(); } /** * 获取校区列表 * @param array $where * @return array */ public function getPage(array $where = []) { $field = 'id,campus_name,campus_address,campus_preview_image,campus_coordinates,campus_introduction,campus_status,create_time,update_time,delete_time,seal_image'; $order = ''; $search_model = $this->model->withSearch(["campus_name", "campus_address", "campus_status"], $where)->field($field)->order($order); $list = $this->pageQuery($search_model); return $list; } /** * 获取校区信息 * @param int $id * @return array */ public function getInfo(int $id) { $field = 'id,campus_name,campus_address,campus_preview_image,campus_coordinates,campus_introduction,campus_status,create_time,update_time,delete_time'; $info = $this->model->field($field)->where([['id', "=", $id]])->findOrEmpty()->toArray(); $info['campus_status'] = strval($info['campus_status']); $info['campus_coordinates'] = json_decode($info['campus_coordinates'], true); return $info; } /** * 添加校区 * @param array $data * @return mixed */ public function add(array $data) { if (is_array($data['campus_coordinates'])) { $data['campus_address'] = $data['campus_coordinates']['address']; $data['campus_coordinates'] = json_encode($data['campus_coordinates']); } $res = $this->model->create($data); return $res->id; } /** * 校区编辑 * @param int $id * @param array $data * @return bool */ public function edit(int $id, array $data) { if (is_array($data['campus_coordinates'])) { $data['campus_address'] = $data['campus_coordinates']['address']; $data['campus_coordinates'] = json_encode($data['campus_coordinates']); } $this->model->where([['id', '=', $id]])->update($data); return true; } /** * 删除校区 * @param int $id */ public function del(int $id) { $student = new Student(); if($student->where(['campus_id' => $id])->find()){ return fail("校区下有学员禁止删除"); } $model = $this->model->where([['id', '=', $id]])->find(); $res = $model->delete(); return success('DELETE_SUCCESS'); } /** * 上传校区签章 * @param int $campus_id * @param string $seal_image * @return bool */ public function uploadSeal(int $campus_id, string $seal_image) { // 检查校区是否存在 $campus = $this->model->where([['id', '=', $campus_id]])->find(); if (!$campus) { throw new \Exception('校区不存在'); } // 更新校区签章 $this->model->where([['id', '=', $campus_id]])->update([ 'seal_image' => $seal_image, 'update_time' => date('Y-m-d H:i:s') ]); return true; } }