取消全部

This commit is contained in:
2026-08-19 10:43:21 +08:00
parent c71c334a84
commit e4c11b6fcd
12 changed files with 174 additions and 45 deletions
@@ -7,6 +7,7 @@ import com.yunhai.bschclassmanage.config.Config;
import com.yunhai.bschclassmanage.controller.BaseController; import com.yunhai.bschclassmanage.controller.BaseController;
import com.yunhai.bschclassmanage.entity.SchClass; import com.yunhai.bschclassmanage.entity.SchClass;
import com.yunhai.bschclassmanage.enums.StuAbnormalStatus; import com.yunhai.bschclassmanage.enums.StuAbnormalStatus;
import com.yunhai.bschclassmanage.model.dto.SchStudentDTO;
import com.yunhai.bschclassmanage.model.dto.StuAbnormalStatusDTO; import com.yunhai.bschclassmanage.model.dto.StuAbnormalStatusDTO;
import com.yunhai.bschclassmanage.model.dto.StuTransferClassDTO; import com.yunhai.bschclassmanage.model.dto.StuTransferClassDTO;
import com.yunhai.bschclassmanage.model.excel.ImportRuleExcelColumn; import com.yunhai.bschclassmanage.model.excel.ImportRuleExcelColumn;
@@ -94,7 +95,7 @@ public class SchStudentController extends BaseController {
@PostMapping("save") @PostMapping("save")
public void saveStudent(@Valid @RequestBody SchStudentVO model) { public void saveStudent(@Valid @RequestBody SchStudentDTO model) {
schStudentService.saveStudent(UserContext.getCurrentUser(),model); schStudentService.saveStudent(UserContext.getCurrentUser(),model);
} }
@@ -0,0 +1,15 @@
package com.yunhai.bschclassmanage.model.dto;
import com.yunhai.bschclassmanage.model.vo.SchStudentVO;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
@Data
@SuperBuilder
@NoArgsConstructor
public class SchStudentDTO extends SchStudentVO {
private String pwd;
}
@@ -21,4 +21,6 @@ public class SchTeacherDTO extends SchTeacher {
@Min(value = 1, message = "至少选择一个组") @Min(value = 1, message = "至少选择一个组")
private Integer groupId; private Integer groupId;
private String pwd;
} }
@@ -5,6 +5,7 @@ import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern; import javax.validation.constraints.Pattern;
@@ -17,9 +18,8 @@ import java.util.Date;
* @Description: * @Description:
*/ */
@Data @Data
@Builder @SuperBuilder
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor
public class SchStudentVO { public class SchStudentVO {
private Integer id; private Integer id;
@@ -37,5 +37,4 @@ public interface ISchBinSchsystemService {
Map<Integer, String> getSchBinSchsystemMap(Integer schId); Map<Integer, String> getSchBinSchsystemMap(Integer schId);
} }
@@ -1,6 +1,7 @@
package com.yunhai.bschclassmanage.service; package com.yunhai.bschclassmanage.service;
import com.yunhai.bschclassmanage.entity.SchStudent; import com.yunhai.bschclassmanage.entity.SchStudent;
import com.yunhai.bschclassmanage.model.dto.SchStudentDTO;
import com.yunhai.bschclassmanage.model.dto.StuAbnormalStatusDTO; import com.yunhai.bschclassmanage.model.dto.StuAbnormalStatusDTO;
import com.yunhai.bschclassmanage.model.dto.StuTransferClassDTO; import com.yunhai.bschclassmanage.model.dto.StuTransferClassDTO;
import com.yunhai.bschclassmanage.model.vo.PageVO; import com.yunhai.bschclassmanage.model.vo.PageVO;
@@ -41,7 +42,7 @@ public interface ISchStudentService {
List<SchStudentVO> searchSchClassStudentVO(Integer schId, Integer gradeId, Integer classId, boolean onlyNormal); List<SchStudentVO> searchSchClassStudentVO(Integer schId, Integer gradeId, Integer classId, boolean onlyNormal);
void saveStudent(UserContext.UserInfo user, SchStudentVO entity); void saveStudent(UserContext.UserInfo user, SchStudentDTO entity);
void deleteStudent(UserContext.UserInfo user, String ids); void deleteStudent(UserContext.UserInfo user, String ids);
@@ -1,5 +1,8 @@
package com.yunhai.bschclassmanage.service; package com.yunhai.bschclassmanage.service;
import com.yunhai.bschclassmanage.enums.NodeType;
import com.yunhai.bschclassmanage.model.dto.SchStudentDTO;
import com.yunhai.bschclassmanage.model.dto.SchTeacherDTO;
import com.yunhai.bschclassmanage.model.tool.DeleteUser; import com.yunhai.bschclassmanage.model.tool.DeleteUser;
import com.yunhai.bschclassmanage.model.tool.SyncUserDTO; import com.yunhai.bschclassmanage.model.tool.SyncUserDTO;
import com.yunhai.platform.utils.model.BoaGroup; import com.yunhai.platform.utils.model.BoaGroup;
@@ -11,17 +14,17 @@ import java.util.List;
@Service @Service
public interface ISyncUserBaseService { public interface ISyncUserBaseService {
// BoaGroup addGroup(); BoaGroup addGroup(String name,Integer parentId,Integer sort, NodeType type);
//
// void deleteGroup(List<Integer> ids); void editGroup(Integer id,String name,Integer parentId,Integer sort, NodeType type);
//
// BoaUser addUser(BoaUser user); BoaUser addTeacher(SchTeacherDTO teacher);
//
// void updateUser(BoaUser user); BoaUser addStudent(SchStudentDTO student);
//
// List<BoaUser> addUserList(List<BoaUser> user); BoaUser editTeacher(SchTeacherDTO teacher);
//
// void updateUserList(List<BoaUser> user); void deleteTeacherList(List<SchTeacherDTO> teacherList);
//
// void deleteUserList(List<Integer> ids);
} }
@@ -14,6 +14,7 @@ import com.yunhai.bschclassmanage.model.vo.TreeSelectVO;
import com.yunhai.bschclassmanage.service.IBaseSchsystemGradeService; import com.yunhai.bschclassmanage.service.IBaseSchsystemGradeService;
import com.yunhai.bschclassmanage.service.IBaseSchsystemService; import com.yunhai.bschclassmanage.service.IBaseSchsystemService;
import com.yunhai.bschclassmanage.service.ISchBinSchsystemService; import com.yunhai.bschclassmanage.service.ISchBinSchsystemService;
import com.yunhai.bschclassmanage.service.ISyncUserBaseService;
import com.yunhai.bschclassmanage.utils.RedisConstants; import com.yunhai.bschclassmanage.utils.RedisConstants;
import com.yunhai.bschclassmanage.utils.RedisUtil; import com.yunhai.bschclassmanage.utils.RedisUtil;
import com.yunhai.platform.utils.exception.DException; import com.yunhai.platform.utils.exception.DException;
@@ -38,6 +39,8 @@ public class SchBinSchsystemService implements ISchBinSchsystemService {
@Autowired @Autowired
private IBaseSchsystemService baseSchsystemService; private IBaseSchsystemService baseSchsystemService;
@Autowired
private ISyncUserBaseService syncUserBaseService;
@Autowired @Autowired
private RedisUtil redisUtil; private RedisUtil redisUtil;
@@ -133,9 +136,8 @@ public class SchBinSchsystemService implements ISchBinSchsystemService {
schBinSchsystemRepository.saveAll(newList); schBinSchsystemRepository.saveAll(newList);
} }
String cacheKey = RedisConstants.SCHOOL_GRAGE+"_"+schId; String cacheKey = RedisConstants.SCHOOL_GRAGE+"_"+schId;
SchGroupInitialization(schId);
redisUtil.del(cacheKey); redisUtil.del(cacheKey);
} }
@@ -239,14 +241,14 @@ public class SchBinSchsystemService implements ISchBinSchsystemService {
return list; return list;
} }
public void SchGroupInitialization(Integer schId) private void SchGroupInitialization(Integer schId)
{ {
//添加学生组 //添加学生组
BoaGroup teaGroup= CreateGroup(NodeType.TEACHER.getId(),"教师组",schId,1); BoaGroup teaGroup= syncUserBaseService.addGroup("教师组",schId,1,NodeType.TEACHER);
BoaGroup stuGroup= CreateGroup(NodeType.STUDENT.getId(),"学生组",schId,2); BoaGroup stuGroup= syncUserBaseService.addGroup("学生组",schId,2,NodeType.STUDENT);
//创建校长室 //创建校长室
CreateGroup(NodeType.NORMAL.getId(),"校长室", teaGroup.getId(),1); syncUserBaseService.addGroup("校长室", teaGroup.getId(),1,NodeType.NORMAL);
//获取学制 //获取学制
List<SchBinSchsystem> schsystemBinList=getSchBinSchsystemList(schId); List<SchBinSchsystem> schsystemBinList=getSchBinSchsystemList(schId);
@@ -259,7 +261,7 @@ public class SchBinSchsystemService implements ISchBinSchsystemService {
Integer scort=1; Integer scort=1;
for (SchBinSchsystem schsystem:schsystemBinList) { for (SchBinSchsystem schsystem:schsystemBinList) {
//添加学段组 //添加学段组
BoaGroup sectionGroup= CreateGroup(NodeType.SECTION.getId(),schsystemMap.get(schsystem.getId()),stuGroup.getId(),scort); BoaGroup sectionGroup= syncUserBaseService.addGroup(schsystemMap.get(schsystem.getId()),stuGroup.getId(),scort,NodeType.SECTION);
schsystem.setGroupId(sectionGroup.getId()); schsystem.setGroupId(sectionGroup.getId());
scort++; scort++;
} }
@@ -269,9 +271,6 @@ public class SchBinSchsystemService implements ISchBinSchsystemService {
} }
public BoaGroup CreateGroup(Integer NodeType,String name,Integer parentId,Integer scort)
{
return new BoaGroup();
}
} }
@@ -3,6 +3,7 @@ package com.yunhai.bschclassmanage.service.impl;
import com.yunhai.bschclassmanage.annotation.OperationLog; import com.yunhai.bschclassmanage.annotation.OperationLog;
import com.yunhai.bschclassmanage.entity.SchStudent; import com.yunhai.bschclassmanage.entity.SchStudent;
import com.yunhai.bschclassmanage.model.constant.LogModule; import com.yunhai.bschclassmanage.model.constant.LogModule;
import com.yunhai.bschclassmanage.model.dto.SchStudentDTO;
import com.yunhai.bschclassmanage.model.dto.StuAbnormalStatusDTO; import com.yunhai.bschclassmanage.model.dto.StuAbnormalStatusDTO;
import com.yunhai.bschclassmanage.model.dto.StuTransferClassDTO; import com.yunhai.bschclassmanage.model.dto.StuTransferClassDTO;
import com.yunhai.bschclassmanage.model.vo.PageVO; import com.yunhai.bschclassmanage.model.vo.PageVO;
@@ -89,7 +90,7 @@ public class SchStudentService implements ISchStudentService {
@OperationLog(module = LogModule.STUDENT) @OperationLog(module = LogModule.STUDENT)
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public void saveStudent(UserContext.UserInfo user, SchStudentVO entityVO) { public void saveStudent(UserContext.UserInfo user, SchStudentDTO entityVO) {
infoService.saveStudent(user, entityVO); infoService.saveStudent(user, entityVO);
} }
@@ -5,6 +5,7 @@ import com.yunhai.bschclassmanage.entity.SchStudent;
import com.yunhai.bschclassmanage.enums.StuAbnormalStatus; import com.yunhai.bschclassmanage.enums.StuAbnormalStatus;
import com.yunhai.bschclassmanage.enums.TransferStatus; import com.yunhai.bschclassmanage.enums.TransferStatus;
import com.yunhai.bschclassmanage.enums.UserStatus; import com.yunhai.bschclassmanage.enums.UserStatus;
import com.yunhai.bschclassmanage.model.dto.SchStudentDTO;
import com.yunhai.bschclassmanage.model.entityField.EntityFieldNames; import com.yunhai.bschclassmanage.model.entityField.EntityFieldNames;
import com.yunhai.bschclassmanage.model.vo.SchStudentVO; import com.yunhai.bschclassmanage.model.vo.SchStudentVO;
import com.yunhai.bschclassmanage.utils.LogContextHolder; import com.yunhai.bschclassmanage.utils.LogContextHolder;
@@ -43,21 +44,21 @@ public class SchStudentInfoService {
/** /**
* 保存学生信息(新增或修改) * 保存学生信息(新增或修改)
*/ */
public void saveStudent(UserContext.UserInfo user, SchStudentVO entityVO) { public void saveStudent(UserContext.UserInfo user, SchStudentDTO entityDTO) {
// 1. 基础校验 // 1. 基础校验
if (entityVO == null) { if (entityDTO == null) {
throw new DException("学生数据不能为空"); throw new DException("学生数据不能为空");
} }
if (StringUtils.isBlank(entityVO.getName())) { if (StringUtils.isBlank(entityDTO.getName())) {
throw new DException("学生名称不能为空"); throw new DException("学生名称不能为空");
} }
Integer schId = user.getSchId(); Integer schId = user.getSchId();
String name = entityVO.getName(); String name = entityDTO.getName();
Integer id = entityVO.getId(); Integer id = entityDTO.getId();
Integer classId = entityVO.getClassId(); Integer classId = entityDTO.getClassId();
SchStudent entity = ModelMapperUtil.map(entityVO, SchStudent.class); SchStudent entity = ModelMapperUtil.map(entityDTO, SchStudent.class);
if (StringUtils.isNotBlank(entity.getStuClassNo())) { if (StringUtils.isNotBlank(entity.getStuClassNo())) {
try { try {
@@ -1,25 +1,124 @@
package com.yunhai.bschclassmanage.service.impl.sync; package com.yunhai.bschclassmanage.service.impl.sync;
import com.yunhai.bschclassmanage.entity.SchTeacher;
import com.yunhai.bschclassmanage.enums.NodeType;
import com.yunhai.bschclassmanage.enums.UserRole;
import com.yunhai.bschclassmanage.enums.UserType;
import com.yunhai.bschclassmanage.model.dto.SchStudentDTO;
import com.yunhai.bschclassmanage.model.dto.SchTeacherDTO;
import com.yunhai.bschclassmanage.model.vo.SchStudentVO;
import com.yunhai.bschclassmanage.service.ISyncUserBaseService; import com.yunhai.bschclassmanage.service.ISyncUserBaseService;
import com.yunhai.bschclassmanage.utils.OtherUtil;
import com.yunhai.platform.openapi.client.YschBaseOpenApi;
import com.yunhai.platform.openapi.model.SysGroupRequest;
import com.yunhai.platform.openapi.model.SysUserMoveRequest;
import com.yunhai.platform.openapi.model.SysUserRequest;
import com.yunhai.platform.utils.exception.DException;
import com.yunhai.platform.utils.model.BoaGroup; import com.yunhai.platform.utils.model.BoaGroup;
import com.yunhai.platform.utils.model.BoaUser; import com.yunhai.platform.utils.model.BoaUser;
import org.apache.commons.lang3.StringUtils;
import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.List;
public class SyncUserBaseService implements ISyncUserBaseService { public class SyncUserBaseService implements ISyncUserBaseService {
public BoaGroup addGroup(){ public BoaGroup addGroup(String name,Integer parentId,Integer sort, NodeType type){
SysGroupRequest group=new SysGroupRequest();
return new BoaGroup(); group.setName(name);
group.setParentId(parentId);
group.setSort(sort);
group.setType(type.getId());
return YschBaseOpenApi.addGroup(group);
} }
public void deleteGroup(){
public void editGroup(Integer id,String name,Integer parentId,Integer sort, NodeType type){
SysGroupRequest group=new SysGroupRequest();
group.setName(name);
group.setParentId(parentId);
group.setSort(sort);
group.setType(type.getId());
YschBaseOpenApi.editGroup(id,group);
} }
public BoaUser addUserList(){ public void deleteGroup(Integer id){
return new BoaUser(); YschBaseOpenApi.deleteGroup(id);
} }
public void deleteUserList(){
public BoaUser addTeacher(SchTeacherDTO teacher){
SysUserRequest user=new SysUserRequest();
user.setAccount(teacher.getAccount());
user.setRealName(teacher.getName());
user.setGender(teacher.getGender());
user.setIdcard(teacher.getIdCard());
user.setPhone(teacher.getTel());
user.setGroupId(teacher.getGroupId());
user.setRoles(Arrays.asList(UserRole.TEACHER_USER.getValue()));
if (StringUtils.isNotBlank(teacher.getPwd())) {
user.setPassword(teacher.getPwd());
}
return YschBaseOpenApi.addUser(user);
}
public BoaUser addStudent(SchStudentDTO student){
SysUserRequest user=new SysUserRequest();
user.setAccount(student.getAccount());
user.setRealName(student.getName());
user.setGender(student.getGender());
user.setIdcard(student.getIdCard());
user.setGroupId(student.getGroupId());
user.setRoles(Arrays.asList(UserRole.STU_USER.getValue()));
if (StringUtils.isNotBlank(student.getPwd())) {
user.setPassword(student.getPwd());
}
return YschBaseOpenApi.addUser(user);
}
public BoaUser editTeacher(SchTeacherDTO teacher){
if (teacher.getTeaId()==null||teacher.getTeaId()<=0){
throw new DException("教师Id不允许为null");
}
SysUserRequest user=new SysUserRequest();
user.setAccount(teacher.getAccount());
user.setRealName(teacher.getName());
user.setGender(teacher.getGender());
user.setIdcard(teacher.getIdCard());
user.setPhone(teacher.getTel());
user.setGroupId(teacher.getGroupId());
user.setRoles(Arrays.asList(UserRole.TEACHER_USER.getValue()));
if (StringUtils.isNotBlank(teacher.getPwd())) {
user.setPassword(teacher.getPwd());
}
return YschBaseOpenApi.editUser(teacher.getTeaId(),user);
}
public void deleteTeacherList(List<SchTeacherDTO> teacherList){
for (SchTeacherDTO teacher :teacherList) {
YschBaseOpenApi.deleteUser(teacher.getTeaId(),teacher.getGroupId());
} }
} }
// public void moveTeachertToGroup(List<SchTeacherDTO> teacherList){
// for (SchTeacherDTO teacher :teacherList) {
// SysUserMoveRequest move=new SysUserMoveRequest();
// move.setUserId();
// move.setGroupId();
// move.setSchoolId();
// YschBaseOpenApi.moveUserToGroup(teacher.getTeaId(),teacher.getGroupId());
// }
// }
//
// public void moveStudentToGroup(List<SchTeacherDTO> teacherList){
// for (SchTeacherDTO teacher :teacherList) {
// SysUserMoveRequest move=new SysUserMoveRequest();
// move.setUserId();
// move.setGroupId();
// move.setSchoolId();
// YschBaseOpenApi.moveUserToGroup(teacher.getTeaId(),teacher.getGroupId());
// }
// }
}
@@ -10,10 +10,12 @@ import com.yunhai.bschclassmanage.enums.UserStatus;
import com.yunhai.bschclassmanage.model.dto.SchTeacherDTO; import com.yunhai.bschclassmanage.model.dto.SchTeacherDTO;
import com.yunhai.bschclassmanage.model.entityField.EntityFieldNames; import com.yunhai.bschclassmanage.model.entityField.EntityFieldNames;
import com.yunhai.bschclassmanage.service.IComSchTreeService; import com.yunhai.bschclassmanage.service.IComSchTreeService;
import com.yunhai.bschclassmanage.service.ISyncUserBaseService;
import com.yunhai.bschclassmanage.utils.LogContextHolder; import com.yunhai.bschclassmanage.utils.LogContextHolder;
import com.yunhai.bschclassmanage.utils.OtherUtil; import com.yunhai.bschclassmanage.utils.OtherUtil;
import com.yunhai.bschclassmanage.utils.UserContext; import com.yunhai.bschclassmanage.utils.UserContext;
import com.yunhai.platform.utils.exception.DException; import com.yunhai.platform.utils.exception.DException;
import com.yunhai.platform.utils.model.BoaUser;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
@@ -46,6 +48,9 @@ public class SchTeacherInfoService {
@Autowired @Autowired
private SchTeacherCacheService cacheService; private SchTeacherCacheService cacheService;
@Autowired
private ISyncUserBaseService syncUserBaseService;
@Autowired @Autowired
private SchTeacherLogService logService; // 用于构建日志描述 private SchTeacherLogService logService; // 用于构建日志描述
@@ -89,7 +94,9 @@ public class SchTeacherInfoService {
SchTeacher teacher = new SchTeacher(); SchTeacher teacher = new SchTeacher();
BeanUtils.copyProperties(dto, teacher); BeanUtils.copyProperties(dto, teacher);
savedTeacher = schTeacherRepository.save(teacher); savedTeacher = schTeacherRepository.save(teacher);
Integer generatedId = savedTeacher.getId();
BoaUser syncTeacher= syncUserBaseService.addTeacher(dto);
Integer generatedId = syncTeacher.getId();
savedTeacher.setTeaId(generatedId); savedTeacher.setTeaId(generatedId);
savedTeacher = schTeacherRepository.save(savedTeacher); savedTeacher = schTeacherRepository.save(savedTeacher);
@@ -135,6 +142,7 @@ public class SchTeacherInfoService {
EntityFieldNames.createUserId, EntityFieldNames.createUserId,
EntityFieldNames.status EntityFieldNames.status
); );
syncUserBaseService.editTeacher(dto);
schTeacherRepository.save(existing); schTeacherRepository.save(existing);
savedTeacher = existing; savedTeacher = existing;
} }