| <?php | 
|   | 
| class Service_User extends System_Service_Base{ | 
|   | 
|     public function __construct(){ | 
|         $this->user_model = new UserModel(); | 
|     } | 
|   | 
|     /** | 
|      * 根据条件获取用户列表 | 
|      * @param  array   $query  [description] | 
|      * @param  array   $fields [description] | 
|      * @param  array   $sort   [description] | 
|      * @param  integer $limit  [description] | 
|      * @param  integer $skip   [description] | 
|      * @return [type]          [description] | 
|      */ | 
|     public function getUserList($query=array(),$fields=array(),$sort=array(),$limit=0,$skip=0){ | 
|         return $this->user_model->getList($query, $fields, $sort, $limit, $skip); | 
|     } | 
|   | 
|     /** | 
|      * 根据条件获取数量 | 
|      * @param  array   $query [description] | 
|      * @param  integer $limit [description] | 
|      * @param  integer $skip  [description] | 
|      * @return [type]         [description] | 
|      */ | 
|     public function getUserListTotal($query=array(),$limit=0,$skip=0){ | 
|         return $this->user_model->count($query, $limit, $skip); | 
|     } | 
|   | 
|     /** | 
|      * 添加用户 | 
|      * @param [type] $data [description] | 
|      */ | 
|     public function add($data){ | 
|         return $this->user_model->add($data); | 
|     } | 
|   | 
|     /** | 
|      * 更新用户信息 | 
|      * @param  [type] $data [description] | 
|      * @return [type]       [description] | 
|      */ | 
|     public function update($data, $query = array()){ | 
|         return $this->user_model->update($data, $query); | 
|     } | 
|   | 
|     /** | 
|      * 根据条件,获取用户信息 | 
|      * @param  array  $query [description] | 
|      * @param  array  $field [description] | 
|      * @return [type]        [description] | 
|      */ | 
|     public function getUserInfo($query = array(), $field = array()){ | 
|         return $this->user_model->get($query, $field); | 
|     } | 
|   | 
|      /** | 
|      * 后台用户登录 | 
|      * @param  [type] $username [description] | 
|      * @param  [type] $password [description] | 
|      * @return [type]           [description] | 
|      */ | 
|      public function login($phone, $password){ | 
|          $user = $this->valid($phone, $password); | 
|          if(!$user){ | 
|              $this->error('用户名或密码不正确'); | 
|              return false; | 
|          } | 
|          else{ | 
|              $role_service = new Service_Role(); | 
|              $user_role = $role_service->getRoleInfo(array('_id' => $user['role'])); | 
|              $session = Yaf_Session::getInstance(); | 
|              $user_info = array( | 
|                  'nickname' => $user['nickname'], | 
|                  'user_id' => $user['_id'], | 
|                  'role_id' => $user['role'], | 
|                  'role_name' => $user_role['name'] | 
|              ); | 
|              $session->user = $user_info; | 
|              return true; | 
|          } | 
|   | 
|      } | 
|   | 
|      /** | 
|       * 检测用户名与密码 | 
|       * @param  [type] $username [description] | 
|       * @param  [type] $password [description] | 
|       * @return [type]           [description] | 
|       */ | 
|      public function valid($phone, $password){ | 
|          $user = $this->user_model->getInfoByPhone($phone); | 
|          if($user && $user['password'] == md5(md5($password).$user['encrypt'])){ | 
|              return $user; | 
|          } | 
|          return false; | 
|      } | 
| } |