From 833d3c6c2c353ada40bc1092282c0a08d3860f5f Mon Sep 17 00:00:00 2001 From: wanghu Date: Wed, 19 Aug 2026 21:39:54 +0800 Subject: [PATCH] =?UTF-8?q?open=20api=20=E6=8E=A5=E5=8F=A3=E5=AF=B9?= =?UTF-8?q?=E6=8E=A5=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...Service.java => ISendUserBaseService.java} | 6 +-- .../service/impl/SchBinSchsystemService.java | 6 +-- .../service/impl/com/SendUserBaseService.java | 42 ++++++++++++------- .../impl/student/SchStudentInfoService.java | 12 +++--- .../impl/teacher/SchTeacherInfoService.java | 11 +++-- 5 files changed, 41 insertions(+), 36 deletions(-) rename src/main/java/com/yunhai/bschclassmanage/service/{ISyncUserBaseService.java => ISendUserBaseService.java} (84%) diff --git a/src/main/java/com/yunhai/bschclassmanage/service/ISyncUserBaseService.java b/src/main/java/com/yunhai/bschclassmanage/service/ISendUserBaseService.java similarity index 84% rename from src/main/java/com/yunhai/bschclassmanage/service/ISyncUserBaseService.java rename to src/main/java/com/yunhai/bschclassmanage/service/ISendUserBaseService.java index a7915a5..e281cb0 100644 --- a/src/main/java/com/yunhai/bschclassmanage/service/ISyncUserBaseService.java +++ b/src/main/java/com/yunhai/bschclassmanage/service/ISendUserBaseService.java @@ -14,7 +14,7 @@ import org.springframework.stereotype.Service; import java.util.List; @Service -public interface ISyncUserBaseService { +public interface ISendUserBaseService { BoaGroup addGroup(String name,Integer parentId,Integer sort, NodeType type); @@ -28,7 +28,7 @@ public interface ISyncUserBaseService { BoaUser editStudent(SchStudent student, String pwd); - void deleteTeacher(List userIds,Integer groupId); + void deleteTeachers(List userIds,Integer groupId,Integer schId); - void deleteStudent(List userIds,Integer groupId); + void deleteStudents(List userIds,Integer groupId,Integer schId); } diff --git a/src/main/java/com/yunhai/bschclassmanage/service/impl/SchBinSchsystemService.java b/src/main/java/com/yunhai/bschclassmanage/service/impl/SchBinSchsystemService.java index 1f3868c..0bc6050 100644 --- a/src/main/java/com/yunhai/bschclassmanage/service/impl/SchBinSchsystemService.java +++ b/src/main/java/com/yunhai/bschclassmanage/service/impl/SchBinSchsystemService.java @@ -11,10 +11,9 @@ import com.yunhai.bschclassmanage.model.vo.AcademicStageSchsystemVO; import com.yunhai.bschclassmanage.model.vo.SchSystemVO; import com.yunhai.bschclassmanage.model.vo.SelectIntVO; 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.service.ISendUserBaseService; import com.yunhai.bschclassmanage.utils.RedisConstants; import com.yunhai.bschclassmanage.utils.RedisUtil; import com.yunhai.platform.utils.exception.DException; @@ -26,7 +25,6 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.persistence.criteria.Predicate; -import java.lang.reflect.Array; import java.util.*; import java.util.stream.Collectors; @@ -40,7 +38,7 @@ public class SchBinSchsystemService implements ISchBinSchsystemService { private IBaseSchsystemService baseSchsystemService; @Autowired - private ISyncUserBaseService syncUserBaseService; + private ISendUserBaseService syncUserBaseService; @Autowired private RedisUtil redisUtil; diff --git a/src/main/java/com/yunhai/bschclassmanage/service/impl/com/SendUserBaseService.java b/src/main/java/com/yunhai/bschclassmanage/service/impl/com/SendUserBaseService.java index 3743ceb..fc4fb1a 100644 --- a/src/main/java/com/yunhai/bschclassmanage/service/impl/com/SendUserBaseService.java +++ b/src/main/java/com/yunhai/bschclassmanage/service/impl/com/SendUserBaseService.java @@ -4,18 +4,12 @@ import com.yunhai.bschclassmanage.entity.SchStudent; 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.annotation.SyncOpLog; import com.yunhai.bschclassmanage.enums.SyncDataType; -import com.yunhai.bschclassmanage.service.ISyncUserBaseService; -import com.yunhai.bschclassmanage.utils.OtherUtil; -import com.yunhai.bschclassmanage.utils.UserContext; +import com.yunhai.bschclassmanage.service.ISendUserBaseService; 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.SysUserGroupDeleteItem; import com.yunhai.platform.openapi.model.SysUserRequest; import com.yunhai.platform.utils.exception.DException; import com.yunhai.platform.utils.model.BoaGroup; @@ -23,13 +17,13 @@ import com.yunhai.platform.utils.model.BoaUser; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; -import java.lang.reflect.Array; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; //SendUserBase @Service -public class SendUserBaseService implements ISyncUserBaseService { +public class SendUserBaseService implements ISendUserBaseService { @SyncOpLog(SyncDataType.SEND_EDIT_GROUP) public BoaGroup addGroup(String name, Integer parentId, Integer sort, NodeType type){ @@ -53,8 +47,8 @@ public class SendUserBaseService implements ISyncUserBaseService { } @SyncOpLog(SyncDataType.SEND_DELETE_GROUP) - public void deleteGroup(Integer id){ - YschBaseOpenApi.deleteGroup(id); + public void deleteGroup(Integer id,Integer schId){ + YschBaseOpenApi.deleteGroup(id,schId); } @@ -131,16 +125,32 @@ public class SendUserBaseService implements ISyncUserBaseService { @SyncOpLog(SyncDataType.SEND_DELETE_TEACHER) - public void deleteTeacher(List userIds,Integer groupId){ + public void deleteTeachers(List userIds,Integer groupId,Integer schId){ + List deletes=new ArrayList<>(); for (Integer userId :userIds) { - YschBaseOpenApi.deleteUser(userId,groupId); + SysUserGroupDeleteItem userGroup=new SysUserGroupDeleteItem(); + userGroup.setGroupId(groupId); + userGroup.setSchoolId(schId); + userGroup.setUserId(userId); + } + if(deletes!=null&&deletes.size()>0) + { + YschBaseOpenApi.deleteUsers(deletes); } } @SyncOpLog(SyncDataType.SEND_DELETE_STUDENT) - public void deleteStudent(List userIds,Integer groupId){ + public void deleteStudents(List userIds,Integer groupId,Integer schId){ + List deletes=new ArrayList<>(); for (Integer userId :userIds) { - YschBaseOpenApi.deleteUser(userId,groupId); + SysUserGroupDeleteItem userGroup=new SysUserGroupDeleteItem(); + userGroup.setGroupId(groupId); + userGroup.setSchoolId(schId); + userGroup.setUserId(userId); + } + if(deletes!=null&&deletes.size()>0) + { + YschBaseOpenApi.deleteUsers(deletes); } } diff --git a/src/main/java/com/yunhai/bschclassmanage/service/impl/student/SchStudentInfoService.java b/src/main/java/com/yunhai/bschclassmanage/service/impl/student/SchStudentInfoService.java index c550938..fd93a4f 100644 --- a/src/main/java/com/yunhai/bschclassmanage/service/impl/student/SchStudentInfoService.java +++ b/src/main/java/com/yunhai/bschclassmanage/service/impl/student/SchStudentInfoService.java @@ -7,8 +7,7 @@ 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.service.ISyncUserBaseService; +import com.yunhai.bschclassmanage.service.ISendUserBaseService; import com.yunhai.bschclassmanage.utils.LogContextHolder; import com.yunhai.bschclassmanage.utils.ModelMapperUtil; import com.yunhai.bschclassmanage.utils.OtherUtil; @@ -38,9 +37,8 @@ public class SchStudentInfoService { @Autowired private SchStudentCacheService cacheService; - @Autowired - private ISyncUserBaseService syncUserBaseService; + private ISendUserBaseService sendUserBaseService; @Autowired private SchStudentLogService logService; @@ -106,7 +104,7 @@ public class SchStudentInfoService { entity.setStatus(UserStatus.NORMAL.getId()); OtherUtil.setBaseEntityValue(user, entity); - BoaUser boaStudent= syncUserBaseService.addStudent(entity,entityDTO.getPwd()); + BoaUser boaStudent= sendUserBaseService.addStudent(entity,entityDTO.getPwd()); entity.setGroupId( boaStudent.getId()); savedEntity = schStudentRepository.save(entity); @@ -123,7 +121,7 @@ public class SchStudentInfoService { EntityFieldNames.createDate, EntityFieldNames.createUserId); - syncUserBaseService.editStudent(existingForUpdate,entityDTO.getPwd()); + sendUserBaseService.editStudent(existingForUpdate,entityDTO.getPwd()); savedEntity = schStudentRepository.save(existingForUpdate); // 将保存后的ID回传给entity(用于返回) entity.setId(savedEntity.getId()); @@ -184,7 +182,7 @@ public class SchStudentInfoService { for (Integer classId:classIds) { List stuIds=students.stream().filter(s->s.getClassId().equals(classId)).map(s->s.getStuId()).collect(Collectors.toList()); if(stuIds.size()>0){ - syncUserBaseService.deleteStudent(stuIds, classId); + sendUserBaseService.deleteStudents(stuIds, classId,user.getSchId()); } } } diff --git a/src/main/java/com/yunhai/bschclassmanage/service/impl/teacher/SchTeacherInfoService.java b/src/main/java/com/yunhai/bschclassmanage/service/impl/teacher/SchTeacherInfoService.java index f393f7a..83a4189 100644 --- a/src/main/java/com/yunhai/bschclassmanage/service/impl/teacher/SchTeacherInfoService.java +++ b/src/main/java/com/yunhai/bschclassmanage/service/impl/teacher/SchTeacherInfoService.java @@ -10,7 +10,7 @@ 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.service.ISendUserBaseService; import com.yunhai.bschclassmanage.utils.LogContextHolder; import com.yunhai.bschclassmanage.utils.OtherUtil; import com.yunhai.bschclassmanage.utils.UserContext; @@ -22,7 +22,6 @@ import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.lang.reflect.Array; import java.util.*; import java.util.stream.Collectors; @@ -49,7 +48,7 @@ public class SchTeacherInfoService { private SchTeacherCacheService cacheService; @Autowired - private ISyncUserBaseService syncUserBaseService; + private ISendUserBaseService sendUserBaseService; @Autowired private SchTeacherLogService logService; // 用于构建日志描述 @@ -96,7 +95,7 @@ public class SchTeacherInfoService { // 先推送基础平台,拿到 teaId 后一次性落库,避免重复 save 产生两条教师记录; // 同时推送失败也不会留下 teaId 为空的脏数据。 - BoaUser syncTeacher = syncUserBaseService.addTeacher(teacher, dto.getPwd(), dto.getGroupId()); + BoaUser syncTeacher = sendUserBaseService.addTeacher(teacher, dto.getPwd(), dto.getGroupId()); teacher.setTeaId(syncTeacher.getId()); savedTeacher = schTeacherRepository.save(teacher); @@ -142,7 +141,7 @@ public class SchTeacherInfoService { EntityFieldNames.createUserId, EntityFieldNames.status ); - syncUserBaseService.editTeacher(existing,dto.getPwd(),dto.getGroupId()); + sendUserBaseService.editTeacher(existing,dto.getPwd(),dto.getGroupId()); schTeacherRepository.save(existing); savedTeacher = existing; } @@ -205,7 +204,7 @@ public class SchTeacherInfoService { if (!teaIds.isEmpty()) { // 异步记录删除日志(由 LogService 处理) logService.deleteTeacherLogs(user, teachers,groupName); - syncUserBaseService.deleteTeacher(teaIds,groupId); + sendUserBaseService.deleteTeachers(teaIds,groupId,schId); schTeacherGroupRepository.deleteByGroupIdAndTeaIds(teaIds,groupId); }