添加宿舍中人员数据、分组根据角色查询

This commit is contained in:
Qi 2025-05-26 22:03:22 +08:00
parent 49d476dcc8
commit e0cfa9a94a
9 changed files with 270 additions and 60 deletions

View File

@ -52,10 +52,12 @@ public class CeesGroupController extends JeecgController<CeesGroup, ICeesGroupSe
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<CeesGroup> queryWrapper = QueryGenerator.initQueryWrapper(ceesGroup, req.getParameterMap());
Page<CeesGroup> page = new Page<CeesGroup>(pageNo, pageSize);
IPage<CeesGroup> pageList = ceesGroupService.page(page, queryWrapper);
return Result.OK(pageList);
return Result.OK(ceesGroupService.queryPageList(ceesGroup,pageNo,pageSize,req));
// QueryWrapper<CeesGroup> queryWrapper = QueryGenerator.initQueryWrapper(ceesGroup, req.getParameterMap());
// Page<CeesGroup> page = new Page<CeesGroup>(pageNo, pageSize);
// IPage<CeesGroup> pageList = ceesGroupService.page(page, queryWrapper);
// return Result.OK(pageList);
}
/**

View File

@ -2,20 +2,24 @@ package org.jeecg.modules.contoller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.aspect.annotation.AutoLog;
import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.modules.entity.CeesDormitoryInfo;
import org.jeecg.modules.entity.CeesUser;
import org.jeecg.modules.entity.CeesWaiTeacher;
import org.jeecg.modules.entity.dto.CreateAccountDto;
import org.jeecg.modules.enums.IdentityEnum;
import org.jeecg.modules.enums.MajorEnum;
import org.jeecg.modules.mapper.CeesDormitoryInfoMapper;
import org.jeecg.modules.mapper.CeesUserMapper;
import org.jeecg.modules.service.ICeesLocalTeacherService;
import org.jeecg.modules.service.ICeesUserService;
@ -27,9 +31,7 @@ import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
/**
@ -53,6 +55,8 @@ public class CeesUserController extends JeecgController<CeesUser, ICeesUserServi
private IStudentService studentService;
@Autowired
private CeesUserMapper ceesUserMapper;
@Autowired
CeesDormitoryInfoMapper ceesDormitoryInfoMapper;
/**
* 分页列表查询
@ -140,42 +144,67 @@ public class CeesUserController extends JeecgController<CeesUser, ICeesUserServi
@ApiOperation(value = "CEES用户表-通过id删除", notes = "CEES用户表-通过id删除")
@DeleteMapping(value = "/delete")
public Result<String> delete(@RequestParam(name = "id", required = true) String id) {
LambdaQueryWrapper<CeesUser> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(CeesUser::getId, id);
CeesUser ceesUser = ceesUserMapper.selectOne(queryWrapper);
ceesUserService.removeById(id);
//学生
if(ceesUser.getIdentity() == 2){
String data = studentService.removeByUserId(ceesUser.getUserId());
if(data == "true"){
return Result.OK("本校老师数据删除成功!");
}else if(data == "null"){
return Result.ok("数据删除成功!");
}else {
return Result.error("本校老师数据删除失败!");
}
}else if(ceesUser.getIdentity() == 3){
String data = ceesLocalTeacherService.removeByUserId(ceesUser.getUserId());
if(data == "true"){
return Result.OK("本校老师数据删除成功!");
}else if(data == "null"){
return Result.ok("数据删除成功!");
}else {
return Result.error("本校老师数据删除失败!");
}
}else if(ceesUser.getIdentity() == 4){
String data = ceesWaiTeacherService.removeByUserId(ceesUser.getUserId());
if(data == "true"){
return Result.OK("本校老师数据删除成功!");
}else if(data == "null"){
return Result.ok("数据删除成功!");
}else {
return Result.error("本校老师数据删除失败!");
}
}else{
return Result.error("数据删除错误!!");
// 1. 查询要删除的用户
CeesUser ceesUser = ceesUserService.getById(id);
if (ceesUser == null) {
return Result.error("用户不存在");
}
// 2. 根据身份类型处理不同的删除逻辑
switch (ceesUser.getIdentity()) {
case 2: // 学生
String studentResult = studentService.removeByUserId(ceesUser.getUserId());
if ("true".equals(studentResult)) {
ceesUserService.removeById(id);
return Result.OK("学生数据删除成功!");
} else if ("null".equals(studentResult)) {
ceesUserService.removeById(id);
return Result.OK("数据删除成功!");
} else {
return Result.error("学生数据删除失败!");
}
case 3: // 本校老师
String teacherResult = ceesLocalTeacherService.removeByUserId(ceesUser.getUserId());
if ("true".equals(teacherResult)) {
ceesUserService.removeById(id);
return Result.OK("本校老师数据删除成功!");
} else if ("null".equals(teacherResult)) {
ceesUserService.removeById(id);
return Result.OK("数据删除成功!");
} else {
return Result.error("本校老师数据删除失败!");
}
case 4: // 外校老师
// 先查询外校老师信息
CeesWaiTeacher waiTeacher = ceesWaiTeacherService.getByUserId(ceesUser.getUserId());
// 删除外校老师记录
String waiTeacherResult = ceesWaiTeacherService.removeByUserId(ceesUser.getUserId());
if ("true".equals(waiTeacherResult) || "null".equals(waiTeacherResult)) {
// 如果有宿舍关联更新宿舍人数
if (waiTeacher != null && StringUtils.isNotBlank(waiTeacher.getDormitoryId())) {
LambdaUpdateWrapper<CeesDormitoryInfo> dormitoryUpdate = new LambdaUpdateWrapper<>();
dormitoryUpdate.eq(CeesDormitoryInfo::getId, waiTeacher.getDormitoryId())
.setSql("dormitory_num = dormitory_num + 1") // 人数减1
.setSql("dormitory_status = 0") // 设置为未满状态
.set(CeesDormitoryInfo::getUpdateTime, new Date());
ceesDormitoryInfoMapper.update(null, dormitoryUpdate);
}
ceesUserService.removeById(id);
return "true".equals(waiTeacherResult) ?
Result.OK("外校老师数据删除成功!") :
Result.OK("数据删除成功!");
} else {
return Result.error("外校老师数据删除失败!");
}
default:
return Result.error("未知用户身份类型!");
}
}
/**
@ -191,25 +220,33 @@ public class CeesUserController extends JeecgController<CeesUser, ICeesUserServi
// 1. 将逗号分隔的ID字符串转换为列表
List<String> idList = Arrays.asList(ids.split(","));
// 2. 批量查询用户信息
LambdaQueryWrapper<CeesUser> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.in(CeesUser::getId, idList);
List<CeesUser> users = ceesUserMapper.selectList(queryWrapper);
List<CeesUser> users = ceesUserService.listByIds(idList);
if (users.isEmpty()) {
return Result.error("未找到要删除的用户");
}
// 3. 按身份类型分组
Map<Integer, List<CeesUser>> groupedUsers = users.stream()
.collect(Collectors.groupingBy(CeesUser::getIdentity));
// 4. 处理不同身份类型的删除
try {
// 4.1 先删除关联数据
processIdentitySpecificDeletions(groupedUsers);
// 4.2 再批量删除用户主表数据
// 4. 处理不同身份类型的删除
Map<String, Long> dormitoryCountMap = processIdentitySpecificDeletions(groupedUsers);
// 5. 更新宿舍人数
updateDormitoryCounts(dormitoryCountMap);
// 6. 批量删除用户主表数据
ceesUserService.removeByIds(idList);
return Result.OK("批量删除成功,共删除 " + idList.size() + " 条记录");
} catch (Exception e) {
log.error("批量删除用户失败", e);
return Result.error("批量删除过程中出错: " + e.getMessage());
}
}
private void processIdentitySpecificDeletions(Map<Integer, List<CeesUser>> groupedUsers) {
/**
* 处理不同身份类型的删除逻辑
* @return 需要更新的宿舍ID和对应减少的人数Map
*/
private Map<String, Long> processIdentitySpecificDeletions(Map<Integer, List<CeesUser>> groupedUsers) {
Map<String, Long> dormitoryCountMap = new HashMap<>();
// 处理学生数据删除
if (groupedUsers.containsKey(2)) {
List<String> studentUserIds = groupedUsers.get(2).stream()
@ -229,8 +266,35 @@ public class CeesUserController extends JeecgController<CeesUser, ICeesUserServi
List<String> waiTeacherUserIds = groupedUsers.get(4).stream()
.map(CeesUser::getUserId)
.collect(Collectors.toList());
// 查询外校老师的宿舍信息
List<CeesWaiTeacher> waiTeachers = ceesWaiTeacherService.listByUserIds(waiTeacherUserIds);
// 按宿舍ID分组统计需要减少的人数
dormitoryCountMap = waiTeachers.stream()
.filter(t -> StringUtils.isNotBlank(t.getDormitoryId()))
.collect(Collectors.groupingBy(
CeesWaiTeacher::getDormitoryId,
Collectors.counting()
));
// 删除外校老师记录
ceesWaiTeacherService.removeBatchByUserIds(waiTeacherUserIds);
}
return dormitoryCountMap;
}
/**
* 批量更新宿舍人数
*/
private void updateDormitoryCounts(Map<String, Long> dormitoryCountMap) {
if (dormitoryCountMap.isEmpty()) {
return;
}
dormitoryCountMap.forEach((dormitoryId, count) -> {
LambdaUpdateWrapper<CeesDormitoryInfo> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(CeesDormitoryInfo::getId, dormitoryId)
.setSql("dormitory_num = dormitory_num + " + count)
.set(CeesDormitoryInfo::getUpdateTime, new Date());
ceesDormitoryInfoMapper.update(null, updateWrapper);
});
}
/**
* 通过id查询

View File

@ -2,16 +2,20 @@ package org.jeecg.modules.contoller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.aspect.annotation.AutoLog;
import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.modules.entity.CeesDormitoryInfo;
import org.jeecg.modules.entity.CeesUser;
import org.jeecg.modules.entity.CeesWaiTeacher;
import org.jeecg.modules.entity.dto.CreateAccountDto;
import org.jeecg.modules.mapper.CeesDormitoryInfoMapper;
import org.jeecg.modules.mapper.CeesUserMapper;
import org.jeecg.modules.mapper.CeesWaiTeacherMapper;
import org.jeecg.modules.service.ICeesUserService;
@ -25,6 +29,7 @@ import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@ -50,6 +55,8 @@ public class CeesWaiTeacherController extends JeecgController<CeesWaiTeacher, IC
CeesUserMapper ceesUserMapper;
@Value("${jasypt.encryptor.password}")
private String passWord;
@Autowired
CeesDormitoryInfoMapper ceesDormitoryInfoMapper;
/**
@ -162,10 +169,24 @@ public class CeesWaiTeacherController extends JeecgController<CeesWaiTeacher, IC
LambdaQueryWrapper<CeesWaiTeacher> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(CeesWaiTeacher::getId,id);
CeesWaiTeacher ceesWaiTeacher = ceesWaiTeacherMapper.selectOne(queryWrapper);
LambdaQueryWrapper<CeesUser> query = new LambdaQueryWrapper<>();
query.eq(CeesUser::getUserId,ceesWaiTeacher.getUserId());
CeesUser ceesUser = ceesUserMapper.selectOne(query);
// 2. 如果有宿舍关联处理宿舍人数减1
if (StringUtils.isNotBlank(ceesWaiTeacher.getDormitoryId())) {
LambdaUpdateWrapper<CeesDormitoryInfo> dormitoryUpdate = new LambdaUpdateWrapper<>();
dormitoryUpdate.eq(CeesDormitoryInfo::getId, ceesWaiTeacher.getDormitoryId())
.setSql("dormitory_num = dormitory_num + 1") // 人数减1
.setSql("dormitory_status = 0") // 设置为未满状态
.set(CeesDormitoryInfo::getUpdateTime, new Date());
ceesDormitoryInfoMapper.update(null, dormitoryUpdate);
}
// 3. 删除关联的用户信息
if (StringUtils.isNotBlank(ceesWaiTeacher.getUserId())) {
LambdaQueryWrapper<CeesUser> userQuery = new LambdaQueryWrapper<>();
userQuery.eq(CeesUser::getUserId, ceesWaiTeacher.getUserId());
CeesUser ceesUser = ceesUserMapper.selectOne(userQuery);
if (ceesUser != null) {
ceesUserService.removeById(ceesUser.getId());
}
}
ceesWaiTeacherService.removeById(id);
return Result.OK("删除成功!");
}
@ -182,14 +203,35 @@ public class CeesWaiTeacherController extends JeecgController<CeesWaiTeacher, IC
public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
// 1. 将逗号分隔的ID字符串转换为列表
List<String> idList = Arrays.asList(ids.split(","));
// 3. 查询这些教师对应的用户ID
// 2. 查询这些教师信息
LambdaQueryWrapper<CeesWaiTeacher> teacherQuery = new LambdaQueryWrapper<>();
teacherQuery.in(CeesWaiTeacher::getId, idList);
List<CeesWaiTeacher> teachers = ceesWaiTeacherMapper.selectList(teacherQuery);
// 3. 处理宿舍人数更新按宿舍ID分组统计需要减少的人数
Map<String, Long> dormitoryCountMap = teachers.stream()
.filter(t -> StringUtils.isNotBlank(t.getDormitoryId()))
.collect(Collectors.groupingBy(
CeesWaiTeacher::getDormitoryId,
Collectors.counting()
));
// 批量更新宿舍人数
dormitoryCountMap.forEach((dormitoryId, count) -> {
LambdaUpdateWrapper<CeesDormitoryInfo> dormitoryUpdate = new LambdaUpdateWrapper<>();
dormitoryUpdate.eq(CeesDormitoryInfo::getId, dormitoryId)
.setSql("dormitory_num = dormitory_num + " + count) // 人数减少对应数量
.setSql("dormitory_status = 0") // 设置为未满状态
.set(CeesDormitoryInfo::getUpdateTime, new Date());
ceesDormitoryInfoMapper.update(null, dormitoryUpdate);
});
// 4. 提取用户ID列表
List<String> userIds = teachers.stream()
.map(CeesWaiTeacher::getUserId)
.filter(StringUtils::isNotBlank)
.distinct()
.collect(Collectors.toList());
// 5. 批量删除关联的用户记录
@ -198,8 +240,10 @@ public class CeesWaiTeacherController extends JeecgController<CeesWaiTeacher, IC
userQuery.in(CeesUser::getUserId, userIds);
ceesUserService.remove(userQuery);
}
// 2. 先批量删除CeesWaiTeacher记录
this.ceesWaiTeacherService.removeByIds(idList);
// 6. 批量删除教师记录
ceesWaiTeacherService.removeByIds(idList);
return Result.OK("批量删除成功!");
}

View File

@ -79,4 +79,7 @@ public class CeesDormitoryInfo implements Serializable {
@ApiModelProperty(value = "专业id")
@TableField(exist = false)
private String majorIdDescription;
@Excel(name = "住宿人员", width = 15)
@TableField(exist = false)
private String dormitorydata;
}

View File

@ -1,11 +1,13 @@
package org.jeecg.modules.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.entity.CeesGroup;
import org.jeecg.modules.entity.dto.UpdateGroupUserDto;
import org.jeecg.modules.entity.vo.CeesUserGroupVo;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
/**
@ -21,4 +23,6 @@ public interface ICeesGroupService extends IService<CeesGroup> {
ArrayList<CeesUserGroupVo> getRowUser(String id);
void updateGroupUser(UpdateGroupUserDto updateGroupUserDto);
IPage<CeesGroup> queryPageList(CeesGroup ceesGroup, Integer pageNo, Integer pageSize, HttpServletRequest req);
}

View File

@ -41,4 +41,8 @@ public interface ICeesWaiTeacherService extends IService<CeesWaiTeacher> {
String removeByUserId(String userId);
boolean removeBatchByUserIds(List<String> waiTeacherUserIds);
CeesWaiTeacher getByUserId(String userId);
List<CeesWaiTeacher> listByUserIds(List<String> waiTeacherUserIds);
}

View File

@ -13,8 +13,10 @@ import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.modules.entity.CeesDormitoryInfo;
import org.jeecg.modules.entity.CeesWaiTeacher;
import org.jeecg.modules.enums.MajorEnum;
import org.jeecg.modules.mapper.CeesDormitoryInfoMapper;
import org.jeecg.modules.mapper.CeesWaiTeacherMapper;
import org.jeecg.modules.service.ICeesDormitoryInfoService;
import org.jeecg.modules.system.entity.SysRole;
import org.jeecg.modules.system.entity.SysUserRole;
@ -25,7 +27,9 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
import java.util.Set;
import java.util.stream.Collectors;
@ -44,6 +48,8 @@ public class CeesDormitoryInfoServiceImpl extends ServiceImpl<CeesDormitoryInfoM
SysRoleMapper sysRoleMapper;
@Resource
SysUserRoleMapper sysUserRoleMapper;
@Resource
CeesWaiTeacherMapper ceesWaiTeacherMapper;
@Override
public Result<JSONArray> selectBySex(String sex, Integer majorId) {
@ -102,8 +108,31 @@ public class CeesDormitoryInfoServiceImpl extends ServiceImpl<CeesDormitoryInfoM
// 设置学科描述
pageList.convert(e -> {
e.setMajorIdDescription(MajorEnum.describe(e.getMajorId())); // 设置学科描述
// 根据宿舍ID查询住宿人员名称
List<String> residentNames = getResidentNamesByDormitoryId(e.getId());
e.setDormitorydata(String.join(",", residentNames)); // 将人员名称列表转为逗号分隔的字符串
return e;
});
return pageList;
}
/**
* 根据宿舍ID查询住宿人员名称
* @param dormitoryId 宿舍ID
* @return 人员名称列表
*/
private List<String> getResidentNamesByDormitoryId(String dormitoryId) {
// 直接查询外校老师表中住在该宿舍的老师
LambdaQueryWrapper<CeesWaiTeacher> query = new LambdaQueryWrapper<>();
query.eq(CeesWaiTeacher::getDormitoryId, dormitoryId)
.eq(CeesWaiTeacher::getDormitoryStatus, 1) // 1表示已住宿
.select(CeesWaiTeacher::getUserName); // 只查询用户名字段
List<CeesWaiTeacher> residents = ceesWaiTeacherMapper.selectList(query);
// 提取用户名列表
return residents.stream()
.map(CeesWaiTeacher::getUserName)
.filter(Objects::nonNull) // 过滤掉null值
.collect(Collectors.toList());
}
}

