TeacherbaseManagerServiceImpl.java 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395
  1. package com.xjrsoft.module.teacher.service.impl;
  2. import cn.dev33.satoken.secure.BCrypt;
  3. import cn.hutool.core.bean.BeanUtil;
  4. import cn.hutool.core.collection.CollectionUtil;
  5. import cn.hutool.core.convert.Convert;
  6. import cn.hutool.core.util.StrUtil;
  7. import com.baomidou.mybatisplus.core.toolkit.StringPool;
  8. import com.baomidou.mybatisplus.core.toolkit.Wrappers;
  9. import com.github.yulichang.base.MPJBaseServiceImpl;
  10. import com.xjrsoft.common.constant.GlobalConstant;
  11. import com.xjrsoft.common.enums.RoleEnum;
  12. import com.xjrsoft.common.utils.RedisUtil;
  13. import com.xjrsoft.module.organization.entity.User;
  14. import com.xjrsoft.module.organization.entity.UserDeptRelation;
  15. import com.xjrsoft.module.organization.entity.UserRoleRelation;
  16. import com.xjrsoft.module.organization.mapper.UserDeptRelationMapper;
  17. import com.xjrsoft.module.organization.mapper.UserRoleRelationMapper;
  18. import com.xjrsoft.module.organization.service.IUserDeptRelationService;
  19. import com.xjrsoft.module.organization.service.IUserService;
  20. import com.xjrsoft.module.teacher.dto.AddXjrUserDto;
  21. import com.xjrsoft.module.teacher.dto.UpdateXjrUserDto;
  22. import com.xjrsoft.module.teacher.entity.BaseTeacher;
  23. import com.xjrsoft.module.teacher.entity.BaseTeacherContact;
  24. import com.xjrsoft.module.teacher.entity.BaseTeacherEducation;
  25. import com.xjrsoft.module.teacher.entity.BaseTeacherEmploy;
  26. import com.xjrsoft.module.teacher.entity.BaseTeacherFamily;
  27. import com.xjrsoft.module.teacher.entity.BaseTeacherFamilyMember;
  28. import com.xjrsoft.module.teacher.entity.BaseTeacherRegular;
  29. import com.xjrsoft.module.teacher.entity.XjrUser;
  30. import com.xjrsoft.module.teacher.mapper.BaseTeacherContactMapper;
  31. import com.xjrsoft.module.teacher.mapper.BaseTeacherEducationMapper;
  32. import com.xjrsoft.module.teacher.mapper.BaseTeacherEmployMapper;
  33. import com.xjrsoft.module.teacher.mapper.BaseTeacherFamilyMapper;
  34. import com.xjrsoft.module.teacher.mapper.BaseTeacherFamilyMemberMapper;
  35. import com.xjrsoft.module.teacher.mapper.BaseTeacherMapper;
  36. import com.xjrsoft.module.teacher.mapper.BaseTeacherRegularMapper;
  37. import com.xjrsoft.module.teacher.mapper.XjrUserMapper;
  38. import com.xjrsoft.module.teacher.service.ITeacherbaseManagerService;
  39. import lombok.AllArgsConstructor;
  40. import org.springframework.stereotype.Service;
  41. import org.springframework.transaction.annotation.Transactional;
  42. import java.util.ArrayList;
  43. import java.util.Arrays;
  44. import java.util.List;
  45. import java.util.Objects;
  46. import java.util.concurrent.CompletableFuture;
  47. import java.util.stream.Collectors;
  48. /**
  49. * @title: service
  50. * @Author 管理员
  51. * @Date: 2023-08-08
  52. * @Version 1.0
  53. */
  54. @Service
  55. @AllArgsConstructor
  56. public class TeacherbaseManagerServiceImpl extends MPJBaseServiceImpl<XjrUserMapper, XjrUser> implements ITeacherbaseManagerService {
  57. private final XjrUserMapper teacherbaseManagerXjrUserMapper;
  58. private final BaseTeacherMapper teacherbaseManagerBaseTeacherMapper;
  59. private final BaseTeacherContactMapper teacherbaseManagerBaseTeacherContactMapper;
  60. private final BaseTeacherEducationMapper teacherbaseManagerBaseTeacherEducationMapper;
  61. private final BaseTeacherEmployMapper teacherbaseManagerBaseTeacherEmployMapper;
  62. private final BaseTeacherFamilyMapper teacherbaseManagerBaseTeacherFamilyMapper;
  63. private final BaseTeacherFamilyMemberMapper teacherbaseManagerBaseTeacherFamilyMemberMapper;
  64. private final BaseTeacherRegularMapper teacherbaseManagerBaseTeacherRegularMapper;
  65. private final UserRoleRelationMapper userRoleRelationMapper;
  66. private final IUserDeptRelationService userDeptRelationService;
  67. private final RedisUtil redisUtil;
  68. private final UserDeptRelationMapper userDeptRelationMapper;
  69. private final IUserService userService;
  70. @Override
  71. @Transactional(rollbackFor = Exception.class)
  72. public Boolean add(AddXjrUserDto dto) {
  73. XjrUser xjrUser = BeanUtil.toBean(dto, XjrUser.class);
  74. // 用户身份证后6位作为默认密码
  75. if (xjrUser.getCredentialNumber() != null && xjrUser.getCredentialNumber().length() > 6) {
  76. String str = xjrUser.getCredentialNumber();
  77. String lastSix = str.substring(str.length() - 6);
  78. xjrUser.setPassword(BCrypt.hashpw(lastSix, BCrypt.gensalt()));
  79. }
  80. teacherbaseManagerXjrUserMapper.insert(xjrUser);
  81. for (BaseTeacher baseTeacher : xjrUser.getBaseTeacherList()) {
  82. baseTeacher.setUserId(xjrUser.getId());
  83. teacherbaseManagerBaseTeacherMapper.insert(baseTeacher);
  84. }
  85. for (BaseTeacherContact baseTeacherContact : xjrUser.getBaseTeacherContactList()) {
  86. baseTeacherContact.setUserId(xjrUser.getId());
  87. teacherbaseManagerBaseTeacherContactMapper.insert(baseTeacherContact);
  88. }
  89. for (BaseTeacherEducation baseTeacherEducation : xjrUser.getBaseTeacherEducationList()) {
  90. baseTeacherEducation.setUserId(xjrUser.getId());
  91. teacherbaseManagerBaseTeacherEducationMapper.insert(baseTeacherEducation);
  92. }
  93. for (BaseTeacherEmploy baseTeacherEmploy : xjrUser.getBaseTeacherEmployList()) {
  94. baseTeacherEmploy.setUserId(xjrUser.getId());
  95. teacherbaseManagerBaseTeacherEmployMapper.insert(baseTeacherEmploy);
  96. }
  97. for (BaseTeacherFamily baseTeacherFamily : xjrUser.getBaseTeacherFamilyList()) {
  98. baseTeacherFamily.setUserId(xjrUser.getId());
  99. teacherbaseManagerBaseTeacherFamilyMapper.insert(baseTeacherFamily);
  100. }
  101. for (BaseTeacherFamilyMember baseTeacherFamilyMember : xjrUser.getBaseTeacherFamilyMemberList()) {
  102. baseTeacherFamilyMember.setUserId(xjrUser.getId());
  103. teacherbaseManagerBaseTeacherFamilyMemberMapper.insert(baseTeacherFamilyMember);
  104. }
  105. for (BaseTeacherRegular baseTeacherRegular : xjrUser.getBaseTeacherRegularList()) {
  106. baseTeacherRegular.setUserId(xjrUser.getId());
  107. teacherbaseManagerBaseTeacherRegularMapper.insert(baseTeacherRegular);
  108. }
  109. List<UserDeptRelation> userDeptRelationList = new ArrayList<>();
  110. if (StrUtil.isNotBlank(dto.getDepartmentIds())) {
  111. String allDeptIdStr = StrUtil.join(StringPool.COMMA, dto.getDepartmentIds());
  112. List<Long> departmentIds = Arrays.stream(allDeptIdStr.split(StringPool.COMMA)).map(Convert::toLong).collect(Collectors.toList());
  113. if (CollectionUtil.isNotEmpty(departmentIds)) {
  114. for (Long deptId : departmentIds) {
  115. //将用户所选部门保存到关联表中
  116. UserDeptRelation userDeptRelation = new UserDeptRelation();
  117. userDeptRelation.setUserId(xjrUser.getId());
  118. userDeptRelation.setDeptId(deptId);
  119. userDeptRelationList.add(userDeptRelation);
  120. }
  121. }
  122. userDeptRelationService.saveBatch(userDeptRelationList);
  123. }
  124. // 添加角色
  125. UserRoleRelation userRoleRelation = new UserRoleRelation();
  126. userRoleRelation.setUserId(xjrUser.getId());
  127. userRoleRelation.setRoleId(RoleEnum.TEACHER.getCode());
  128. userRoleRelationMapper.insert(userRoleRelation);
  129. CompletableFuture.runAsync(() -> {
  130. List<User> list = userService.list();
  131. redisUtil.set(GlobalConstant.USER_CACHE_KEY, list);
  132. List<UserDeptRelation> deptRelationList = userDeptRelationMapper.selectList(Wrappers.lambdaQuery(UserDeptRelation.class));
  133. redisUtil.set(GlobalConstant.USER_DEPT_RELATION_CACHE_KEY, deptRelationList);
  134. });
  135. return true;
  136. }
  137. @Override
  138. @Transactional(rollbackFor = Exception.class)
  139. public Boolean update(UpdateXjrUserDto dto) {
  140. XjrUser xjrUser = BeanUtil.toBean(dto, XjrUser.class);
  141. teacherbaseManagerXjrUserMapper.updateById(xjrUser);
  142. //先删除再新增
  143. userDeptRelationService.remove(Wrappers.<UserDeptRelation>query().lambda().eq(UserDeptRelation::getUserId, xjrUser.getId()));
  144. List<UserDeptRelation> userDeptRelationList = new ArrayList<>();
  145. if (StrUtil.isNotBlank(dto.getDepartmentIds())) {
  146. String allDeptIdStr = StrUtil.join(StringPool.COMMA, dto.getDepartmentIds());
  147. List<Long> departmentIds = Arrays.stream(allDeptIdStr.split(StringPool.COMMA)).map(Convert::toLong).collect(Collectors.toList());
  148. if (CollectionUtil.isNotEmpty(departmentIds)) {
  149. for (Long deptId : departmentIds) {
  150. //将用户所选部门保存到关联表中
  151. UserDeptRelation userDeptRelation = new UserDeptRelation();
  152. userDeptRelation.setUserId(xjrUser.getId());
  153. userDeptRelation.setDeptId(deptId);
  154. userDeptRelationList.add(userDeptRelation);
  155. }
  156. }
  157. userDeptRelationService.saveBatch(userDeptRelationList);
  158. }
  159. //********************************* BaseTeacher 增删改 开始 *******************************************/
  160. {
  161. // 查出所有子级的id
  162. List<BaseTeacher> baseTeacherList = teacherbaseManagerBaseTeacherMapper.selectList(Wrappers.lambdaQuery(BaseTeacher.class).eq(BaseTeacher::getUserId, xjrUser.getId()).select(BaseTeacher::getId));
  163. List<Long> baseTeacherIds = baseTeacherList.stream().map(BaseTeacher::getId).collect(Collectors.toList());
  164. //原有子表单 没有被删除的主键
  165. List<Long> baseTeacherOldIds = xjrUser.getBaseTeacherList().stream().map(BaseTeacher::getId).filter(Objects::nonNull).collect(Collectors.toList());
  166. //找到需要删除的id
  167. List<Long> baseTeacherRemoveIds = baseTeacherIds.stream().filter(item -> !baseTeacherOldIds.contains(item)).collect(Collectors.toList());
  168. for (BaseTeacher baseTeacher : xjrUser.getBaseTeacherList()) {
  169. //如果不等于空则修改
  170. if (baseTeacher.getId() != null) {
  171. teacherbaseManagerBaseTeacherMapper.updateById(baseTeacher);
  172. }
  173. //如果等于空 则新增
  174. else {
  175. //已经不存在的id 删除
  176. baseTeacher.setUserId(xjrUser.getId());
  177. teacherbaseManagerBaseTeacherMapper.insert(baseTeacher);
  178. }
  179. }
  180. //已经不存在的id 删除
  181. if(baseTeacherRemoveIds.size() > 0){
  182. teacherbaseManagerBaseTeacherMapper.deleteBatchIds(baseTeacherRemoveIds);
  183. }
  184. }
  185. //********************************* BaseTeacher 增删改 结束 *******************************************/
  186. //********************************* BaseTeacherContact 增删改 开始 *******************************************/
  187. {
  188. // 查出所有子级的id
  189. List<BaseTeacherContact> baseTeacherContactList = teacherbaseManagerBaseTeacherContactMapper.selectList(Wrappers.lambdaQuery(BaseTeacherContact.class).eq(BaseTeacherContact::getUserId, xjrUser.getId()).select(BaseTeacherContact::getId));
  190. List<Long> baseTeacherContactIds = baseTeacherContactList.stream().map(BaseTeacherContact::getId).collect(Collectors.toList());
  191. //原有子表单 没有被删除的主键
  192. List<Long> baseTeacherContactOldIds = xjrUser.getBaseTeacherContactList().stream().map(BaseTeacherContact::getId).filter(Objects::nonNull).collect(Collectors.toList());
  193. //找到需要删除的id
  194. List<Long> baseTeacherContactRemoveIds = baseTeacherContactIds.stream().filter(item -> !baseTeacherContactOldIds.contains(item)).collect(Collectors.toList());
  195. for (BaseTeacherContact baseTeacherContact : xjrUser.getBaseTeacherContactList()) {
  196. //如果不等于空则修改
  197. if (baseTeacherContact.getId() != null) {
  198. teacherbaseManagerBaseTeacherContactMapper.updateById(baseTeacherContact);
  199. }
  200. //如果等于空 则新增
  201. else {
  202. //已经不存在的id 删除
  203. baseTeacherContact.setUserId(xjrUser.getId());
  204. teacherbaseManagerBaseTeacherContactMapper.insert(baseTeacherContact);
  205. }
  206. }
  207. //已经不存在的id 删除
  208. if(baseTeacherContactRemoveIds.size() > 0){
  209. teacherbaseManagerBaseTeacherContactMapper.deleteBatchIds(baseTeacherContactRemoveIds);
  210. }
  211. }
  212. //********************************* BaseTeacherContact 增删改 结束 *******************************************/
  213. //********************************* BaseTeacherEducation 增删改 开始 *******************************************/
  214. {
  215. // 查出所有子级的id
  216. List<BaseTeacherEducation> baseTeacherEducationList = teacherbaseManagerBaseTeacherEducationMapper.selectList(Wrappers.lambdaQuery(BaseTeacherEducation.class).eq(BaseTeacherEducation::getUserId, xjrUser.getId()).select(BaseTeacherEducation::getId));
  217. List<Long> baseTeacherEducationIds = baseTeacherEducationList.stream().map(BaseTeacherEducation::getId).collect(Collectors.toList());
  218. //原有子表单 没有被删除的主键
  219. List<Long> baseTeacherEducationOldIds = xjrUser.getBaseTeacherEducationList().stream().map(BaseTeacherEducation::getId).filter(Objects::nonNull).collect(Collectors.toList());
  220. //找到需要删除的id
  221. List<Long> baseTeacherEducationRemoveIds = baseTeacherEducationIds.stream().filter(item -> !baseTeacherEducationOldIds.contains(item)).collect(Collectors.toList());
  222. for (BaseTeacherEducation baseTeacherEducation : xjrUser.getBaseTeacherEducationList()) {
  223. //如果不等于空则修改
  224. if (baseTeacherEducation.getId() != null) {
  225. teacherbaseManagerBaseTeacherEducationMapper.updateById(baseTeacherEducation);
  226. }
  227. //如果等于空 则新增
  228. else {
  229. //已经不存在的id 删除
  230. baseTeacherEducation.setUserId(xjrUser.getId());
  231. teacherbaseManagerBaseTeacherEducationMapper.insert(baseTeacherEducation);
  232. }
  233. }
  234. //已经不存在的id 删除
  235. if(baseTeacherEducationRemoveIds.size() > 0){
  236. teacherbaseManagerBaseTeacherEducationMapper.deleteBatchIds(baseTeacherEducationRemoveIds);
  237. }
  238. }
  239. //********************************* BaseTeacherEducation 增删改 结束 *******************************************/
  240. //********************************* BaseTeacherEmploy 增删改 开始 *******************************************/
  241. {
  242. // 查出所有子级的id
  243. List<BaseTeacherEmploy> baseTeacherEmployList = teacherbaseManagerBaseTeacherEmployMapper.selectList(Wrappers.lambdaQuery(BaseTeacherEmploy.class).eq(BaseTeacherEmploy::getUserId, xjrUser.getId()).select(BaseTeacherEmploy::getId));
  244. List<Long> baseTeacherEmployIds = baseTeacherEmployList.stream().map(BaseTeacherEmploy::getId).collect(Collectors.toList());
  245. //原有子表单 没有被删除的主键
  246. List<Long> baseTeacherEmployOldIds = xjrUser.getBaseTeacherEmployList().stream().map(BaseTeacherEmploy::getId).filter(Objects::nonNull).collect(Collectors.toList());
  247. //找到需要删除的id
  248. List<Long> baseTeacherEmployRemoveIds = baseTeacherEmployIds.stream().filter(item -> !baseTeacherEmployOldIds.contains(item)).collect(Collectors.toList());
  249. for (BaseTeacherEmploy baseTeacherEmploy : xjrUser.getBaseTeacherEmployList()) {
  250. //如果不等于空则修改
  251. if (baseTeacherEmploy.getId() != null) {
  252. teacherbaseManagerBaseTeacherEmployMapper.updateById(baseTeacherEmploy);
  253. }
  254. //如果等于空 则新增
  255. else {
  256. //已经不存在的id 删除
  257. baseTeacherEmploy.setUserId(xjrUser.getId());
  258. teacherbaseManagerBaseTeacherEmployMapper.insert(baseTeacherEmploy);
  259. }
  260. }
  261. //已经不存在的id 删除
  262. if(baseTeacherEmployRemoveIds.size() > 0){
  263. teacherbaseManagerBaseTeacherEmployMapper.deleteBatchIds(baseTeacherEmployRemoveIds);
  264. }
  265. }
  266. //********************************* BaseTeacherEmploy 增删改 结束 *******************************************/
  267. //********************************* BaseTeacherFamily 增删改 开始 *******************************************/
  268. {
  269. // 查出所有子级的id
  270. List<BaseTeacherFamily> baseTeacherFamilyList = teacherbaseManagerBaseTeacherFamilyMapper.selectList(Wrappers.lambdaQuery(BaseTeacherFamily.class).eq(BaseTeacherFamily::getUserId, xjrUser.getId()).select(BaseTeacherFamily::getId));
  271. List<Long> baseTeacherFamilyIds = baseTeacherFamilyList.stream().map(BaseTeacherFamily::getId).collect(Collectors.toList());
  272. //原有子表单 没有被删除的主键
  273. List<Long> baseTeacherFamilyOldIds = xjrUser.getBaseTeacherFamilyList().stream().map(BaseTeacherFamily::getId).filter(Objects::nonNull).collect(Collectors.toList());
  274. //找到需要删除的id
  275. List<Long> baseTeacherFamilyRemoveIds = baseTeacherFamilyIds.stream().filter(item -> !baseTeacherFamilyOldIds.contains(item)).collect(Collectors.toList());
  276. for (BaseTeacherFamily baseTeacherFamily : xjrUser.getBaseTeacherFamilyList()) {
  277. //如果不等于空则修改
  278. if (baseTeacherFamily.getId() != null) {
  279. teacherbaseManagerBaseTeacherFamilyMapper.updateById(baseTeacherFamily);
  280. }
  281. //如果等于空 则新增
  282. else {
  283. //已经不存在的id 删除
  284. baseTeacherFamily.setUserId(xjrUser.getId());
  285. teacherbaseManagerBaseTeacherFamilyMapper.insert(baseTeacherFamily);
  286. }
  287. }
  288. //已经不存在的id 删除
  289. if(baseTeacherFamilyRemoveIds.size() > 0){
  290. teacherbaseManagerBaseTeacherFamilyMapper.deleteBatchIds(baseTeacherFamilyRemoveIds);
  291. }
  292. }
  293. //********************************* BaseTeacherFamily 增删改 结束 *******************************************/
  294. //********************************* BaseTeacherFamilyMember 增删改 开始 *******************************************/
  295. {
  296. // 查出所有子级的id
  297. List<BaseTeacherFamilyMember> baseTeacherFamilyMemberList = teacherbaseManagerBaseTeacherFamilyMemberMapper.selectList(Wrappers.lambdaQuery(BaseTeacherFamilyMember.class).eq(BaseTeacherFamilyMember::getUserId, xjrUser.getId()).select(BaseTeacherFamilyMember::getId));
  298. List<Long> baseTeacherFamilyMemberIds = baseTeacherFamilyMemberList.stream().map(BaseTeacherFamilyMember::getId).collect(Collectors.toList());
  299. //原有子表单 没有被删除的主键
  300. List<Long> baseTeacherFamilyMemberOldIds = xjrUser.getBaseTeacherFamilyMemberList().stream().map(BaseTeacherFamilyMember::getId).filter(Objects::nonNull).collect(Collectors.toList());
  301. //找到需要删除的id
  302. List<Long> baseTeacherFamilyMemberRemoveIds = baseTeacherFamilyMemberIds.stream().filter(item -> !baseTeacherFamilyMemberOldIds.contains(item)).collect(Collectors.toList());
  303. for (BaseTeacherFamilyMember baseTeacherFamilyMember : xjrUser.getBaseTeacherFamilyMemberList()) {
  304. //如果不等于空则修改
  305. if (baseTeacherFamilyMember.getId() != null) {
  306. teacherbaseManagerBaseTeacherFamilyMemberMapper.updateById(baseTeacherFamilyMember);
  307. }
  308. //如果等于空 则新增
  309. else {
  310. //已经不存在的id 删除
  311. baseTeacherFamilyMember.setUserId(xjrUser.getId());
  312. teacherbaseManagerBaseTeacherFamilyMemberMapper.insert(baseTeacherFamilyMember);
  313. }
  314. }
  315. //已经不存在的id 删除
  316. if(baseTeacherFamilyMemberRemoveIds.size() > 0){
  317. teacherbaseManagerBaseTeacherFamilyMemberMapper.deleteBatchIds(baseTeacherFamilyMemberRemoveIds);
  318. }
  319. }
  320. //********************************* BaseTeacherFamilyMember 增删改 结束 *******************************************/
  321. //********************************* BaseTeacherRegular 增删改 开始 *******************************************/
  322. {
  323. // 查出所有子级的id
  324. List<BaseTeacherRegular> baseTeacherRegularList = teacherbaseManagerBaseTeacherRegularMapper.selectList(Wrappers.lambdaQuery(BaseTeacherRegular.class).eq(BaseTeacherRegular::getUserId, xjrUser.getId()).select(BaseTeacherRegular::getId));
  325. List<Long> baseTeacherRegularIds = baseTeacherRegularList.stream().map(BaseTeacherRegular::getId).collect(Collectors.toList());
  326. //原有子表单 没有被删除的主键
  327. List<Long> baseTeacherRegularOldIds = xjrUser.getBaseTeacherRegularList().stream().map(BaseTeacherRegular::getId).filter(Objects::nonNull).collect(Collectors.toList());
  328. //找到需要删除的id
  329. List<Long> baseTeacherRegularRemoveIds = baseTeacherRegularIds.stream().filter(item -> !baseTeacherRegularOldIds.contains(item)).collect(Collectors.toList());
  330. for (BaseTeacherRegular baseTeacherRegular : xjrUser.getBaseTeacherRegularList()) {
  331. //如果不等于空则修改
  332. if (baseTeacherRegular.getId() != null) {
  333. teacherbaseManagerBaseTeacherRegularMapper.updateById(baseTeacherRegular);
  334. }
  335. //如果等于空 则新增
  336. else {
  337. //已经不存在的id 删除
  338. baseTeacherRegular.setUserId(xjrUser.getId());
  339. teacherbaseManagerBaseTeacherRegularMapper.insert(baseTeacherRegular);
  340. }
  341. }
  342. //已经不存在的id 删除
  343. if(baseTeacherRegularRemoveIds.size() > 0){
  344. teacherbaseManagerBaseTeacherRegularMapper.deleteBatchIds(baseTeacherRegularRemoveIds);
  345. }
  346. }
  347. //********************************* BaseTeacherRegular 增删改 结束 *******************************************/
  348. return true;
  349. }
  350. @Override
  351. @Transactional(rollbackFor = Exception.class)
  352. public Boolean delete(List<Long> ids) {
  353. teacherbaseManagerXjrUserMapper.deleteBatchIds(ids);
  354. teacherbaseManagerBaseTeacherMapper.delete(Wrappers.lambdaQuery(BaseTeacher.class).in(BaseTeacher::getUserId, ids));
  355. teacherbaseManagerBaseTeacherContactMapper.delete(Wrappers.lambdaQuery(BaseTeacherContact.class).in(BaseTeacherContact::getUserId, ids));
  356. teacherbaseManagerBaseTeacherEducationMapper.delete(Wrappers.lambdaQuery(BaseTeacherEducation.class).in(BaseTeacherEducation::getUserId, ids));
  357. teacherbaseManagerBaseTeacherEmployMapper.delete(Wrappers.lambdaQuery(BaseTeacherEmploy.class).in(BaseTeacherEmploy::getUserId, ids));
  358. teacherbaseManagerBaseTeacherFamilyMapper.delete(Wrappers.lambdaQuery(BaseTeacherFamily.class).in(BaseTeacherFamily::getUserId, ids));
  359. teacherbaseManagerBaseTeacherFamilyMemberMapper.delete(Wrappers.lambdaQuery(BaseTeacherFamilyMember.class).in(BaseTeacherFamilyMember::getUserId, ids));
  360. teacherbaseManagerBaseTeacherRegularMapper.delete(Wrappers.lambdaQuery(BaseTeacherRegular.class).in(BaseTeacherRegular::getUserId, ids));
  361. return true;
  362. }
  363. }