/**
  * @api {delete} /admin/user/{id} 删除某个用户
  * @apiUse header
  *
  * @apiName deleteUser
  * @apiGroup User
  * @apiVersion 1.0.0
  *
  * @apiParam {String} username 该子会议的ID
  * @apiParam {String} name 该子会议名称 必选
  * @apiParam {String} organization 子会议的开始时间
  * @apiParam {Integer} title 子会议的结束时间
  * @apiParam {String} email 子会议举行场地
  * @apiParam {String} password 该子会议可接纳的人数
  *
  * @apiSuccess {Array} empty_array 空数组
  */
 public function deleteUser($id)
 {
     if (empty($id)) {
         return parent::required('id');
     }
     $where = 'id=' . $id . ' and isdeleted=0';
     $user = User::findFirst($where);
     if (empty($user)) {
         return parent::invalid('id', $id);
     }
     if (false == $user->delete()) {
         return parent::resWithErrMsg($user->getMessages(), 406);
     }
     $roleUser = new RoleUser();
     $roleUser->user_id = $id;
     if (false == $roleUser->delete()) {
         return parent::resWithErrMsg($roleUser->getMessages());
     }
     return parent::success();
 }
 /**
  * @api {post} /user 注册接口
  * @apiHeader {String} Accept=api-version=1.0 api版本
  * @apiHeaderExample {String} Header-Example:
  *     {
  *       "Accept": "api-version=1.0"
  *     }
  * @apiName register
  * @apiGroup User
  * @apiVersion 1.0.0
  *
  * @apiSuccess {Array} empty_array 空数组
  *
  * @apiUse errorExample
  */
 public function register()
 {
     $this->db->begin();
     $data = $this->request->getPost();
     $userValidator = new UserValidator();
     $messages = $userValidator->validate($data);
     if (0 != count($messages)) {
         return parent::resWithErrMsg($messages, 406);
     }
     $modelUser = new User();
     $duplicate = $modelUser->findFirst("lower(username)='" . strtolower($data['username']) . "'");
     if (!empty($duplicate)) {
         return parent::valueDuplicate('username');
     }
     $data['password'] = password_hash($data['password'], PASSWORD_DEFAULT);
     $res = $modelUser->create($data);
     if (false == $res) {
         $this->db->rollback();
         return parent::resWithErrMsg($modelUser->getMessages());
     }
     $config = $this->di->get('config');
     $userRole['role_id'] = $config->role->User;
     $userRole['user_id'] = $modelUser->id;
     $roleUserModel = new RoleUser();
     $res = $roleUserModel->create($userRole);
     if (false == $res) {
         $this->db->rollback();
         return parent::resWithErrMsg($roleUserModel->getMessages());
     }
     $this->db->commit();
     return parent::success();
 }