BaseStudentGraduateServiceImpl.java 4.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  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.baomidou.mybatisplus.core.toolkit.Wrappers;
  7. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  8. import com.github.yulichang.base.MPJBaseServiceImpl;
  9. import com.xjrsoft.common.enums.ArchivesStatusEnum;
  10. import com.xjrsoft.module.student.dto.AddBaseStudentGraduateDto;
  11. import com.xjrsoft.module.student.dto.BaseStudentGraduatePageDto;
  12. import com.xjrsoft.module.student.entity.BaseStudentGraduate;
  13. import com.xjrsoft.module.student.entity.BaseStudentSchoolRoll;
  14. import com.xjrsoft.module.student.mapper.BaseStudentGraduateMapper;
  15. import com.xjrsoft.module.student.mapper.BaseStudentSchoolRollMapper;
  16. import com.xjrsoft.module.student.service.IBaseStudentGraduateService;
  17. import com.xjrsoft.module.student.vo.BaseStudentGraduatePageVo;
  18. import com.xjrsoft.module.student.vo.BaseStudentGraduateVo;
  19. import com.xjrsoft.module.system.entity.File;
  20. import com.xjrsoft.module.system.service.IFileService;
  21. import lombok.AllArgsConstructor;
  22. import org.springframework.stereotype.Service;
  23. import org.springframework.transaction.annotation.Transactional;
  24. import java.util.Date;
  25. /**
  26. * @title: 学生毕业管理
  27. * @Author dzx
  28. * @Date: 2024-01-26
  29. * @Version 1.0
  30. */
  31. @Service
  32. @AllArgsConstructor
  33. public class BaseStudentGraduateServiceImpl extends MPJBaseServiceImpl<BaseStudentGraduateMapper, BaseStudentGraduate> implements IBaseStudentGraduateService {
  34. private final BaseStudentGraduateMapper baseStudentGraduateMapper;
  35. private final BaseStudentSchoolRollMapper baseStudentSchoolRollMapper;
  36. private final IFileService fileService;
  37. @Override
  38. public Page<BaseStudentGraduatePageVo> getPage(Page<BaseStudentGraduatePageDto> page, BaseStudentGraduatePageDto dto) {
  39. Page<BaseStudentGraduatePageVo> voPage = baseStudentGraduateMapper.getPage(page, dto);
  40. for (BaseStudentGraduatePageVo record : voPage.getRecords()) {
  41. if(record.getAppendixId() != null){
  42. record.setFileInfos(fileService.list(Wrappers.<File>query().lambda().eq(File::getFolderId,record.getAppendixId())));
  43. }
  44. }
  45. return voPage;
  46. }
  47. @Override
  48. public BaseStudentGraduateVo getInfoById(Long id) {
  49. BaseStudentGraduateVo baseStudentGraduateVo = baseStudentGraduateMapper.getInfoById(id);
  50. if(baseStudentGraduateVo != null && baseStudentGraduateVo.getAppendixId() != null){
  51. baseStudentGraduateVo.setFileInfos(fileService.list(Wrappers.<File>query().lambda().eq(File::getFolderId,baseStudentGraduateVo.getAppendixId())));
  52. }
  53. return baseStudentGraduateVo;
  54. }
  55. @Override
  56. @Transactional
  57. public Boolean addOne(AddBaseStudentGraduateDto dto) {
  58. BaseStudentGraduate baseStudentGraduate = BeanUtil.toBean(dto, BaseStudentGraduate.class);
  59. baseStudentGraduate.setCreateUserId(StpUtil.getLoginIdAsLong());
  60. baseStudentGraduate.setCreateDate(new Date());
  61. baseStudentGraduate.setAppendixId(dto.getFolderId());
  62. QueryWrapper<BaseStudentGraduate> queryWrapperSortcode = new QueryWrapper<>();
  63. queryWrapperSortcode.select("IFNULL(MAX(sort_code),0) as sortCode");
  64. BaseStudentGraduate t = this.getOne(queryWrapperSortcode);
  65. baseStudentGraduate.setSortCode(t.getSortCode() + 1);
  66. //修改学籍状态
  67. LambdaQueryWrapper<BaseStudentSchoolRoll> baseStudentSchoolRollLambdaQueryWrapper = new LambdaQueryWrapper<>();
  68. baseStudentSchoolRollLambdaQueryWrapper
  69. .eq(BaseStudentSchoolRoll::getUserId, dto.getUserId());
  70. baseStudentSchoolRollMapper.update(new BaseStudentSchoolRoll(){{
  71. setArchivesStatus(ArchivesStatusEnum.FB2907.getCode());
  72. }}, baseStudentSchoolRollLambdaQueryWrapper);
  73. //保存毕业信息
  74. this.save(baseStudentGraduate);
  75. return true;
  76. }
  77. }