|
|
@@ -2,7 +2,6 @@ package com.xjrsoft.module.student.service.impl;
|
|
|
|
|
|
import cn.dev33.satoken.secure.BCrypt;
|
|
|
import cn.dev33.satoken.stp.StpUtil;
|
|
|
-import cn.hutool.core.bean.BeanUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
@@ -310,108 +309,121 @@ public class StudentReportRecordServiceImpl extends MPJBaseServiceImpl<StudentRe
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public Boolean tryReadingSign(StudentReportSignDto dto) {
|
|
|
StudentReportRecord record = this.getById(dto.getId());
|
|
|
- record.setReportTime(new Date());
|
|
|
- record.setModifyUserId(StpUtil.getLoginIdAsLong());
|
|
|
- record.setModifyDate(new Date());
|
|
|
- this.updateById(record);
|
|
|
-
|
|
|
BaseNewStudent student = newStudentMapper.selectById(record.getUserId());
|
|
|
+ if(record.getReportTime() == null){
|
|
|
+ record.setReportTime(new Date());
|
|
|
+ record.setModifyUserId(StpUtil.getLoginIdAsLong());
|
|
|
+ record.setModifyDate(new Date());
|
|
|
+ this.updateById(record);
|
|
|
|
|
|
- //先查询是否已经存在这个班级,如果存在就更新,不存在就新增
|
|
|
- BaseClass baseClass = classMapper.selectById(
|
|
|
- new MPJLambdaWrapper<BaseClass>()
|
|
|
- .select(BaseClass::getId)
|
|
|
- .select(BaseClass.class, x -> VoToColumnUtil.fieldsToColumns(BaseClass.class).contains(x.getProperty()))
|
|
|
- .innerJoin(BandingTaskClass.class, BandingTaskClass::getName, BaseClass::getName)
|
|
|
- .innerJoin(BandingTaskClassStudent.class, BandingTaskClassStudent::getBandingTaskClassId, BandingTaskClass::getId)
|
|
|
- .eq(BandingTaskClassStudent::getNewStudentId, student.getId())
|
|
|
- .eq(BandingTaskClassStudent::getDeleteMark, DeleteMark.NODELETE.getCode())
|
|
|
- .eq(BandingTaskClassStudent::getEnabledMark, EnabledMark.ENABLED.getCode())
|
|
|
- .eq(BandingTaskClass::getDeleteMark, DeleteMark.NODELETE.getCode())
|
|
|
- .eq(BandingTaskClass::getEnabledMark, EnabledMark.ENABLED.getCode())
|
|
|
- .eq(BaseClass::getDeleteMark, DeleteMark.NODELETE.getCode())
|
|
|
- .eq(BaseClass::getEnabledMark, EnabledMark.ENABLED.getCode())
|
|
|
- );
|
|
|
- //根据身份证号查询这个学生是否存在
|
|
|
- User user = userService.getOne(
|
|
|
- new QueryWrapper<User>().lambda()
|
|
|
- .eq(User::getCredentialNumber, student.getCredentialNumber())
|
|
|
- );
|
|
|
- if(user != null){
|
|
|
- //学生已存在,则修改班级信息
|
|
|
- rollService.updateStudentClass(baseClass.getId(), user.getId());
|
|
|
- rollService.activateStudent(user.getId());
|
|
|
+ //先查询是否已经存在这个班级,如果存在就更新,不存在就新增
|
|
|
+ BaseClass baseClass = classMapper.selectOne(
|
|
|
+ new MPJLambdaWrapper<BaseClass>()
|
|
|
+ .select(BaseClass::getId)
|
|
|
+ .select(BaseClass.class, x -> VoToColumnUtil.fieldsToColumns(BaseClass.class).contains(x.getProperty()))
|
|
|
+ .innerJoin(BandingTaskClass.class, BandingTaskClass::getName, BaseClass::getName)
|
|
|
+ .innerJoin(BandingTaskClassStudent.class, BandingTaskClassStudent::getBandingTaskClassId, BandingTaskClass::getId)
|
|
|
+ .eq(BandingTaskClassStudent::getNewStudentId, student.getId())
|
|
|
+ .eq(BandingTaskClassStudent::getDeleteMark, DeleteMark.NODELETE.getCode())
|
|
|
+ .eq(BandingTaskClassStudent::getEnabledMark, EnabledMark.ENABLED.getCode())
|
|
|
+ .eq(BandingTaskClass::getDeleteMark, DeleteMark.NODELETE.getCode())
|
|
|
+ .eq(BandingTaskClass::getEnabledMark, EnabledMark.ENABLED.getCode())
|
|
|
+ .eq(BaseClass::getDeleteMark, DeleteMark.NODELETE.getCode())
|
|
|
+ .eq(BaseClass::getEnabledMark, EnabledMark.ENABLED.getCode())
|
|
|
+ );
|
|
|
+ //根据身份证号查询这个学生是否存在
|
|
|
+ User user = userService.getOne(
|
|
|
+ new QueryWrapper<User>().lambda()
|
|
|
+ .eq(User::getCredentialNumber, student.getCredentialNumber())
|
|
|
+ );
|
|
|
+ if(user != null){
|
|
|
+ //学生已存在,则修改班级信息
|
|
|
+ rollService.updateStudentClass(baseClass.getId(), user.getId());
|
|
|
+ rollService.activateStudent(user.getId());
|
|
|
+ }else{
|
|
|
+ LocalDate birthDate = getBirthDate(student.getCredentialNumber());
|
|
|
+ LocalDateTime now = LocalDateTime.now();
|
|
|
+ User xjrUser = new User() {{
|
|
|
+ setCreateDate(now);
|
|
|
+ setPassword(BCrypt.hashpw(propertiesConfig.getDefaultPassword(), BCrypt.gensalt()));
|
|
|
+ setName(student.getName());
|
|
|
+ setUserName(student.getCredentialNumber());
|
|
|
+ setCredentialNumber(student.getCredentialNumber());
|
|
|
+ setCredentialType("ZZLS10007");
|
|
|
+ setMobile(student.getMobile());
|
|
|
+ setEnabledMark(EnabledMark.DISABLED.getCode());
|
|
|
+ setGender(student.getGender());
|
|
|
+ setIsChangePassword(1);
|
|
|
+ setBirthDate(birthDate.atStartOfDay());
|
|
|
+ }};
|
|
|
+ userService.save(xjrUser);
|
|
|
+
|
|
|
+ UserRoleRelation userRoleRelation = new UserRoleRelation() {{
|
|
|
+ setRoleId(RoleEnum.STUDENT.getCode());
|
|
|
+ setUserId(xjrUser.getId());
|
|
|
+ }};
|
|
|
+ roleRelationService.save(userRoleRelation);
|
|
|
+
|
|
|
+ BaseStudent baseStudent = new BaseStudent() {{
|
|
|
+ setUserId(xjrUser.getId());
|
|
|
+ setCreateDate(now);
|
|
|
+ setStudentId(student.getCredentialNumber());
|
|
|
+ if(student.getHeight() != null){
|
|
|
+ setHeight(student.getHeight().doubleValue());
|
|
|
+ }
|
|
|
+ if(student.getWeight() != null){
|
|
|
+ setWeight(student.getWeight().doubleValue());
|
|
|
+ }
|
|
|
+ }};
|
|
|
+ studentService.save(baseStudent);
|
|
|
+
|
|
|
+ BaseStudentSchoolRoll schoolRoll = new BaseStudentSchoolRoll() {{
|
|
|
+ setUserId(xjrUser.getId());
|
|
|
+ if(student.getScore() != null){
|
|
|
+ setGraduatedScore(student.getScore().doubleValue());
|
|
|
+ }
|
|
|
+
|
|
|
+ setGraduatedUniversity(student.getGraduateSchool());
|
|
|
+ setClassId(baseClass.getId());
|
|
|
+ setMajorSetId(baseClass.getMajorSetId());
|
|
|
+ setStduyStatus(student.getStduyStatus());
|
|
|
+ setEnrollType(baseClass.getEnrollType());
|
|
|
+ setStudentSource(student.getSource());
|
|
|
+ setGradeId(baseClass.getGradeId());
|
|
|
+ setArchivesStatus(ArchivesStatusEnum.FB2901.getCode());
|
|
|
+ setCreateDate(now);
|
|
|
+ }};
|
|
|
+ rollService.save(schoolRoll);
|
|
|
+
|
|
|
+ BaseStudentFamily studentFamily = new BaseStudentFamily() {{
|
|
|
+ setCreateDate(now);
|
|
|
+ setUserId(xjrUser.getId());
|
|
|
+ setTelephone(student.getFamilyMobile());
|
|
|
+ setAddress(student.getFamilyAddress());
|
|
|
+ }};
|
|
|
+ familyService.save(studentFamily);
|
|
|
+
|
|
|
+ CompletableFuture.runAsync(() -> {
|
|
|
+ List<User> userList = userService.list();
|
|
|
+ redisUtil.set(GlobalConstant.USER_CACHE_KEY, userList);
|
|
|
+
|
|
|
+ List<UserRoleRelation> userRoleRelationList = roleRelationService.list(Wrappers.lambdaQuery(UserRoleRelation.class));
|
|
|
+ redisUtil.set(GlobalConstant.USER_ROLE_RELATION_CACHE_KEY, userRoleRelationList);
|
|
|
+ });
|
|
|
+ }
|
|
|
}else{
|
|
|
- LocalDate birthDate = getBirthDate(student.getCredentialNumber());
|
|
|
- LocalDateTime now = LocalDateTime.now();
|
|
|
- User xjrUser = new User() {{
|
|
|
- setCreateDate(now);
|
|
|
- setPassword(BCrypt.hashpw(propertiesConfig.getDefaultPassword(), BCrypt.gensalt()));
|
|
|
- setName(student.getName());
|
|
|
- setUserName(student.getCredentialNumber());
|
|
|
- setCredentialNumber(student.getCredentialNumber());
|
|
|
- setCredentialType("ZZLS10007");
|
|
|
- setMobile(student.getMobile());
|
|
|
- setEnabledMark(EnabledMark.DISABLED.getCode());
|
|
|
- setGender(student.getGender());
|
|
|
- setIsChangePassword(1);
|
|
|
- setBirthDate(birthDate.atStartOfDay());
|
|
|
- }};
|
|
|
- userService.save(xjrUser);
|
|
|
-
|
|
|
- UserRoleRelation userRoleRelation = new UserRoleRelation() {{
|
|
|
- setRoleId(RoleEnum.STUDENT.getCode());
|
|
|
- setUserId(xjrUser.getId());
|
|
|
- }};
|
|
|
- roleRelationService.save(userRoleRelation);
|
|
|
-
|
|
|
- BaseStudent baseStudent = new BaseStudent() {{
|
|
|
- setUserId(xjrUser.getId());
|
|
|
- setCreateDate(now);
|
|
|
- setStudentId(student.getCredentialNumber());
|
|
|
- if(student.getHeight() != null){
|
|
|
- setHeight(student.getHeight().doubleValue());
|
|
|
- }
|
|
|
- if(student.getWeight() != null){
|
|
|
- setWeight(student.getWeight().doubleValue());
|
|
|
- }
|
|
|
- }};
|
|
|
- studentService.save(baseStudent);
|
|
|
-
|
|
|
- BaseStudentSchoolRoll schoolRoll = new BaseStudentSchoolRoll() {{
|
|
|
- setUserId(xjrUser.getId());
|
|
|
- if(student.getScore() != null){
|
|
|
- setGraduatedScore(student.getScore().doubleValue());
|
|
|
- }
|
|
|
-
|
|
|
- setGraduatedUniversity(student.getGraduateSchool());
|
|
|
- setClassId(baseClass.getId());
|
|
|
- setMajorSetId(baseClass.getMajorSetId());
|
|
|
- setStduyStatus(student.getStduyStatus());
|
|
|
- setEnrollType(baseClass.getEnrollType());
|
|
|
- setStudentSource(student.getSource());
|
|
|
- setGradeId(baseClass.getGradeId());
|
|
|
- setArchivesStatus(ArchivesStatusEnum.FB2901.getCode());
|
|
|
- setCreateDate(now);
|
|
|
- }};
|
|
|
- rollService.save(schoolRoll);
|
|
|
-
|
|
|
- BaseStudentFamily studentFamily = new BaseStudentFamily() {{
|
|
|
- setCreateDate(now);
|
|
|
- setUserId(xjrUser.getId());
|
|
|
- setTelephone(student.getFamilyMobile());
|
|
|
- setAddress(student.getFamilyAddress());
|
|
|
- }};
|
|
|
- familyService.save(studentFamily);
|
|
|
-
|
|
|
- CompletableFuture.runAsync(() -> {
|
|
|
- List<User> userList = userService.list();
|
|
|
- redisUtil.set(GlobalConstant.USER_CACHE_KEY, userList);
|
|
|
-
|
|
|
- List<UserRoleRelation> userRoleRelationList = roleRelationService.list(Wrappers.lambdaQuery(UserRoleRelation.class));
|
|
|
- redisUtil.set(GlobalConstant.USER_ROLE_RELATION_CACHE_KEY, userRoleRelationList);
|
|
|
- });
|
|
|
+ UpdateWrapper<StudentReportRecord> wrapper = new UpdateWrapper<>();
|
|
|
+ wrapper.eq("id", record.getId());
|
|
|
+ wrapper.setSql("report_time = null");
|
|
|
+ this.update(record, wrapper);
|
|
|
+
|
|
|
+ User user = userService.getOne(
|
|
|
+ new QueryWrapper<User>().lambda()
|
|
|
+ .eq(User::getCredentialNumber, student.getCredentialNumber())
|
|
|
+ );
|
|
|
+ rollService.disableStudent(user.getId());
|
|
|
}
|
|
|
+
|
|
|
return true;
|
|
|
}
|
|
|
|