Prechádzať zdrojové kódy

Merge branch 'feature/0721-tenant' of http://git.dayaedu.com/yonge/cooleshow into feature/0721-tenant

liujc 1 rok pred
rodič
commit
87a45ee19b

+ 1 - 1
cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/config/ResourceServerConfig.java

@@ -32,7 +32,7 @@ public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
 				"/user/noAuth/queryUserByPhone",
 				"/user/queryUserByPhone",
 				"/user/add",
-				"/user/queryUserById/*").hasIpAddress("0.0.0.0/0")
+				"/user/queryUserById/*","/user/getTenantByClient").hasIpAddress("0.0.0.0/0")
 				.anyRequest().authenticated().and().httpBasic();
 	}
 

+ 1 - 1
cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/config/WebSecurityConfig.java

@@ -70,7 +70,7 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
 				// 请求授权
 				.authorizeRequests()// 不需要权限认证的url
 				.antMatchers("/usernameLogin","/smsLogin", "/refreshToken",
-						"/getQRLoginCode","/pollingQRLoginCode","/v2/api-docs","/user/getTenantByClient").permitAll()// 任何请求
+						"/getQRLoginCode","/pollingQRLoginCode","/v2/api-docs").permitAll()// 任何请求
 				.anyRequest()// 需要身份认证
 				.authenticated().and()// 关闭跨站请求防护
 				.csrf().disable();

+ 24 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TeacherServiceImpl.java

@@ -456,6 +456,16 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
             teacher = getTeacherDetil(teacher, teacherSubmitReq);
             baseMapper.insert(teacher);
 
+            // 机构老师与学生互加好友关系
+            if (Optional.ofNullable(teacher.getTenantId()).orElse(-1L) > 0) {
+                // 自动与机构老师成为好友
+                Set<Long> collect = studentService.lambdaQuery()
+                        .eq(Student::getTenantId, teacher.getTenantId()).list().stream()
+                        .map(Student::getUserId).collect(Collectors.toSet());
+
+                imUserFriendService.saveUserFriend(teacher.getUserId(), collect);
+            }
+
             //插入老师账户表
             UserAccount oldAcc = userAccountService.getById(teacherSubmitReq.getUserId());
             if (null == oldAcc) {
@@ -936,6 +946,7 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
         }
         Long oldTenantId = teacher.getTenantId();
         if (oldTenantId != -1L) {
+            // 机构老师处理流程
             List<ImGroup> imGroups = imGroupService.lambdaQuery()
                     .eq(ImGroup::getCreateBy, teacher.getUserId())
                     .eq(ImGroup::getType, ImGroupType.ORG)
@@ -947,8 +958,21 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
                     log.error("老师修改机构,解散机构群失败:{}", e.getMessage());
                 }
             });
+            // 删除好友关系
             imUserFriendService.delFriendByTenantId(teacher.getTenantId(), teacher.getUserId());
+
+            // 机构老师与学生互加好友关系
+            if (Optional.ofNullable(teacher.getTenantId()).orElse(-1L) > 0) {
+                // 自动与机构老师成为好友
+                Set<Long> collect = studentService.lambdaQuery()
+                        .eq(Student::getTenantId, updateTenant.getTenantId()).list().stream()
+                        .map(Student::getUserId).collect(Collectors.toSet());
+
+                imUserFriendService.saveUserFriend(teacher.getUserId(), collect);
+            }
         }else {
+
+            // 平台老师处理流程
             if (ESettlementFrom.TENANT.equals(teacher.getSettlementFrom())) {
                 // 解绑后,结算方式如果是机构,默认调整为老师
                 teacher.setSettlementFrom(ESettlementFrom.TEACHER);