From 27f00b61ffe71eaa08a906747aafe8dfcbd38faa Mon Sep 17 00:00:00 2001 From: wanghu Date: Wed, 19 Aug 2026 17:50:19 +0800 Subject: [PATCH] synclog --- pom.xml | 16 +++++++ .../bschclassmanage/enums/SyncDataType.java | 45 +++++++++++++++++++ .../service/ISyncUserBaseService.java | 4 +- .../impl/student/SchStudentInfoService.java | 2 +- .../impl/sync/SyncUserBaseService.java | 42 ++++++++++++----- .../impl/teacher/SchTeacherInfoService.java | 2 +- src/main/resources/application.yml | 1 + 7 files changed, 97 insertions(+), 15 deletions(-) create mode 100644 src/main/java/com/yunhai/bschclassmanage/enums/SyncDataType.java diff --git a/pom.xml b/pom.xml index bd3f0eb..09241d0 100644 --- a/pom.xml +++ b/pom.xml @@ -220,6 +220,22 @@ + + org.apache.maven.plugins + maven-compiler-plugin + + + + + org.projectlombok + lombok + 1.18.36 + + + + org.springframework.boot spring-boot-maven-plugin diff --git a/src/main/java/com/yunhai/bschclassmanage/enums/SyncDataType.java b/src/main/java/com/yunhai/bschclassmanage/enums/SyncDataType.java new file mode 100644 index 0000000..34d685e --- /dev/null +++ b/src/main/java/com/yunhai/bschclassmanage/enums/SyncDataType.java @@ -0,0 +1,45 @@ +package com.yunhai.bschclassmanage.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +import java.util.ArrayList; +import java.util.EnumSet; +import java.util.List; + +@Getter +@AllArgsConstructor +public enum SyncDataType +{ + //同步 + SYNC_ADD_GROUP("Sync-AddGroup","添加组"), + SYNC_EDIT_GROUP("Sync-UpdateGroup","编辑组"), + SYNC_DELETE_GROUP("Sync-DeleteGroup","删除组"), + SYNC_GROUP("Sync-SyncGroup","全量组"), + + SYNC_ADD_USER("Sync-AddUser","添加用户"), + SYNC_EDIT_USER("Sync-UpdateUser","编辑用户"), + SYNC_DELETE_USER("Sync-DeleteUser","删除用户"), + SYNC_USER("Sync-SyncUser","全量用户"), + + //推送 + SEND_ADD_GROUP("Send-AddGroup","添加组"), + SEND_EDIT_GROUP("Send-EditGroup","编辑组"), + SEND_DELETE_GROUP("Send-DeleteGroup","删除组"), + + SEND_ADD_TEACHER("Send-AddTeaacher","添加教师"), + SEND_EDIT_TEACHER("Send-UpdateTeaacher","编辑教师"), + SEND_DELETE_TEACHER("Send-DeleteTeaacher","删除教师"), + + SEND_ADD_STUDENT("Send-AddStudent","添加学生"), + SEND_EDIT_STUDENT("Send-UpdateStudent","编辑学生"), + SEND_DELETE_STUDENT("Send-DeleteStudent","删除学生"); + + private String key; + private String name; + + public static List list() + { + return new ArrayList<>(EnumSet.allOf(SyncDataType.class)); + } +} diff --git a/src/main/java/com/yunhai/bschclassmanage/service/ISyncUserBaseService.java b/src/main/java/com/yunhai/bschclassmanage/service/ISyncUserBaseService.java index e2b9e7e..a7915a5 100644 --- a/src/main/java/com/yunhai/bschclassmanage/service/ISyncUserBaseService.java +++ b/src/main/java/com/yunhai/bschclassmanage/service/ISyncUserBaseService.java @@ -28,5 +28,7 @@ public interface ISyncUserBaseService { BoaUser editStudent(SchStudent student, String pwd); - void deleteUsers(List userIds,Integer groupId); + void deleteTeacher(List userIds,Integer groupId); + + void deleteStudent(List userIds,Integer groupId); } 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 22b760e..c550938 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 @@ -184,7 +184,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.deleteUsers(stuIds, classId); + syncUserBaseService.deleteStudent(stuIds, classId); } } } diff --git a/src/main/java/com/yunhai/bschclassmanage/service/impl/sync/SyncUserBaseService.java b/src/main/java/com/yunhai/bschclassmanage/service/impl/sync/SyncUserBaseService.java index 49ac2e9..c63aa6e 100644 --- a/src/main/java/com/yunhai/bschclassmanage/service/impl/sync/SyncUserBaseService.java +++ b/src/main/java/com/yunhai/bschclassmanage/service/impl/sync/SyncUserBaseService.java @@ -8,8 +8,11 @@ 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.platform.openapi.client.YschBaseOpenApi; import com.yunhai.platform.openapi.model.SysGroupRequest; import com.yunhai.platform.openapi.model.SysUserMoveRequest; @@ -27,7 +30,8 @@ import java.util.List; @Service public class SyncUserBaseService implements ISyncUserBaseService { - public BoaGroup addGroup(String name,Integer parentId,Integer sort, NodeType type){ + @SyncOpLog(SyncDataType.SEND_EDIT_GROUP) + public BoaGroup addGroup(String name, Integer parentId, Integer sort, NodeType type){ SysGroupRequest group=new SysGroupRequest(); group.setName(name); group.setParentId(parentId); @@ -37,6 +41,7 @@ public class SyncUserBaseService implements ISyncUserBaseService { } + @SyncOpLog(SyncDataType.SEND_EDIT_GROUP) public void editGroup(Integer id,String name,Integer parentId,Integer sort, NodeType type){ SysGroupRequest group=new SysGroupRequest(); group.setName(name); @@ -46,27 +51,30 @@ public class SyncUserBaseService implements ISyncUserBaseService { YschBaseOpenApi.editGroup(id,group); } + //@@SyncOpLog(SyncDataType.SEND_DELETE_GROUP) public void deleteGroup(Integer id){ YschBaseOpenApi.deleteGroup(id); } + //@@SyncOpLog(SyncDataType.SEND_ADD_TEACHER) public BoaUser addTeacher(SchTeacher teacher,String pwd, Integer groupId){ - 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(groupId); + SysUserRequest sysUser=new SysUserRequest(); + sysUser.setAccount(teacher.getAccount()); + sysUser.setRealName(teacher.getName()); + sysUser.setGender(teacher.getGender()); + sysUser.setIdcard(teacher.getIdCard()); + sysUser.setPhone(teacher.getTel()); + sysUser.setGroupId(groupId); - user.setRoles(Arrays.asList(UserRole.TEACHER_USER.getValue())); + sysUser.setRoles(Arrays.asList(UserRole.TEACHER_USER.getValue())); if (StringUtils.isNotBlank(pwd)) { - user.setPassword(pwd); + sysUser.setPassword(pwd); } - return YschBaseOpenApi.addUser(user); + return YschBaseOpenApi.addUser(sysUser); } + //@@SyncOpLog(SyncDataType.SEND_ADD_STUDENT) public BoaUser addStudent(SchStudent student,String pwd){ SysUserRequest user=new SysUserRequest(); user.setAccount(student.getAccount()); @@ -81,6 +89,7 @@ public class SyncUserBaseService implements ISyncUserBaseService { return YschBaseOpenApi.addUser(user); } + //@@SyncOpLog(SyncDataType.SEND_EDIT_TEACHER) public BoaUser editTeacher(SchTeacher teacher,String pwd, Integer groupId){ if (teacher.getTeaId()==null||teacher.getTeaId()<=0){ throw new DException("教师Id不允许为null"); @@ -99,6 +108,7 @@ public class SyncUserBaseService implements ISyncUserBaseService { return YschBaseOpenApi.editUser(teacher.getTeaId(),user); } + //@@SyncOpLog(SyncDataType.SEND_EDIT_STUDENT) public BoaUser editStudent(SchStudent student,String pwd){ if (student.getStuId()==null||student.getStuId()<=0){ throw new DException("学生Id不允许为null"); @@ -117,7 +127,15 @@ public class SyncUserBaseService implements ISyncUserBaseService { } - public void deleteUsers(List userIds,Integer groupId){ + //@@SyncOpLog(SyncDataType.SEND_DELETE_TEACHER) + public void deleteTeacher(List userIds,Integer groupId){ + for (Integer userId :userIds) { + YschBaseOpenApi.deleteUser(userId,groupId); + } + } + + //@@SyncOpLog(SyncDataType.SEND_DELETE_STUDENT) + public void deleteStudent(List userIds,Integer groupId){ for (Integer userId :userIds) { YschBaseOpenApi.deleteUser(userId,groupId); } 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 e57a4cc..b4d4364 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 @@ -205,7 +205,7 @@ public class SchTeacherInfoService { if (!teaIds.isEmpty()) { // 异步记录删除日志(由 LogService 处理) logService.deleteTeacherLogs(user, teachers,groupName); - syncUserBaseService.deleteTeachers(teaIds,groupId); + syncUserBaseService.deleteTeacher(teaIds,groupId); schTeacherGroupRepository.deleteByGroupIdAndTeaIds(teaIds,groupId); } diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 1acc19b..3b2bcde 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -83,6 +83,7 @@ yh: enabled: true base-host: http://base.yunhaixingtong.com user-center-url: http://base.yunhaixingtong.com/userbase + group-center-url: http://base.yunhaixingtong.com/userbase FILE_PATH: D://工作区/JAVA/bsch/