取消全部

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.entity.SchClass;
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.StuTransferClassDTO;
import com.yunhai.bschclassmanage.model.excel.ImportRuleExcelColumn;
@@ -94,7 +95,7 @@ public class SchStudentController extends BaseController {
@PostMapping("save")
public void saveStudent(@Valid @RequestBody SchStudentVO model) {
public void saveStudent(@Valid @RequestBody SchStudentDTO 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 = "至少选择一个组")
private Integer groupId;
private String pwd;
}
@@ -5,6 +5,7 @@ import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;
@@ -17,9 +18,8 @@ import java.util.Date;
* @Description:
*/
@Data
@Builder
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
public class SchStudentVO {
private Integer id;
@@ -37,5 +37,4 @@ public interface ISchBinSchsystemService {
Map<Integer, String> getSchBinSchsystemMap(Integer schId);
}
@@ -1,6 +1,7 @@
package com.yunhai.bschclassmanage.service;
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.StuTransferClassDTO;
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);
void saveStudent(UserContext.UserInfo user, SchStudentVO entity);
void saveStudent(UserContext.UserInfo user, SchStudentDTO entity);
void deleteStudent(UserContext.UserInfo user, String ids);
@@ -1,5 +1,8 @@
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.SyncUserDTO;
import com.yunhai.platform.utils.model.BoaGroup;
@@ -11,17 +14,17 @@ import java.util.List;
@Service
public interface ISyncUserBaseService {
// BoaGroup addGroup();
//
// void deleteGroup(List<Integer> ids);
//
// BoaUser addUser(BoaUser user);
//
// void updateUser(BoaUser user);
//
// List<BoaUser> addUserList(List<BoaUser> user);
//
// void updateUserList(List<BoaUser> user);
//
// void deleteUserList(List<Integer> ids);
BoaGroup addGroup(String name,Integer parentId,Integer sort, NodeType type);
void editGroup(Integer id,String name,Integer parentId,Integer sort, NodeType type);
BoaUser addTeacher(SchTeacherDTO teacher);
BoaUser addStudent(SchStudentDTO student);
BoaUser editTeacher(SchTeacherDTO teacher);
void deleteTeacherList(List<SchTeacherDTO> teacherList);
}
@@ -14,6 +14,7 @@ import com.yunhai.bschclassmanage.model.vo.TreeSelectVO;
import com.yunhai.bschclassmanage.service.IBaseSchsystemGradeService;
import com.yunhai.bschclassmanage.service.IBaseSchsystemService;
import com.yunhai.bschclassmanage.service.ISchBinSchsystemService;
import com.yunhai.bschclassmanage.service.ISyncUserBaseService;
import com.yunhai.bschclassmanage.utils.RedisConstants;
import com.yunhai.bschclassmanage.utils.RedisUtil;
import com.yunhai.platform.utils.exception.DException;
@@ -38,6 +39,8 @@ public class SchBinSchsystemService implements ISchBinSchsystemService {
@Autowired
private IBaseSchsystemService baseSchsystemService;
@Autowired
private ISyncUserBaseService syncUserBaseService;
@Autowired
private RedisUtil redisUtil;
@@ -133,9 +136,8 @@ public class SchBinSchsystemService implements ISchBinSchsystemService {
schBinSchsystemRepository.saveAll(newList);
}
String cacheKey = RedisConstants.SCHOOL_GRAGE+"_"+schId;
SchGroupInitialization(schId);
redisUtil.del(cacheKey);
}
@@ -239,14 +241,14 @@ public class SchBinSchsystemService implements ISchBinSchsystemService {
return list;
}
public void SchGroupInitialization(Integer schId)
private void SchGroupInitialization(Integer schId)
{
//添加学生组
BoaGroup teaGroup= CreateGroup(NodeType.TEACHER.getId(),"教师组",schId,1);
BoaGroup stuGroup= CreateGroup(NodeType.STUDENT.getId(),"学生组",schId,2);
BoaGroup teaGroup= syncUserBaseService.addGroup("教师组",schId,1,NodeType.TEACHER);
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);
@@ -259,7 +261,7 @@ public class SchBinSchsystemService implements ISchBinSchsystemService {
Integer scort=1;
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());
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.entity.SchStudent;
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.StuTransferClassDTO;
import com.yunhai.bschclassmanage.model.vo.PageVO;
@@ -89,7 +90,7 @@ public class SchStudentService implements ISchStudentService {
@OperationLog(module = LogModule.STUDENT)
@Transactional(rollbackFor = Exception.class)
@Override
public void saveStudent(UserContext.UserInfo user, SchStudentVO entityVO) {
public void saveStudent(UserContext.UserInfo user, SchStudentDTO 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.TransferStatus;
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.vo.SchStudentVO;
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. 基础校验
if (entityVO == null) {
if (entityDTO == null) {
throw new DException("学生数据不能为空");
}
if (StringUtils.isBlank(entityVO.getName())) {
if (StringUtils.isBlank(entityDTO.getName())) {
throw new DException("学生名称不能为空");
}
Integer schId = user.getSchId();
String name = entityVO.getName();
Integer id = entityVO.getId();
Integer classId = entityVO.getClassId();
String name = entityDTO.getName();
Integer id = entityDTO.getId();
Integer classId = entityDTO.getClassId();
SchStudent entity = ModelMapperUtil.map(entityVO, SchStudent.class);
SchStudent entity = ModelMapperUtil.map(entityDTO, SchStudent.class);
if (StringUtils.isNotBlank(entity.getStuClassNo())) {
try {
@@ -1,25 +1,124 @@
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.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.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 BoaGroup addGroup(){
return new BoaGroup();
public BoaGroup addGroup(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());
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(){
return new BoaUser();
public void deleteGroup(Integer id){
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.entityField.EntityFieldNames;
import com.yunhai.bschclassmanage.service.IComSchTreeService;
import com.yunhai.bschclassmanage.service.ISyncUserBaseService;
import com.yunhai.bschclassmanage.utils.LogContextHolder;
import com.yunhai.bschclassmanage.utils.OtherUtil;
import com.yunhai.bschclassmanage.utils.UserContext;
import com.yunhai.platform.utils.exception.DException;
import com.yunhai.platform.utils.model.BoaUser;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
@@ -46,6 +48,9 @@ public class SchTeacherInfoService {
@Autowired
private SchTeacherCacheService cacheService;
@Autowired
private ISyncUserBaseService syncUserBaseService;
@Autowired
private SchTeacherLogService logService; // 用于构建日志描述
@@ -89,7 +94,9 @@ public class SchTeacherInfoService {
SchTeacher teacher = new SchTeacher();
BeanUtils.copyProperties(dto, teacher);
savedTeacher = schTeacherRepository.save(teacher);
Integer generatedId = savedTeacher.getId();
BoaUser syncTeacher= syncUserBaseService.addTeacher(dto);
Integer generatedId = syncTeacher.getId();
savedTeacher.setTeaId(generatedId);
savedTeacher = schTeacherRepository.save(savedTeacher);
@@ -135,6 +142,7 @@ public class SchTeacherInfoService {
EntityFieldNames.createUserId,
EntityFieldNames.status
);
syncUserBaseService.editTeacher(dto);
schTeacherRepository.save(existing);
savedTeacher = existing;
}