/** * # __----~~~~~~~~~~~------___ * # . . ~~//====...... __--~ ~~ * # -. \_|// |||\\ ~~~~~~::::... /~ * # ___-==_ _-~o~ \/ ||| \\ _/~~- * # __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ * # _-~~ .=~ | \\-_ '-~7 /- / || \ / * # .~ .~ | \\ -_ / /- / || \ / * # / ____ / | \\ ~-_/ /|- _/ .|| \ / * # |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ * # ' ~-| /| |-~\~~ __--~~ * # |-~~-_/ | | ~\_ _-~ /\ * # / \ \__ \/~ \__ * # _--~ _/ | .-~~____--~-/ ~~==. * # ((->/~ '.|||' -_| ~~-/ , . _|| * # -_ ~\ ~~---l__i__i__i--~~_/ * # _-~-__ ~) \--______________--~~ * # //.-~~~-~_--~- |-------~~~~~~~~ * # //.-~~~--\ * # 神兽保佑 * # 永无BUG! */ package com.nanjing.water.repository.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.nanjing.water.common.PagerResult; import com.nanjing.water.common.enums.EYesOrNo; import com.nanjing.water.common.util.ListUtil; import com.nanjing.water.common.util.NumericUtil; import com.nanjing.water.common.util.StringUtil; import com.nanjing.water.entity.dto.OrderByDTO; import com.nanjing.water.entity.dto.SearchBasicDTO; import com.nanjing.water.entity.enums.EOrderBy; import com.nanjing.water.entity.search.SearchAdminUser; import com.nanjing.water.repository.BasicMapperImpl; import com.nanjing.water.repository.mapper.AdminUserMapper; import com.nanjing.water.repository.po.AdminUserPO; import org.springframework.stereotype.Repository; /** * 管理员帐号 * @author lin.liu * @description 管理员帐号 */ @Repository public class AdminUserMapperImpl extends BasicMapperImpl { AdminUserMapperImpl(AdminUserMapper mapper) { super(mapper); } @Override public PagerResult search(SearchBasicDTO request) { // 还原查询条件真实类型 SearchAdminUser search = (SearchAdminUser) request; // 查询条件 LambdaQueryWrapper queryWrapper = this.query(); // 非逻辑删除 queryWrapper.eq(AdminUserPO::getIsDelete, EYesOrNo.NO.getValue()); // 状态 //queryWrapper.eq(NumericUtil.tryParseInt(search.getStatus()).compareTo(0) > 0, AdminUserPO::getStatus, search.getStatus()); // 状态列表 //queryWrapper.in(ListUtil.isNotNullOrEmpty(search.getListStatus()), AdminUserPO::getStatus, search.getListStatus()); // 数据创建时间-起始 queryWrapper.ge(NumericUtil.tryParseLong(search.getCreateTimeStart()).compareTo(0L) > 0, AdminUserPO::getCreateTime, search.getCreateTimeStart()); // 数据创建时间-截止 queryWrapper.le(NumericUtil.tryParseLong(search.getCreateTimeEnd()).compareTo(0L) > 0, AdminUserPO::getCreateTime, search.getCreateTimeEnd()); // 关键字 if (StringUtil.isNotNullOrEmpty(search.getKeywords())) { queryWrapper.and(q -> q.like(AdminUserPO::getUserName, search.getKeywords()) .or().like(AdminUserPO::getNickName, search.getKeywords()) .or().like(AdminUserPO::getContact, search.getKeywords()) .or().like(AdminUserPO::getEmail, search.getKeywords()) ); } // 排序处理 if (ListUtil.isNotNullOrEmpty(search.getOrderBy())) { for (OrderByDTO item : search.getOrderBy()) { EOrderBy orderBy = EOrderBy.getByValue(item.getOrderBy()); // 顺序排序 if (item.getIsAsc()) { switch (orderBy) { // 主键 case ID: queryWrapper.orderByAsc(AdminUserPO::getId); break; // 数据创建时间 case CREATE_TIME: queryWrapper.orderByAsc(AdminUserPO::getCreateTime); break; // 最后更新时间 case UPDATE_TIME: queryWrapper.orderByAsc(AdminUserPO::getUpdateTime); break; } } else { // 倒叙排序 switch (orderBy) { // 主键 case ID: queryWrapper.orderByDesc(AdminUserPO::getId); break; // 数据创建时间 case CREATE_TIME: queryWrapper.orderByDesc(AdminUserPO::getCreateTime); break; // 最后更新时间 case UPDATE_TIME: queryWrapper.orderByDesc(AdminUserPO::getUpdateTime); break; } } } } else { queryWrapper.orderByDesc(AdminUserPO::getId); } Page pageResult = DB.selectPage(new Page<>(search.getPage(), search.getLimit()), queryWrapper); return new PagerResult<>(pageResult.getSize(), pageResult.getCurrent(), pageResult.getTotal(), pageResult.getRecords()); } /** * 根据用户名获取管理端用户 * @param userName 用户名 */ public AdminUserPO get4Name(String userName) { // 查询条件 LambdaQueryWrapper queryWrapper = this.query(); queryWrapper.eq(AdminUserPO::getUserName, userName); return DB.selectOne(queryWrapper); } }