cy 3 vuotta sitten
vanhempi
commit
70b4cfb9aa

+ 3 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/CourseScheduleRecordDao.java

@@ -26,4 +26,7 @@ public interface CourseScheduleRecordDao extends BaseMapper<CourseScheduleRecord
 
 
     //消耗时长详情
     //消耗时长详情
     IPage<CourseScheduleRecordVo> selectConsumeTimeList(Page<CourseScheduleRecordVo> pageInfo, @Param("param") Map<String, Object> param);
     IPage<CourseScheduleRecordVo> selectConsumeTimeList(Page<CourseScheduleRecordVo> pageInfo, @Param("param") Map<String, Object> param);
+
+    //查询课程列表
+    IPage<CourseScheduleRecordVo> selectCourseList(Page<CourseScheduleRecordVo> pageInfo,@Param("param") Map<String, Object> param);
 }
 }

+ 2 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/CourseScheduleService.java

@@ -253,5 +253,7 @@ public interface CourseScheduleService extends IService<CourseSchedule> {
     void updateCourseTime(Map<String, Object> param);
     void updateCourseTime(Map<String, Object> param);
 
 
     void updateCourseStudent(Map<String, Object> param);
     void updateCourseStudent(Map<String, Object> param);
+
+    PageInfo<CourseScheduleRecordVo> selectCourseList(Map<String, Object> param);
 }
 }
 
 

+ 11 - 2
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/CourseScheduleServiceImpl.java

@@ -33,7 +33,6 @@ import com.yonge.toolset.base.page.PageInfo;
 import com.yonge.toolset.thirdparty.message.MessageSenderPluginContext;
 import com.yonge.toolset.thirdparty.message.MessageSenderPluginContext;
 import com.yonge.toolset.utils.date.DateUtil;
 import com.yonge.toolset.utils.date.DateUtil;
 import com.yonge.toolset.utils.obj.ObjectUtil;
 import com.yonge.toolset.utils.obj.ObjectUtil;
-import org.apache.commons.beanutils.BeanUtils;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.redisson.api.RMap;
 import org.redisson.api.RMap;
@@ -44,7 +43,6 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.annotation.Transactional;
 
 
-import java.lang.reflect.InvocationTargetException;
 import java.math.BigDecimal;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.math.RoundingMode;
 import java.text.SimpleDateFormat;
 import java.text.SimpleDateFormat;
@@ -1778,6 +1776,17 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
     }
     }
 
 
     /**
     /**
+     * @Description: 琴房课列表
+     * @Author: cy
+     * @Date: 2022/6/7
+     */
+    @Override
+    public PageInfo<CourseScheduleRecordVo> selectCourseList(Map<String, Object> param) {
+        param.put("type", CourseScheduleEnum.PIANO_ROOM_CLASS.getCode());
+        return PageUtil.pageInfo(recordDao.selectCourseList(PageUtil.getPageInfo(param), param));
+    }
+
+    /**
      * @Description: 排课推送
      * @Description: 排课推送
      * @Author: cy
      * @Author: cy
      * @Date: 2022/5/31
      * @Date: 2022/5/31

+ 36 - 0
cooleshow-user/user-biz/src/main/resources/config/mybatis/CourseScheduleRecordMapper.xml

@@ -69,4 +69,40 @@
             </if>
             </if>
         </where>
         </where>
     </select>
     </select>
+    <select id="selectCourseList" resultType="com.yonge.cooleshow.biz.dal.vo.CourseScheduleRecordVo">
+        SELECT
+        s.id_ AS courseId,
+        g.name_ AS groupName,
+        g.subject_id_ AS subjectId,
+        sb.name_ AS subjectName,
+        s.status_ AS `status`,
+        s.start_time_ AS startTime,
+        s.end_time_ AS endTime,
+        s.single_course_time_ AS singleCourseTime,
+        a.count_ AS studentCount
+        FROM course_schedule s
+        LEFT JOIN course_group g ON s.course_group_id_ = g.id_
+        LEFT JOIN `subject` sb ON g.subject_id_ = sb.id_
+        LEFT JOIN (SELECT course_id_,COUNT(1) AS count_ FROM course_schedule_student_payment WHERE course_type_='PIANO_ROOM_CLASS' GROUP BY course_id_) a ON s.id_=a.course_id_
+        <where>
+            <if test="param.type != null and param.type !=''">
+                AND s.type_ = #{param.type}
+            </if>
+            <if test="param.status != null and param.status !=''">
+                AND s.status_ = #{param.status}
+            </if>
+            <if test="param.teacherId != null">
+                AND s.teacher_id_ = #{param.teacherId}
+            </if>
+            <if test="param.subjectId != null">
+                AND g.subject_id_ = #{param.subjectId}
+            </if>
+            <if test="param.month != null and param.month !=''">
+                AND date_format(s.end_time_,'%Y-%m') = #{param.month}
+            </if>
+            <if test="param.status != null and param.status !=''">
+                AND s.status_ = #{param.status}
+            </if>
+        </where>
+    </select>
 </mapper>
 </mapper>

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

@@ -216,7 +216,23 @@ public class TeacherCourseScheduleController extends BaseController {
             @ApiImplicitParam(name = "month", dataType = "String", value = "月份,yyyy-mm"),
             @ApiImplicitParam(name = "month", dataType = "String", value = "月份,yyyy-mm"),
             @ApiImplicitParam(name = "status", dataType = "String", value = "课程状态"),
             @ApiImplicitParam(name = "status", dataType = "String", value = "课程状态"),
     })
     })
-    @ApiOperation("课程列表&消耗时长列表")
+    @ApiOperation("课程列表")
+    @PostMapping("/selectCourseList")
+    public HttpResponseResult<PageInfo<CourseScheduleRecordVo>> selectCourseList(@RequestBody Map<String, Object> param) {
+        SysUser user = sysUserFeignService.queryUserInfo();
+        if (user == null || null == user.getId()) {
+            return failed(HttpStatus.FORBIDDEN, "请登录");
+        }
+        param.put("teacherId", user.getId());
+        return succeed(courseScheduleService.selectCourseList(param));
+    }
+
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "subjectId", dataType = "Long", value = "声部id"),
+            @ApiImplicitParam(name = "month", dataType = "String", value = "月份,yyyy-mm"),
+            @ApiImplicitParam(name = "status", dataType = "String", value = "课程状态"),
+    })
+    @ApiOperation("消耗时长列表")
     @PostMapping("/selectConsumeTimeList")
     @PostMapping("/selectConsumeTimeList")
     public HttpResponseResult<PageInfo<CourseScheduleRecordVo>> selectConsumeTimeList(@RequestBody Map<String, Object> param) {
     public HttpResponseResult<PageInfo<CourseScheduleRecordVo>> selectConsumeTimeList(@RequestBody Map<String, Object> param) {
         SysUser user = sysUserFeignService.queryUserInfo();
         SysUser user = sysUserFeignService.queryUserInfo();