通用操作是指一般的增删改查操作,逻辑大体都是一致的,所以统一抽象到CURD接口,需要用到CURD的表直接实现接口就可以了。
通用操作主要有以下几个:
/**
* 保存操作
* @param record
* @return
*/
int save(T record);
/**
* 更新操作
* @param record
* @return
*/
int update(T record);
/**
* 删除操作
* @param record
* @return
*/
int delete(T record);
/**
* 批量删除操作
* @param entities
*/
int delete(List<T> records);
/**
* 分页查询
* 这里统一封装了分页请求和结果,避免直接引入具体框架的分页对象, 如MyBatis或JPA的分页对象
* 从而避免因为替换ORM框架而导致服务层、控制层的分页接口也需要变动的情况,替换ORM框架也不会
* 影响服务层以上的分页接口,起到了解耦的作用
* @param pageRequest 自定义,统一分页查询请求
* @return PageResult 自定义,统一分页查询结果
*/
PageResult findPage(PageRequest pageRequest);
/**
* 根据ID查询
* @param id
* @return
*/
T findById(Long id);
名称:login
类型:post
路径:/sys/login
返回:HttpResult
参数:{LoginBean loginBean}
描述:登录接口,验证登录逻辑,生成令牌
名称:captcha
类型:get
路径:captcha.jpg
返回:void
参数:{HttpServletResponse response}
描述:生成并输出验证码图片到前台
名称:createToken
返回:SysUserToken
参数:{long userId}
描述:生成令牌字符,根据字符判断是否已经存在令牌
存在:更新过期时间,不存在:保存到数据库或缓存
名称:findByUserId
返回:SysUserToken
参数:{long userId}
描述:根据用户ID查询令牌
名称:findByToken
返回:SysUserToken
参数:{String token}
描述:根据令牌字符查询令牌对象
名称:findByUserName
类型:get
路径:/user/findByUserName
返回:HttpResult
参数:{String userName}
描述:根据名称查询分页列表
名称:updatePassword
类型:get
路径:/user/updatePassword
返回:HttpResult
参数:{String password, String newPassword}
描述:修改用户密码
名称:findTree
类型:get
路径:/dept/findTree
返回:HttpResult
参数:{}
描述:查找机构树形列表,提供增删改查界面和用户选择所属机构
名称:findByRoleName
类型:get
路径:/user/findByRoleName
返回:HttpResult
参数:{String roleName}
描述:根据名称查询分页列表
名称:findAll
类型:get
路径:/menu/findAll
返回:HttpResult
参数:{}
描述:查找全部,提供用户选择拥有角色
名称:findTree
类型:get
路径:/menu/findTree
返回:HttpResult
参数:{String userName}
描述:根据用户名查询用户拥有的菜单,用户名为空则返回全部
提供导航菜单、新增改查页面、角色授权菜单页面使用