Kaynağa Gözat

1.课程一键催交接口
2.获取用户-业务用分页列表接口
3.笔记加入记录时间

honorfire 6 ay önce
ebeveyn
işleme
73600cabbc

+ 4 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/pom.xml

@@ -98,6 +98,10 @@
             <groupId>vip.xiaonuo</groupId>
             <artifactId>snowy-plugin-sys-func</artifactId>
         </dependency>
+        <dependency>
+            <groupId>vip.xiaonuo</groupId>
+            <artifactId>snowy-plugin-dev-func</artifactId>
+        </dependency>
 
         <!-- 引入开发工具接口,用于配置信息 -->
         <dependency>

+ 39 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/controller/CourseInfoController.java

@@ -14,6 +14,7 @@ package vip.xiaonuo.disk.controller;
 
 import cn.dev33.satoken.annotation.SaCheckPermission;
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollStreamUtil;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.IdUtil;
 import cn.hutool.core.util.ObjectUtil;
@@ -32,6 +33,8 @@ import vip.xiaonuo.auth.core.util.StpLoginUserUtil;
 import vip.xiaonuo.common.annotation.CommonLog;
 import vip.xiaonuo.common.pojo.CommonResult;
 import vip.xiaonuo.common.pojo.CommonValidList;
+import vip.xiaonuo.dev.modular.message.param.DevMessageSendParam;
+import vip.xiaonuo.dev.modular.message.service.DevMessageService;
 import vip.xiaonuo.disk.domain.*;
 import vip.xiaonuo.disk.param.courseInfo.CourseInfoAddParam;
 import vip.xiaonuo.disk.param.courseInfo.CourseInfoEditParam;
@@ -71,6 +74,8 @@ public class CourseInfoController {
     private CourseRelateService courseRelateService;
     @Resource
     private CourseStudentCollectService courseStudentCollectService;
+    @Resource
+    private DevMessageService devMessageService;
 
     /**
      * 课程信息-分页列表
@@ -453,4 +458,38 @@ public class CourseInfoController {
         return CommonResult.ok();
     }
 
+
+
+    /**
+     * 课程管理-一键催交
+     *
+     * @author honorfire
+     * @date  2025/06/20 14:58
+     */
+    @ApiOperationSupport(order = 3)
+    @ApiOperation("课程管理-一键催交")
+    @CommonLog("课程管理-一键催交")
+    @SaCheckPermission("/disk/courseinfo/urgeSubmit")
+    @GetMapping("/disk/courseinfo/urgeSubmit")
+    public CommonResult<String> courseinfo(HttpServletRequest req) {
+        Map param=new HashMap();
+        String hourId=req.getParameter("hourId");
+        ClassHour classHour=classHourService.queryEntity(hourId);
+        Chapter chapter = chapterService.queryEntity(classHour.getChapterId());
+        CourseInfo courseInfo = courseInfoService.queryEntity(chapter.getCourseId());
+        param.put("courseId", courseInfo.getCourseId());
+        param.put("teacherId", StpLoginUserUtil.getLoginUser().getId());
+        //查询当前老师自己所有课程下所有人员
+        List<Map<String,Object>> openCourseUserList=courseInfoService.getOpenCourseUserList(param);
+        List<String> userIdList= openCourseUserList.stream().map(map -> (String) map.get("studentId")).collect(Collectors.toList());
+        String subject="课程:"+courseInfo.getCourseName()+"-章节:"+chapter.getName()+"-课时:"+classHour.getName()+"下存在章节测验,请及时参与";
+        String content="课程:"+courseInfo.getCourseName()+"-章节:"+chapter.getName()+"-课时:"+classHour.getName()+"下存在章节测验,请及时参与";
+        DevMessageSendParam devMessageSendParam=new DevMessageSendParam();
+        devMessageSendParam.setSubject(subject);
+        devMessageSendParam.setContent(content);
+        devMessageSendParam.setReceiverIdList(userIdList);
+        if(userIdList.size()>0) devMessageService.send(devMessageSendParam);
+        return CommonResult.ok();
+    }
+
 }

+ 4 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/domain/CourseNotes.java

