|
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.google.common.collect.Lists;
|
|
|
+import com.microsvc.toolkit.middleware.rtc.enums.EDeviceMessageType;
|
|
|
import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
|
|
|
import com.yonge.cooleshow.auth.api.dto.RealnameAuthReq;
|
|
|
import com.yonge.cooleshow.auth.api.entity.SysUser;
|
|
@@ -26,6 +27,7 @@ import com.yonge.cooleshow.biz.dal.enums.MessageTypeEnum;
|
|
|
import com.yonge.cooleshow.biz.dal.enums.TeacherTagEnum;
|
|
|
import com.yonge.cooleshow.biz.dal.enums.TeacherTypeEnum;
|
|
|
import com.yonge.cooleshow.biz.dal.mapper.TenantGroupMapper;
|
|
|
+import com.yonge.cooleshow.biz.dal.mapper.UserTenantBindRecordMapper;
|
|
|
import com.yonge.cooleshow.biz.dal.queryInfo.TeacherQueryInfo;
|
|
|
import com.yonge.cooleshow.biz.dal.service.ImGroupService;
|
|
|
import com.yonge.cooleshow.biz.dal.service.StudentService;
|
|
@@ -203,6 +205,9 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
|
|
|
@Autowired
|
|
|
private TenantGroupMapper tenantGroupMapper;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private UserTenantBindRecordMapper userTenantBindRecordMapper;
|
|
|
+
|
|
|
|
|
|
@Override
|
|
|
public TeacherDao getDao() {
|
|
@@ -500,6 +505,10 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
|
|
|
.map(Student::getUserId).collect(Collectors.toSet());
|
|
|
|
|
|
imUserFriendService.saveUserFriend(teacher.getUserId(), collect);
|
|
|
+
|
|
|
+ // 机构老师添加机构绑定记录
|
|
|
+ addBindUnBindRecord(teacher.getUserId(),teacher.getTenantId(),true);
|
|
|
+ sendBindUnBindSMS(teacher.getUserId(), teacherSubmitReq.getPhone(), MessageTypeEnum.TEACHER_BIND_TENANT, teacher.getTenantId());
|
|
|
}
|
|
|
// 与客服建立好友
|
|
|
String customerService = customerServiceConfig.getCustomerService();
|
|
@@ -1095,21 +1104,23 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
|
|
|
});
|
|
|
}
|
|
|
// 删除好友关系
|
|
|
- imUserFriendService.delStudentFriendByTenantId(teacher.getTenantId(), teacher.getUserId(),ClientEnum.TEACHER.getCode());
|
|
|
+ imUserFriendService.delStudentFriendByTenantId(teacher.getTenantId(), teacher.getUserId(), ClientEnum.TEACHER.getCode());
|
|
|
+ addBindUnBindRecord(teacher.getUserId(), teacher.getTenantId(), false);
|
|
|
+ SysUser sysUser = sysUserMapper.getByUserId(teacher.getUserId());
|
|
|
+ sendBindUnBindSMS(teacher.getUserId(), sysUser.getPhone(), MessageTypeEnum.TEACHER_UNBIND_TENANT, teacher.getTenantId());
|
|
|
|
|
|
}
|
|
|
|
|
|
- if (updateTenant.getTenantId().equals(-1L)) {
|
|
|
+ long tenantId = Optional.ofNullable(updateTenant.getTenantId()).orElse(-1L);
|
|
|
+ if (tenantId == -1L) {
|
|
|
// 平台老师处理流程
|
|
|
if (ESettlementFrom.TENANT.equals(teacher.getSettlementFrom())) {
|
|
|
// 解绑后,结算方式如果是机构,默认调整为老师
|
|
|
teacher.setSettlementFrom(ESettlementFrom.TEACHER);
|
|
|
teacher.setIsSettlement(true);
|
|
|
}
|
|
|
- }
|
|
|
-
|
|
|
- // 机构老师与学生互加好友关系
|
|
|
- if (Optional.ofNullable(updateTenant.getTenantId()).orElse(-1L) > 0) {
|
|
|
+ }else {
|
|
|
+ // 机构老师与学生互加好友关系
|
|
|
// 自动与机构学生成为好友
|
|
|
Set<Long> collect = studentService.lambdaQuery()
|
|
|
.eq(Student::getTenantId, updateTenant.getTenantId()).list().stream()
|
|
@@ -1119,6 +1130,9 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
|
|
|
if (!collect.isEmpty()) {
|
|
|
imUserFriendService.saveUserFriend(teacher.getUserId(), collect);
|
|
|
}
|
|
|
+ addBindUnBindRecord(teacher.getUserId(),updateTenant.getTenantId(),true);
|
|
|
+ SysUser sysUser = sysUserMapper.getByUserId(teacher.getUserId());
|
|
|
+ sendBindUnBindSMS(teacher.getUserId(), sysUser.getPhone(), MessageTypeEnum.TEACHER_BIND_TENANT, updateTenant.getTenantId());
|
|
|
}
|
|
|
|
|
|
teacher.setTenantId(updateTenant.getTenantId());
|
|
@@ -1199,4 +1213,22 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
|
|
|
|
|
|
return teachers.stream().collect(Collectors.toMap(Teacher::getUserId, o -> o, (o, n) -> n));
|
|
|
}
|
|
|
+
|
|
|
+ private void addBindUnBindRecord(Long teacherId, Long tenantId, Boolean bind) {
|
|
|
+ UserTenantBindRecord bindRecord = new UserTenantBindRecord();
|
|
|
+ bindRecord.setUserId(teacherId);
|
|
|
+ bindRecord.setUserType("TEACHER");
|
|
|
+ bindRecord.setTenantId(tenantId);
|
|
|
+ bindRecord.setBindStatus(bind);
|
|
|
+ bindRecord.setBindTime(new Date());
|
|
|
+ userTenantBindRecordMapper.add(bindRecord);
|
|
|
+ }
|
|
|
+
|
|
|
+ private void sendBindUnBindSMS(Long userId, String phone, MessageTypeEnum messageType, Long tenantId) {
|
|
|
+ TenantInfo tenantInfo = tenantInfoService.getById(tenantId);
|
|
|
+ Map<Long, String> receivers = new HashMap<>();
|
|
|
+ receivers.put(userId, phone);
|
|
|
+ sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, messageType,
|
|
|
+ receivers, null, 0, null, ClientEnum.SYSTEM.getCode(), tenantInfo.getName());
|
|
|
+ }
|
|
|
}
|