|
|
|
@ -1,37 +1,74 @@
|
|
|
|
|
package com.zsz.service.impl;
|
|
|
|
|
|
|
|
|
|
// 导入 MyBatis-Plus 用于构建查询条件的 QueryWrapper 类
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
|
|
// 导入 MyBatis-Plus 用于实现分页查询的 Page 类
|
|
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
|
|
// 导入 MyBatis-Plus 提供的通用 Service 实现类
|
|
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
|
|
// 导入班级数据访问层的 Mapper 接口
|
|
|
|
|
import com.zsz.mapper.ClazzMapper;
|
|
|
|
|
// 导入班级实体类
|
|
|
|
|
import com.zsz.pojo.Clazz;
|
|
|
|
|
// 导入班级服务层接口
|
|
|
|
|
import com.zsz.service.ClazzService;
|
|
|
|
|
// 导入 Spring 框架的 Service 注解,用于将该类标记为服务层组件
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
// 导入 Spring 框架的事务管理注解,用于开启事务支持
|
|
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
// 导入 Spring 框架的工具类,用于字符串操作
|
|
|
|
|
import org.springframework.util.StringUtils;
|
|
|
|
|
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 班级服务实现类,继承自 MyBatis-Plus 的 ServiceImpl 类,实现了 ClazzService 接口。
|
|
|
|
|
* 该类负责处理与班级相关的业务逻辑,如分页查询班级数据和获取所有班级列表。
|
|
|
|
|
*/
|
|
|
|
|
// 将该类标记为服务层组件,指定名称为 "clazzServiceImpl"
|
|
|
|
|
@Service("clazzServiceImpl")
|
|
|
|
|
// 开启事务支持,确保业务操作的原子性
|
|
|
|
|
@Transactional
|
|
|
|
|
public class ClazzServiceImpl extends ServiceImpl<ClazzMapper, Clazz> implements ClazzService {
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 分页查询班级数据
|
|
|
|
|
* @param clazzPage 分页对象,包含页码、每页记录数等信息
|
|
|
|
|
* @param clazz 班级实体对象,用于构建查询条件,如年级名称、班级名称等
|
|
|
|
|
* @return 包含分页查询结果的 Page 对象
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
public Page<Clazz> getClazzData(Page<Clazz> clazzPage, Clazz clazz) {
|
|
|
|
|
// 创建 QueryWrapper 对象,用于构建数据库查询条件
|
|
|
|
|
QueryWrapper<Clazz> clazzQueryWrapper = new QueryWrapper<>();
|
|
|
|
|
if (!StringUtils.isEmpty(clazz.getGradeName())){
|
|
|
|
|
clazzQueryWrapper.like("grade_name",clazz.getGradeName());
|
|
|
|
|
|
|
|
|
|
// 判断班级对象中的年级名称是否为空,如果不为空,则添加模糊查询条件
|
|
|
|
|
if (!StringUtils.isEmpty(clazz.getGradeName())) {
|
|
|
|
|
// 添加年级名称的模糊查询条件,对应数据库表中的 grade_name 字段
|
|
|
|
|
clazzQueryWrapper.like("grade_name", clazz.getGradeName());
|
|
|
|
|
}
|
|
|
|
|
if (!StringUtils.isEmpty(clazz.getName())){
|
|
|
|
|
clazzQueryWrapper.like("name",clazz.getName());
|
|
|
|
|
|
|
|
|
|
// 判断班级对象中的班级名称是否为空,如果不为空,则添加模糊查询条件
|
|
|
|
|
if (!StringUtils.isEmpty(clazz.getName())) {
|
|
|
|
|
// 添加班级名称的模糊查询条件,对应数据库表中的 name 字段
|
|
|
|
|
clazzQueryWrapper.like("name", clazz.getName());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 调用 BaseMapper 的 selectPage 方法,根据分页信息和查询条件进行分页查询
|
|
|
|
|
Page<Clazz> selectPage = baseMapper.selectPage(clazzPage, clazzQueryWrapper);
|
|
|
|
|
return selectPage;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 获取所有班级列表
|
|
|
|
|
* @return 包含所有班级信息的列表
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
public List<Clazz> getClazzs() {
|
|
|
|
|
// 创建 QueryWrapper 对象,由于要查询所有班级,这里不添加额外的查询条件
|
|
|
|
|
QueryWrapper<Clazz> clazzQueryWrapper = new QueryWrapper<>();
|
|
|
|
|
|
|
|
|
|
// 调用 BaseMapper 的 selectList 方法,查询所有班级信息
|
|
|
|
|
return baseMapper.selectList(clazzQueryWrapper);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|