weifanli 3 лет назад
Родитель
Сommit
4c0a712cf0

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

@@ -20,13 +20,13 @@ public class StudentStar implements Serializable {
     * 老师id 
     */
     @ApiModelProperty("老师id ")
-    @TableId(value = "teacher_id_", type = IdType.AUTO)
+    @TableId(value = "teacher_id_")
     private Long teacherId;
     /** 
     * 学生id 
     */
     @ApiModelProperty("学生id ")
-    @TableId(value = "student_id_", type = IdType.AUTO)
+    @TableId(value = "student_id_")
     private Long studentId;
 	@TableField(value = "create_time_")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")

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

@@ -3,6 +3,8 @@ 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.biz.dal.entity.StudentStar;
+import com.yonge.cooleshow.biz.dal.enums.YesOrNoEnum;
+import com.yonge.cooleshow.common.entity.HttpResponseResult;
 
 /**
  * 学生关注教师表 服务类
@@ -19,4 +21,14 @@ public interface StudentStarService extends IService<StudentStar>  {
      * @return: com.yonge.cooleshow.biz.dal.entity.StudentStar
      */
     StudentStar getByStudentIdAndTeacherId(Long studentId, Long teacherId);
+    /***
+     * 关注/取消关注
+     * @author liweifan
+     * @param: studentId
+     * @param: teacherId
+     * @param: starStatus
+     * @updateTime 2022/4/26 17:50
+     * @return: com.yonge.cooleshow.common.entity.HttpResponseResult<java.lang.Boolean>
+     */
+    HttpResponseResult<Boolean> starOrUnStar(Long studentId, Long teacherId, YesOrNoEnum starStatus);
 }

+ 17 - 16
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/TeacherService.java

@@ -9,6 +9,7 @@ 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.enums.YesOrNoEnum;
 import com.yonge.cooleshow.biz.dal.vo.TeacherHomeVo;
 import com.yonge.cooleshow.biz.dal.vo.TeacherTotalVo;
 import com.yonge.cooleshow.biz.dal.vo.TeacherVo;
@@ -19,10 +20,11 @@ import java.util.List;
 
 /**
  * 教师表 服务类
+ *
  * @author liweifan
  * @date 2022-03-18
  */
