Browse Source

老师个人信息查询接口修改

weifanli 3 years ago
parent
commit
d9402a5f4d

+ 6 - 0
cooleshow-common/src/main/java/com/yonge/cooleshow/common/constant/CommonConstants.java

@@ -40,4 +40,10 @@ public interface CommonConstants {
 	Integer DECIMAL_FINAL_PLACE = 2;
 
 	String DEFULT_PASSWORD = "123456";
+	/***
+	 * redis缓存分隔符
+	 * @author liweifan
+	 * @updateTime 2022/3/28 16:29
+	 */
+	String REDIS_SPLIT = ":";
 }

+ 1 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/search/AuthEntryRecordSearch.java

@@ -26,7 +26,7 @@ public class AuthEntryRecordSearch {
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date endTime;
-    @ApiModelProperty(value = "审核状态  1、审核中 2、通过 3、不通过")
+    @ApiModelProperty(value = "审核状态  0、未申请 1、审核中 2、通过 3、不通过")
     private AuthStatusEnum authStatus;
 
     public String getSearch() {

+ 2 - 4
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/TeacherAuthEntryRecord.java

@@ -78,10 +78,8 @@ public class TeacherAuthEntryRecord implements Serializable {
     @ApiModelProperty("教师资格证 ")
 	@TableField(value = "teacher__certificate_")
     private String teacherCertificate;
-    /** 
-    * 老师认证审核状态  1、审核中 2、通过 3、不通过 
-    */
-    @ApiModelProperty("老师认证审核状态  1、审核中 2、通过 3、不通过 ")
+
+    @ApiModelProperty("老师认证审核状态 1、审核中 2、通过 3、不通过 ")
 	@TableField(value = "teacher_auth_status_")
     private AuthStatusEnum teacherAuthStatus;
     /** 

+ 2 - 4
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/TeacherAuthMusicianRecord.java

@@ -32,10 +32,8 @@ public class TeacherAuthMusicianRecord implements Serializable {
     @ApiModelProperty("对应user表用户编号 ")
 	@TableField(value = "user_id_")
     private Long userId;
-    /** 
-    * 老师认证审核状态  1、审核中 2、通过 3、不通过 
-    */
-    @ApiModelProperty("老师认证审核状态  1、审核中 2、通过 3、不通过 ")
+
+    @ApiModelProperty("老师认证审核状态 1、审核中 2、通过 3、不通过 ")
 	@TableField(value = "teacher_auth_status_")
     private AuthStatusEnum teacherAuthStatus;
     /** 

+ 1 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/enums/AuthStatusEnum.java

@@ -10,6 +10,7 @@ import com.yonge.cooleshow.common.enums.BaseEnum;
  * @Data: 2022/3/16 10:19
  */
 public enum AuthStatusEnum implements BaseEnum<Integer, AuthStatusEnum> {
+    UNPAALY(0,"未申请"),
     DOING(1, "审核中"),
     PASS(2, "通过"),
     UNPASS(3, "不通过");

+ 67 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/enums/CacheNameEnum.java

@@ -0,0 +1,67 @@
+package com.yonge.cooleshow.biz.dal.enums;
+
+import com.yonge.cooleshow.common.constant.CommonConstants;
+import com.yonge.cooleshow.common.enums.BaseEnum;
+import org.apache.commons.lang3.StringUtils;
+
+import java.time.Duration;
+
+/**
+ * redis缓存枚举
+ *
+ * @Author: liweifan
+ * @Data: 2022/3/28 16:24
+ */
+public enum CacheNameEnum implements BaseEnum<String, CacheNameEnum> {
+
+    TEACHER_HOME_TOTAL("老师首页统计缓存");
+    /***
+     * 缓存描述
+     * @author liweifan
+     * @updateTime 2022/3/28 16:31
+     */
+    private String msg;
+    /***
+     * 缓存时长
+     * @author liweifan
+     * @updateTime 2022/3/28 16:31
+     */
+    private Duration duration;
+
+    CacheNameEnum(String msg) {
+        this.msg = msg;
+    }
+
+    CacheNameEnum(String msg, Duration duration) {
+        this.msg = msg;
+        this.duration = duration;
+    }
+
+    @Override
+    public String getCode() {
+        return this.name();
+    }
+
+    public String getMsg() {
+        return msg;
+    }
+
+    public String getRedisKey(Object... detils) {
+        String key = this.getCode();
+        for (Object detil : detils) {
+            try {
+                if (!CommonConstants.REDIS_SPLIT.equals(key.substring(key.length() - 1))) {
+                    key += CommonConstants.REDIS_SPLIT;
+                }
+                if (null != detil && StringUtils.isNotBlank(detil.toString())) {
+                    key += detil.toString();
+                }
+            } catch (Exception e) {
+            }
+        }
+        if (CommonConstants.REDIS_SPLIT.equals(key.substring(key.length() - 1))) {
+            key = key.substring(0, key.length() - 1);
+        }
+        return key;
+    }
+}

+ 12 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/TeacherService.java

@@ -2,11 +2,13 @@ package com.yonge.cooleshow.biz.dal.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.dto.req.UserSetReq;
 import com.yonge.cooleshow.biz.dal.dto.req.TeacherSubmitReq;
 import com.yonge.cooleshow.biz.dal.dto.search.TeacherSearch;
 import com.yonge.cooleshow.biz.dal.entity.Subject;
 import com.yonge.cooleshow.biz.dal.entity.Teacher;
+import com.yonge.cooleshow.biz.dal.vo.TeacherHomeVo;
 import com.yonge.cooleshow.biz.dal.vo.TeacherTotalVo;
 import com.yonge.cooleshow.biz.dal.vo.TeacherVo;
 import com.yonge.cooleshow.biz.dal.vo.UserSetVo;
@@ -43,6 +45,14 @@ public interface TeacherService extends IService<Teacher>  {
      */
     HttpResponseResult<Boolean> submit(TeacherSubmitReq teacherSubmitReq);
     /***
+     * 查询老师首页统计信息
+     * @author liweifan
+     * @param: id
+     * @updateTime 2022/3/28 16:49
+     * @return: com.yonge.cooleshow.biz.dal.vo.TeacherHomeVo
+     */
+    TeacherHomeVo queryUserInfo(SysUser user);
+    /***
      * 开通直播
      * @author liweifan
      * @param: setReq
@@ -67,4 +77,6 @@ public interface TeacherService extends IService<Teacher>  {
      * @return: java.util.List<com.yonge.cooleshow.biz.dal.vo.TeacherTotalVo>
      */
     List<TeacherTotalVo> queryTeacherHomeTotal();
+
+
 }

+ 52 - 10
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TeacherServiceImpl.java

@@ -12,22 +12,26 @@ import com.yonge.cooleshow.biz.dal.dao.EmployeeDao;
 import com.yonge.cooleshow.biz.dal.dao.StudentStarDao;
 import com.yonge.cooleshow.biz.dal.dto.req.TeacherSubmitReq;
 import com.yonge.cooleshow.biz.dal.dto.search.TeacherSearch;
-import com.yonge.cooleshow.biz.dal.entity.Subject;
-import com.yonge.cooleshow.biz.dal.entity.TeacherStyleVideo;
+import com.yonge.cooleshow.biz.dal.entity.*;
+import com.yonge.cooleshow.biz.dal.enums.AuthStatusEnum;
+import com.yonge.cooleshow.biz.dal.enums.CacheNameEnum;
 import com.yonge.cooleshow.biz.dal.enums.TeacherTypeEnum;
 import com.yonge.cooleshow.biz.dal.enums.YesOrNoEnum;
 import com.yonge.cooleshow.biz.dal.service.TeacherAuthEntryRecordService;
+import com.yonge.cooleshow.biz.dal.service.TeacherAuthMusicianRecordService;
 import com.yonge.cooleshow.biz.dal.service.TeacherStyleVideoService;
 import com.yonge.cooleshow.biz.dal.vo.TeacherAuthEntryRecordVo;
+import com.yonge.cooleshow.biz.dal.vo.TeacherHomeVo;
 import com.yonge.cooleshow.biz.dal.vo.TeacherTotalVo;
 import com.yonge.cooleshow.biz.dal.vo.TeacherVo;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import com.yonge.cooleshow.common.exception.BizException;
 import com.yonge.toolset.utils.idcard.IdcardInfoExtractor;
+import org.apache.poi.ss.formula.functions.T;
+import org.redisson.api.RedissonClient;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
 import org.springframework.stereotype.Service;
-import com.yonge.cooleshow.biz.dal.entity.Teacher;
 import com.yonge.cooleshow.biz.dal.dao.TeacherDao;
 import com.yonge.cooleshow.biz.dal.service.TeacherService;
 import org.springframework.transaction.annotation.Transactional;
@@ -36,7 +40,6 @@ import org.springframework.util.CollectionUtils;
 import java.util.*;
 import java.util.stream.Collectors;
 
-
 @Service
 public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> implements TeacherService {
     @Autowired
@@ -46,12 +49,15 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
     @Autowired
     private TeacherAuthEntryRecordService entryRecordService;
     @Autowired
+    private TeacherAuthMusicianRecordService musicianRecordService;
+    @Autowired
     private EmployeeDao employeeDao;
     @Autowired
     private StudentStarDao studentStarDao;
     @Autowired
     private CourseScheduleDao courseScheduleDao;
-
+    @Autowired
+    private RedissonClient redissonClient;
 
     @Override
     public TeacherVo detail(Long userId) {
@@ -84,6 +90,40 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
     }
 
     @Override
+    public TeacherHomeVo queryUserInfo(SysUser user) {
+        Teacher teacher = getById(user.getId());
+        TeacherHomeVo teacherHomeVo = new TeacherHomeVo();
+        teacherHomeVo.setUserId(user.getId());
+        teacherHomeVo.setHeardUrl(user.getAvatar());
+        teacherHomeVo.setUsername(user.getUsername());
+        teacherHomeVo.setLiveFlag(teacher.getLiveFlag());
+
+        TeacherAuthEntryRecord entryRecord = entryRecordService.getLastRecordByUserId(user.getId());
+        if(null == entryRecord){
+            teacherHomeVo.setEntryStatus(AuthStatusEnum.UNPAALY);
+        }else{
+            teacherHomeVo.setEntryStatus(entryRecord.getTeacherAuthStatus());
+        }
+
+        TeacherAuthMusicianRecord musicianRecord = musicianRecordService.getLastRecordByUserId(user.getId());
+        if(null == musicianRecord){
+            teacherHomeVo.setMusicianAuthStatus(AuthStatusEnum.UNPAALY);
+        }else{
+            teacherHomeVo.setMusicianAuthStatus(musicianRecord.getTeacherAuthStatus());
+        }
+
+        TeacherTotalVo totalVo = (TeacherTotalVo) redissonClient.getBucket(CacheNameEnum.TEACHER_HOME_TOTAL.getRedisKey(user.getId())).get();
+        if (null != totalVo) {
+            totalVo = new TeacherTotalVo();
+        }
+        teacherHomeVo.setStarGrade((null == totalVo.getStarGrade()) ? 0 : totalVo.getStarGrade().intValue());
+        teacherHomeVo.setFansNum((null == totalVo.getFansNum()) ? 0 : totalVo.getFansNum());
+        teacherHomeVo.setExpTime((null == totalVo.getExpTime()) ? 0 : totalVo.getExpTime());
+        teacherHomeVo.setUnExpTime((null == totalVo.getUnExpTime()) ? 0 : totalVo.getUnExpTime());
+        return teacherHomeVo;
+    }
+
+    @Override
     public HttpResponseResult<Boolean> openLive(Long id) {
         //todo 根据老师规则,判断老师直播权限
         if (true) {
@@ -120,21 +160,23 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
         for (Teacher teacher : teachers) {
             TeacherTotalVo totalVo = new TeacherTotalVo();
             totalVo.setUserId(teacher.getUserId());
-            TeacherTotalVo fansTotal= teacherStarMap.get(teacher.getUserId());
-            if(null != fansTotal){
+            TeacherTotalVo fansTotal = teacherStarMap.get(teacher.getUserId());
+            if (null != fansTotal) {
                 totalVo.setFansNum(fansTotal.getFansNum());
             }
-            TeacherTotalVo courseTotal= teacherCourseMap.get(teacher.getUserId());
-            if(null != courseTotal){
+            TeacherTotalVo courseTotal = teacherCourseMap.get(teacher.getUserId());
+            if (null != courseTotal) {
                 totalVo.setExpTime(courseTotal.getExpTime());
                 totalVo.setUnExpTime(courseTotal.getUnExpTime());
                 Double starGrade = courseTotal.getStarGrade();
-                if(null != starGrade){
+                if (null != starGrade) {
                     Long round = Math.round(starGrade);
                     totalVo.setStarGrade(round.doubleValue());
                 }
             }
             resultList.add(totalVo);
+            redissonClient.getBucket(CacheNameEnum.TEACHER_HOME_TOTAL.getRedisKey(totalVo.getUserId()))
+                    .set(totalVo);
         }
         return resultList;
     }

+ 2 - 2
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/TeacherHomeVo.java

@@ -31,9 +31,9 @@ public class TeacherHomeVo {
     private Integer expTime;
     @ApiModelProperty("未上课时")
     private Integer unExpTime;
-    @ApiModelProperty("老师入驻状态  1、审核中 2、通过 3、不通过 ")
+    @ApiModelProperty("老师入驻状态 0、未申请  1、审核中 2、通过 3、不通过 ")
     private AuthStatusEnum entryStatus;
-    @ApiModelProperty("音乐人审核状态  1、审核中 2、通过 3、不通过 ")
+    @ApiModelProperty("音乐人审核状态  0、未申请 1、审核中 2、通过 3、不通过 ")
     private AuthStatusEnum musicianAuthStatus;
     @ApiModelProperty("是否有直播权限 0 否 1 是")
     private YesOrNoEnum liveFlag;

+ 3 - 30
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/TeacherController.java

@@ -3,15 +3,8 @@ package com.yonge.cooleshow.teacher.controller;
 import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.entity.Subject;
-import com.yonge.cooleshow.biz.dal.entity.Teacher;
-import com.yonge.cooleshow.biz.dal.entity.TeacherAuthEntryRecord;
-import com.yonge.cooleshow.biz.dal.entity.TeacherAuthMusicianRecord;
-import com.yonge.cooleshow.biz.dal.service.TeacherAuthEntryRecordService;
-import com.yonge.cooleshow.biz.dal.service.TeacherAuthMusicianRecordService;
 import com.yonge.cooleshow.biz.dal.service.TeacherService;
 import com.yonge.cooleshow.biz.dal.vo.TeacherHomeVo;
-import com.yonge.cooleshow.biz.dal.vo.TeacherTotalVo;
-import com.yonge.cooleshow.biz.dal.vo.TeacherVo;
 import com.yonge.cooleshow.common.controller.BaseController;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import io.swagger.annotations.Api;
@@ -31,13 +24,11 @@ import java.util.List;
 public class TeacherController extends BaseController {
     @Autowired
     private TeacherService teacherService;
-    @Autowired
-    private TeacherAuthEntryRecordService entryRecordService;
-    @Autowired
-    private TeacherAuthMusicianRecordService musicianRecordService;
+
     @Autowired
     private SysUserFeignService sysUserFeignService;
 
+
     @ApiOperation(value = "我的-查询教师基本信息")
     @GetMapping("/queryUserInfo")
     public HttpResponseResult<TeacherHomeVo> queryUserInfo() {
@@ -45,25 +36,7 @@ public class TeacherController extends BaseController {
         if (user == null) {
             return failed(HttpStatus.FORBIDDEN, "请登录");
         }
-        Teacher teacher = teacherService.getById(user.getId());
-		TeacherHomeVo teacherHomeVo = new TeacherHomeVo();
-        teacherHomeVo.setUserId(user.getId());
-		teacherHomeVo.setHeardUrl(user.getAvatar());
-		teacherHomeVo.setUsername(user.getUsername());
-
-        TeacherAuthEntryRecord entryRecord = entryRecordService.getLastRecordByUserId(user.getId());
-        teacherHomeVo.setEntryStatus(entryRecord.getTeacherAuthStatus());
-
-        TeacherAuthMusicianRecord musicianRecord = musicianRecordService.getLastRecordByUserId(user.getId());
-        teacherHomeVo.setMusicianAuthStatus(musicianRecord.getTeacherAuthStatus());
-        teacherHomeVo.setLiveFlag(teacher.getLiveFlag());
-
-		//todo 老师授课信息
-		teacherHomeVo.setStarGrade(1);
-		teacherHomeVo.setFansNum(1);
-		teacherHomeVo.setExpTime(1);
-		teacherHomeVo.setUnExpTime(1);
-
+        TeacherHomeVo teacherHomeVo= teacherService.queryUserInfo(user);
 		return succeed(teacherHomeVo);
     }