SchoolRollStudentServiceImpl.java 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. package com.xjrsoft.module.student.service.impl;
  2. import cn.hutool.core.util.ObjectUtil;
  3. import com.baomidou.mybatisplus.core.toolkit.Wrappers;
  4. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  5. import com.github.yulichang.base.MPJBaseServiceImpl;
  6. import com.xjrsoft.common.enums.ArchivesStatusEnum;
  7. import com.xjrsoft.common.enums.EnabledMark;
  8. import com.xjrsoft.common.enums.SchoolChangeType;
  9. import com.xjrsoft.module.student.dto.SchoolRollStudentPageDto;
  10. import com.xjrsoft.module.student.entity.BaseStudentSchoolRoll;
  11. import com.xjrsoft.module.student.entity.SchoolRollStudent;
  12. import com.xjrsoft.module.student.mapper.BaseStudentSchoolRollMapper;
  13. import com.xjrsoft.module.student.mapper.SchoolRollStudentMapper;
  14. import com.xjrsoft.module.student.service.ISchoolRollStudentService;
  15. import com.xjrsoft.module.student.vo.SchoolRollStudentPageVo;
  16. import com.xjrsoft.module.student.vo.SchoolRollStudentVo;
  17. import com.xjrsoft.module.teacher.entity.XjrUser;
  18. import com.xjrsoft.module.teacher.mapper.XjrUserMapper;
  19. import lombok.AllArgsConstructor;
  20. import org.springframework.stereotype.Service;
  21. /**
  22. * @title: 学籍异动学生
  23. * @Author dzx
  24. * @Date: 2023-11-30
  25. * @Version 1.0
  26. */
  27. @Service
  28. @AllArgsConstructor
  29. public class SchoolRollStudentServiceImpl extends MPJBaseServiceImpl<SchoolRollStudentMapper, SchoolRollStudent> implements ISchoolRollStudentService {
  30. private final SchoolRollStudentMapper schoolRollStudentMapper;
  31. private final XjrUserMapper xjrUserMapper;
  32. private final BaseStudentSchoolRollMapper baseStudentSchoolRollMapper;
  33. @Override
  34. public Boolean dataHandle(Long dataId) {
  35. SchoolRollStudent schoolRollStudent = schoolRollStudentMapper.selectOne(
  36. Wrappers.lambdaQuery(SchoolRollStudent.class).eq(SchoolRollStudent::getId, dataId)
  37. );
  38. String scholarshipSource = schoolRollStudent.getScholarshipSource();
  39. if(SchoolChangeType.ScOutSchool.getCode().equals(scholarshipSource)){
  40. scOutSchool(schoolRollStudent);
  41. }else if(SchoolChangeType.ScOut.getCode().equals(scholarshipSource)){
  42. scOut(schoolRollStudent);
  43. }else if(SchoolChangeType.ScRecoverSchool.getCode().equals(scholarshipSource)){
  44. scRecoverSchool(schoolRollStudent);
  45. }else if(SchoolChangeType.ScClass.getCode().equals(scholarshipSource)){
  46. scClass(schoolRollStudent);
  47. }
  48. return true;
  49. }
  50. @Override
  51. public Page<SchoolRollStudentPageVo> getPage(Page<SchoolRollStudentPageVo> page, SchoolRollStudentPageDto dto) {
  52. Page<SchoolRollStudentPageVo> result = schoolRollStudentMapper.getPage(page, dto);
  53. return result;
  54. }
  55. @Override
  56. public SchoolRollStudentVo getInfo(Long id) {
  57. return schoolRollStudentMapper.getInfo(id);
  58. }
  59. /**
  60. * 休学:禁用学生账号
  61. */
  62. void scOutSchool(SchoolRollStudent schoolRollStudent){
  63. if(ObjectUtil.isNull(schoolRollStudent.getIsCancelAccount()) || schoolRollStudent.getIsCancelAccount() != 1){
  64. return;
  65. }
  66. XjrUser xjrUser = xjrUserMapper.selectOne(Wrappers.lambdaQuery(XjrUser.class).eq(XjrUser::getId, schoolRollStudent.getStudentId()));
  67. xjrUser.setEnabledMark(EnabledMark.DISABLED.getCode());
  68. xjrUserMapper.updateById(xjrUser);
  69. BaseStudentSchoolRoll studentSchoolRoll = baseStudentSchoolRollMapper.selectOne(
  70. Wrappers.lambdaQuery(BaseStudentSchoolRoll.class).eq(BaseStudentSchoolRoll::getUserId, schoolRollStudent.getStudentId())
  71. );
  72. if(ObjectUtil.isNotNull(studentSchoolRoll)){
  73. studentSchoolRoll.setArchivesStatus(ArchivesStatusEnum.FB2902.getCode());
  74. baseStudentSchoolRollMapper.updateById(studentSchoolRoll);
  75. }
  76. }
  77. /**
  78. * 退学:禁用学生账号
  79. */
  80. void scOut(SchoolRollStudent schoolRollStudent){
  81. if(ObjectUtil.isNull(schoolRollStudent.getIsCancelAccount()) || schoolRollStudent.getIsCancelAccount() != 1){
  82. return;
  83. }
  84. XjrUser xjrUser = xjrUserMapper.selectOne(Wrappers.lambdaQuery(XjrUser.class).eq(XjrUser::getId, schoolRollStudent.getStudentId()));
  85. xjrUser.setEnabledMark(EnabledMark.DISABLED.getCode());
  86. xjrUserMapper.updateById(xjrUser);
  87. BaseStudentSchoolRoll studentSchoolRoll = baseStudentSchoolRollMapper.selectOne(
  88. Wrappers.lambdaQuery(BaseStudentSchoolRoll.class).eq(BaseStudentSchoolRoll::getUserId, schoolRollStudent.getStudentId())
  89. );
  90. if(ObjectUtil.isNotNull(studentSchoolRoll)){
  91. studentSchoolRoll.setArchivesStatus(ArchivesStatusEnum.FB2904.getCode());
  92. baseStudentSchoolRollMapper.updateById(studentSchoolRoll);
  93. }
  94. }
  95. /**
  96. * 复学:恢复学生账号并修改班级
  97. */
  98. void scRecoverSchool(SchoolRollStudent schoolRollStudent){
  99. //启用学生账号
  100. XjrUser xjrUser = xjrUserMapper.selectOne(Wrappers.lambdaQuery(XjrUser.class).eq(XjrUser::getId, schoolRollStudent.getStudentId()));
  101. xjrUser.setEnabledMark(EnabledMark.ENABLED.getCode());
  102. xjrUserMapper.updateById(xjrUser);
  103. //修改学生的年级和班级
  104. BaseStudentSchoolRoll baseStudentSchoolRoll = baseStudentSchoolRollMapper.selectOne(
  105. Wrappers.lambdaQuery(BaseStudentSchoolRoll.class).eq(BaseStudentSchoolRoll::getUserId, schoolRollStudent.getStudentId())
  106. );
  107. if(ObjectUtil.isNotNull(baseStudentSchoolRoll)){
  108. baseStudentSchoolRoll.setClassId(schoolRollStudent.getBackClassId());
  109. baseStudentSchoolRoll.setGradeId(schoolRollStudent.getBackGradeId());
  110. baseStudentSchoolRoll.setArchivesStatus(ArchivesStatusEnum.FB2901.getCode());
  111. baseStudentSchoolRollMapper.updateById(baseStudentSchoolRoll);
  112. }
  113. }
  114. /**
  115. * 转专业(班级):修改班级id
  116. */
  117. void scClass(SchoolRollStudent schoolRollStudent){
  118. //修改学生的年级和班级
  119. BaseStudentSchoolRoll baseStudentSchoolRoll = baseStudentSchoolRollMapper.selectOne(
  120. Wrappers.lambdaQuery(BaseStudentSchoolRoll.class).eq(BaseStudentSchoolRoll::getUserId, schoolRollStudent.getStudentId())
  121. );
  122. baseStudentSchoolRoll.setClassId(schoolRollStudent.getBackClassId());
  123. baseStudentSchoolRoll.setGradeId(schoolRollStudent.getBackGradeId());
  124. baseStudentSchoolRollMapper.updateById(baseStudentSchoolRoll);
  125. }
  126. }