数据删除同步
This commit is contained in:
parent
b977c36bab
commit
43506974ed
|
@ -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("批量删除成功!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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("批量删除成功!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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("批量删除成功!");
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -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("当前微信和身份码绑定的微信不同!请输入正确的身份码!如有疑问请联系管理员");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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);
|
||||||
|
|
Loading…
Reference in New Issue