Procházet zdrojové kódy

Merge branch 'feature/0721-tenant'

# Conflicts:
#	cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TeacherServiceImpl.java
#	cooleshow-user/user-biz/src/main/resources/config/mybatis/TenantActivationCodeMapper.xml
yuanliang před 1 rokem
rodič
revize
90af2e8dc5

+ 6 - 0
cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/core/provider/PhoneAuthenticationProvider.java

@@ -180,6 +180,12 @@ public class PhoneAuthenticationProvider extends AbstractAuthenticationProvider
                     throw new LockedException("用户已锁定");
                 }
 
+                // 同账号,用户信息存在的情况
+                if (Objects.nonNull(userInfo.getSysUser())) {
+                    // 自动添加系统默认IM帐号为好友,并自动发送通知消息
+                    sysUserService.sendSysCustomerServiceFriendMessage(userInfo.getSysUser(), clientId.toUpperCase());
+                }
+
                 if (StringUtils.isNotBlank(deviceNum)) {
                     sysUserDeviceService.bindDevice(clientId, user.getId(), deviceNum);
                 }

+ 25 - 22
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ImUserFriendServiceImpl.java

@@ -235,30 +235,33 @@ public class ImUserFriendServiceImpl extends ServiceImpl<ImUserFriendDao, ImUser
 
         // 添加新用户好友,客服默认为老师身份
         for (Long teacherId : friendIds) {
-
-            saveUserFriend(teacherId, Sets.newHashSet(userId));
+            if (ClientEnum.STUDENT == clientType) {
+                saveUserFriend(teacherId, Sets.newHashSet(userId));
+            } else if (ClientEnum.TEACHER == clientType) {
+                saveUserTeacherFriend(teacherId, Sets.newHashSet(userId));
+            }
 
             // 新注册用户为老师身份时,更新好友关系为老师身份
-            if (ClientEnum.TEACHER == clientType) {
-
-                // 更新我的身份信息
-                imUserFriendService.lambdaUpdate()
-                        .eq(ImUserFriend::getUserId, userId)
-                        .eq(ImUserFriend::getClientType, ClientEnum.STUDENT)
-                        .eq(ImUserFriend::getFriendId, teacherId)
-                        .eq(ImUserFriend::getFriendType, ClientEnum.TEACHER)
-                        .set(ImUserFriend::getClientType, ClientEnum.TEACHER)
-                        .update();
-
-                // 更新客服好友身份信息
-                imUserFriendService.lambdaUpdate()
-                        .eq(ImUserFriend::getUserId, teacherId)
-                        .eq(ImUserFriend::getClientType, ClientEnum.TEACHER)
-                        .eq(ImUserFriend::getFriendId, userId)
-                        .eq(ImUserFriend::getFriendType, ClientEnum.STUDENT)
-                        .set(ImUserFriend::getFriendType, ClientEnum.TEACHER)
-                        .update();
-            }
+//            if (ClientEnum.TEACHER == clientType) {
+//
+//                // 更新我的身份信息
+//                imUserFriendService.lambdaUpdate()
+//                        .eq(ImUserFriend::getUserId, userId)
+//                        .eq(ImUserFriend::getClientType, ClientEnum.STUDENT)
+//                        .eq(ImUserFriend::getFriendId, teacherId)
+//                        .eq(ImUserFriend::getFriendType, ClientEnum.TEACHER)
+//                        .set(ImUserFriend::getClientType, ClientEnum.TEACHER)
+//                        .update();
+//
+//                // 更新客服好友身份信息
+//                imUserFriendService.lambdaUpdate()
+//                        .eq(ImUserFriend::getUserId, teacherId)
+//                        .eq(ImUserFriend::getClientType, ClientEnum.TEACHER)
+//                        .eq(ImUserFriend::getFriendId, userId)
+//                        .eq(ImUserFriend::getFriendType, ClientEnum.STUDENT)
+//                        .set(ImUserFriend::getFriendType, ClientEnum.TEACHER)
+//                        .update();
+//            }
         }
 
         try {

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

@@ -406,6 +406,11 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
         //更新sys_user
         SysUser sysUser = employeeDao.querySysUserByPhone(teacherSubmitReq.getPhone());
         if (null == sysUser) {
+            //设置默认头像
+            if (StringUtil.isEmpty(teacherSubmitReq.getAvatar())) {
+                String defaultHeard = sysConfigService.findConfigValue(SysConfigConstant.TEACHER_AVATAR);
+                teacherSubmitReq.setAvatar(defaultHeard);
+            }
             sysUser = insertSysUser(teacherSubmitReq);
             teacherSubmitReq.setUserId(sysUser.getId());
         } else {
@@ -507,24 +512,6 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
             teacher = getTeacherDetil(teacher, teacherSubmitReq);
             baseMapper.insert(teacher);
 
-            // 导入IM账号到三方
-            try {
-                imGroupCoreService.register(String.valueOf(teacher.getUserId()), ClientEnum.TEACHER.getCode(),
-                        teacherSubmitReq.getUsername(), teacher.getAvatar());
-            } catch (Exception e) {
-                log.error("导入IM账号到三方 teacherId={}", teacher.getUserId(), e);
-            }
-
-            // 机构老师与学生互加好友关系
-//            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) {
@@ -540,7 +527,7 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
             if (!teacher.getTenantId().equals(teacherSubmitReq.getTenantId())) {
                 if (teacherSubmitReq.getTenantId().equals(-1L)) {
                     // 平台老师处理流程
-                    if (ESettlementFrom.TENANT.equals(teacher.getSettlementFrom())) {
+                    if (ESettlementFrom.TENANT.equals(teacherSubmitReq.getSettlementFrom())) {
                         // 解绑后,结算方式如果是机构,默认调整为老师
                         teacherSubmitReq.setSettlementFrom(ESettlementFrom.TEACHER);
                         teacherSubmitReq.setIsSettlement(true);
@@ -566,6 +553,13 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
             teacher.setAvatar(Optional.ofNullable(teacherSubmitReq.getAvatar()).orElse(teacher.getAvatar()));
             baseMapper.updateById(teacher);
         }
+        // 导入IM账号到三方
+        try {
+            imGroupCoreService.register(String.valueOf(teacher.getUserId()), ClientEnum.TEACHER.getCode(),
+                    teacherSubmitReq.getUsername(), teacher.getAvatar());
+        } catch (Exception e) {
+            log.error("导入IM账号到三方 teacherId={}", teacher.getUserId(), e);
+        }
 
         return teacher;
     }

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

@@ -328,6 +328,7 @@ public class TenantActivationCodeServiceImpl extends ServiceImpl<TenantActivatio
                 .in(TenantActivationCode::getId, idList)
                 .eq(TenantActivationCode::getActivationStatus, false)
                 .eq(TenantActivationCode::getSendStatus, EActivationCode.SEND)
+                .eq(TenantActivationCode::getTenantId,tenantInfo.getId())
                 .update();
 
     }

+ 1 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TenantUnbindRecordServiceImpl.java

@@ -236,7 +236,7 @@ public class TenantUnbindRecordServiceImpl extends ServiceImpl<TenantUnbindRecor
                         log.error("老师解绑审核成功,解散机构群失败:{}", e.getMessage());
                     }
                 }
-                imUserFriendService.delStudentFriendByTenantId(unbindRecord.getUserId(), unbindRecord.getUserId(),
+                imUserFriendService.delStudentFriendByTenantId(tenantId, unbindRecord.getUserId(),
                         ClientEnum.TEACHER.getCode());
             }
             teacherDao.update(null, Wrappers.<Teacher>lambdaUpdate()

+ 6 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/wrapper/TenantActivationCodeWrapper.java

@@ -46,6 +46,9 @@ public class TenantActivationCodeWrapper {
         @ApiModelProperty("机构ID")
         private Long tenantId;
 
+        @ApiModelProperty("声部ID")
+        private String subjectId;
+
         @ApiModelProperty("专辑购买ID")
         private Long tenantAlbumPurchaseId;
 
@@ -124,6 +127,9 @@ public class TenantActivationCodeWrapper {
         @ApiModelProperty("激活用户名称")
         private String activationUserName;
 
+        @ApiModelProperty("激活用户头像")
+        private String activationUserAvatar;
+
         @ApiModelProperty("更新时间")
         @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
         private Date updateTime;