/** # __----~~~~~~~~~~~------___ # . . ~~//====...... __--~ ~~ # -. \_|// |||\\ ~~~~~~::::... /~ # ___-==_ _-~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.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.enums.EState; import com.nanjing.water.entity.search.SearchAdminMenu; import com.nanjing.water.repository.BasicMapperImpl; import com.nanjing.water.repository.mapper.AdminMenuMapper; import com.nanjing.water.repository.po.AdminMenuPO; import org.springframework.stereotype.Repository; import java.util.List; /** * åŽå°èœå• * @author lin.liu * @description åŽå°èœå• */ @Repository public class AdminMenuMapperImpl extends BasicMapperImpl<AdminMenuPO, AdminMenuMapper> { public AdminMenuMapper mapper; AdminMenuMapperImpl(AdminMenuMapper mapper) { super(mapper); } @Override public PagerResult<AdminMenuPO> search(SearchBasicDTO request) { // 还原查询æ¡ä»¶çœŸå®žç±»åž‹ SearchAdminMenu search = (SearchAdminMenu)request; // 查询æ¡ä»¶ LambdaQueryWrapper<AdminMenuPO> queryWrapper = this.query(); // éžé€»è¾‘åˆ é™¤ queryWrapper.eq(AdminMenuPO::getStatus, EState.NORMAL.getValue()); // æ•°æ®åˆ›å»ºæ—¶é—´-èµ·å§‹ queryWrapper.ge(NumericUtil.tryParseLong(search.getCreateTimeStart()).compareTo(0L) > 0, AdminMenuPO::getCreateTime, search.getCreateTimeStart()); // æ•°æ®åˆ›å»ºæ—¶é—´-æˆªæ¢ queryWrapper.le(NumericUtil.tryParseLong(search.getCreateTimeEnd()).compareTo(0L) > 0, AdminMenuPO::getCreateTime, search.getCreateTimeEnd()); // å…³é”®å— if (StringUtil.isNotNullOrEmpty(search.getKeywords())) { queryWrapper.and(q -> q.like(AdminMenuPO::getName, search.getKeywords()) .or().like(AdminMenuPO::getTitle, 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(AdminMenuPO::getId); break; // æ•°æ®åˆ›å»ºæ—¶é—´ case CREATE_TIME: queryWrapper.orderByAsc(AdminMenuPO::getCreateTime); break; // æœ€åŽæ›´æ–°æ—¶é—´ case UPDATE_TIME: queryWrapper.orderByAsc(AdminMenuPO::getUpdateTime); break; } } else { // å€’å™æŽ’åº switch (orderBy) { // 主键 case ID: queryWrapper.orderByDesc(AdminMenuPO::getId); break; // æ•°æ®åˆ›å»ºæ—¶é—´ case CREATE_TIME: queryWrapper.orderByDesc(AdminMenuPO::getCreateTime); break; // æœ€åŽæ›´æ–°æ—¶é—´ case UPDATE_TIME: queryWrapper.orderByDesc(AdminMenuPO::getUpdateTime); break; } } } } else { queryWrapper.orderByDesc(AdminMenuPO::getId); } Page<AdminMenuPO> pageResult = DB.selectPage(new Page<>(search.getPage(), search.getLimit()), queryWrapper); return new PagerResult<>(pageResult.getSize(), pageResult.getCurrent(), pageResult.getTotal(), pageResult.getRecords()); } /** * æ ¹æ®çˆ¶çº§èœå•获å–åèœå•列表 * @param parentId 父级èœå•id */ public List<AdminMenuPO> list4Parent(Long parentId) { // 查询æ¡ä»¶ LambdaQueryWrapper<AdminMenuPO> queryWrapper = this.query(); queryWrapper.eq(AdminMenuPO::getParentId, parentId); return DB.selectList(queryWrapper); } }