Przeglądaj źródła

Merge remote-tracking branch 'origin/zouxuan_saas_2022_0606' into zouxuan_saas_2022_0606

zouxuan 3 lat temu
rodzic
commit
d58bba3e32

+ 5 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TempLiveTeacherCardDao.java

@@ -1,10 +1,12 @@
 package com.ym.mec.biz.dal.dao;
 
+import com.ym.mec.biz.dal.entity.Subject;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.biz.dal.entity.TempLiveTeacherCard;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
+import java.util.Map;
 
 public interface TempLiveTeacherCardDao extends BaseDAO<Integer, TempLiveTeacherCard> {
 
@@ -12,4 +14,7 @@ public interface TempLiveTeacherCardDao extends BaseDAO<Integer, TempLiveTeacher
     List<TempLiveTeacherCard> list(TempLiveTeacherCard teacherCard);
 
     TempLiveTeacherCard getBySubjectIdAndLevel(@Param("subjectId") String subjectId, @Param("level") String level);
+
+    List<Subject> querySubjectOption();
+
 }

+ 15 - 1
mec-biz/src/main/resources/config/mybatis/TempLiveTeacherCardMapper.xml

@@ -127,7 +127,7 @@
             group by live_goods_id_,recommend_level_
         ) a on t.live_goods_id_ = a.live_goods_id_ and t.level_ = a.recommend_level_
         where FIND_IN_SET(subject_id_,#{subjectId})
-        order by field(t.level_,'low','medium','high')
+        order by field(t.level_,'one','two','three')
     </select>
 
     <select id="getBySubjectIdAndLevel" resultMap="TempLiveTeacherCard">
@@ -135,4 +135,18 @@
         FROM temp_live_teacher_card
         WHERE subject_id_ = #{subjectId} and level_ = #{level}
     </select>
+
+
+    <select id="querySubjectOption" resultType="com.ym.mec.biz.dal.entity.Subject">
+        SELECT
+            t.id_ as id,t.name_ as name
+        FROM subject t
+        where exists(
+            select 1 from temp_live_teacher_card cs
+            where t.id_ = cs.subject_id_
+            and cs.username_ is not null
+            and cs.music_content_ is not null
+        )
+        order by t.id_
+    </select>
 </mapper>

+ 31 - 5
mec-student/src/main/java/com/ym/mec/student/controller/TempLiveActivityController.java

@@ -5,22 +5,29 @@ import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.TempLiveTeacherCardDao;
 import com.ym.mec.biz.dal.entity.ImGroup;
 import com.ym.mec.biz.dal.entity.Student;
+import com.ym.mec.biz.dal.entity.Subject;
 import com.ym.mec.biz.dal.entity.TempLiveTeacherCard;
 import com.ym.mec.biz.service.ImGroupService;
 import com.ym.mec.biz.service.StudentService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.MediaType;
 import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
+import springfox.documentation.annotations.ApiIgnore;
 
 import javax.annotation.Resource;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 /**
  * 直播临时活动
@@ -36,18 +43,37 @@ public class TempLiveActivityController extends BaseController {
     @Resource
     private TempLiveTeacherCardDao tempLiveTeacherCardDao;
 
-    @ApiOperation("查询声部上课老师名片信息列表")
-    @PostMapping(value = "/listTeacherCard",produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
-    public HttpResponseResult<List<TempLiveTeacherCard>> listTeacherCard() {
+    @ApiOperation("查询声部")
+    @PostMapping(value = "/querySubjectOption",produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
+    public HttpResponseResult<Map<String,Object>> querySubjectOption() {
         SysUser user = sysUserFeignService.queryUserInfo();
         if (user == null || user.getId() == null) {
             return failed(HttpStatus.FORBIDDEN, "请登录");
         }
+        Map<String,Object> res = new HashMap<>();
+        List<Subject> options = tempLiveTeacherCardDao.querySubjectOption();
+        res.put("options",options);
+
         Student student = studentService.get(user.getId());
+        res.put("subjectId",student.getSubjectIdList());
+        return succeed(res);
+    }
 
-        TempLiveTeacherCard param = new TempLiveTeacherCard();
+    @ApiImplicitParams({
+            @ApiImplicitParam(
+                    name = "subjectId",
+                    value = "声部id",
+                    paramType = "query", dataType = "String", required = true
+            )
+    })
+    @ApiOperation("查询声部上课老师名片信息列表")
+    @PostMapping(value = "/listTeacherCard",produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
+    public HttpResponseResult<List<TempLiveTeacherCard>> listTeacherCard(@ApiIgnore @RequestBody TempLiveTeacherCard param) {
+        SysUser user = sysUserFeignService.queryUserInfo();
+        if (user == null || user.getId() == null) {
+            return failed(HttpStatus.FORBIDDEN, "请登录");
+        }
         param.setStudentId(user.getId());
-        param.setSubjectId(student.getSubjectIdList());
         List<TempLiveTeacherCard> list = tempLiveTeacherCardDao.list(param);
         return succeed(list);
     }