|
@@ -1,6 +1,7 @@
|
|
|
package com.yonge.cooleshow.biz.dal.service.impl;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
|
|
@@ -111,8 +112,8 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
|
|
|
return HttpResponseResult.failed("未查询到老师信息");
|
|
|
}
|
|
|
TeacherHomeVo teacherHomeVo = new TeacherHomeVo();
|
|
|
- BeanUtils.copyProperties(teacher,teacherHomeVo);
|
|
|
-
|
|
|
+ BeanUtils.copyProperties(teacher, teacherHomeVo);
|
|
|
+
|
|
|
//身份证号、手机号脱敏
|
|
|
teacherHomeVo.setIdCardNo(ValueUtil.fuzzyIdCard(teacherHomeVo.getIdCardNo()));
|
|
|
teacherHomeVo.setPhone(ValueUtil.fuzzyMobile(teacherHomeVo.getPhone()));
|
|
@@ -186,7 +187,7 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
|
|
|
baseMapper.updateById(teacher);
|
|
|
|
|
|
// 添加标签
|
|
|
- this.setTeacherTag(id,TeacherTagEnum.LIVE);
|
|
|
+ this.setTeacherTag(id, TeacherTagEnum.LIVE);
|
|
|
|
|
|
return HttpResponseResult.status(true);
|
|
|
} else {
|
|
@@ -321,7 +322,7 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
|
|
|
sysUser.setUserType(sysUser.getUserType() + ",TEACHER");
|
|
|
}
|
|
|
//设置默认头像
|
|
|
- if(StringUtil.isEmpty(sysUser.getAvatar())){
|
|
|
+ if (StringUtil.isEmpty(sysUser.getAvatar())) {
|
|
|
String defaultHeard = sysConfigService.findConfigValue(SysConfigConstant.DEFAULT_HEARD);
|
|
|
sysUser.setAvatar(defaultHeard);
|
|
|
}
|
|
@@ -422,17 +423,41 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public List<Subject> querySubjectItem(Long id) {
|
|
|
- List<Subject> subjectList = (List<Subject>) redissonClient.getBucket(CacheNameEnum.TEACHER_SUBJECT_ITEM.getRedisKey(id)).get();
|
|
|
- if (null == subjectList) {
|
|
|
- subjectList = baseMapper.querySubjectItem(id);
|
|
|
- redissonClient.getBucket(CacheNameEnum.TEACHER_SUBJECT_ITEM.getRedisKey(id))
|
|
|
- .set(subjectList, CacheNameEnum.TEACHER_SUBJECT_ITEM.getDuration().toHours(),
|
|
|
- TimeUnit.HOURS);
|
|
|
+ public List<Subject> querySubjectItem(Long userId, String type) {
|
|
|
+ //先查询自己的声部
|
|
|
+ List<Subject> subjectList = querySubject(userId);
|
|
|
+
|
|
|
+ List<Subject> cacheByType = getCacheByType(userId, type);
|
|
|
+ if (CollectionUtils.isNotEmpty(cacheByType)) {
|
|
|
+ subjectList.addAll(cacheByType);
|
|
|
}
|
|
|
return subjectList;
|
|
|
}
|
|
|
|
|
|
+ private List<Subject> getCacheByType(Long userId, String type) {
|
|
|
+ RMap<String, List<Subject>> map = redissonClient.getMap(CacheNameEnum.TEACHER_SUBJECT_ITEM.getRedisKey(userId));
|
|
|
+ //设置过期时间
|
|
|
+ map.expire(CacheNameEnum.TEACHER_SUBJECT_ITEM.getDuration().toHours(),
|
|
|
+ TimeUnit.HOURS);
|
|
|
+
|
|
|
+ if(StringUtil.isEmpty(type)){
|
|
|
+ List<Subject> subjectList = map.get("ALL");
|
|
|
+ if(CollectionUtils.isEmpty(subjectList)){
|
|
|
+ subjectList = baseMapper.querySubjectItem(userId, null);
|
|
|
+ map.put("ALL",subjectList);
|
|
|
+ }
|
|
|
+ return subjectList;
|
|
|
+ }else{
|
|
|
+ List<Subject> subjectList = map.get(type);
|
|
|
+ if(CollectionUtils.isEmpty(subjectList)) {
|
|
|
+ subjectList = baseMapper.querySubjectItem(userId, type);
|
|
|
+ map.put(type,subjectList);
|
|
|
+ }
|
|
|
+ return subjectList;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
public IPage<MyFens> queryMyFans(IPage<MyFens> page, Long teacherId) {
|
|
|
List<MyFens> teacherVos = baseMapper.queryMyFans(page, teacherId);
|
|
|
return page.setRecords(teacherVos);
|
|
@@ -446,7 +471,7 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
|
|
|
}
|
|
|
if (StringUtil.isEmpty(teacherVo.getTag())) {
|
|
|
teacherVo.setTag(teacherTagEnum.getCode());
|
|
|
- } else if (teacherVo.getTag().contains(teacherTagEnum.getCode())) {
|
|
|
+ } else if (teacherVo.getTag().contains(teacherTagEnum.getCode())) {
|
|
|
return;
|
|
|
} else {
|
|
|
teacherVo.setTag(teacherVo.getTag() + "," + teacherTagEnum.getCode());
|