View File

@ -1,14 +1,28 @@
package org.jeecg.modules.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.shiro.SecurityUtils;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.modules.entity.CeesDormitoryInfo;
import org.jeecg.modules.entity.CeesGroup;
import org.jeecg.modules.entity.dto.UpdateGroupUserDto;
import org.jeecg.modules.entity.vo.CeesUserGroupVo;
import org.jeecg.modules.enums.MajorEnum;
import org.jeecg.modules.mapper.CeesGroupMapper;
import org.jeecg.modules.service.ICeesGroupService;
import org.jeecg.modules.system.entity.SysRole;
import org.jeecg.modules.system.entity.SysUserRole;
import org.jeecg.modules.system.mapper.SysRoleMapper;
import org.jeecg.modules.system.mapper.SysUserRoleMapper;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
/**
@ -22,6 +36,11 @@ public class CeesGroupServiceImpl extends ServiceImpl<CeesGroupMapper, CeesGroup
@Resource
private CeesGroupMapper ceesGroupMapper;
@Resource
SysRoleMapper sysRoleMapper;
@Resource
SysUserRoleMapper sysUserRoleMapper;
/**
* @param groupId
@ -42,4 +61,31 @@ public class CeesGroupServiceImpl extends ServiceImpl<CeesGroupMapper, CeesGroup
//新增或更新分组中间表
ceesGroupMapper.updateGroupUser(updateGroupUserDto);
}
@Override
public IPage<CeesGroup> queryPageList(CeesGroup ceesGroup, Integer pageNo, Integer pageSize, HttpServletRequest req) {
LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
String userId = user.getId();
// 查询当前用户的角色
LambdaQueryWrapper<SysUserRole> queryUserRole = new LambdaQueryWrapper<>();
queryUserRole.eq(SysUserRole::getUserId, userId);
SysUserRole sysUserRole = sysUserRoleMapper.selectOne(queryUserRole);
String roleId = sysUserRole.getRoleId();
// 获取对应角色数据
LambdaQueryWrapper<SysRole> queryRole = new LambdaQueryWrapper<>();
queryRole.eq(SysRole::getId, roleId);
SysRole sysRole = sysRoleMapper.selectOne(queryRole);
String roleCode = sysRole.getRoleCode();
QueryWrapper<CeesGroup> queryWrapper = QueryGenerator.initQueryWrapper(ceesGroup, req.getParameterMap());
if (roleCode.length() == 1) {
queryWrapper.eq("major_id", roleCode);
}
Page<CeesGroup> page = new Page<>(pageNo, pageSize);
IPage<CeesGroup> pageList = page(page, queryWrapper);
return pageList;
}
}

View File

@ -36,10 +36,7 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.*;
import java.util.stream.Collectors;
/**
@ -378,4 +375,21 @@ public class CeesWaiTeacherServiceImpl extends ServiceImpl<CeesWaiTeacherMapper,
wrapper.in(CeesWaiTeacher::getUserId, userIds);
return this.remove(wrapper);
}
@Override
public CeesWaiTeacher getByUserId(String userId) {
LambdaQueryWrapper<CeesWaiTeacher> query = new LambdaQueryWrapper<>();
query.eq(CeesWaiTeacher::getUserId, userId);
return getOne(query);
}
@Override
public List<CeesWaiTeacher> listByUserIds(List<String> userIds) {
if (userIds == null || userIds.isEmpty()) {
return Collections.emptyList();
}
LambdaQueryWrapper<CeesWaiTeacher> query = new LambdaQueryWrapper<>();
query.in(CeesWaiTeacher::getUserId, userIds);
return list(query);
}
}