/* * Copyright (c) 2008-2016 Computer Network Information Center (CNIC), Chinese Academy of Sciences. * * This file is part of Duckling project. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package cn.vlabs.umt.services.user.service; import java.util.List; import cn.vlabs.umt.services.user.bean.LoginNameInfo; import cn.vlabs.umt.services.user.bean.User; /** * @author lvly * @since 2013-3-4 */ public interface IUserLoginNameService { public static final String BEAN_ID="userLoginNameService"; /** * 获取用户登录名信息 * @param uid * @param type User.LOGINNAME_XXX * */ List<LoginNameInfo> getLoginNameInfo(int uid,String type); LoginNameInfo getLdapLoginName(int uid); /** * 获取用户的一个信息; * @param uid * @param loginName * */ LoginNameInfo getALoginNameInfo(int uid,String loginName); /** * 获取用户登录名信息 * @param loginNameInfoId umt_login_name 产生的id * */ LoginNameInfo getLoginNameInfoById(int loginNameInfoId); /** * 更新登陆名 * @param uid * @param oldLoginName 旧的登录名 * @param newLoginName 新的登录名 */ void updateLoginName(int uid,String oldLoginName,String newLoginName); /**单纯的增加一条记录 * <br>请根据业务逻辑进行判断,是否应该插入 * @param loginName 登录名,可以是邮箱,也可以是手机号 * @param uid 用户id * @param type 类型,说明是手机,主账户,还是辅助账户 * @param status 登陆名状态,激活或者,未激活 * @return generateId */ int createLoginName(String loginName,int uid,String type,String status); /** * 获得一个用户的所有有效辅助邮箱 * @param uid * @return str 以分号分隔,请直接掺入到user表里的secondary_emails * */ String getValidSecondaryEmailStr(int uid); /** * 删除一个用户的loginName,不可恢复,谨慎使用 * @param uid 用户id * @param email 根据登录名删除 * */ void removeSecondaryEmail(int uid,String email); /** * 设置已激活,但是提出更改请求的账户 * @param uid 用户id * @param oldLoginName 旧用户登录名 * @param newLoginName 新用户登录名,显示用 * */ void updateToLoginName(int uid,String oldLoginName,String newLoginName); /** * 激活账户名 * @param uid 用户id * @param loginName 账户名 * @param type 类型 * */ void toActive(int uid,String loginName,String type); /** * 激活账户名 * @param loginNameinfoId 主键 * */ void toActive(int loginInfoId); /** * 删除 * @param loginNameInfoId */ void removeLoginNameById(int loginNameInfoId); /** * 根据登陆名取出登录名id * @param uid * @param loginName * @param type * */ int getLoginNameId(int uid,String loginName,String type); /** * @param uid * @param loginName * @return */ boolean isUsedByMe(int uid, String loginName); /** * 删除一个用户的所有登陆名信息 * */ void removeLoginNamesByUid(int uid); boolean isUsed(String parameter); void removeLdapLoginName(int id); User getUserByName(String loginName); }