数据关联删除
This commit is contained in:
parent
524357f43c
commit
40f4b08e87
|
@ -19,6 +19,8 @@ import org.jeecg.modules.entity.CeesLocalTeacher;
|
|||
import org.jeecg.modules.entity.CeesWaiTeacher;
|
||||
import org.jeecg.modules.enums.MajorEnum;
|
||||
import org.jeecg.modules.service.ICeesLocalTeacherService;
|
||||
import org.jeecg.modules.service.ICeesUserService;
|
||||
import org.jeecg.modules.service.ICeesWaiTeacherService;
|
||||
import org.jeecg.modules.system.entity.SysRole;
|
||||
import org.jeecg.modules.system.entity.SysUserRole;
|
||||
import org.jeecg.modules.system.mapper.SysRoleMapper;
|
||||
|
@ -52,6 +54,8 @@ public class CeesLocalTeacherController extends JeecgController<CeesLocalTeacher
|
|||
SysUserRoleMapper sysUserRoleMapper;
|
||||
@Autowired
|
||||
SysRoleMapper sysRoleMapper;
|
||||
@Autowired
|
||||
ICeesUserService ceesUserService;
|
||||
|
||||
/**
|
||||
* 分页列表查询
|
||||
|
@ -147,6 +151,7 @@ public class CeesLocalTeacherController extends JeecgController<CeesLocalTeacher
|
|||
@DeleteMapping(value = "/delete")
|
||||
public Result<String> delete(@RequestParam(name="id",required=true) String id) {
|
||||
ceesLocalTeacherService.removeById(id);
|
||||
ceesUserService.removeById(id);
|
||||
return Result.OK("删除成功!");
|
||||
}
|
||||
|
||||
|
@ -161,6 +166,7 @@ public class CeesLocalTeacherController extends JeecgController<CeesLocalTeacher
|
|||
@DeleteMapping(value = "/deleteBatch")
|
||||
public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
|
||||
this.ceesLocalTeacherService.removeByIds(Arrays.asList(ids.split(",")));
|
||||
ceesUserService.removeByIds(Arrays.asList(ids.split(",")));
|
||||
return Result.OK("批量删除成功!");
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
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.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
|
@ -11,9 +12,11 @@ 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.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.CeesUserMapper;
|
||||
import org.jeecg.modules.service.ICeesLocalTeacherService;
|
||||
import org.jeecg.modules.service.ICeesUserService;
|
||||
import org.jeecg.modules.service.ICeesWaiTeacherService;
|
||||
|
@ -25,6 +28,9 @@ 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.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @Description: CEES用户表
|
||||
|
@ -45,6 +51,8 @@ public class CeesUserController extends JeecgController<CeesUser, ICeesUserServi
|
|||
private ICeesLocalTeacherService ceesLocalTeacherService;
|
||||
@Autowired
|
||||
private IStudentService studentService;
|
||||
@Autowired
|
||||
private CeesUserMapper ceesUserMapper;
|
||||
|
||||
/**
|
||||
* 分页列表查询
|
||||
|
@ -132,8 +140,42 @@ 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);
|
||||
return Result.OK("删除成功!");
|
||||
//学生
|
||||
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("数据删除错误!!");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -146,11 +188,50 @@ public class CeesUserController extends JeecgController<CeesUser, ICeesUserServi
|
|||
@ApiOperation(value = "CEES用户表-批量删除", notes = "CEES用户表-批量删除")
|
||||
@DeleteMapping(value = "/deleteBatch")
|
||||
public Result<String> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
|
||||
this.ceesUserService.removeByIds(Arrays.asList(ids.split(",")));
|
||||
// this.ceesWaiTeacherService.removeById()
|
||||
return Result.OK("批量删除成功!");
|
||||
// 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);
|
||||
// 3. 按身份类型分组
|
||||
Map<Integer, List<CeesUser>> groupedUsers = users.stream()
|
||||
.collect(Collectors.groupingBy(CeesUser::getIdentity));
|
||||
// 4. 处理不同身份类型的删除
|
||||
try {
|
||||
// 4.1 先删除关联数据
|
||||
processIdentitySpecificDeletions(groupedUsers);
|
||||
// 4.2 再批量删除用户主表数据
|
||||
ceesUserService.removeByIds(idList);
|
||||
return Result.OK("批量删除成功,共删除 " + idList.size() + " 条记录");
|
||||
} catch (Exception e) {
|
||||
return Result.error("批量删除过程中出错: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
private void processIdentitySpecificDeletions(Map<Integer, List<CeesUser>> groupedUsers) {
|
||||
// 处理学生数据删除
|
||||
if (groupedUsers.containsKey(2)) {
|
||||
List<String> studentUserIds = groupedUsers.get(2).stream()
|
||||
.map(CeesUser::getUserId)
|
||||
.collect(Collectors.toList());
|
||||
studentService.removeBatchByUserIds(studentUserIds);
|
||||
}
|
||||
// 处理本校老师数据删除
|
||||
if (groupedUsers.containsKey(3)) {
|
||||
List<String> localTeacherUserIds = groupedUsers.get(3).stream()
|
||||
.map(CeesUser::getUserId)
|
||||
.collect(Collectors.toList());
|
||||
ceesLocalTeacherService.removeBatchByUserIds(localTeacherUserIds);
|
||||
}
|
||||
// 处理外校老师数据删除
|
||||
if (groupedUsers.containsKey(4)) {
|
||||
List<String> waiTeacherUserIds = groupedUsers.get(4).stream()
|
||||
.map(CeesUser::getUserId)
|
||||
.collect(Collectors.toList());
|
||||
ceesWaiTeacherService.removeBatchByUserIds(waiTeacherUserIds);
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 通过id查询
|
||||
*
|
||||
|
|
|
@ -144,6 +144,7 @@ public class CeesWaiTeacherController extends JeecgController<CeesWaiTeacher, IC
|
|||
@DeleteMapping(value = "/delete")
|
||||
public Result<String> delete(@RequestParam(name="id",required=true) String id) {
|
||||
ceesWaiTeacherService.removeById(id);
|
||||
ceesUserService.removeById(id);
|
||||
return Result.OK("删除成功!");
|
||||
}
|
||||
|
||||
|
@ -158,6 +159,7 @@ public class CeesWaiTeacherController extends JeecgController<CeesWaiTeacher, IC
|
|||
@DeleteMapping(value = "/deleteBatch")
|
||||
public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
|
||||
this.ceesWaiTeacherService.removeByIds(Arrays.asList(ids.split(",")));
|
||||
ceesUserService.removeByIds(Arrays.asList(ids.split(",")));
|
||||
return Result.OK("批量删除成功!");
|
||||
}
|
||||
|
||||
|
|
|
@ -16,6 +16,7 @@ import org.jeecg.common.system.query.QueryGenerator;
|
|||
import org.jeecg.common.system.vo.LoginUser;
|
||||
import org.jeecg.modules.entity.Student;
|
||||
import org.jeecg.modules.enums.MajorEnum;
|
||||
import org.jeecg.modules.service.ICeesUserService;
|
||||
import org.jeecg.modules.service.IStudentService;
|
||||
import org.jeecg.modules.system.entity.SysRole;
|
||||
import org.jeecg.modules.system.entity.SysUserRole;
|
||||
|
@ -48,6 +49,8 @@ public class StudentController extends JeecgController<Student, IStudentService>
|
|||
SysUserRoleMapper sysUserRoleMapper;
|
||||
@Autowired
|
||||
SysRoleMapper sysRoleMapper;
|
||||
@Autowired
|
||||
private ICeesUserService ceesUserService;
|
||||
|
||||
/**
|
||||
* 分页列表查询
|
||||
|
@ -132,6 +135,7 @@ public class StudentController extends JeecgController<Student, IStudentService>
|
|||
@DeleteMapping(value = "/delete")
|
||||
public Result<String> delete(@RequestParam(name="id",required=true) String id) {
|
||||
studentService.removeById(id);
|
||||
ceesUserService.removeById(id);
|
||||
return Result.OK("删除成功!");
|
||||
}
|
||||
|
||||
|
@ -146,6 +150,7 @@ public class StudentController extends JeecgController<Student, IStudentService>
|
|||
@DeleteMapping(value = "/deleteBatch")
|
||||
public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
|
||||
this.studentService.removeByIds(Arrays.asList(ids.split(",")));
|
||||
ceesUserService.removeByIds(Arrays.asList(ids.split(",")));
|
||||
return Result.OK("批量删除成功!");
|
||||
}
|
||||
/**
|
||||
|
|
|
@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
|||
import org.jeecg.common.api.vo.Result;
|
||||
import org.jeecg.modules.entity.CeesLocalTeacher;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
|
@ -18,4 +19,8 @@ public interface ICeesLocalTeacherService extends IService<CeesLocalTeacher> {
|
|||
Result<?> h5Save(CeesLocalTeacher ceesLocalTeacher);
|
||||
|
||||
Result<?> batchGroup(Map<String, Object> webData);
|
||||
|
||||
String removeByUserId(String userId);
|
||||
|
||||
boolean removeBatchByUserIds(List<String> localTeacherUserIds);
|
||||
}
|
||||
|
|
|
@ -8,6 +8,7 @@ import org.jeecg.modules.entity.CeesWaiTeacher;
|
|||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
|
@ -36,4 +37,8 @@ public interface ICeesWaiTeacherService extends IService<CeesWaiTeacher> {
|
|||
Result<?> batchGroup(Map<String, Object> webData);
|
||||
|
||||
Result<String> addData(CeesWaiTeacher ceesWaiTeacher);
|
||||
|
||||
String removeByUserId(String userId);
|
||||
|
||||
boolean removeBatchByUserIds(List<String> waiTeacherUserIds);
|
||||
}
|
||||
|
|
|
@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
|||
import org.jeecg.common.api.vo.Result;
|
||||
import org.jeecg.modules.entity.Student;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
|
@ -17,4 +18,8 @@ public interface IStudentService extends IService<Student> {
|
|||
Result<?> h5Save(Student student);
|
||||
|
||||
Result<?> batchGroup(Map<String, Object> webData);
|
||||
|
||||
String removeByUserId(String userId);
|
||||
|
||||
boolean removeBatchByUserIds(List<String> studentUserIds);
|
||||
}
|
||||
|
|
|
@ -164,4 +164,27 @@ public class CeesLocalTeacherServiceImpl extends ServiceImpl<CeesLocalTeacherMap
|
|||
resultJson.put("user", userJson);
|
||||
return Result.ok(resultJson);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String removeByUserId(String userId) {
|
||||
LambdaQueryWrapper<CeesLocalTeacher> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(CeesLocalTeacher::getUserId, userId);
|
||||
CeesLocalTeacher ceesLocalTeacher = ceesLocalTeacherMapper.selectOne(queryWrapper);
|
||||
if(ceesLocalTeacher == null) {
|
||||
return "null";
|
||||
}
|
||||
int affectedRows = ceesLocalTeacherMapper.delete(queryWrapper);
|
||||
if (affectedRows > 0) {
|
||||
return "true";
|
||||
}else{
|
||||
return "false";
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean removeBatchByUserIds(List<String> userIds) {
|
||||
LambdaQueryWrapper<CeesLocalTeacher> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.in(CeesLocalTeacher::getUserId, userIds);
|
||||
return this.remove(wrapper);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -12,7 +12,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.apache.tomcat.Jar;
|
||||
import org.jeecg.common.api.vo.Result;
|
||||
import org.jeecg.common.system.query.QueryGenerator;
|
||||
import org.jeecg.common.system.vo.LoginUser;
|
||||
|
@ -195,7 +194,7 @@ public class CeesWaiTeacherServiceImpl extends ServiceImpl<CeesWaiTeacherMapper,
|
|||
ceesWaiTeacher.setMajorId(ceesUser.getMajorId());
|
||||
ceesWaiTeacher.setUserMajorId(ceesUser.getUserMajorId());
|
||||
ceesWaiTeacher.setOpenId(ceesWaiTeacher.getOpenId());
|
||||
|
||||
ceesWaiTeacher.setUnionId(ceesWaiTeacher.getUnionId());
|
||||
//加密
|
||||
ceesWaiTeacher.setPyCard(JasyptUtil.encrypt(ceesWaiTeacher.getPyCard(),passWord));
|
||||
ceesWaiTeacher.setIdentityId((JasyptUtil.encrypt(ceesWaiTeacher.getIdentityId(),passWord)));
|
||||
|
@ -203,6 +202,7 @@ public class CeesWaiTeacherServiceImpl extends ServiceImpl<CeesWaiTeacherMapper,
|
|||
this.save(ceesWaiTeacher);
|
||||
ceesUser.setUserName(ceesWaiTeacher.getUserName());
|
||||
ceesUser.setOpenId(ceesWaiTeacher.getOpenId());
|
||||
ceesUser.setUnionId(ceesWaiTeacher.getUnionId());
|
||||
ceesUserMapper.updateById(ceesUser);
|
||||
|
||||
// TODO 邀请函的更新
|
||||
|
@ -352,4 +352,27 @@ public class CeesWaiTeacherServiceImpl extends ServiceImpl<CeesWaiTeacherMapper,
|
|||
}
|
||||
return Result.error("添加失败");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String removeByUserId(String userId) {
|
||||
LambdaQueryWrapper<CeesWaiTeacher> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(CeesWaiTeacher::getUserId, userId);
|
||||
CeesWaiTeacher ceesWaiTeacher = ceesWaiTeacherMapper.selectOne(queryWrapper);
|
||||
if (ceesWaiTeacher == null) {
|
||||
return "null";
|
||||
}
|
||||
int affectedRows = ceesWaiTeacherMapper.delete(queryWrapper);
|
||||
if (affectedRows > 0) {
|
||||
return "true";
|
||||
}else{
|
||||
return "false";
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean removeBatchByUserIds(List<String> userIds) {
|
||||
LambdaQueryWrapper<CeesWaiTeacher> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.in(CeesWaiTeacher::getUserId, userIds);
|
||||
return this.remove(wrapper);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.jeecg.common.api.vo.Result;
|
||||
import org.jeecg.modules.entity.CeesUser;
|
||||
import org.jeecg.modules.entity.CeesWaiTeacher;
|
||||
import org.jeecg.modules.entity.Student;
|
||||
import org.jeecg.modules.entity.dto.UpdateGroupUserDto;
|
||||
import org.jeecg.modules.mapper.CeesGroupMapper;
|
||||
|
@ -160,4 +159,26 @@ public class StudentServiceImpl extends ServiceImpl<StudentMapper, Student> impl
|
|||
resultJson.put("user", userJson);
|
||||
return Result.ok(resultJson);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String removeByUserId(String userId) {
|
||||
LambdaQueryWrapper<Student> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(Student::getUserId, userId);
|
||||
Student student = studentMapper.selectOne(queryWrapper);
|
||||
if(student == null) {
|
||||
return "null";
|
||||
}
|
||||
int affectedRows = studentMapper.delete(queryWrapper);
|
||||
if (affectedRows > 0) {
|
||||
return "true";
|
||||
}else{
|
||||
return "false";
|
||||
}
|
||||
}
|
||||
@Override
|
||||
public boolean removeBatchByUserIds(List<String> userIds) {
|
||||
LambdaQueryWrapper<Student> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.in(Student::getUserId, userIds);
|
||||
return this.remove(wrapper);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue