open api 接口对接修改

This commit is contained in:
2026-08-19 21:39:54 +08:00
parent 300cbb807b
commit 833d3c6c2c
5 changed files with 41 additions and 36 deletions
@@ -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<Integer> userIds,Integer groupId);
void deleteTeachers(List<Integer> userIds,Integer groupId,Integer schId);
void deleteStudent(List<Integer> userIds,Integer groupId);
void deleteStudents(List<Integer> userIds,Integer groupId,Integer schId);
}
@@ -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;
@@ -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<Integer> userIds,Integer groupId){
public void deleteTeachers(List<Integer> userIds,Integer groupId,Integer schId){
List<SysUserGroupDeleteItem> 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<Integer> userIds,Integer groupId){
public void deleteStudents(List<Integer> userIds,Integer groupId,Integer schId){
List<SysUserGroupDeleteItem> 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);
}
}
@@ -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<Integer> 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());
}
}
}
@@ -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);
}