You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
110 lines
5.0 KiB
110 lines
5.0 KiB
package com.yanzhen.service;
|
|
|
|
import com.yanzhen.entity.Org;
|
|
import com.yanzhen.entity.SelectionJoiner;
|
|
import com.yanzhen.mapper.SelectionJoinerMapper;
|
|
import com.yanzhen.mapper.SelectionMapper;
|
|
import com.yanzhen.entity.Selection;
|
|
import com.github.pagehelper.PageHelper;
|
|
import com.github.pagehelper.PageInfo;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.util.StringUtils;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
|
|
@Service // 标记该类为Spring的服务组件
|
|
public class SelectionService学生查询管理 {// “学生管理----管理员”
|
|
|
|
@Autowired // 自动注入SelectionMapper依赖
|
|
private SelectionMapper selectionMapper;
|
|
@Autowired // 自动注入OrgService依赖
|
|
private OrgService机构管理 orgService;
|
|
|
|
@Autowired // 自动注入SelectionJoinerMapper依赖
|
|
private SelectionJoinerMapper selectionJoinerMapper;
|
|
|
|
@Transactional // 声明该方法需要事务管理
|
|
public int create(Selection selection) {
|
|
selectionMapper.create(selection); // 创建新的Selection记录
|
|
List<Integer> clazzIds = selection.getClazzIds(); // 获取班级ID列表
|
|
//筛选出对应的班级
|
|
List<Integer> selectIds = new ArrayList(); // 初始化选择的班级ID列表
|
|
clazzIds.forEach(item->{ // 遍历班级ID列表
|
|
Org detail = orgService.detail(item); // 获取班级详细信息
|
|
if(detail.getType() == 4){ // 如果班级类型为4
|
|
selectIds.add(detail.getId()); // 将班级ID添加到选择的班级ID列表中
|
|
}
|
|
});
|
|
selectIds.forEach(item->{ // 遍历选择的班级ID列表
|
|
SelectionJoiner joiner = new SelectionJoiner(); // 创建新的SelectionJoiner对象
|
|
joiner.setClazzId(item); // 设置班级ID
|
|
joiner.setSelectionId(selection.getId()); // 设置Selection ID
|
|
selectionJoinerMapper.create(joiner); // 创建新的SelectionJoiner记录
|
|
});
|
|
return 1; // 返回操作成功标志
|
|
}
|
|
|
|
public int delete(String ids) {
|
|
String[] arr = ids.split(","); // 将传入的ID字符串按逗号分割成数组
|
|
int row = 0; // 初始化删除计数器
|
|
for (String s : arr) { // 遍历ID数组
|
|
if(!StringUtils.isEmpty(s)){ // 如果ID不为空
|
|
selectionMapper.delete(Integer.parseInt(s)); // 根据ID删除Selection记录
|
|
row++; // 删除计数器加一
|
|
}
|
|
}
|
|
return row; // 返回删除的记录数
|
|
}
|
|
|
|
public int delete(Integer id) {
|
|
return selectionMapper.delete(id); // 根据ID删除Selection记录并返回操作结果
|
|
}
|
|
|
|
public int update(Selection selection) {
|
|
selectionMapper.update(selection); // 更新Selection记录
|
|
//先删除已设置的信息
|
|
selectionJoinerMapper.deleteBySelectionId(selection.getId()); // 根据Selection ID删除所有相关的SelectionJoiner记录
|
|
List<Integer> clazzIds = selection.getClazzIds(); // 获取班级ID列表
|
|
//筛选出对应的班级
|
|
List<Integer> selectIds = new ArrayList(); // 初始化选择的班级ID列表
|
|
clazzIds.forEach(item->{ // 遍历班级ID列表
|
|
Org detail = orgService.detail(item); // 获取班级详细信息
|
|
if(detail.getType() == 4){ // 如果班级类型为4
|
|
selectIds.add(detail.getId()); // 将班级ID添加到选择的班级ID列表中
|
|
}
|
|
});
|
|
selectIds.forEach(item->{ // 遍历选择的班级ID列表
|
|
SelectionJoiner joiner = new SelectionJoiner(); // 创建新的SelectionJoiner对象
|
|
joiner.setClazzId(item); // 设置班级ID
|
|
joiner.setSelectionId(selection.getId()); // 设置Selection ID
|
|
selectionJoinerMapper.create(joiner); // 创建新的SelectionJoiner记录
|
|
});
|
|
return 1; // 返回操作成功标志
|
|
}
|
|
|
|
public int updateSelective(Selection selection) {
|
|
return selectionMapper.updateSelective(selection); // 选择性更新Selection记录并返回操作结果
|
|
}
|
|
|
|
public PageInfo<Selection> query(Selection selection) {
|
|
if(selection != null && selection.getPage() != null){ // 如果Selection对象和分页信息不为空
|
|
PageHelper.startPage(selection.getPage(),selection.getLimit()); // 启动分页查询
|
|
}
|
|
return new PageInfo<Selection>(selectionMapper.query(selection)); // 执行查询并返回分页结果
|
|
}
|
|
|
|
public List<Selection> queryByClazzId(Integer clazzId){
|
|
return selectionMapper.queryByClazzId(clazzId); // 根据班级ID查询Selection记录并返回结果列表
|
|
}
|
|
|
|
public Selection detail(Integer id) {
|
|
return selectionMapper.detail(id); // 根据ID查询Selection详情并返回结果
|
|
}
|
|
|
|
public int count(Selection selection) {
|
|
return selectionMapper.count(selection); // 统计符合条件的Selection记录数并返回结果
|
|
}
|
|
} |