|
@@ -26,6 +26,7 @@ import com.yonge.toolset.base.util.StringUtil;
|
|
|
import com.yonge.toolset.utils.idcard.IdcardInfoExtractor;
|
|
|
import com.yonge.toolset.utils.string.ValueUtil;
|
|
|
import org.apache.commons.beanutils.BeanUtils;
|
|
|
+import org.redisson.api.RMap;
|
|
|
import org.redisson.api.RedissonClient;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
|
|
@@ -37,6 +38,8 @@ import java.util.*;
|
|
|
import java.util.concurrent.TimeUnit;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
+import static com.yonge.cooleshow.biz.dal.constant.LiveRoomConstant.TEACHER_TEMP_LIVE_ROOM;
|
|
|
+
|
|
|
@Service
|
|
|
public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> implements TeacherService {
|
|
|
@Autowired
|
|
@@ -147,7 +150,16 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
|
|
|
teacherHomeVo.setUnExpTime(null == total.getUnExpTime() ? 0 : total.getUnExpTime());
|
|
|
teacherHomeVo.setMusicAlbumNum(null == total.getMusicAlbumNum() ? 0 : total.getMusicAlbumNum());
|
|
|
teacherHomeVo.setMusicSheetNum(null == total.getMusicSheetNum() ? 0 : total.getMusicSheetNum());
|
|
|
- teacherHomeVo.setLiveing(total.getLiveFlag() ? YesOrNoEnum.YES : YesOrNoEnum.NO);
|
|
|
+
|
|
|
+ //取直播缓存
|
|
|
+ RMap<Long, String> liveMap = redissonClient.getMap(TEACHER_TEMP_LIVE_ROOM);
|
|
|
+ String roomUid = liveMap.get(userId);
|
|
|
+ if (!StringUtil.isEmpty(roomUid)) {
|
|
|
+ teacherHomeVo.setLiveing(YesOrNoEnum.YES);
|
|
|
+ teacherHomeVo.setRoomUid(roomUid);
|
|
|
+ } else {
|
|
|
+ teacherHomeVo.setLiveing(YesOrNoEnum.NO);
|
|
|
+ }
|
|
|
return HttpResponseResult.succeed(teacherHomeVo);
|
|
|
}
|
|
|
|
|
@@ -182,13 +194,32 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
|
|
|
return subjects;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
private HttpResponseResult<Boolean> doCreate(TeacherSubmitReq teacherSubmitReq) throws BizException {
|
|
|
- //判断手机号
|
|
|
+ //更新sys_user
|
|
|
SysUser sysUser = employeeDao.querySysUserByPhone(teacherSubmitReq.getPhone());
|
|
|
- if (null != sysUser) {
|
|
|
- return HttpResponseResult.failed("该手机号已经被注册");
|
|
|
+ if (null == sysUser) {
|
|
|
+ sysUser = insertSysUser(teacherSubmitReq);
|
|
|
+ teacherSubmitReq.setUserId(sysUser.getId());
|
|
|
+ } else {
|
|
|
+ teacherSubmitReq.setUserId(sysUser.getId());
|
|
|
+ updateSysUser(teacherSubmitReq);
|
|
|
}
|
|
|
- sysUser = new SysUser();
|
|
|
+ //新增修改老师表
|
|
|
+ insertOrUpdateTeacher(teacherSubmitReq);
|
|
|
+ return HttpResponseResult.succeed(true);
|
|
|
+ }
|
|
|
+
|
|
|
+ private HttpResponseResult<Boolean> doUpdate(TeacherSubmitReq teacherSubmitReq) {
|
|
|
+ //更新sys_user
|
|
|
+ updateSysUser(teacherSubmitReq);
|
|
|
+ //新增修改老师表
|
|
|
+ insertOrUpdateTeacher(teacherSubmitReq);
|
|
|
+ return HttpResponseResult.succeed(true);
|
|
|
+ }
|
|
|
+
|
|
|
+ private SysUser insertSysUser(TeacherSubmitReq teacherSubmitReq) {
|
|
|
+ SysUser sysUser = new SysUser();
|
|
|
sysUser = getUserDetil(sysUser, teacherSubmitReq);
|
|
|
sysUser.setUserType(SysUserType.TEACHER.getCode());
|
|
|
//初始密码,手机号后6位
|
|
@@ -202,49 +233,54 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
|
|
|
//设置昵称
|
|
|
sysUser.setUsername("游客" + sysUser.getId());
|
|
|
employeeDao.updateSysUser(sysUser);
|
|
|
- //插入老师表
|
|
|
-
|
|
|
- Teacher teacher = new Teacher();
|
|
|
- teacher.setUserId(sysUser.getId());
|
|
|
- teacher = getTeacherDetil(teacher, teacherSubmitReq);
|
|
|
- baseMapper.insert(teacher);
|
|
|
- //插入老师账户表
|
|
|
- UserAccount oldAcc = userAccountService.getById(sysUser.getId());
|
|
|
- if (null == oldAcc) {
|
|
|
- UserAccount userAccount = new UserAccount();
|
|
|
- userAccount.setUserId(sysUser.getId());
|
|
|
- userAccountService.save(userAccount);
|
|
|
- }
|
|
|
- return HttpResponseResult.succeed(true);
|
|
|
+ return sysUser;
|
|
|
}
|
|
|
|
|
|
- private HttpResponseResult<Boolean> doUpdate(TeacherSubmitReq teacherSubmitReq) {
|
|
|
+ private SysUser updateSysUser(TeacherSubmitReq teacherSubmitReq) {
|
|
|
//判断手机号
|
|
|
SysUser sysUser = employeeDao.querySysUserByPhone(teacherSubmitReq.getPhone());
|
|
|
if (null != sysUser && !teacherSubmitReq.getUserId().equals(sysUser.getId())) {
|
|
|
- return HttpResponseResult.failed("该手机号已经被注册");
|
|
|
+ throw new BizException("该手机号已经被注册");
|
|
|
}
|
|
|
sysUser = employeeDao.querySysUserById(teacherSubmitReq.getUserId());
|
|
|
if (null == sysUser) {
|
|
|
- return HttpResponseResult.failed("未找到用户");
|
|
|
+ throw new BizException("未找到用户");
|
|
|
}
|
|
|
sysUser = getUserDetil(sysUser, teacherSubmitReq);
|
|
|
+ sysUser.setUpdateTime(new Date());
|
|
|
+ employeeDao.updateSysUser(sysUser);
|
|
|
+ return sysUser;
|
|
|
+ }
|
|
|
|
|
|
+ private Teacher insertOrUpdateTeacher(TeacherSubmitReq teacherSubmitReq) {
|
|
|
Teacher teacher = baseMapper.selectById(teacherSubmitReq.getUserId());
|
|
|
- teacher = getTeacherDetil(teacher, teacherSubmitReq);
|
|
|
- teacher.setUpdateTime(new Date());
|
|
|
- baseMapper.updateById(teacher);
|
|
|
- if (null == teacher.getEntryAuthDate() || null == teacher.getMusicianDate()) {
|
|
|
- baseMapper.update(teacher, Wrappers.<Teacher>lambdaUpdate()
|
|
|
- .set(Teacher::getEntryAuthDate, teacher.getEntryAuthDate())
|
|
|
- .set(Teacher::getMusicianDate, teacher.getMusicianDate())
|
|
|
- .eq(Teacher::getUserId, teacher.getUserId())
|
|
|
- );
|
|
|
+ if (null == teacher) {
|
|
|
+ teacher = new Teacher();
|
|
|
+ teacher.setUserId(teacherSubmitReq.getUserId());
|
|
|
+ teacher = getTeacherDetil(teacher, teacherSubmitReq);
|
|
|
+ baseMapper.insert(teacher);
|
|
|
+
|
|
|
+ //插入老师账户表
|
|
|
+ UserAccount oldAcc = userAccountService.getById(teacherSubmitReq.getUserId());
|
|
|
+ if (null == oldAcc) {
|
|
|
+ UserAccount userAccount = new UserAccount();
|
|
|
+ userAccount.setUserId(teacherSubmitReq.getUserId());
|
|
|
+ userAccountService.save(userAccount);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ teacher.setUpdateTime(new Date());
|
|
|
+ baseMapper.updateById(teacher);
|
|
|
+
|
|
|
+ if (null == teacher.getEntryAuthDate() || null == teacher.getMusicianDate()) {
|
|
|
+ baseMapper.update(teacher, Wrappers.<Teacher>lambdaUpdate()
|
|
|
+ .set(Teacher::getEntryAuthDate, teacher.getEntryAuthDate())
|
|
|
+ .set(Teacher::getMusicianDate, teacher.getMusicianDate())
|
|
|
+ .eq(Teacher::getUserId, teacher.getUserId())
|
|
|
+ );
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
- sysUser.setUpdateTime(new Date());
|
|
|
- employeeDao.updateSysUser(sysUser);
|
|
|
- return HttpResponseResult.succeed(true);
|
|
|
+ return teacher;
|
|
|
}
|
|
|
|
|
|
/***
|