|
@@ -39,6 +39,7 @@ import org.springframework.web.bind.annotation.RestController;
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
import java.util.HashSet;
|
|
import java.util.HashSet;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
+import java.util.Objects;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
@Slf4j
|
|
@Slf4j
|
|
@@ -109,30 +110,33 @@ public class OpenStudentController extends BaseController {
|
|
if (one.getTenantId().equals(-1L)) {
|
|
if (one.getTenantId().equals(-1L)) {
|
|
throw new BizException("该手机号已经注册为平台学生");
|
|
throw new BizException("该手机号已经注册为平台学生");
|
|
}
|
|
}
|
|
- if (one.getTenantId().equals(tenantId)) {
|
|
|
|
- //已经注册当前机构,请勿重复注册
|
|
|
|
- throw new BizException(5004, tenantInfo.getName());
|
|
|
|
- }
|
|
|
|
|
|
+// if (one.getTenantId().equals(tenantId)) {
|
|
|
|
+// //已经注册当前机构,请勿重复注册
|
|
|
|
+// throw new BizException(5004, tenantInfo.getName());
|
|
|
|
+// }
|
|
// 转到其他机构
|
|
// 转到其他机构
|
|
- if ((student.getUpdateTenant() == null ||
|
|
|
|
- !student.getUpdateTenant())) {
|
|
|
|
- throw new BizException(5004, "该手机号已经注册为其他平台学生");
|
|
|
|
- }
|
|
|
|
- // 退群
|
|
|
|
- List<ImGroupMember> groupMembers = imGroupMemberService.lambdaQuery()
|
|
|
|
- .eq(ImGroupMember::getRoleType, ImGroupMemberRoleType.STUDENT)
|
|
|
|
- .eq(ImGroupMember::getIsAdmin, false)
|
|
|
|
- .eq(ImGroupMember::getUserId, one.getUserId())
|
|
|
|
- .list();
|
|
|
|
- List<String> groupIdList = groupMembers.stream().map(ImGroupMember::getGroupId)
|
|
|
|
- .distinct().collect(Collectors.toList());
|
|
|
|
- groupIdList.forEach(groupId -> {
|
|
|
|
- try {
|
|
|
|
- imGroupService.quit(groupId, one.getUserId(), ClientEnum.STUDENT);
|
|
|
|
- } catch (Exception e) {
|
|
|
|
- log.error("学生注册,切换机构退群失败:{}", e.getMessage());
|
|
|
|
|
|
+ if ((!Objects.equals(student.getTenantId(), one.getTenantId()))) {
|
|
|
|
+ if(student.getUpdateTenant() == null || Boolean.FALSE.equals(student.getUpdateTenant())){
|
|
|
|
+ TenantInfo oldTenant = tenantInfoService.getById(one.getTenantId());
|
|
|
|
+ throw new BizException(5004, oldTenant.getName());
|
|
|
|
+ } else {
|
|
|
|
+ // 退群
|
|
|
|
+ List<ImGroupMember> groupMembers = imGroupMemberService.lambdaQuery()
|
|
|
|
+ .eq(ImGroupMember::getRoleType, ImGroupMemberRoleType.STUDENT)
|
|
|
|
+ .eq(ImGroupMember::getIsAdmin, false)
|
|
|
|
+ .eq(ImGroupMember::getUserId, one.getUserId())
|
|
|
|
+ .list();
|
|
|
|
+ List<String> groupIdList = groupMembers.stream().map(ImGroupMember::getGroupId)
|
|
|
|
+ .distinct().collect(Collectors.toList());
|
|
|
|
+ groupIdList.forEach(groupId -> {
|
|
|
|
+ try {
|
|
|
|
+ imGroupService.quit(groupId, one.getUserId(), ClientEnum.STUDENT);
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ log.error("学生注册,切换机构退群失败:{}", e.getMessage());
|
|
|
|
+ }
|
|
|
|
+ });
|
|
}
|
|
}
|
|
- });
|
|
|
|
|
|
+ }
|
|
|
|
|
|
// 更新头像
|
|
// 更新头像
|
|
if (StringUtils.isEmpty(student.getAvatar())) {
|
|
if (StringUtils.isEmpty(student.getAvatar())) {
|
|
@@ -152,9 +156,8 @@ public class OpenStudentController extends BaseController {
|
|
student.setAvatar(avatar);
|
|
student.setAvatar(avatar);
|
|
}
|
|
}
|
|
|
|
|
|
- StudentWrapper.Student studentInfo = JSON.parseObject(JSON.toJSONString(student), StudentWrapper.Student.class);
|
|
|
|
|
|
+ Student studentInfo = JSON.parseObject(JSON.toJSONString(student), Student.class);
|
|
studentInfo.setTenantId(tenantInfo.getId());
|
|
studentInfo.setTenantId(tenantInfo.getId());
|
|
- studentService.save(studentInfo);
|
|
|
|
|
|
|
|
// 加好友
|
|
// 加好友
|
|
if (student.getId() == null) {
|
|
if (student.getId() == null) {
|
|
@@ -165,6 +168,7 @@ public class OpenStudentController extends BaseController {
|
|
teacherList.forEach(next -> imUserFriendService.saveUserFriend(next.getUserId(),
|
|
teacherList.forEach(next -> imUserFriendService.saveUserFriend(next.getUserId(),
|
|
new HashSet<>(ImmutableList.of(sysUser.getId()))));
|
|
new HashSet<>(ImmutableList.of(sysUser.getId()))));
|
|
}
|
|
}
|
|
|
|
+ studentService.saveOrUpdate(studentInfo);
|
|
return succeed();
|
|
return succeed();
|
|
}
|
|
}
|
|
}
|
|
}
|