BaseStudentGraduateServiceImplTest.java 3.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. package com.xjrsoft.module.student.service.impl;
  2. import cn.dev33.satoken.stp.StpUtil;
  3. import cn.hutool.core.bean.BeanUtil;
  4. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  5. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  6. import com.github.yulichang.wrapper.MPJLambdaWrapper;
  7. import com.xjrsoft.XjrSoftApplication;
  8. import com.xjrsoft.common.enums.ArchivesStatusEnum;
  9. import com.xjrsoft.common.utils.VoToColumnUtil;
  10. import com.xjrsoft.module.base.entity.BaseClass;
  11. import com.xjrsoft.module.organization.entity.User;
  12. import com.xjrsoft.module.organization.service.IUserService;
  13. import com.xjrsoft.module.student.dto.AddBaseStudentGraduateDto;
  14. import com.xjrsoft.module.student.entity.BaseStudentGraduate;
  15. import com.xjrsoft.module.student.entity.BaseStudentSchoolRoll;
  16. import com.xjrsoft.module.student.service.IBaseStudentGraduateService;
  17. import com.xjrsoft.module.student.service.IBaseStudentSchoolRollService;
  18. import org.junit.jupiter.api.Test;
  19. import org.junit.runner.RunWith;
  20. import org.springframework.beans.factory.annotation.Autowired;
  21. import org.springframework.boot.test.context.SpringBootTest;
  22. import org.springframework.test.context.junit4.SpringRunner;
  23. import java.util.Date;
  24. import java.util.List;
  25. import static org.junit.jupiter.api.Assertions.*;
  26. /**
  27. * @author dzx
  28. * @date 2024/12/10
  29. */
  30. @RunWith(SpringRunner.class)
  31. @SpringBootTest(classes = XjrSoftApplication.class)
  32. class BaseStudentGraduateServiceImplTest {
  33. @Autowired
  34. private IBaseStudentSchoolRollService rollService;
  35. @Autowired
  36. private IBaseStudentGraduateService baseStudentGraduateService;
  37. @Test
  38. void test(){
  39. Long gradeId = 345678345680L;
  40. List<BaseStudentSchoolRoll> schoolRollList = rollService.list(
  41. new MPJLambdaWrapper<BaseStudentSchoolRoll>()
  42. .select(BaseStudentSchoolRoll::getId)
  43. .select(BaseStudentSchoolRoll.class, x -> VoToColumnUtil.fieldsToColumns(BaseStudentSchoolRoll.class).contains(x.getProperty()))
  44. .innerJoin(BaseClass.class, BaseClass::getId, BaseStudentSchoolRoll::getClassId)
  45. .innerJoin(User.class, User::getId, BaseStudentSchoolRoll::getUserId)
  46. .eq(BaseStudentSchoolRoll::getArchivesStatus, ArchivesStatusEnum.FB2901.getCode())
  47. .eq(BaseClass::getGradeId, gradeId)
  48. );
  49. for (BaseStudentSchoolRoll schoolRoll : schoolRollList) {
  50. AddBaseStudentGraduateDto dto = new AddBaseStudentGraduateDto(){{
  51. setUserId(schoolRoll.getUserId());
  52. setStatus(0);
  53. }};
  54. BaseStudentGraduate baseStudentGraduate = BeanUtil.toBean(dto, BaseStudentGraduate.class);
  55. baseStudentGraduate.setCreateUserId(1000000000000000000L);
  56. baseStudentGraduate.setCreateDate(new Date());
  57. baseStudentGraduate.setAppendixId(dto.getFolderId());
  58. QueryWrapper<BaseStudentGraduate> queryWrapperSortcode = new QueryWrapper<>();
  59. queryWrapperSortcode.select("IFNULL(MAX(sort_code),0) as sortCode");
  60. BaseStudentGraduate t = baseStudentGraduateService.getOne(queryWrapperSortcode);
  61. baseStudentGraduate.setSortCode(t.getSortCode() + 1);
  62. //修改学籍状态
  63. LambdaQueryWrapper<BaseStudentSchoolRoll> baseStudentSchoolRollLambdaQueryWrapper = new LambdaQueryWrapper<>();
  64. baseStudentSchoolRollLambdaQueryWrapper
  65. .eq(BaseStudentSchoolRoll::getUserId, dto.getUserId());
  66. rollService.update(new BaseStudentSchoolRoll(){{
  67. setArchivesStatus(ArchivesStatusEnum.FB2907.getCode());
  68. }}, baseStudentSchoolRollLambdaQueryWrapper);
  69. //保存毕业信息
  70. baseStudentGraduateService.save(baseStudentGraduate);
  71. }
  72. }
  73. }