|
|
|
|
@ -1,19 +1,87 @@
|
|
|
|
|
package com.service;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
|
|
import com.entity.User;
|
|
|
|
|
import com.github.pagehelper.PageInfo;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* IUserService接口,用于定义一系列针对用户(User)相关业务逻辑操作的方法规范。
|
|
|
|
|
* 该接口规定了诸如用户登录验证、更新用户信息、根据不同条件(如用户ID、用户名等)查询用户信息、添加新用户、删除用户以及分页查询用户信息等功能的抽象方法,通常会由具体的实现类来实现这些方法的具体业务逻辑,实现类一般会与数据持久层交互完成相应的数据操作,为项目中涉及用户相关业务的各个模块提供统一的服务调用接口,方便对用户相关业务进行统一管理和操作。
|
|
|
|
|
*/
|
|
|
|
|
public interface IUserService {
|
|
|
|
|
User login(String user_name,String user_pwd);
|
|
|
|
|
Integer updateUserInfo(User user);
|
|
|
|
|
User findUserById(long user_id);
|
|
|
|
|
List<User> findUserByName(String name);
|
|
|
|
|
List<User> findUserLikeName(String name);
|
|
|
|
|
Integer addUser(User user);
|
|
|
|
|
Integer deleteUser(long user_id);
|
|
|
|
|
List<User> findAllUserInfos();
|
|
|
|
|
PageInfo<User> findAllUserBySplitPage(Integer page,Integer limit,String keyword);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 用户登录验证的方法签名,用于验证输入的用户名和密码是否匹配,进而判断用户能否成功登录。
|
|
|
|
|
* 具体实现类需编写逻辑(通常调用数据持久层相关方法与数据库交互),依据传入的用户名(user_name)在数据库中查找对应的用户记录,然后比对这些用户记录中的密码与传入的密码(user_pwd)是否一致,若找到匹配的记录,则返回对应的用户对象,表示登录成功;若未找到匹配记录,则返回`null`,代表登录失败。
|
|
|
|
|
* @param user_name 要登录的用户名,用于在数据库中筛选对应的用户记录,通常是一个具有特定格式的字符串。
|
|
|
|
|
* @param user_pwd 要登录的用户输入的密码,用于和数据库中存储的用户密码进行比对验证,同样是字符串类型。
|
|
|
|
|
* @return 返回一个`User`对象,表示登录验证成功的用户信息,如果验证失败则返回`null`。
|
|
|
|
|
*/
|
|
|
|
|
User login(String user_name, String user_pwd);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 根据传入的用户对象信息更新数据库中对应的用户记录的方法签名。
|
|
|
|
|
* 实现类要编写代码逻辑,依据传入的包含更新后用户信息的`User`对象(其属性值代表了要更新的具体内容,如用户昵称、联系方式等发生变化的信息),调用数据持久层相关方法来更新数据库里对应用户记录的相应字段,然后返回受影响的行数,用于判断更新操作是否成功执行(通常更新成功返回1,失败返回0等,具体依数据库执行情况而定)。
|
|
|
|
|
* @param user 包含更新后用户信息的`User`对象,其各属性值将用于更新数据库中对应的用户记录字段。
|
|
|
|
|
* @return 返回一个`Integer`类型的值,表示更新操作影响的行数,可用于判断更新是否成功。
|
|
|
|
|
*/
|
|
|
|
|
Integer updateUserInfo(User user);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 根据用户的唯一标识(ID)查询对应的用户信息的方法签名。
|
|
|
|
|
* 具体实现类需要编写逻辑(通过调用数据持久层相关方法与数据库交互),依据传入的用户ID(一般是一个具有特定格式的数字)从数据库中查找对应的用户记录,并将其转换为`User`实体对象返回,方便获取特定用户的详细情况,例如用户的基本资料、权限信息等内容。
|
|
|
|
|
* @param user_id 要查询的用户的唯一标识(长整型数字)。
|
|
|
|
|
* @return 返回一个`User`对象,代表查询到的用户信息,如果未找到对应的用户则返回`null`(具体取决于实现逻辑)。
|
|
|
|
|
*/
|
|
|
|
|
User findUserById(long user_id);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 根据用户名查询对应的用户信息列表的方法签名。
|
|
|
|
|
* 实现类需编写相应逻辑,按照传入的用户名(name),在数据库中查找匹配的用户记录,并将这些记录转换为`User`实体对象,最后以`List<User>`集合的形式返回这些用户信息列表,方便通过用户名来查找特定用户,例如在用户搜索功能中使用,可用于查找具有相同或相似用户名的用户等场景。
|
|
|
|
|
* @param name 要查询的用户名,用于在数据库中筛选对应的用户记录,通常是一个字符串类型。
|
|
|
|
|
* @return 返回一个包含符合条件的`User`对象的`List`集合,每个对象代表一条匹配用户名的用户记录信息,可能为空集合(如果没有找到对应的用户)。
|
|
|
|
|
*/
|
|
|
|
|
List<User> findUserByName(String name);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 根据用户名进行模糊查询,获取符合模糊条件的用户信息列表的方法签名。
|
|
|
|
|
* 实现类需要编写逻辑,依据传入的用户名(name,可以是部分用户名等模糊条件),在数据库中查找名称符合模糊匹配条件的用户记录,将这些记录转换为`User`实体对象,最后以`List<User>`集合的形式返回这些用户信息列表,方便用户根据部分名称等模糊信息查找感兴趣的用户,例如在更宽泛的用户搜索场景中使用。
|
|
|
|
|
* @param name 要进行模糊查询的用户名,用于筛选符合条件的用户记录,通常是一个字符串类型。
|
|
|
|
|
* @return 返回一个包含符合模糊查询条件的`User`对象的`List`集合,可能为空集合(如果没有找到符合条件的用户)。
|
|
|
|
|
*/
|
|
|
|
|
List<User> findUserLikeName(String name);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 向数据库中插入一条新的用户记录的方法签名。
|
|
|
|
|
* 对应的实现类需要实现将传入的包含新用户信息的`User`对象(包含用户的各种属性,如用户名、密码、邮箱等)插入到数据库的用户表中的逻辑,并且根据插入操作的结果返回受影响的行数(通常插入成功返回1,失败返回0等,具体依数据库执行情况而定),以此判断用户信息插入是否成功。
|
|
|
|
|
* @param user 包含要插入的新用户信息的`User`对象,其各属性值将被插入到数据库用户表的对应字段中。
|
|
|
|
|
* @return 返回一个`Integer`类型的值,表示插入操作影响的行数,可用于判断插入是否成功。
|
|
|
|
|
*/
|
|
|
|
|
Integer addUser(User user);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 根据用户的唯一标识(ID)从数据库中删除对应的用户记录的方法签名。
|
|
|
|
|
* 具体实现类需编写逻辑,调用相应的数据持久层方法将指定ID的用户记录从数据库表中移除,然后返回受影响的行数来表明删除操作是否成功执行(一般成功删除返回1,不存在对应记录返回0等情况),用于确认用户记录删除操作的结果。
|
|
|
|
|
* @param user_id 要删除的用户的唯一标识(长整型数字)。
|
|
|
|
|
* @return 返回一个`Integer`类型的值,表示删除操作影响的行数,可用于判断删除是否成功。
|
|
|
|
|
*/
|
|
|
|
|
Integer deleteUser(long user_id);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 查询数据库中所有用户信息的方法签名。
|
|
|
|
|
* 对应的实现类应编写逻辑,通过调用数据持久层相关方法从数据库表中获取全部的用户记录,并将每条记录转换为`User`实体对象,最后以`List<User>`集合的形式返回所有用户信息列表,方便进行整体的用户数据统计、管理等操作,例如展示所有用户列表供管理员查看等业务场景。
|
|
|
|
|
* @return 返回一个包含所有`User`对象的`List`集合,每个对象代表一条用户记录信息。
|
|
|
|
|
*/
|
|
|
|
|
List<User> findAllUserInfos();
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 分页查询所有用户信息的方法签名,支持根据关键词进行筛选(如果关键词不为空,则按一定规则筛选用户,比如按用户名模糊查询等,具体规则可由实现类确定)。
|
|
|
|
|
* 实现类需要编写逻辑,先通过传入的页码(page)和每页显示记录条数(limit)设置分页参数,然后根据关键词(keyword)情况决定查询逻辑:如果关键词不为空,则按照相应规则筛选用户记录;若关键词为空,则查询全部用户记录。之后将筛选出的记录转换为`User`实体对象,并进行分页处理,最后以`PageInfo<User>`对象的形式返回,方便进行用户信息的分页展示以及通过关键词快速查找相关用户等业务场景,例如用户通过输入关键词搜索用户等情况。
|
|
|
|
|
* @param page 当前页码,用于指定要获取的是第几页数据,通常是从1开始计数的正整数。
|
|
|
|
|
* @param limit 每页显示的记录条数,用于限制每页的数据量,通常是一个正整数。
|
|
|
|
|
* @param keyword 关键词,用于筛选用户记录,如果为`null`或者空字符串则查询全部用户。
|
|
|
|
|
* @return 返回一个`PageInfo<User>`对象,包含了分页后的用户信息以及分页相关的详细数据。
|
|
|
|
|
*/
|
|
|
|
|
PageInfo<User> findAllUserBySplitPage(Integer page, Integer limit, String keyword);
|
|
|
|
|
}
|