|
@@ -25,6 +25,7 @@ import com.yonge.cooleshow.biz.dal.mapper.SysUserMapper;
|
|
import com.yonge.cooleshow.biz.dal.mapper.TenantAlbumMapper;
|
|
import com.yonge.cooleshow.biz.dal.mapper.TenantAlbumMapper;
|
|
import com.yonge.cooleshow.biz.dal.mapper.TenantAlbumRefMapper;
|
|
import com.yonge.cooleshow.biz.dal.mapper.TenantAlbumRefMapper;
|
|
import com.yonge.cooleshow.biz.dal.mapper.TenantGroupMapper;
|
|
import com.yonge.cooleshow.biz.dal.mapper.TenantGroupMapper;
|
|
|
|
+import com.yonge.cooleshow.biz.dal.mapper.UserTenantBindRecordMapper;
|
|
import com.yonge.cooleshow.biz.dal.service.*;
|
|
import com.yonge.cooleshow.biz.dal.service.*;
|
|
import com.yonge.cooleshow.biz.dal.service.im.ImGroupCoreService;
|
|
import com.yonge.cooleshow.biz.dal.service.im.ImGroupCoreService;
|
|
import com.yonge.cooleshow.biz.dal.vo.MyFollow;
|
|
import com.yonge.cooleshow.biz.dal.vo.MyFollow;
|
|
@@ -125,6 +126,8 @@ public class StudentServiceImpl extends ServiceImpl<StudentDao, Student> impleme
|
|
@Autowired
|
|
@Autowired
|
|
private TenantGroupMapper tenantGroupMapper;
|
|
private TenantGroupMapper tenantGroupMapper;
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
+ private UserTenantBindRecordMapper userTenantBindRecordMapper;
|
|
@Override
|
|
@Override
|
|
public StudentVo detail(Long userId) {
|
|
public StudentVo detail(Long userId) {
|
|
return baseMapper.detail(userId);
|
|
return baseMapper.detail(userId);
|
|
@@ -582,6 +585,7 @@ public class StudentServiceImpl extends ServiceImpl<StudentDao, Student> impleme
|
|
// 删除好友
|
|
// 删除好友
|
|
imUserFriendService.delTeacherFriendByTenantId(student.getTenantId(), student.getUserId(),
|
|
imUserFriendService.delTeacherFriendByTenantId(student.getTenantId(), student.getUserId(),
|
|
ClientEnum.STUDENT.getCode());
|
|
ClientEnum.STUDENT.getCode());
|
|
|
|
+ addBindUnBindRecord(student.getUserId(),student.getTenantId(),false);
|
|
}
|
|
}
|
|
if (toTenantId != null && toTenantId != -1L) {
|
|
if (toTenantId != null && toTenantId != -1L) {
|
|
// 加好友
|
|
// 加好友
|
|
@@ -593,6 +597,7 @@ public class StudentServiceImpl extends ServiceImpl<StudentDao, Student> impleme
|
|
studentIds.add(student.getUserId());
|
|
studentIds.add(student.getUserId());
|
|
imUserFriendService.saveUserFriend(teacher.getUserId(), studentIds);
|
|
imUserFriendService.saveUserFriend(teacher.getUserId(), studentIds);
|
|
}
|
|
}
|
|
|
|
+ addBindUnBindRecord(student.getUserId(),student.getTenantId(),true);
|
|
}
|
|
}
|
|
this.lambdaUpdate().set(Student::getTenantId, toTenantId)
|
|
this.lambdaUpdate().set(Student::getTenantId, toTenantId)
|
|
.set(Student::getTenantGroupId, -1L)
|
|
.set(Student::getTenantGroupId, -1L)
|
|
@@ -672,6 +677,8 @@ public class StudentServiceImpl extends ServiceImpl<StudentDao, Student> impleme
|
|
imUserFriendService.delTeacherFriendByTenantId(student.getTenantId(), student.getUserId(),
|
|
imUserFriendService.delTeacherFriendByTenantId(student.getTenantId(), student.getUserId(),
|
|
ClientEnum.STUDENT.getCode());
|
|
ClientEnum.STUDENT.getCode());
|
|
|
|
|
|
|
|
+ addBindUnBindRecord(student.getUserId(),student.getTenantId(),false);
|
|
|
|
+
|
|
// 加好友
|
|
// 加好友
|
|
QueryWrapper<Teacher> query = new QueryWrapper<>();
|
|
QueryWrapper<Teacher> query = new QueryWrapper<>();
|
|
query.lambda().eq(Teacher::getTenantId, newTenantId);
|
|
query.lambda().eq(Teacher::getTenantId, newTenantId);
|
|
@@ -682,6 +689,7 @@ public class StudentServiceImpl extends ServiceImpl<StudentDao, Student> impleme
|
|
imUserFriendService.saveUserFriend(teacher.getUserId(), studentIds);
|
|
imUserFriendService.saveUserFriend(teacher.getUserId(), studentIds);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ addBindUnBindRecord(student.getUserId(),studentInfo.getTenantId(),true);
|
|
sendStudentTenantChange(student,newTenantId);
|
|
sendStudentTenantChange(student,newTenantId);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -700,6 +708,11 @@ public class StudentServiceImpl extends ServiceImpl<StudentDao, Student> impleme
|
|
.set(StringUtils.isNotEmpty(studentInfo.getAvatar()), Student::getAvatar, studentInfo.getAvatar())
|
|
.set(StringUtils.isNotEmpty(studentInfo.getAvatar()), Student::getAvatar, studentInfo.getAvatar())
|
|
.eq(Student::getUserId, studentInfo.getId())
|
|
.eq(Student::getUserId, studentInfo.getId())
|
|
.update();
|
|
.update();
|
|
|
|
+
|
|
|
|
+ userTenantBindRecordMapper.update(null, Wrappers.<UserTenantBindRecord>lambdaUpdate()
|
|
|
|
+ .eq(UserTenantBindRecord::getUserId, studentInfo.getId())
|
|
|
|
+ .eq(UserTenantBindRecord::getUserType, "STUDENT")
|
|
|
|
+ .set(UserTenantBindRecord::getUserId, sysUser.getId()));
|
|
} else {
|
|
} else {
|
|
Student newStudent = new Student();
|
|
Student newStudent = new Student();
|
|
newStudent.setUserId(studentInfo.getId());
|
|
newStudent.setUserId(studentInfo.getId());
|
|
@@ -837,6 +850,8 @@ public class StudentServiceImpl extends ServiceImpl<StudentDao, Student> impleme
|
|
List<Teacher> teacherList = teacherDao.selectList(queryWrapper);
|
|
List<Teacher> teacherList = teacherDao.selectList(queryWrapper);
|
|
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()))));
|
|
|
|
+
|
|
|
|
+ addBindUnBindRecord(student.getUserId(), student.getTenantId(), true);
|
|
}
|
|
}
|
|
|
|
|
|
// 与随机一个客服建立好友
|
|
// 与随机一个客服建立好友
|
|
@@ -938,4 +953,25 @@ public class StudentServiceImpl extends ServiceImpl<StudentDao, Student> impleme
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ private void addBindUnBindRecord(Long studentId, Long tenantId, Boolean bind) {
|
|
|
|
+ UserTenantBindRecord bindRecord = new UserTenantBindRecord();
|
|
|
|
+ bindRecord.setUserId(studentId);
|
|
|
|
+ bindRecord.setUserType("STUDENT");
|
|
|
|
+ bindRecord.setTenantId(tenantId);
|
|
|
|
+ bindRecord.setBindStatus(bind);
|
|
|
|
+ bindRecord.setBindTime(new Date());
|
|
|
|
+ userTenantBindRecordMapper.add(bindRecord);
|
|
|
|
+
|
|
|
|
+ SysUser sysUser = sysUserMapper.getByUserId(studentId);
|
|
|
|
+ sendBindUnBindSMS(studentId, sysUser.getPhone(), Boolean.TRUE.equals(bind) ? MessageTypeEnum.TEACHER_BIND_TENANT : MessageTypeEnum.TEACHER_UNBIND_TENANT, tenantId);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ 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());
|
|
|
|
+ }
|
|
|
|
+
|
|
}
|
|
}
|