@@ -48,6 +48,10 @@ public class CourseNotes {
     @ApiModelProperty(value = "笔记内容", position = 5)
     private String noteContent;
 
+    /** 记录时间 */
+    @ApiModelProperty(value = "记录时间", position = 5)
+    private String recordTime;
+
     /** 删除状态 */
     @ApiModelProperty(value = "删除状态", position = 6)
     @TableLogic

+ 6 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/mapper/CourseInfoMapper.java

@@ -17,6 +17,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.apache.ibatis.annotations.Param;
 import vip.xiaonuo.disk.domain.CourseInfo;
 
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -53,4 +54,9 @@ public interface CourseInfoMapper extends BaseMapper<CourseInfo> {
      * 课程中心-详情(学生端)
      */
     Map<String,Object> coursecentryDetail(Map param);
+
+    /**
+     * 课程-当前老师自己所有课程下所有人员
+     */
+    List<Map<String,Object>> getOpenCourseUserList(Map param);
 }

+ 21 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/mapper/mapping/CourseInfoMapper.xml

@@ -286,4 +286,25 @@
             </if>
         </if>
     </select>
+
+    <select id="getOpenCourseUserList" resultType="java.util.Map">
+        SELECT
+            ci.COURSE_ID AS courseId,
+            ci.COURSE_NAME AS courseName,
+            cop.ID AS courseOpenId,
+            cop.GRADES_ID AS gradesId,
+            STU.ID AS studentId,
+            STU.NAME AS studentName
+        FROM COURSE_INFO ci
+        LEFT JOIN COURSE_OPEN cop ON ci.COURSE_ID =cop.COURSE_ID AND cop.DELETE_FLAG='NOT_DELETE'
+        LEFT JOIN SYS_USER stu ON stu.GRADES_ID =cop.GRADES_ID
+        WHERE ci.DELETE_FLAG ='NOT_DELETE'
+        <if test="courseId != null and courseId != ''">
+            AND ci.COURSE_ID = #{courseId}
+        </if>
+        <if test="teacherId != null and teacherId != ''">
+            AND cop.TEACHER_ID = #{teacherId}
+        </if>
+    </select>
+
 </mapper>

+ 1 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/mapper/mapping/CourseNotebooksMapper.xml

@@ -7,6 +7,7 @@
         cn.NOTEBOOK_ID AS notebookId,
         IFNULL(cn.COURSE_ID,'') AS courseId,
         IFNULL(ci.COURSE_NAME,'') AS courseName,
+        IFNULL(cn.RECORD_TIME,'') AS recordTime,
         IFNULL(cn.USER_ID,'') AS userId
         FROM COURSE_NOTEBOOKS cn
         LEFT JOIN COURSE_INFO ci ON ci.COURSE_ID = cn.COURSE_ID AND ci.DELETE_FLAG ='NOT_DELETE'

+ 4 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/param/CourseNotesAddParam.java

@@ -42,5 +42,9 @@ public class CourseNotesAddParam {
     @ApiModelProperty(value = "课时id", position = 3)
     private String hourId;
 
+    /** 记录时间 */
+    @ApiModelProperty(value = "记录时间", position = 5)
+    private String recordTime;
+
 
 }

+ 4 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/param/CourseNotesEditParam.java

@@ -44,4 +44,8 @@ public class CourseNotesEditParam {
     @ApiModelProperty(value = "课程主键id", position = 3)
     private String courseId;
 
+    /** 记录时间 */
+    @ApiModelProperty(value = "记录时间", position = 5)
+    private String recordTime;
+
 }

+ 5 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/service/CourseInfoService.java

@@ -120,4 +120,9 @@ public interface CourseInfoService extends IService<CourseInfo> {
      *  课程中心-详情(学生端)
      */
     Map<String,Object> coursecentryDetail(Map param);
+
+    /**
+     * 课程-当前老师自己所有课程下所有人员
+     */
+    List<Map<String,Object>> getOpenCourseUserList(Map param);
 }

+ 9 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/service/impl/CourseInfoServiceImpl.java

@@ -167,6 +167,15 @@ public class CourseInfoServiceImpl extends ServiceImpl<CourseInfoMapper, CourseI
         return courseInfoMapper.coursecentryDetail(param);
     }
 
+    /**
+     * 课程-当前老师自己所有课程下所有人员
+     */
+    @Override
+    public List<Map<String,Object>> getOpenCourseUserList(Map param)
+    {
+        return courseInfoMapper.getOpenCourseUserList(param);
+    }
+
 
 
 }