package jnpf.mapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import jnpf.base.mapper.SuperMapper; import jnpf.entity.EmployeeEntity; import jnpf.model.employee.PaginationEmployee; import jnpf.util.RandomUtil; import jnpf.util.UserProvider; import org.apache.commons.lang3.StringUtils; import java.util.Date; import java.util.List; /** * 职员信息 * * @author JNPF开发平台组 * @version V3.1.0 * @copyright 引迈信息技术有限公司 * @date 2019年9月26日 上午9:18 */ public interface EmployeeMapper extends SuperMapper { default List getList() { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.lambda().orderByDesc(EmployeeEntity::getCreatorTime); return this.selectList(queryWrapper); } default List getList(PaginationEmployee paginationEmployee) { // Map queryParam = OptimizeUtil.queryParam(pagination); QueryWrapper queryWrapper = new QueryWrapper<>(); //查询条件 String propertyName = paginationEmployee.getCondition() != null ? paginationEmployee.getCondition() : null; String propertyValue = paginationEmployee.getKeyword() != null ? paginationEmployee.getKeyword() : null; if (!StringUtils.isEmpty(propertyName) && !StringUtils.isEmpty(propertyValue)) { switch (propertyName) { //工号 case "EnCode": queryWrapper.lambda().like(EmployeeEntity::getEnCode, propertyValue); break; //姓名 case "FullName": queryWrapper.lambda().like(EmployeeEntity::getFullName, propertyValue); break; //电话 case "Telephone": queryWrapper.lambda().like(EmployeeEntity::getTelephone, propertyValue); break; //部门 case "DepartmentName": queryWrapper.lambda().like(EmployeeEntity::getDepartmentName, propertyValue); break; //岗位 case "PositionName": queryWrapper.lambda().like(EmployeeEntity::getPositionName, propertyValue); break; default: break; } } //排序 if (StringUtils.isEmpty(paginationEmployee.getSidx())) { queryWrapper.lambda().orderByDesc(EmployeeEntity::getCreatorTime); } else { queryWrapper = "asc".equals(paginationEmployee.getSort().toLowerCase()) ? queryWrapper.orderByAsc(paginationEmployee.getSidx()) : queryWrapper.orderByDesc(paginationEmployee.getSidx()); } Page page = new Page(paginationEmployee.getCurrentPage(), paginationEmployee.getPageSize()); IPage userIPage = this.selectPage(page, queryWrapper); return paginationEmployee.setData(userIPage.getRecords(), page.getTotal()); } default EmployeeEntity getInfo(String id) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.lambda().eq(EmployeeEntity::getId, id); return this.selectOne(queryWrapper); } default void delete(EmployeeEntity entity) { this.deleteById(entity.getId()); } default void create(EmployeeEntity entity) { entity.setId(RandomUtil.uuId()); entity.setSortCode(RandomUtil.parses()); entity.setCreatorUserId(UserProvider.getLoginUserId()); this.insert(entity); } default void update(String id, EmployeeEntity entity) { entity.setId(id); entity.setLastModifyTime(new Date()); entity.setLastModifyUserId(UserProvider.getLoginUserId()); this.updateById(entity); } }