数据删除同步

This commit is contained in:
Qi 2025-05-24 23:00:34 +08:00
parent b977c36bab
commit 43506974ed
5 changed files with 120 additions and 13 deletions

View File

@ -18,6 +18,7 @@ import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.modules.entity.CeesLocalTeacher; import org.jeecg.modules.entity.CeesLocalTeacher;
import org.jeecg.modules.entity.CeesWaiTeacher; import org.jeecg.modules.entity.CeesWaiTeacher;
import org.jeecg.modules.enums.MajorEnum; import org.jeecg.modules.enums.MajorEnum;
import org.jeecg.modules.mapper.CeesLocalTeacherMapper;
import org.jeecg.modules.service.ICeesLocalTeacherService; import org.jeecg.modules.service.ICeesLocalTeacherService;
import org.jeecg.modules.service.ICeesUserService; import org.jeecg.modules.service.ICeesUserService;
import org.jeecg.modules.service.ICeesWaiTeacherService; import org.jeecg.modules.service.ICeesWaiTeacherService;
@ -33,7 +34,10 @@ import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.util.Arrays; import java.util.Arrays;
import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
/** /**
* @Description: 本校教师表 * @Description: 本校教师表
@ -56,6 +60,8 @@ public class CeesLocalTeacherController extends JeecgController<CeesLocalTeacher
SysRoleMapper sysRoleMapper; SysRoleMapper sysRoleMapper;
@Autowired @Autowired
ICeesUserService ceesUserService; ICeesUserService ceesUserService;
@Autowired
CeesLocalTeacherMapper ceesLocalTeacherMapper;
/** /**
* 分页列表查询 * 分页列表查询
@ -150,8 +156,16 @@ public class CeesLocalTeacherController extends JeecgController<CeesLocalTeacher
@ApiOperation(value="本校教师表-通过id删除", notes="本校教师表-通过id删除") @ApiOperation(value="本校教师表-通过id删除", notes="本校教师表-通过id删除")
@DeleteMapping(value = "/delete") @DeleteMapping(value = "/delete")
public Result<String> delete(@RequestParam(name="id",required=true) String id) { public Result<String> delete(@RequestParam(name="id",required=true) String id) {
// 1. 查询关联的 ceesUser假设 ceesLocalTeacher 中有 userId 字段
LambdaQueryWrapper<CeesLocalTeacher> teacherQuery = new LambdaQueryWrapper<>();
teacherQuery.eq(CeesLocalTeacher::getId, id);
CeesLocalTeacher teacher = ceesLocalTeacherMapper.selectOne(teacherQuery);
if (teacher != null && teacher.getUserId() != null) {
ceesUserService.removeById(teacher.getUserId());
}
ceesLocalTeacherService.removeById(id); ceesLocalTeacherService.removeById(id);
ceesUserService.removeById(id);
return Result.OK("删除成功!"); return Result.OK("删除成功!");
} }
@ -165,8 +179,27 @@ public class CeesLocalTeacherController extends JeecgController<CeesLocalTeacher
@ApiOperation(value="本校教师表-批量删除", notes="本校教师表-批量删除") @ApiOperation(value="本校教师表-批量删除", notes="本校教师表-批量删除")
@DeleteMapping(value = "/deleteBatch") @DeleteMapping(value = "/deleteBatch")
public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) { public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
this.ceesLocalTeacherService.removeByIds(Arrays.asList(ids.split(","))); // 1. 将逗号分隔的ID字符串转换为列表
ceesUserService.removeByIds(Arrays.asList(ids.split(","))); List<String> idList = Arrays.asList(ids.split(","));
// 3. 查询这些教师对应的用户ID
LambdaQueryWrapper<CeesLocalTeacher> teacherQuery = new LambdaQueryWrapper<>();
teacherQuery.in(CeesLocalTeacher::getId, idList);
List<CeesLocalTeacher> teachers = ceesLocalTeacherMapper.selectList(teacherQuery);
// 4. 提取用户ID列表并批量删除
List<String> userIds = teachers.stream()
.map(CeesLocalTeacher::getUserId)
.filter(Objects::nonNull) // 过滤掉null值
.collect(Collectors.toList());
if (!userIds.isEmpty()) {
ceesUserService.removeByIds(userIds);
}
// 2. 批量删除 ceesLocalTeacher
ceesLocalTeacherService.removeByIds(idList);
return Result.OK("批量删除成功!"); return Result.OK("批量删除成功!");
} }

View File

@ -1,6 +1,7 @@
package org.jeecg.modules.contoller; package org.jeecg.modules.contoller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
@ -8,8 +9,11 @@ import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.api.vo.Result; import org.jeecg.common.api.vo.Result;
import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.aspect.annotation.AutoLog;
import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.modules.entity.CeesUser;
import org.jeecg.modules.entity.CeesWaiTeacher; import org.jeecg.modules.entity.CeesWaiTeacher;
import org.jeecg.modules.entity.dto.CreateAccountDto; import org.jeecg.modules.entity.dto.CreateAccountDto;
import org.jeecg.modules.mapper.CeesUserMapper;
import org.jeecg.modules.mapper.CeesWaiTeacherMapper;
import org.jeecg.modules.service.ICeesUserService; import org.jeecg.modules.service.ICeesUserService;
import org.jeecg.modules.service.ICeesWaiTeacherService; import org.jeecg.modules.service.ICeesWaiTeacherService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -19,7 +23,9 @@ import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.util.Arrays; import java.util.Arrays;
import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors;
/** /**
* @Description: 外校老师管理 * @Description: 外校老师管理
@ -36,6 +42,10 @@ public class CeesWaiTeacherController extends JeecgController<CeesWaiTeacher, IC
private ICeesWaiTeacherService ceesWaiTeacherService; private ICeesWaiTeacherService ceesWaiTeacherService;
@Autowired @Autowired
private ICeesUserService ceesUserService; private ICeesUserService ceesUserService;
@Autowired
CeesWaiTeacherMapper ceesWaiTeacherMapper;
@Autowired
CeesUserMapper ceesUserMapper;
/** /**
@ -143,8 +153,14 @@ public class CeesWaiTeacherController extends JeecgController<CeesWaiTeacher, IC
@ApiOperation(value="外校老师管理-通过id删除", notes="外校老师管理-通过id删除") @ApiOperation(value="外校老师管理-通过id删除", notes="外校老师管理-通过id删除")
@DeleteMapping(value = "/delete") @DeleteMapping(value = "/delete")
public Result<String> delete(@RequestParam(name="id",required=true) String id) { public Result<String> delete(@RequestParam(name="id",required=true) String id) {
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);
ceesUserService.removeById(ceesUser.getId());
ceesWaiTeacherService.removeById(id); ceesWaiTeacherService.removeById(id);
ceesUserService.removeById(id);
return Result.OK("删除成功!"); return Result.OK("删除成功!");
} }
@ -158,8 +174,26 @@ public class CeesWaiTeacherController extends JeecgController<CeesWaiTeacher, IC
@ApiOperation(value="外校老师管理-批量删除", notes="外校老师管理-批量删除") @ApiOperation(value="外校老师管理-批量删除", notes="外校老师管理-批量删除")
@DeleteMapping(value = "/deleteBatch") @DeleteMapping(value = "/deleteBatch")
public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) { public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
this.ceesWaiTeacherService.removeByIds(Arrays.asList(ids.split(","))); // 1. 将逗号分隔的ID字符串转换为列表
ceesUserService.removeByIds(Arrays.asList(ids.split(","))); List<String> idList = Arrays.asList(ids.split(","));
// 3. 查询这些教师对应的用户ID
LambdaQueryWrapper<CeesWaiTeacher> teacherQuery = new LambdaQueryWrapper<>();
teacherQuery.in(CeesWaiTeacher::getId, idList);
List<CeesWaiTeacher> teachers = ceesWaiTeacherMapper.selectList(teacherQuery);
// 4. 提取用户ID列表
List<String> userIds = teachers.stream()
.map(CeesWaiTeacher::getUserId)
.collect(Collectors.toList());
// 5. 批量删除关联的用户记录
if (!userIds.isEmpty()) {
LambdaQueryWrapper<CeesUser> userQuery = new LambdaQueryWrapper<>();
userQuery.in(CeesUser::getUserId, userIds);
ceesUserService.remove(userQuery);
}
// 2. 先批量删除CeesWaiTeacher记录
this.ceesWaiTeacherService.removeByIds(idList);
return Result.OK("批量删除成功!"); return Result.OK("批量删除成功!");
} }

View File

@ -16,6 +16,7 @@ import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.common.system.vo.LoginUser; import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.modules.entity.Student; import org.jeecg.modules.entity.Student;
import org.jeecg.modules.enums.MajorEnum; import org.jeecg.modules.enums.MajorEnum;
import org.jeecg.modules.mapper.StudentMapper;
import org.jeecg.modules.service.ICeesUserService; import org.jeecg.modules.service.ICeesUserService;
import org.jeecg.modules.service.IStudentService; import org.jeecg.modules.service.IStudentService;
import org.jeecg.modules.system.entity.SysRole; import org.jeecg.modules.system.entity.SysRole;
@ -31,6 +32,8 @@ import javax.servlet.http.HttpServletResponse;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
/** /**
* @Description: 研究生表 * @Description: 研究生表
@ -51,6 +54,8 @@ public class StudentController extends JeecgController<Student, IStudentService>
SysRoleMapper sysRoleMapper; SysRoleMapper sysRoleMapper;
@Autowired @Autowired
private ICeesUserService ceesUserService; private ICeesUserService ceesUserService;
@Autowired
private StudentMapper studentMapper;
/** /**
* 分页列表查询 * 分页列表查询
@ -134,8 +139,19 @@ public class StudentController extends JeecgController<Student, IStudentService>
@ApiOperation(value="研究生表-通过id删除", notes="研究生表-通过id删除") @ApiOperation(value="研究生表-通过id删除", notes="研究生表-通过id删除")
@DeleteMapping(value = "/delete") @DeleteMapping(value = "/delete")
public Result<String> delete(@RequestParam(name="id",required=true) String id) { public Result<String> delete(@RequestParam(name="id",required=true) String id) {
// 2. 查询关联的用户ID假设 Student 表中有 userId 字段
LambdaQueryWrapper<Student> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(Student::getId, id); // 按学生ID查询
Student student = studentMapper.selectOne(queryWrapper);
// 3. 如果找到关联用户删除用户记录
if (student != null && student.getUserId() != null) {
ceesUserService.removeById(student.getUserId());
}
// 1. 删除学生记录
studentService.removeById(id); studentService.removeById(id);
ceesUserService.removeById(id);
return Result.OK("删除成功!"); return Result.OK("删除成功!");
} }
@ -149,8 +165,23 @@ public class StudentController extends JeecgController<Student, IStudentService>
@ApiOperation(value="研究生表-批量删除", notes="研究生表-批量删除") @ApiOperation(value="研究生表-批量删除", notes="研究生表-批量删除")
@DeleteMapping(value = "/deleteBatch") @DeleteMapping(value = "/deleteBatch")
public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) { public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
this.studentService.removeByIds(Arrays.asList(ids.split(","))); // 1. 将逗号分隔的ID字符串转为List
ceesUserService.removeByIds(Arrays.asList(ids.split(","))); List<String> studentIds = Arrays.asList(ids.split(","));
// 3. 查询这些学生关联的用户ID
LambdaQueryWrapper<Student> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.in(Student::getId, studentIds); // 批量查询学生列表
List<Student> students = studentMapper.selectList(queryWrapper);
// 4. 提取用户ID并批量删除
List<String> userIds = students.stream()
.map(Student::getUserId)
.filter(Objects::nonNull) // 过滤掉null值
.collect(Collectors.toList());
if (!userIds.isEmpty()) {
ceesUserService.removeByIds(userIds);
}
// 2. 批量删除学生记录
studentService.removeByIds(studentIds);
return Result.OK("批量删除成功!"); return Result.OK("批量删除成功!");
} }
/** /**

View File

@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.StringUtils;
import org.jeecg.common.api.vo.Result; import org.jeecg.common.api.vo.Result;
import org.jeecg.modules.entity.*; import org.jeecg.modules.entity.*;
import org.jeecg.modules.entity.dto.CreateAccountDto; import org.jeecg.modules.entity.dto.CreateAccountDto;
@ -202,11 +203,18 @@ public class CeesUserServiceImpl extends ServiceImpl<CeesUserMapper, CeesUser> i
jsonObject.put("status", "1"); //1是填写信息 jsonObject.put("status", "1"); //1是填写信息
return Result.ok(jsonObject); return Result.ok(jsonObject);
} else { } else {
if(ceesWaiTeacher.getOpenId() == null){ if(StringUtils.isEmpty(ceesWaiTeacher.getOpenId())){
ceesWaiTeacher.setOpenId(ceesUser.getUserId()); ceesWaiTeacher.setOpenId(ceesUser.getOpenId());
ceesWaiTeacher.setUnionId(ceesUser.getUnionId()); ceesWaiTeacher.setUnionId(ceesUser.getUnionId());
} else if (ceesWaiTeacher.getOpenId().equals(ceesUser.getOpenId()) && ceesWaiTeacher.getUnionId() == null) { ceesWaiTeacherMapper.updateById(ceesWaiTeacher);
user.setOpenId(ceesUser.getOpenId());
user.setUnionId(ceesUser.getUnionId());
ceesUserMapper.updateById(user);
return Result.error("存在数据更新!请刷新页面或退出重进!!");
}
if(ceesWaiTeacher.getOpenId().equals(ceesUser.getOpenId()) && StringUtils.isEmpty(ceesWaiTeacher.getUnionId())){
ceesWaiTeacher.setUnionId(ceesUser.getUnionId()); ceesWaiTeacher.setUnionId(ceesUser.getUnionId());
ceesWaiTeacherMapper.updateById(ceesWaiTeacher);
} }
if(ceesWaiTeacher.getOpenId().equals(ceesUser.getOpenId())){ if(ceesWaiTeacher.getOpenId().equals(ceesUser.getOpenId())){
JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
@ -215,7 +223,7 @@ public class CeesUserServiceImpl extends ServiceImpl<CeesUserMapper, CeesUser> i
jsonObject.put("status", "2"); //2是填写过信息 jsonObject.put("status", "2"); //2是填写过信息
return Result.ok(jsonObject); return Result.ok(jsonObject);
}else{ }else{
return Result.error("当前微信和身份码绑定的微信不同!请输入正确的身份码!如有疑问请联系关联"); return Result.error("当前微信和身份码绑定的微信不同!请输入正确的身份码!如有疑问请联系管理");
} }
} }
} }

View File

@ -347,6 +347,7 @@ public class CeesWaiTeacherServiceImpl extends ServiceImpl<CeesWaiTeacherMapper,
if (!users.isEmpty()) { if (!users.isEmpty()) {
CeesUser user = users.get(0); CeesUser user = users.get(0);
ceesWaiTeacher.setUserId(user.getUserId()); ceesWaiTeacher.setUserId(user.getUserId());
ceesWaiTeacher.setUserMajorId(user.getUserMajorId());
user.setUserName(ceesWaiTeacher.getUserName()); user.setUserName(ceesWaiTeacher.getUserName());
ceesUserMapper.updateById(user); ceesUserMapper.updateById(user);
this.save(ceesWaiTeacher); this.save(ceesWaiTeacher);