潘志宝
2024-08-21 c39abccd937de093fc067abffac5f66b758bc97b
提交 | 用户 | 时间
e7c126 1 package com.iailab.module.system.dal.mysql.user;
H 2
3 import com.iailab.framework.common.pojo.PageResult;
4 import com.iailab.framework.mybatis.core.mapper.BaseMapperX;
5 import com.iailab.framework.mybatis.core.query.LambdaQueryWrapperX;
6 import com.iailab.module.system.controller.admin.user.vo.user.UserPageReqVO;
7 import com.iailab.module.system.dal.dataobject.user.AdminUserDO;
8 import org.apache.ibatis.annotations.Mapper;
9
10 import java.util.Collection;
11 import java.util.List;
12
13 @Mapper
14 public interface AdminUserMapper extends BaseMapperX<AdminUserDO> {
15
16     default AdminUserDO selectByUsername(String username) {
17         return selectOne(AdminUserDO::getUsername, username);
18     }
19
20     default AdminUserDO selectByEmail(String email) {
21         return selectOne(AdminUserDO::getEmail, email);
22     }
23
24     default AdminUserDO selectByMobile(String mobile) {
25         return selectOne(AdminUserDO::getMobile, mobile);
26     }
27
28     default PageResult<AdminUserDO> selectPage(UserPageReqVO reqVO, Collection<Long> deptIds) {
29         return selectPage(reqVO, new LambdaQueryWrapperX<AdminUserDO>()
30                 .likeIfPresent(AdminUserDO::getUsername, reqVO.getUsername())
31                 .likeIfPresent(AdminUserDO::getMobile, reqVO.getMobile())
32                 .eqIfPresent(AdminUserDO::getStatus, reqVO.getStatus())
33                 .betweenIfPresent(AdminUserDO::getCreateTime, reqVO.getCreateTime())
34                 .inIfPresent(AdminUserDO::getDeptId, deptIds)
35                 .orderByDesc(AdminUserDO::getId));
36     }
37
38     default List<AdminUserDO> selectListByNickname(String nickname) {
39         return selectList(new LambdaQueryWrapperX<AdminUserDO>().like(AdminUserDO::getNickname, nickname));
40     }
41
42     default List<AdminUserDO> selectListByStatus(Integer status) {
43         return selectList(AdminUserDO::getStatus, status);
44     }
45
46     default List<AdminUserDO> selectListByDeptIds(Collection<Long> deptIds) {
47         return selectList(AdminUserDO::getDeptId, deptIds);
48     }
49
50 }