Parcourir la source

老师认证接口,音乐人认证接口编写

weifanli il y a 3 ans
Parent
commit
5e96579363

+ 3 - 3
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/Teacher.java

@@ -84,7 +84,7 @@ public class Teacher extends SysUser implements Serializable {
     */
     @ApiModelProperty("音乐人审核状态   1、审核中 2、通过 3、不通过 ")
 	@TableField(value = "musician_auth_status_")
-    private String musicianAuthStatus;
+    private Integer musicianAuthStatus;
     /** 
     * 音乐人认证时间 
     */
@@ -204,11 +204,11 @@ public class Teacher extends SysUser implements Serializable {
         this.introduction = introduction;
     }
 
-    public String getMusicianAuthStatus() {
+    public Integer getMusicianAuthStatus() {
         return musicianAuthStatus;
     }
 
-    public void setMusicianAuthStatus(String musicianAuthStatus) {
+    public void setMusicianAuthStatus(Integer musicianAuthStatus) {
         this.musicianAuthStatus = musicianAuthStatus;
     }
 

+ 18 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/TeacherAuthMusicianRecordService.java

@@ -3,6 +3,7 @@ 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.TeacherAuthMusicianRecord;
+import com.yonge.cooleshow.common.entity.HttpResponseResult;
 
 /**
  * 老师音乐人审核表 服务类
@@ -18,4 +19,21 @@ public interface TeacherAuthMusicianRecordService extends IService<TeacherAuthMu
  	 * @date 2022-03-18
      */
     IPage<TeacherAuthMusicianRecord> selectPage(IPage<TeacherAuthMusicianRecord> page, TeacherAuthMusicianRecord teacherAuthMusicianRecord);
+
+    /***
+     * 获取音乐人认证状态
+     * @author liweifan
+     * @param: id
+     * @updateTime 2022/3/21 19:27
+     * @return: java.lang.Integer
+     */
+    Integer getMusicianAuthStatus(Long id);
+    /***
+     * 提交音乐人审批申请
+     * @author liweifan
+     * @param: id
+     * @updateTime 2022/3/21 19:39
+     * @return: com.yonge.cooleshow.common.entity.HttpResponseResult<java.lang.Boolean>
+     */
+    HttpResponseResult<Boolean> doApply(Long id);
 }

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

@@ -4,13 +4,16 @@ 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.auth.api.entity.SysUser;
+import com.yonge.cooleshow.biz.dal.dao.TeacherDao;
 import com.yonge.cooleshow.biz.dal.dto.AuthOperaDto;
 import com.yonge.cooleshow.biz.dal.dto.TeacherApplyDetailDto;
 import com.yonge.cooleshow.biz.dal.dto.req.TeacherAuthEntryRecordSearch;
+import com.yonge.cooleshow.biz.dal.entity.Teacher;
 import com.yonge.cooleshow.biz.dal.enums.AuthStatusEnum;
 import com.yonge.cooleshow.biz.dal.vo.TeacherAuthEntryRecordVo;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import org.apache.commons.beanutils.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.yonge.cooleshow.biz.dal.entity.TeacherAuthEntryRecord;
 import com.yonge.cooleshow.biz.dal.dao.TeacherAuthEntryRecordDao;
@@ -21,6 +24,8 @@ import org.springframework.transaction.annotation.Transactional;
 @Service
 public class TeacherAuthEntryRecordServiceImpl extends ServiceImpl<TeacherAuthEntryRecordDao, TeacherAuthEntryRecord> implements TeacherAuthEntryRecordService {
 
+    @Autowired
+    private TeacherDao teacherDao;
     /**
      * 分页查询
      */
@@ -43,6 +48,11 @@ public class TeacherAuthEntryRecordServiceImpl extends ServiceImpl<TeacherAuthEn
         TeacherAuthEntryRecord teacherAuthEntryRecord = new TeacherAuthEntryRecord();
         BeanUtils.copyProperties(teacherAuthEntryRecord, teacherApplyDetailDto);
 
+        Teacher teacher = new Teacher();
+        teacher.setUserId(sysUser.getId());
+        teacher.setEntryStatus(AuthStatusEnum.DOING.getCode());
+        teacherDao.updateById(teacher);
+
         return HttpResponseResult.status(baseMapper.insert(teacherAuthEntryRecord) > 0);
     }
 

+ 57 - 3
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TeacherAuthMusicianRecordServiceImpl.java

@@ -1,22 +1,76 @@
 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.dao.TeacherDao;
+import com.yonge.cooleshow.biz.dal.entity.Teacher;
+import com.yonge.cooleshow.biz.dal.entity.TeacherAuthEntryRecord;
+import com.yonge.cooleshow.biz.dal.enums.AuthStatusEnum;
+import com.yonge.cooleshow.biz.dal.service.TeacherService;
+import com.yonge.cooleshow.biz.dal.support.Condition;
+import com.yonge.cooleshow.common.entity.HttpResponseResult;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.yonge.cooleshow.biz.dal.entity.TeacherAuthMusicianRecord;
 import com.yonge.cooleshow.biz.dal.dao.TeacherAuthMusicianRecordDao;
 import com.yonge.cooleshow.biz.dal.service.TeacherAuthMusicianRecordService;
+import org.springframework.transaction.annotation.Transactional;
 
 
 @Service
 public class TeacherAuthMusicianRecordServiceImpl extends ServiceImpl<TeacherAuthMusicianRecordDao, TeacherAuthMusicianRecord> implements TeacherAuthMusicianRecordService {
+    @Autowired
+    private TeacherService teacherService;
+    @Autowired
+    private TeacherDao teacherDao;
 
     /**
      * 分页查询
      */
-     @Override
-    public IPage<TeacherAuthMusicianRecord> selectPage(IPage<TeacherAuthMusicianRecord> page, TeacherAuthMusicianRecord teacherAuthMusicianRecord){
+    @Override
+    public IPage<TeacherAuthMusicianRecord> selectPage(IPage<TeacherAuthMusicianRecord> page, TeacherAuthMusicianRecord teacherAuthMusicianRecord) {
         return page.setRecords(baseMapper.selectPage(page, teacherAuthMusicianRecord));
     }
-	
+
+    @Override
+    public Integer getMusicianAuthStatus(Long id) {
+        Teacher teacher = teacherService.getById(id);
+        return teacher.getMusicianAuthStatus();
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public HttpResponseResult<Boolean> doApply(Long id) {
+        //判断用户是否已经提交申请
+        if (hasApply(id)) {
+            return HttpResponseResult.failed("已经提交过申请");
+        }
+
+        TeacherAuthMusicianRecord record = new TeacherAuthMusicianRecord();
+        record.setUserId(id);
+        record.setTeacherAuthStatus(AuthStatusEnum.DOING.getCode());
+
+        Teacher teacher = new Teacher();
+        teacher.setUserId(id);
+        teacher.setMusicianAuthStatus(AuthStatusEnum.DOING.getCode());
+        teacherDao.updateById(teacher);
+
+        return HttpResponseResult.status(baseMapper.insert(record) > 0);
+    }
+
+    /***
+     * 判断用户是否已经提交申请
+     * @author liweifan
+     * @param: userId
+     * @updateTime 2022/3/21 11:37
+     * @return: java.lang.Boolean
+     */
+    private boolean hasApply(Long userId) {
+        TeacherAuthMusicianRecord teacherAuthMusicianRecord = baseMapper.selectOne(Wrappers.<TeacherAuthMusicianRecord>query().lambda()
+                .eq(TeacherAuthMusicianRecord::getUserId, userId)
+                .eq(TeacherAuthMusicianRecord::getTeacherAuthStatus, 1));
+        return teacherAuthMusicianRecord != null;
+    }
+
 }

+ 33 - 0
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/TeacherAuthMusicianRecordController.java

@@ -3,6 +3,11 @@ package com.yonge.cooleshow.teacher.controller;
 import java.util.List;
 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.TeacherApplyDetailDto;
+import com.yonge.cooleshow.biz.dal.entity.Teacher;
+import com.yonge.cooleshow.biz.dal.service.TeacherService;
 import com.yonge.cooleshow.biz.dal.support.Condition;
 import com.yonge.cooleshow.biz.dal.support.Query;
 import com.yonge.cooleshow.common.controller.BaseController;
@@ -12,6 +17,7 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
@@ -26,6 +32,33 @@ public class TeacherAuthMusicianRecordController extends BaseController {
 
     @Autowired
     private TeacherAuthMusicianRecordService teacherAuthMusicianRecordService;
+	@Autowired
+	private SysUserFeignService sysUserFeignService;
+
+	/**
+	 * 获取音乐人审核状态
+	 */
+	@GetMapping("/getMusicianAuthStatus")
+	@ApiOperation(value = "获取音乐人审核状态")
+	public HttpResponseResult<Integer> getMusicianAuthStatus() {
+		SysUser user = sysUserFeignService.queryUserInfo();
+		if (user == null) {
+			return failed(HttpStatus.FORBIDDEN, "请登录");
+		}
+		Integer musicianAuthStatus = teacherAuthMusicianRecordService.getMusicianAuthStatus(user.getId());
+
+		return succeed(musicianAuthStatus);
+	}
+
+	@PostMapping("/doApply")
+	@ApiOperation(value = "提交申请", notes = "传入teacherAuthEntryRecord")
+	public HttpResponseResult<Boolean> doApply(){
+		SysUser sysUser = sysUserFeignService.queryUserInfo();
+		//处理老师申请逻辑
+		return teacherAuthMusicianRecordService.doApply(sysUser.getId());
+	}
+
+
 
 	/**
      * 查询单条

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

@@ -2,7 +2,6 @@ package com.yonge.cooleshow.teacher.controller;
 
 import com.yonge.cooleshow.biz.dal.vo.TeacherHomeVo;
 import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 
@@ -10,8 +9,6 @@ import java.util.List;
 
 import javax.validation.Valid;
 
-import org.apache.commons.beanutils.BeanUtils;
-import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -68,6 +65,17 @@ public class TeacherController extends BaseController {
 		return succeed(teacherHomeVo);
     }
 
+    @ApiOperation(value = "判断老师直播权限")
+    @GetMapping("/checkLiveAuth")
+    public HttpResponseResult<Boolean> checkLiveAuth(){
+        SysUser user = sysUserFeignService.queryUserInfo();
+        if (user == null) {
+            return failed(HttpStatus.FORBIDDEN, "请登录");
+        }
+        //todo 根据老师规则,判断老师直播权限
+        return HttpResponseResult.succeed(true);
+    }
+
     /**
      * 查询单条
      */