-public interface TeacherService extends IService<Teacher>  {
+public interface TeacherService extends IService<Teacher> {
     /***
      * 查询老师详情
      * @author liweifan
@@ -31,12 +33,15 @@ public interface TeacherService extends IService<Teacher>  {
      * @return: com.yonge.cooleshow.biz.dal.vo.TeacherVo
      */
     TeacherVo detail(Long userId);
+
     /**
      * 自定义分页
+     *
      * @author liweifan
- 	 * @date 2022-03-18
+     * @date 2022-03-18
      */
     IPage<TeacherVo> selectPage(IPage<TeacherVo> page, TeacherSearch teacher);
+
     /***
      * 管理端新增、修改老师信息
      * @author liweifan
@@ -45,6 +50,7 @@ public interface TeacherService extends IService<Teacher>  {
      * @return: com.yonge.cooleshow.common.entity.HttpResponseResult<java.lang.Boolean>
      */
     HttpResponseResult<Boolean> submit(TeacherSubmitReq teacherSubmitReq);
+
     /***
      * 查询老师首页统计信息
      * @author liweifan
@@ -53,6 +59,7 @@ public interface TeacherService extends IService<Teacher>  {
      * @return: com.yonge.cooleshow.biz.dal.vo.TeacherHomeVo
      */
     HttpResponseResult<TeacherHomeVo> queryUserInfo(Long userId);
+
     /***
      * 开通直播
      * @author liweifan
@@ -63,21 +70,14 @@ public interface TeacherService extends IService<Teacher>  {
     HttpResponseResult<Boolean> openLive(Long id);
 
     /**
-    * @description: 获取老师可授课声部列表
      * @param userId
-    * @return com.yonge.cooleshow.common.entity.HttpResponseResult<java.util.List<com.yonge.cooleshow.biz.dal.entity.Subject>>
-    * @author zx
-    * @date 2022/3/25 09:37
-    */
-    List<Subject> querySubject(Long userId);
-    /***
-     * 查询老师个人风采
-     * @author liweifan
-     * @param: id
-     * @updateTime 2022/4/8 14:11
-     * @return: com.yonge.cooleshow.common.entity.HttpResponseResult<com.yonge.cooleshow.biz.dal.vo.TeacherVo>
+     * @return com.yonge.cooleshow.common.entity.HttpResponseResult<java.util.List < com.yonge.cooleshow.biz.dal.entity.Subject>>
+     * @description: 获取老师可授课声部列表
+     * @author zx
+     * @date 2022/3/25 09:37
      */
-    HttpResponseResult<TeacherVo> queryTeacherStyle(Long id);
+    List<Subject> querySubject(Long userId);
+
     /***
      * 设置声部
      * @author liweifan
@@ -87,6 +87,7 @@ public interface TeacherService extends IService<Teacher>  {
      * @return: java.lang.Integer
      */
     Integer setSubject(Long id, String subjectIds);
+
     /***
      * 查询教师基本信息
      * @author liweifan
@@ -95,7 +96,7 @@ public interface TeacherService extends IService<Teacher>  {
      * @updateTime 2022/4/26 17:03
      * @return: com.yonge.cooleshow.common.entity.HttpResponseResult<com.yonge.cooleshow.biz.dal.vo.TeacherHomeVo>
      */
-    HttpResponseResult<TeacherHomeVo> queryTeacherHome(Long studentId , Long teacherId);
+    HttpResponseResult<TeacherHomeVo> queryTeacherHome(Long studentId, Long teacherId);
 
     /***
      * 保存老师风采信息

+ 20 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/StudentStarServiceImpl.java

@@ -1,7 +1,10 @@
 package com.yonge.cooleshow.biz.dal.service.impl;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.yonge.cooleshow.biz.dal.enums.YesOrNoEnum;
+import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import org.springframework.stereotype.Service;
 import com.yonge.cooleshow.biz.dal.entity.StudentStar;
 import com.yonge.cooleshow.biz.dal.dao.StudentStarDao;
@@ -15,4 +18,21 @@ public class StudentStarServiceImpl extends ServiceImpl<StudentStarDao, StudentS
     public StudentStar getByStudentIdAndTeacherId(Long studentId, Long teacherId) {
         return baseMapper.getByStudentIdAndTeacherId(studentId, teacherId);
     }
+
+    @Override
+    public HttpResponseResult<Boolean> starOrUnStar(Long studentId, Long teacherId, YesOrNoEnum starStatus) {
+        StudentStar studentStar = getByStudentIdAndTeacherId(studentId, teacherId);
+        if (YesOrNoEnum.YES.equals(starStatus) && null == studentStar) {
+            studentStar = new StudentStar();
+            studentStar.setStudentId(studentId);
+            studentStar.setTeacherId(teacherId);
+            save(studentStar);
+        } else if (YesOrNoEnum.NO.equals(starStatus) && null != studentStar) {
+            remove(Wrappers.<StudentStar>lambdaQuery()
+                    .eq(StudentStar::getStudentId, studentId)
+                    .eq(StudentStar::getTeacherId, teacherId)
+            );
+        }
+        return HttpResponseResult.succeed(true);
+    }
 }

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

@@ -173,12 +173,6 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
         return baseMapper.querySubject(userId);
     }
 
-    @Override
-    public HttpResponseResult<TeacherVo> queryTeacherStyle(Long id) {
-        TeacherVo detail = detail(id);
-        return HttpResponseResult.succeed(detail);
-    }
-
     private HttpResponseResult<Boolean> doCreate(TeacherSubmitReq teacherSubmitReq) throws BizException {
         //判断手机号
         SysUser sysUser = employeeDao.querySysUserByPhone(teacherSubmitReq.getPhone());

+ 1 - 1
cooleshow-user/user-biz/src/main/resources/config/mybatis/StudentStarMapper.xml

@@ -33,6 +33,6 @@
 		select
 			<include refid="baseColumns"/>
 		from student_star t
-		where t.student_id_ = #{studentId} and t.teacher_id_ #{teacherId}
+		where t.student_id_ = #{studentId} and t.teacher_id_ = #{teacherId}
 	</select>
 </mapper>

+ 22 - 0
cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/TeacherController.java

@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.dto.search.TeacherStyleSearch;
+import com.yonge.cooleshow.biz.dal.enums.YesOrNoEnum;
+import com.yonge.cooleshow.biz.dal.service.StudentStarService;
 import com.yonge.cooleshow.biz.dal.service.TeacherService;
 import com.yonge.cooleshow.biz.dal.service.TeacherStyleVideoService;
 import com.yonge.cooleshow.biz.dal.support.PageUtil;
@@ -30,6 +32,8 @@ public class TeacherController extends BaseController {
     private SysUserFeignService sysUserFeignService;
     @Autowired
     private TeacherService teacherService;
+    @Autowired
+    private StudentStarService studentStarService;
 
     @ApiOperation(value = "老师风采-分页")
     @PostMapping("/stylePage")
@@ -56,6 +60,24 @@ public class TeacherController extends BaseController {
         return teacherService.queryTeacherHome(user.getId(), userId);
     }
 
+    @ApiOperation(value = "关注/取消关注")
+    @GetMapping("/starOrUnStar")
+    public HttpResponseResult<Boolean> starOrUnStar(@ApiParam(value = "老师ID", required = true) @RequestParam("userId") Long userId,
+                                                    @ApiParam(value = "状态 0 取消关注 1 关注", required = true) @RequestParam("starStatus") YesOrNoEnum starStatus) {
+        if (null == userId) {
+            return failed("缺少老师ID");
+        }
+        if (null == starStatus) {
+            return failed("缺少关注状态");
+        }
+        SysUser user = sysUserFeignService.queryUserInfo();
+        if (user == null || null == user.getId()) {
+            return failed(HttpStatus.FORBIDDEN, "请登录");
+        }
+        return studentStarService.starOrUnStar(user.getId(), userId, starStatus);
+    }
+
+
     @ApiOperation(value = "增加视频浏览量")
     @GetMapping("/addVideoBrowse")
     public HttpResponseResult<Boolean> addVideoBrowse(@ApiParam(value = "视频ID", required = true) @RequestParam("videoId") Long videoId) {

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

@@ -80,7 +80,7 @@ public class TeacherController extends BaseController {
         if (user == null || null == user.getId()) {
             return failed(HttpStatus.FORBIDDEN, "请登录");
         }
-        return teacherService.queryTeacherStyle(user.getId());
+        return HttpResponseResult.succeed(teacherService.detail(user.getId()));
     }
 
     @ApiOperation(value = "我的-个人风采保存")