|
|
// 声明该类所在的包,通常用于组织服务实现类
|
|
|
package com.service.impl;
|
|
|
|
|
|
// 导入Spring框架的Service注解,用于将当前类标记为一个服务组件
|
|
|
import org.springframework.stereotype.Service;
|
|
|
// 导入Java标准库中的Map接口,用于处理键值对数据,常用于方法参数传递等场景
|
|
|
import java.util.Map;
|
|
|
// 导入Java标准库中的List接口,用于处理一组有序的数据集合,常用于方法的返回值或参数中
|
|
|
import java.util.List;
|
|
|
|
|
|
// 导入MyBatis-Plus框架的Wrapper接口,用于构建查询条件的包装器
|
|
|
import com.baomidou.mybatisplus.mapper.Wrapper;
|
|
|
// 导入MyBatis-Plus框架的EntityWrapper类,用于创建基于实体类的查询条件包装器
|
|
|
import com.baomidou.mybatisplus.mapper.EntityWrapper;
|
|
|
// 导入MyBatis-Plus框架的Page类,用于处理分页查询,存储分页相关的数据
|
|
|
import com.baomidou.mybatisplus.plugins.Page;
|
|
|
// 导入MyBatis-Plus框架的ServiceImpl类,提供了基础的服务层实现方法和通用功能
|
|
|
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
|
|
|
// 导入自定义的PageUtils工具类,用于处理分页结果,将MyBatis-Plus的Page对象转换为自定义的分页工具对象
|
|
|
import com.utils.PageUtils;
|
|
|
// 导入自定义的Query工具类,用于从参数Map中构建分页查询所需的参数和Page对象
|
|
|
import com.utils.Query;
|
|
|
|
|
|
// 导入自定义的数据访问对象接口,用于对员工相关数据进行数据库操作
|
|
|
import com.dao.YuangongDao;
|
|
|
// 导入自定义的员工实体类,用于表示数据库中员工表的记录
|
|
|
import com.entity.YuangongEntity;
|
|
|
// 导入自定义的员工服务接口,当前类实现该接口以提供具体的员工业务逻辑
|
|
|
import com.service.YuangongService;
|
|
|
// 导入自定义的员工值对象类,用于在特定业务场景下传输和处理员工相关的数据
|
|
|
import com.entity.vo.YuangongVO;
|
|
|
// 导入自定义的员工视图类,用于以特定的视图形式展示员工相关的数据
|
|
|
import com.entity.view.YuangongView;
|
|
|
|
|
|
// 使用Service注解将该类注册为Spring的服务组件,服务名称为"yuangongService"
|
|
|
@Service("yuangongService")
|
|
|
// 继承ServiceImpl类,并指定数据访问对象为YuangongDao和实体类为YuangongEntity,实现YuangongService接口
|
|
|
public class YuangongServiceImpl extends ServiceImpl<YuangongDao, YuangongEntity> implements YuangongService {
|
|
|
|
|
|
// 重写queryPage方法,根据传入的参数进行分页查询员工实体数据
|
|
|
// @param params 包含查询条件、分页参数等信息的Map集合
|
|
|
// @return PageUtils对象,包含了分页查询结果的相关信息,如总记录数、当前页码等
|
|
|
@Override
|
|
|
public PageUtils queryPage(Map<String, Object> params) {
|
|
|
// 创建分页对象,使用Query工具类从参数中构建分页参数并获取Page对象
|
|
|
Page<YuangongEntity> page = this.selectPage(
|
|
|
new Query<YuangongEntity>(params).getPage(),
|
|
|
// 创建一个空的实体查询条件包装器,即查询所有符合条件的记录(这里未添加具体条件)
|
|
|
new EntityWrapper<YuangongEntity>()
|
|
|
);
|
|
|
// 使用PageUtils工具类将MyBatis-Plus的Page对象转换为自定义的分页工具对象并返回
|
|
|
return new PageUtils(page);
|
|
|
}
|
|
|
|
|
|
// 重写queryPage方法,根据传入的参数和查询条件进行分页查询员工视图数据
|
|
|
// @param params 包含查询条件、分页参数等信息的Map集合
|
|
|
// @param wrapper 用于构建查询条件的包装器,类型为YuangongEntity的包装器
|
|
|
// @return PageUtils对象,包含了分页查询结果的相关信息
|
|
|
@Override
|
|
|
public PageUtils queryPage(Map<String, Object> params, Wrapper<YuangongEntity> wrapper) {
|
|
|
// 创建分页对象,使用Query工具类从参数中构建分页参数并获取Page对象,指定类型为YuangongView
|
|
|
Page<YuangongView> page = new Query<YuangongView>(params).getPage();
|
|
|
// 设置分页对象的记录,通过调用数据访问对象的selectListView方法,传入分页对象和查询条件包装器获取结果
|
|
|
page.setRecords(baseMapper.selectListView(page, wrapper));
|
|
|
// 使用PageUtils工具类将MyBatis-Plus的Page对象转换为自定义的分页工具对象并返回
|
|
|
PageUtils pageUtil = new PageUtils(page);
|
|
|
return pageUtil;
|
|
|
}
|
|
|
|
|
|
// 重写selectListVO方法,根据传入的查询条件查询员工值对象列表
|
|
|
// @param wrapper 用于构建查询条件的包装器,类型为YuangongEntity的包装器
|
|
|
// @return 包含员工值对象的List集合
|
|
|
@Override
|
|
|
public List<YuangongVO> selectListVO(Wrapper<YuangongEntity> wrapper) {
|
|
|
// 调用数据访问对象的selectListVO方法,传入查询条件包装器,获取员工值对象列表
|
|
|
return baseMapper.selectListVO(wrapper);
|
|
|
}
|
|
|
|
|
|
// 重写selectVO方法,根据传入的查询条件查询单个员工值对象
|
|
|
// @param wrapper 用于构建查询条件的包装器,类型为YuangongEntity的包装器
|
|
|
// @return 单个员工值对象
|
|
|
@Override
|
|
|
public YuangongVO selectVO(Wrapper<YuangongEntity> wrapper) {
|
|
|
// 调用数据访问对象的selectVO方法,传入查询条件包装器,获取单个员工值对象
|
|
|
return baseMapper.selectVO(wrapper);
|
|
|
}
|
|
|
|
|
|
// 重写selectListView方法,根据传入的查询条件查询员工视图列表
|
|
|
// @param wrapper 用于构建查询条件的包装器,类型为YuangongEntity的包装器
|
|
|
// @return 包含员工视图的List集合
|
|
|
@Override
|
|
|
public List<YuangongView> selectListView(Wrapper<YuangongEntity> wrapper) {
|
|
|
// 调用数据访问对象的selectListView方法,传入查询条件包装器,获取员工视图列表
|
|
|
return baseMapper.selectListView(wrapper);
|
|
|
}
|
|
|
|
|
|
// 重写selectView方法,根据传入的查询条件查询单个员工视图
|
|
|
// @param wrapper 用于构建查询条件的包装器,类型为YuangongEntity的包装器
|
|
|
// @return 单个员工视图
|
|
|
@Override
|
|
|
public YuangongView selectView(Wrapper<YuangongEntity> wrapper) {
|
|
|
// 调用数据访问对象的selectView方法,传入查询条件包装器,获取单个员工视图
|
|
|
return baseMapper.selectView(wrapper);
|
|
|
}
|
|
|
} |