Procházet zdrojové kódy

1.后端添加修改学生接口

yuanliang před 1 rokem
rodič
revize
c46a8b4ccd

+ 10 - 0
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/StudentController.java

@@ -233,4 +233,14 @@ public class StudentController extends BaseController {
         studentService.save(student);
         return succeed();
     }
+
+    @PostMapping("/update")
+    @ApiOperation(value = "修改", notes = "传入Student")
+    public HttpResponseResult<Boolean> update(@Validated @RequestBody StudentWrapper.Student student) {
+        if (student.getId() == null) {
+            throw new BizException("id 不能为空");
+        }
+        studentService.save(student);
+        return succeed();
+    }
 }

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

@@ -21,6 +21,8 @@ import com.yonge.cooleshow.biz.dal.dto.search.QueryMyFollowSearch;
 import com.yonge.cooleshow.biz.dal.dto.search.StudentSearch;
 import com.yonge.cooleshow.biz.dal.entity.*;
 import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
+import com.yonge.cooleshow.biz.dal.enums.ImGroupMemberRoleType;
+import com.yonge.cooleshow.biz.dal.enums.ImGroupType;
 import com.yonge.cooleshow.biz.dal.mapper.SysUserMapper;
 import com.yonge.cooleshow.biz.dal.mapper.TenantAlbumMapper;
 import com.yonge.cooleshow.biz.dal.mapper.TenantAlbumPurchaseMapper;
@@ -588,6 +590,33 @@ public class StudentServiceImpl extends ServiceImpl<StudentDao, Student> impleme
         if (student == null) {
             throw new BizException("学生信息不存在");
         }
+        // 是否有修改机构
+        Long newTenantId = studentInfo.getTenantId();
+        if(newTenantId != null && !newTenantId.equals(student.getTenantId())){
+            // 退群
+            List<ImGroupMember> groupMembers = imGroupMemberService.lambdaQuery()
+                    .eq(ImGroupMember::getRoleType, ImGroupMemberRoleType.STUDENT)
+                    .eq(ImGroupMember::getIsAdmin, false)
+                    .eq(ImGroupMember::getUserId, student.getUserId())
+                    .list();
+            List<String> groupIdList = groupMembers.stream().map(ImGroupMember::getGroupId)
+                    .distinct().collect(Collectors.toList());
+            if(groupIdList.isEmpty()){
+//                imGroupService.listByIds(groupIdList).stream().filter(next-> ImGroupType.ORG.equals(next.getType())).map(next->)
+
+            }
+            groupIdList.forEach(groupId -> {
+                try {
+                    imGroupService.quit(groupId, student.getUserId(), ClientEnum.STUDENT);
+                } catch (Exception e) {
+                    log.error("学生注册,切换机构退群失败:{}", e.getMessage());
+                }
+            });
+            // 删除好友
+//            imUserFriendService.delTeacherFriendByTenantId(tenantId, one.getUserId(),ClientEnum.TEACHER.getCode());
+        }
+
+
         // 手机号码修改
         if (!student.getPhone().equals(studentInfo.getPhone())) {
             com.yonge.cooleshow.biz.dal.entity.SysUser sysUser = getOrCreateAccount(studentInfo);