Просмотр исходного кода

提交课程中心以及课程审核记录基本代码

honorfire 8 месяцев назад
Родитель
Сommit
bd55936150
32 измененных файлов с 1396 добавлено и 16 удалено
  1. 132 0
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/controller/CourseAuditRecordController.java
  2. 132 0
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/controller/CourseInfoController.java
  3. 1 3
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/controller/ShareGroupController.java
  4. 71 0
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/domain/CourseAuditRecord.java
  5. 34 0
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/domain/CourseAuditRecordEnum.java
  6. 119 0
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/domain/CourseInfo.java
  7. 34 0
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/domain/CourseInfoEnum.java
  8. 90 0
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/dto/courseInfo/CourseInfoAddParam.java
  9. 95 0
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/dto/courseInfo/CourseInfoEditParam.java
  10. 35 0
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/dto/courseInfo/CourseInfoIdParam.java
  11. 51 0
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/dto/courseInfo/CourseInfoPageParam.java
  12. 42 0
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/dto/courseauditrecord/CourseAuditRecordAddParam.java
  13. 47 0
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/dto/courseauditrecord/CourseAuditRecordEditParam.java
  14. 35 0
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/dto/courseauditrecord/CourseAuditRecordIdParam.java
  15. 51 0
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/dto/courseauditrecord/CourseAuditRecordPageParam.java
  16. 1 1
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/dto/shareGroupuser/ShareGroupAddParam.java
  17. 1 1
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/dto/shareGroupuser/ShareGroupEditParam.java
  18. 1 1
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/dto/shareGroupuser/ShareGroupIdParam.java
  19. 1 1
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/dto/shareGroupuser/ShareGroupUser.java
  20. 1 1
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/dto/shareGroupuser/ShareGroupUserEnum.java
  21. 1 1
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/dto/shareGroupuser/ShareGroupUserPageParam.java
  22. 25 0
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/mapper/CourseAuditRecordMapper.java
  23. 25 0
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/mapper/CourseInfoMapper.java
  24. 1 1
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/mapper/ShareGroupUserMapper.java
  25. 5 0
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/mapper/mapping/CourseAuditRecordMapper.xml
  26. 5 0
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/mapper/mapping/CourseInfoMapper.xml
  27. 81 0
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/service/CourseAuditRecordService.java
  28. 81 0
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/service/CourseInfoService.java
  29. 1 1
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/service/ShareGroupUserService.java
  30. 96 0
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/service/impl/CourseAuditRecordServiceImpl.java
  31. 96 0
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/service/impl/CourseInfoServiceImpl.java
  32. 5 5
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/service/impl/ShareGroupUserServiceImpl.java

+ 132 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/controller/CourseAuditRecordController.java

@@ -0,0 +1,132 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.disk.controller;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import com.github.xiaoymin.knife4j.annotations.ApiSupport;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RestController;
+import vip.xiaonuo.common.annotation.CommonLog;
+import vip.xiaonuo.common.pojo.CommonResult;
+import vip.xiaonuo.common.pojo.CommonValidList;
+import vip.xiaonuo.disk.domain.CourseAuditRecord;
+import vip.xiaonuo.disk.dto.courseauditrecord.CourseAuditRecordAddParam;
+import vip.xiaonuo.disk.dto.courseauditrecord.CourseAuditRecordEditParam;
+import vip.xiaonuo.disk.dto.courseauditrecord.CourseAuditRecordIdParam;
+import vip.xiaonuo.disk.dto.courseauditrecord.CourseAuditRecordPageParam;
+import vip.xiaonuo.disk.service.CourseAuditRecordService;
+
+import javax.annotation.Resource;
+import javax.validation.Valid;
+import javax.validation.constraints.NotEmpty;
+
+/**
+ * 课程审核记录表控制器
+ *
+ * @author honorfire
+ * @date  2025/06/20 14:58
+ */
+@Api(tags = "课程审核记录表控制器")
+@ApiSupport(author = "SNOWY_TEAM", order = 1)
+@RestController
+@Validated
+public class CourseAuditRecordController {
+
+    @Resource
+    private CourseAuditRecordService courseAuditRecordService;
+
+    /**
+     * 获取课程审核记录表分页
+     *
+     * @author honorfire
+     * @date  2025/06/20 14:58
+     */
+    @ApiOperationSupport(order = 1)
+    @ApiOperation("获取课程审核记录表分页")
+    @SaCheckPermission("/disk/courseauditrecord/page")
+    @GetMapping("/disk/courseauditrecord/page")
+    public CommonResult<Page<CourseAuditRecord>> page(CourseAuditRecordPageParam courseAuditRecordPageParam) {
+        return CommonResult.data(courseAuditRecordService.page(courseAuditRecordPageParam));
+    }
+
+    /**
+     * 添加课程审核记录表
+     *
+     * @author honorfire
+     * @date  2025/06/20 14:58
+     */
+    @ApiOperationSupport(order = 2)
+    @ApiOperation("添加课程审核记录表")
+    @CommonLog("添加课程审核记录表")
+    @SaCheckPermission("/disk/courseauditrecord/add")
+    @PostMapping("/disk/courseauditrecord/add")
+    public CommonResult<String> add(@RequestBody @Valid CourseAuditRecordAddParam courseAuditRecordAddParam) {
+        courseAuditRecordService.add(courseAuditRecordAddParam);
+        return CommonResult.ok();
+    }
+
+    /**
+     * 编辑课程审核记录表
+     *
+     * @author honorfire
+     * @date  2025/06/20 14:58
+     */
+    @ApiOperationSupport(order = 3)
+    @ApiOperation("编辑课程审核记录表")
+    @CommonLog("编辑课程审核记录表")
+    @SaCheckPermission("/disk/courseauditrecord/edit")
+    @PostMapping("/disk/courseauditrecord/edit")
+    public CommonResult<String> edit(@RequestBody @Valid CourseAuditRecordEditParam courseAuditRecordEditParam) {
+        courseAuditRecordService.edit(courseAuditRecordEditParam);
+        return CommonResult.ok();
+    }
+
+    /**
+     * 删除课程审核记录表
+     *
+     * @author honorfire
+     * @date  2025/06/20 14:58
+     */
+    @ApiOperationSupport(order = 4)
+    @ApiOperation("删除课程审核记录表")
+    @CommonLog("删除课程审核记录表")
+    @SaCheckPermission("/disk/courseauditrecord/delete")
+    @PostMapping("/disk/courseauditrecord/delete")
+    public CommonResult<String> delete(@RequestBody @Valid @NotEmpty(message = "集合不能为空")
+                                                   CommonValidList<CourseAuditRecordIdParam> courseAuditRecordIdParamList) {
+        courseAuditRecordService.delete(courseAuditRecordIdParamList);
+        return CommonResult.ok();
+    }
+
+    /**
+     * 获取课程审核记录表详情
+     *
+     * @author honorfire
+     * @date  2025/06/20 14:58
+     */
+    @ApiOperationSupport(order = 5)
+    @ApiOperation("获取课程审核记录表详情")
+    @SaCheckPermission("/disk/courseauditrecord/detail")
+    @GetMapping("/disk/courseauditrecord/detail")
+    public CommonResult<CourseAuditRecord> detail(@Valid CourseAuditRecordIdParam courseAuditRecordIdParam) {
+        return CommonResult.data(courseAuditRecordService.detail(courseAuditRecordIdParam));
+    }
+
+}

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

@@ -0,0 +1,132 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.disk.controller;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import com.github.xiaoymin.knife4j.annotations.ApiSupport;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RestController;
+import vip.xiaonuo.common.annotation.CommonLog;
+import vip.xiaonuo.common.pojo.CommonResult;
+import vip.xiaonuo.common.pojo.CommonValidList;
+import vip.xiaonuo.disk.domain.CourseInfo;
+import vip.xiaonuo.disk.dto.courseInfo.CourseInfoAddParam;
+import vip.xiaonuo.disk.dto.courseInfo.CourseInfoEditParam;
+import vip.xiaonuo.disk.dto.courseInfo.CourseInfoIdParam;
+import vip.xiaonuo.disk.dto.courseInfo.CourseInfoPageParam;
+import vip.xiaonuo.disk.service.CourseInfoService;
+
+import javax.annotation.Resource;
+import javax.validation.Valid;
+import javax.validation.constraints.NotEmpty;
+
+/**
+ * 课程信息表控制器
+ *
+ * @author honorfire
+ * @date  2025/06/20 15:00
+ */
+@Api(tags = "课程信息表控制器")
+@ApiSupport(author = "SNOWY_TEAM", order = 1)
+@RestController
+@Validated
+public class CourseInfoController {
+
+    @Resource
+    private CourseInfoService courseInfoService;
+
+    /**
+     * 获取课程信息表分页
+     *
+     * @author honorfire
+     * @date  2025/06/20 15:00
+     */
+    @ApiOperationSupport(order = 1)
+    @ApiOperation("获取课程信息表分页")
+    @SaCheckPermission("/disk/courseinfo/page")
+    @GetMapping("/disk/courseinfo/page")
+    public CommonResult<Page<CourseInfo>> page(CourseInfoPageParam courseInfoPageParam) {
+        return CommonResult.data(courseInfoService.page(courseInfoPageParam));
+    }
+
+    /**
+     * 添加课程信息表
+     *
+     * @author honorfire
+     * @date  2025/06/20 15:00
+     */
+    @ApiOperationSupport(order = 2)
+    @ApiOperation("添加课程信息表")
+    @CommonLog("添加课程信息表")
+    @SaCheckPermission("/disk/courseinfo/add")
+    @PostMapping("/disk/courseinfo/add")
+    public CommonResult<String> add(@RequestBody @Valid CourseInfoAddParam courseInfoAddParam) {
+        courseInfoService.add(courseInfoAddParam);
+        return CommonResult.ok();
+    }
+
+    /**
+     * 编辑课程信息表
+     *
+     * @author honorfire
+     * @date  2025/06/20 15:00
+     */
+    @ApiOperationSupport(order = 3)
+    @ApiOperation("编辑课程信息表")
+    @CommonLog("编辑课程信息表")
+    @SaCheckPermission("/disk/courseinfo/edit")
+    @PostMapping("/disk/courseinfo/edit")
+    public CommonResult<String> edit(@RequestBody @Valid CourseInfoEditParam courseInfoEditParam) {
+        courseInfoService.edit(courseInfoEditParam);
+        return CommonResult.ok();
+    }
+
+    /**
+     * 删除课程信息表
+     *
+     * @author honorfire
+     * @date  2025/06/20 15:00
+     */
+    @ApiOperationSupport(order = 4)
+    @ApiOperation("删除课程信息表")
+    @CommonLog("删除课程信息表")
+    @SaCheckPermission("/disk/courseinfo/delete")
+    @PostMapping("/disk/courseinfo/delete")
+    public CommonResult<String> delete(@RequestBody @Valid @NotEmpty(message = "集合不能为空")
+                                                   CommonValidList<CourseInfoIdParam> courseInfoIdParamList) {
+        courseInfoService.delete(courseInfoIdParamList);
+        return CommonResult.ok();
+    }
+
+    /**
+     * 获取课程信息表详情
+     *
+     * @author honorfire
+     * @date  2025/06/20 15:00
+     */
+    @ApiOperationSupport(order = 5)
+    @ApiOperation("获取课程信息表详情")
+    @SaCheckPermission("/disk/courseinfo/detail")
+    @GetMapping("/disk/courseinfo/detail")
+    public CommonResult<CourseInfo> detail(@Valid CourseInfoIdParam courseInfoIdParam) {
+        return CommonResult.data(courseInfoService.detail(courseInfoIdParam));
+    }
+
+}

+ 1 - 3
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/controller/ShareGroupController.java

@@ -12,7 +12,6 @@
  */
 package vip.xiaonuo.disk.controller;
 
-import cn.dev33.satoken.annotation.SaCheckPermission;
 import cn.hutool.core.collection.CollStreamUtil;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
@@ -34,12 +33,11 @@ import vip.xiaonuo.common.util.CommonAvatarUtil;
 import vip.xiaonuo.common.util.CommonCryptogramUtil;
 import vip.xiaonuo.common.util.PinyinUtils;
 import vip.xiaonuo.dev.api.DevConfigApi;
-import vip.xiaonuo.disk.dto.ShareGroupuser.*;
+import vip.xiaonuo.disk.dto.shareGroupuser.*;
 import vip.xiaonuo.disk.service.ShareGroupUserService;
 import vip.xiaonuo.sys.modular.relation.enums.SysRelationCategoryEnum;
 import vip.xiaonuo.sys.modular.relation.service.SysRelationService;
 import vip.xiaonuo.sys.modular.user.entity.SysUser;
-import vip.xiaonuo.sys.modular.user.param.SysUserIdParam;
 import vip.xiaonuo.sys.modular.user.service.SysUserService;
 import vip.xiaonuo.sys.modular.user.service.impl.SysUserServiceImpl;
 

+ 71 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/domain/CourseAuditRecord.java

@@ -0,0 +1,71 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.disk.domain;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 课程审核记录表实体
+ *
+ * @author honorfire
+ * @date  2025/06/20 14:58
+ **/
+@Getter
+@Setter
+@TableName("COURSE_AUDIT_RECORD")
+public class CourseAuditRecord {
+
+    /** 主键ID */
+    @TableId
+    @ApiModelProperty(value = "主键ID", position = 1)
+    private String id;
+
+    /** 关联的课程ID */
+    @ApiModelProperty(value = "关联的课程ID", position = 2)
+    private String courseId;
+
+    /** 审核状态id,0未审核,1已发布,2未通过,3已删除 */
+    @ApiModelProperty(value = "审核状态id,0未审核,1已发布,2未通过,3已删除", position = 3)
+    private String verifyStatus;
+
+    /** 删除标记 */
+    @ApiModelProperty(value = "删除标记", position = 4)
+    @TableLogic
+    @TableField(fill = FieldFill.INSERT)
+    private String deleteFlag;
+
+    /** 创建时间 */
+    @ApiModelProperty(value = "创建时间", position = 5)
+    @TableField(fill = FieldFill.INSERT)
+    private Date createTime;
+
+    /** 创建人 */
+    @ApiModelProperty(value = "创建人", position = 6)
+    @TableField(fill = FieldFill.INSERT)
+    private String createUser;
+
+    /** 更新时间 */
+    @ApiModelProperty(value = "更新时间", position = 7)
+    @TableField(fill = FieldFill.UPDATE)
+    private Date updateTime;
+
+    /** 更新人 */
+    @ApiModelProperty(value = "更新人", position = 8)
+    @TableField(fill = FieldFill.UPDATE)
+    private String updateUser;
+}

+ 34 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/domain/CourseAuditRecordEnum.java

@@ -0,0 +1,34 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.disk.domain;
+
+import lombok.Getter;
+
+/**
+ * 课程审核记录表枚举
+ *
+ * @author honorfire
+ * @date  2025/06/20 14:58
+ **/
+@Getter
+public enum CourseAuditRecordEnum {
+
+    /** 测试 */
+    TEST("TEST");
+
+    private final String value;
+
+    CourseAuditRecordEnum(String value) {
+        this.value = value;
+    }
+}

+ 119 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/domain/CourseInfo.java

@@ -0,0 +1,119 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.disk.domain;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 课程信息表实体
+ *
+ * @author honorfire
+ * @date  2025/06/20 15:00
+ **/
+@Getter
+@Setter
+@TableName("COURSE_INFO")
+public class CourseInfo {
+
+    /** 课程主键ID */
+    @TableId
+    @ApiModelProperty(value = "课程主键ID", position = 1)
+    private String courseId;
+
+    /** 课程名称 */
+    @ApiModelProperty(value = "课程名称", position = 2)
+    private String courseName;
+
+    /** 课程类型 */
+    @ApiModelProperty(value = "课程类型", position = 3)
+    private String courseType;
+
+    /** 课程详细介绍 */
+    @ApiModelProperty(value = "课程详细介绍", position = 4)
+    private String courseDesc;
+
+    /** 课程封面id */
+    @ApiModelProperty(value = "课程封面id", position = 5)
+    private String coverImageId;
+
+    /** 授课教师/人员ID */
+    @ApiModelProperty(value = "授课教师/人员ID", position = 6)
+    private String teacherId;
+
+    /** 所属院ID */
+    @ApiModelProperty(value = "所属院ID", position = 7)
+    private String collegeId;
+
+    /** 课程格式ID(视频/文档等) */
+    @ApiModelProperty(value = "课程格式ID(视频/文档等)", position = 8)
+    private String formatId;
+
+    /** 课程发布时间 */
+    @ApiModelProperty(value = "课程发布时间", position = 9)
+    private Date publishTime;
+
+    /** 课程时间限制类型 0-无限制 1-有时间限制 */
+    @ApiModelProperty(value = "课程时间限制类型 0-无限制 1-有时间限制", position = 10)
+    private String timeLimitType;
+
+    /** 课程有效开始时间 */
+    @ApiModelProperty(value = "课程有效开始时间", position = 11)
+    private Date startTime;
+
+    /** 课程有效结束时间 */
+    @ApiModelProperty(value = "课程有效结束时间", position = 12)
+    private Date endTime;
+
+    /** 课程播放/浏览次数 */
+    @ApiModelProperty(value = "课程播放/浏览次数", position = 13)
+    private Long viewCount;
+
+    /** 删除标记 */
+    @ApiModelProperty(value = "删除标记", position = 14)
+    @TableLogic
+    @TableField(fill = FieldFill.INSERT)
+    private String deleteFlag;
+
+    /** 创建时间 */
+    @ApiModelProperty(value = "创建时间", position = 15)
+    @TableField(fill = FieldFill.INSERT)
+    private Date createTime;
+
+    /** 创建人 */
+    @ApiModelProperty(value = "创建人", position = 16)
+    @TableField(fill = FieldFill.INSERT)
+    private String createUser;
+
+    /** 更新时间 */
+    @ApiModelProperty(value = "更新时间", position = 17)
+    @TableField(fill = FieldFill.UPDATE)
+    private Date updateTime;
+
+    /** 更新人 */
+    @ApiModelProperty(value = "更新人", position = 18)
+    @TableField(fill = FieldFill.UPDATE)
+    private String updateUser;
+
+    /** 所属系ID */
+    @ApiModelProperty(value = "所属系ID", position = 19)
+    private String majorId;
+
+    /** 审核状态id,0未审核,1已发布,2未通过,3已删除 */
+    @ApiModelProperty(value = "审核状态id,0未审核,1已发布,2未通过,3已删除", position = 20)
+    private String verifyStatus;
+}

+ 34 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/domain/CourseInfoEnum.java

@@ -0,0 +1,34 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.disk.domain;
+
+import lombok.Getter;
+
+/**
+ * 课程信息表枚举
+ *
+ * @author honorfire
+ * @date  2025/06/20 15:00
+ **/
+@Getter
+public enum CourseInfoEnum {
+
+    /** 测试 */
+    TEST("TEST");
+
+    private final String value;
+
+    CourseInfoEnum(String value) {
+        this.value = value;
+    }
+}

+ 90 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/dto/courseInfo/CourseInfoAddParam.java

@@ -0,0 +1,90 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.disk.dto.courseInfo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 课程信息表添加参数
+ *
+ * @author honorfire
+ * @date  2025/06/20 15:00
+ **/
+@Getter
+@Setter
+public class CourseInfoAddParam {
+
+    /** 课程名称 */
+    @ApiModelProperty(value = "课程名称", position = 2)
+    private String courseName;
+
+    /** 课程类型 */
+    @ApiModelProperty(value = "课程类型", position = 3)
+    private String courseType;
+
+    /** 课程详细介绍 */
+    @ApiModelProperty(value = "课程详细介绍", position = 4)
+    private String courseDesc;
+
+    /** 课程封面id */
+    @ApiModelProperty(value = "课程封面id", position = 5)
+    private String coverImageId;
+
+    /** 授课教师/人员ID */
+    @ApiModelProperty(value = "授课教师/人员ID", position = 6)
+    private String teacherId;
+
+    /** 所属院ID */
+    @ApiModelProperty(value = "所属院ID", position = 7)
+    private String collegeId;
+
+    /** 课程格式ID(视频/文档等) */
+    @ApiModelProperty(value = "课程格式ID(视频/文档等)", position = 8)
+    private String formatId;
+
+    /** 课程发布时间 */
+    @ApiModelProperty(value = "课程发布时间", position = 9)
+    private Date publishTime;
+
+    /** 课程时间限制类型 0-无限制 1-有时间限制 */
+    @ApiModelProperty(value = "课程时间限制类型 0-无限制 1-有时间限制", position = 10)
+    private String timeLimitType;
+
+    /** 课程有效开始时间 */
+    @ApiModelProperty(value = "课程有效开始时间", position = 11)
+    private Date startTime;
+
+    /** 课程有效结束时间 */
+    @ApiModelProperty(value = "课程有效结束时间", position = 12)
+    private Date endTime;
+
+    /** 课程播放/浏览次数 */
+    @ApiModelProperty(value = "课程播放/浏览次数", position = 13)
+    private Long viewCount;
+
+    /** 所属系ID */
+    @ApiModelProperty(value = "所属系ID", position = 19)
+    private String majorId;
+
+    /** 审核状态id,0未审核,1已发布,2未通过,3已删除 */
+    @ApiModelProperty(value = "审核状态id,0未审核,1已发布,2未通过,3已删除", position = 20)
+    private String verifyStatus;
+
+}

+ 95 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/dto/courseInfo/CourseInfoEditParam.java

@@ -0,0 +1,95 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.disk.dto.courseInfo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 课程信息表编辑参数
+ *
+ * @author honorfire
+ * @date  2025/06/20 15:00
+ **/
+@Getter
+@Setter
+public class CourseInfoEditParam {
+
+    /** 课程主键ID */
+    @ApiModelProperty(value = "课程主键ID", required = true, position = 1)
+    @NotBlank(message = "courseId不能为空")
+    private String courseId;
+
+    /** 课程名称 */
+    @ApiModelProperty(value = "课程名称", position = 2)
+    private String courseName;
+
+    /** 课程类型 */
+    @ApiModelProperty(value = "课程类型", position = 3)
+    private String courseType;
+
+    /** 课程详细介绍 */
+    @ApiModelProperty(value = "课程详细介绍", position = 4)
+    private String courseDesc;
+
+    /** 课程封面id */
+    @ApiModelProperty(value = "课程封面id", position = 5)
+    private String coverImageId;
+
+    /** 授课教师/人员ID */
+    @ApiModelProperty(value = "授课教师/人员ID", position = 6)
+    private String teacherId;
+
+    /** 所属院ID */
+    @ApiModelProperty(value = "所属院ID", position = 7)
+    private String collegeId;
+
+    /** 课程格式ID(视频/文档等) */
+    @ApiModelProperty(value = "课程格式ID(视频/文档等)", position = 8)
+    private String formatId;
+
+    /** 课程发布时间 */
+    @ApiModelProperty(value = "课程发布时间", position = 9)
+    private Date publishTime;
+
+    /** 课程时间限制类型 0-无限制 1-有时间限制 */
+    @ApiModelProperty(value = "课程时间限制类型 0-无限制 1-有时间限制", position = 10)
+    private String timeLimitType;
+
+    /** 课程有效开始时间 */
+    @ApiModelProperty(value = "课程有效开始时间", position = 11)
+    private Date startTime;
+
+    /** 课程有效结束时间 */
+    @ApiModelProperty(value = "课程有效结束时间", position = 12)
+    private Date endTime;
+
+    /** 课程播放/浏览次数 */
+    @ApiModelProperty(value = "课程播放/浏览次数", position = 13)
+    private Long viewCount;
+
+    /** 所属系ID */
+    @ApiModelProperty(value = "所属系ID", position = 19)
+    private String majorId;
+
+    /** 审核状态id,0未审核,1已发布,2未通过,3已删除 */
+    @ApiModelProperty(value = "审核状态id,0未审核,1已发布,2未通过,3已删除", position = 20)
+    private String verifyStatus;
+
+}

+ 35 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/dto/courseInfo/CourseInfoIdParam.java

@@ -0,0 +1,35 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.disk.dto.courseInfo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * 课程信息表Id参数
+ *
+ * @author honorfire
+ * @date  2025/06/20 15:00
+ **/
+@Getter
+@Setter
+public class CourseInfoIdParam {
+
+    /** 课程主键ID */
+    @ApiModelProperty(value = "课程主键ID", required = true)
+    @NotBlank(message = "courseId不能为空")
+    private String courseId;
+}

+ 51 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/dto/courseInfo/CourseInfoPageParam.java

@@ -0,0 +1,51 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.disk.dto.courseInfo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 课程信息表查询参数
+ *
+ * @author honorfire
+ * @date  2025/06/20 15:00
+ **/
+@Getter
+@Setter
+public class CourseInfoPageParam {
+
+    /** 当前页 */
+    @ApiModelProperty(value = "当前页码")
+    private Integer current;
+
+    /** 每页条数 */
+    @ApiModelProperty(value = "每页条数")
+    private Integer size;
+
+    /** 排序字段 */
+    @ApiModelProperty(value = "排序字段,字段驼峰名称,如:userName")
+    private String sortField;
+
+    /** 排序方式 */
+    @ApiModelProperty(value = "排序方式,升序:ASCEND;降序:DESCEND")
+    private String sortOrder;
+
+    /** 关键词 */
+    @ApiModelProperty(value = "关键词")
+    private String searchKey;
+
+}

+ 42 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/dto/courseauditrecord/CourseAuditRecordAddParam.java

@@ -0,0 +1,42 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.disk.dto.courseauditrecord;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 课程审核记录表添加参数
+ *
+ * @author honorfire
+ * @date  2025/06/20 14:58
+ **/
+@Getter
+@Setter
+public class CourseAuditRecordAddParam {
+
+    /** 关联的课程ID */
+    @ApiModelProperty(value = "关联的课程ID", position = 2)
+    private String courseId;
+
+    /** 审核状态id,0未审核,1已发布,2未通过,3已删除 */
+    @ApiModelProperty(value = "审核状态id,0未审核,1已发布,2未通过,3已删除", position = 3)
+    private String verifyStatus;
+
+}

+ 47 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/dto/courseauditrecord/CourseAuditRecordEditParam.java

@@ -0,0 +1,47 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.disk.dto.courseauditrecord;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 课程审核记录表编辑参数
+ *
+ * @author honorfire
+ * @date  2025/06/20 14:58
+ **/
+@Getter
+@Setter
+public class CourseAuditRecordEditParam {
+
+    /** 主键ID */
+    @ApiModelProperty(value = "主键ID", required = true, position = 1)
+    @NotBlank(message = "id不能为空")
+    private String id;
+
+    /** 关联的课程ID */
+    @ApiModelProperty(value = "关联的课程ID", position = 2)
+    private String courseId;
+
+    /** 审核状态id,0未审核,1已发布,2未通过,3已删除 */
+    @ApiModelProperty(value = "审核状态id,0未审核,1已发布,2未通过,3已删除", position = 3)
+    private String verifyStatus;
+
+}

+ 35 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/dto/courseauditrecord/CourseAuditRecordIdParam.java

@@ -0,0 +1,35 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.disk.dto.courseauditrecord;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * 课程审核记录表Id参数
+ *
+ * @author honorfire
+ * @date  2025/06/20 14:58
+ **/
+@Getter
+@Setter
+public class CourseAuditRecordIdParam {
+
+    /** 主键ID */
+    @ApiModelProperty(value = "主键ID", required = true)
+    @NotBlank(message = "id不能为空")
+    private String id;
+}

+ 51 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/dto/courseauditrecord/CourseAuditRecordPageParam.java

@@ -0,0 +1,51 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.disk.dto.courseauditrecord;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 课程审核记录表查询参数
+ *
+ * @author honorfire
+ * @date  2025/06/20 14:58
+ **/
+@Getter
+@Setter
+public class CourseAuditRecordPageParam {
+
+    /** 当前页 */
+    @ApiModelProperty(value = "当前页码")
+    private Integer current;
+
+    /** 每页条数 */
+    @ApiModelProperty(value = "每页条数")
+    private Integer size;
+
+    /** 排序字段 */
+    @ApiModelProperty(value = "排序字段,字段驼峰名称,如:userName")
+    private String sortField;
+
+    /** 排序方式 */
+    @ApiModelProperty(value = "排序方式,升序:ASCEND;降序:DESCEND")
+    private String sortOrder;
+
+    /** 关键词 */
+    @ApiModelProperty(value = "关键词")
+    private String searchKey;
+
+}

+ 1 - 1
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/dto/ShareGroupuser/ShareGroupAddParam.java → snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/dto/shareGroupuser/ShareGroupAddParam.java

@@ -10,7 +10,7 @@
  * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
  * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
  */
-package vip.xiaonuo.disk.dto.ShareGroupuser;
+package vip.xiaonuo.disk.dto.shareGroupuser;
 
 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 import io.swagger.annotations.ApiModelProperty;

+ 1 - 1
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/dto/ShareGroupuser/ShareGroupEditParam.java → snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/dto/shareGroupuser/ShareGroupEditParam.java

@@ -10,7 +10,7 @@
  * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
  * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
  */
-package vip.xiaonuo.disk.dto.ShareGroupuser;
+package vip.xiaonuo.disk.dto.shareGroupuser;
 
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;

+ 1 - 1
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/dto/ShareGroupuser/ShareGroupIdParam.java → snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/dto/shareGroupuser/ShareGroupIdParam.java

@@ -10,7 +10,7 @@
  * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
  * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
  */
-package vip.xiaonuo.disk.dto.ShareGroupuser;
+package vip.xiaonuo.disk.dto.shareGroupuser;
 
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;

+ 1 - 1
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/dto/ShareGroupuser/ShareGroupUser.java → snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/dto/shareGroupuser/ShareGroupUser.java

@@ -10,7 +10,7 @@
  * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
  * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
  */
-package vip.xiaonuo.disk.dto.ShareGroupuser;
+package vip.xiaonuo.disk.dto.shareGroupuser;
 
 import com.baomidou.mybatisplus.annotation.*;
 import io.swagger.annotations.ApiModelProperty;

+ 1 - 1
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/dto/ShareGroupuser/ShareGroupUserEnum.java → snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/dto/shareGroupuser/ShareGroupUserEnum.java

@@ -10,7 +10,7 @@
  * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
  * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
  */
-package vip.xiaonuo.disk.dto.ShareGroupuser;
+package vip.xiaonuo.disk.dto.shareGroupuser;
 
 import lombok.Getter;
 

+ 1 - 1
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/dto/ShareGroupuser/ShareGroupUserPageParam.java → snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/dto/shareGroupuser/ShareGroupUserPageParam.java

@@ -10,7 +10,7 @@
  * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
  * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
  */
-package vip.xiaonuo.disk.dto.ShareGroupuser;
+package vip.xiaonuo.disk.dto.shareGroupuser;
 
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;

+ 25 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/mapper/CourseAuditRecordMapper.java

@@ -0,0 +1,25 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.disk.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import vip.xiaonuo.disk.domain.CourseAuditRecord;
+
+/**
+ * 课程审核记录表Mapper接口
+ *
+ * @author honorfire
+ * @date  2025/06/20 14:58
+ **/
+public interface CourseAuditRecordMapper extends BaseMapper<CourseAuditRecord> {
+}

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

@@ -0,0 +1,25 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.disk.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import vip.xiaonuo.disk.domain.CourseInfo;
+
+/**
+ * 课程信息表Mapper接口
+ *
+ * @author honorfire
+ * @date  2025/06/20 15:00
+ **/
+public interface CourseInfoMapper extends BaseMapper<CourseInfo> {
+}

+ 1 - 1
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/mapper/ShareGroupUserMapper.java

@@ -13,7 +13,7 @@
 package vip.xiaonuo.disk.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import vip.xiaonuo.disk.dto.ShareGroupuser.ShareGroupUser;
+import vip.xiaonuo.disk.dto.shareGroupuser.ShareGroupUser;
 
 import java.util.List;
 import java.util.Map;

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

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="vip.xiaonuo.disk.mapper.CourseAuditRecordMapper">
+
+</mapper>

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

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="vip.xiaonuo.disk.mapper.CourseInfoMapper">
+
+</mapper>

+ 81 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/service/CourseAuditRecordService.java

@@ -0,0 +1,81 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.disk.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import vip.xiaonuo.disk.domain.CourseAuditRecord;
+import vip.xiaonuo.disk.dto.courseauditrecord.CourseAuditRecordAddParam;
+import vip.xiaonuo.disk.dto.courseauditrecord.CourseAuditRecordEditParam;
+import vip.xiaonuo.disk.dto.courseauditrecord.CourseAuditRecordIdParam;
+import vip.xiaonuo.disk.dto.courseauditrecord.CourseAuditRecordPageParam;
+
+import java.util.List;
+
+/**
+ * 课程审核记录表Service接口
+ *
+ * @author honorfire
+ * @date  2025/06/20 14:58
+ **/
+public interface CourseAuditRecordService extends IService<CourseAuditRecord> {
+
+    /**
+     * 获取课程审核记录表分页
+     *
+     * @author honorfire
+     * @date  2025/06/20 14:58
+     */
+    Page<CourseAuditRecord> page(CourseAuditRecordPageParam courseAuditRecordPageParam);
+
+    /**
+     * 添加课程审核记录表
+     *
+     * @author honorfire
+     * @date  2025/06/20 14:58
+     */
+    void add(CourseAuditRecordAddParam courseAuditRecordAddParam);
+
+    /**
+     * 编辑课程审核记录表
+     *
+     * @author honorfire
+     * @date  2025/06/20 14:58
+     */
+    void edit(CourseAuditRecordEditParam courseAuditRecordEditParam);
+
+    /**
+     * 删除课程审核记录表
+     *
+     * @author honorfire
+     * @date  2025/06/20 14:58
+     */
+    void delete(List<CourseAuditRecordIdParam> courseAuditRecordIdParamList);
+
+    /**
+     * 获取课程审核记录表详情
+     *
+     * @author honorfire
+     * @date  2025/06/20 14:58
+     */
+    CourseAuditRecord detail(CourseAuditRecordIdParam courseAuditRecordIdParam);
+
+    /**
+     * 获取课程审核记录表详情
+     *
+     * @author honorfire
+     * @date  2025/06/20 14:58
+     **/
+    CourseAuditRecord queryEntity(String id);
+
+}

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

@@ -0,0 +1,81 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.disk.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import vip.xiaonuo.disk.domain.CourseInfo;
+import vip.xiaonuo.disk.dto.courseInfo.CourseInfoPageParam;
+import vip.xiaonuo.disk.dto.courseInfo.CourseInfoAddParam;
+import vip.xiaonuo.disk.dto.courseInfo.CourseInfoEditParam;
+import vip.xiaonuo.disk.dto.courseInfo.CourseInfoIdParam;
+
+import java.util.List;
+
+/**
+ * 课程信息表Service接口
+ *
+ * @author honorfire
+ * @date  2025/06/20 15:00
+ **/
+public interface CourseInfoService extends IService<CourseInfo> {
+
+    /**
+     * 获取课程信息表分页
+     *
+     * @author honorfire
+     * @date  2025/06/20 15:00
+     */
+    Page<CourseInfo> page(CourseInfoPageParam courseInfoPageParam);
+
+    /**
+     * 添加课程信息表
+     *
+     * @author honorfire
+     * @date  2025/06/20 15:00
+     */
+    void add(CourseInfoAddParam courseInfoAddParam);
+
+    /**
+     * 编辑课程信息表
+     *
+     * @author honorfire
+     * @date  2025/06/20 15:00
+     */
+    void edit(CourseInfoEditParam courseInfoEditParam);
+
+    /**
+     * 删除课程信息表
+     *
+     * @author honorfire
+     * @date  2025/06/20 15:00
+     */
+    void delete(List<CourseInfoIdParam> courseInfoIdParamList);
+
+    /**
+     * 获取课程信息表详情
+     *
+     * @author honorfire
+     * @date  2025/06/20 15:00
+     */
+    CourseInfo detail(CourseInfoIdParam courseInfoIdParam);
+
+    /**
+     * 获取课程信息表详情
+     *
+     * @author honorfire
+     * @date  2025/06/20 15:00
+     **/
+    CourseInfo queryEntity(String id);
+
+}

+ 1 - 1
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/service/ShareGroupUserService.java

@@ -14,7 +14,7 @@ package vip.xiaonuo.disk.service;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
-import vip.xiaonuo.disk.dto.ShareGroupuser.*;
+import vip.xiaonuo.disk.dto.shareGroupuser.*;
 
 import java.util.List;
 import java.util.Map;

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

@@ -0,0 +1,96 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.disk.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollStreamUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import vip.xiaonuo.common.enums.CommonSortOrderEnum;
+import vip.xiaonuo.common.exception.CommonException;
+import vip.xiaonuo.common.page.CommonPageRequest;
+import vip.xiaonuo.disk.domain.CourseAuditRecord;
+import vip.xiaonuo.disk.dto.courseauditrecord.CourseAuditRecordAddParam;
+import vip.xiaonuo.disk.dto.courseauditrecord.CourseAuditRecordEditParam;
+import vip.xiaonuo.disk.dto.courseauditrecord.CourseAuditRecordIdParam;
+import vip.xiaonuo.disk.dto.courseauditrecord.CourseAuditRecordPageParam;
+import vip.xiaonuo.disk.mapper.CourseAuditRecordMapper;
+import vip.xiaonuo.disk.service.CourseAuditRecordService;
+
+import java.util.List;
+
+/**
+ * 课程审核记录表Service接口实现类
+ *
+ * @author honorfire
+ * @date  2025/06/20 14:58
+ **/
+@Service
+public class CourseAuditRecordServiceImpl extends ServiceImpl<CourseAuditRecordMapper, CourseAuditRecord> implements CourseAuditRecordService {
+
+
+    @Override
+    public Page<CourseAuditRecord> page(CourseAuditRecordPageParam courseAuditRecordPageParam) {
+        QueryWrapper<CourseAuditRecord> queryWrapper = new QueryWrapper<>();
+        if(ObjectUtil.isAllNotEmpty(courseAuditRecordPageParam.getSortField(), courseAuditRecordPageParam.getSortOrder())) {
+            CommonSortOrderEnum.validate(courseAuditRecordPageParam.getSortOrder());
+            queryWrapper.orderBy(true, courseAuditRecordPageParam.getSortOrder().equals(CommonSortOrderEnum.ASC.getValue()),
+                    StrUtil.toUnderlineCase(courseAuditRecordPageParam.getSortField()));
+        } else {
+            queryWrapper.lambda().orderByAsc(CourseAuditRecord::getId);
+        }
+        return this.page(CommonPageRequest.defaultPage(), queryWrapper);
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void add(CourseAuditRecordAddParam courseAuditRecordAddParam) {
+        CourseAuditRecord courseAuditRecord = BeanUtil.toBean(courseAuditRecordAddParam, CourseAuditRecord.class);
+        this.save(courseAuditRecord);
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void edit(CourseAuditRecordEditParam courseAuditRecordEditParam) {
+        CourseAuditRecord courseAuditRecord = this.queryEntity(courseAuditRecordEditParam.getId());
+        BeanUtil.copyProperties(courseAuditRecordEditParam, courseAuditRecord);
+        this.updateById(courseAuditRecord);
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void delete(List<CourseAuditRecordIdParam> courseAuditRecordIdParamList) {
+        // 执行删除
+        this.removeByIds(CollStreamUtil.toList(courseAuditRecordIdParamList, CourseAuditRecordIdParam::getId));
+    }
+
+    @Override
+    public CourseAuditRecord detail(CourseAuditRecordIdParam courseAuditRecordIdParam) {
+        return this.queryEntity(courseAuditRecordIdParam.getId());
+    }
+
+    @Override
+    public CourseAuditRecord queryEntity(String id) {
+        CourseAuditRecord courseAuditRecord = this.getById(id);
+        if(ObjectUtil.isEmpty(courseAuditRecord)) {
+            throw new CommonException("课程审核记录表不存在,id值为:{}", id);
+        }
+        return courseAuditRecord;
+    }
+
+}

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

@@ -0,0 +1,96 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.disk.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollStreamUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import vip.xiaonuo.common.enums.CommonSortOrderEnum;
+import vip.xiaonuo.common.exception.CommonException;
+import vip.xiaonuo.common.page.CommonPageRequest;
+import vip.xiaonuo.disk.domain.CourseInfo;
+import vip.xiaonuo.disk.dto.courseInfo.CourseInfoAddParam;
+import vip.xiaonuo.disk.dto.courseInfo.CourseInfoEditParam;
+import vip.xiaonuo.disk.dto.courseInfo.CourseInfoIdParam;
+import vip.xiaonuo.disk.dto.courseInfo.CourseInfoPageParam;
+import vip.xiaonuo.disk.mapper.CourseInfoMapper;
+import vip.xiaonuo.disk.service.CourseInfoService;
+
+import java.util.List;
+
+/**
+ * 课程信息表Service接口实现类
+ *
+ * @author honorfire
+ * @date  2025/06/20 15:00
+ **/
+@Service
+public class CourseInfoServiceImpl extends ServiceImpl<CourseInfoMapper, CourseInfo> implements CourseInfoService {
+
+
+    @Override
+    public Page<CourseInfo> page(CourseInfoPageParam courseInfoPageParam) {
+        QueryWrapper<CourseInfo> queryWrapper = new QueryWrapper<>();
+        if(ObjectUtil.isAllNotEmpty(courseInfoPageParam.getSortField(), courseInfoPageParam.getSortOrder())) {
+            CommonSortOrderEnum.validate(courseInfoPageParam.getSortOrder());
+            queryWrapper.orderBy(true, courseInfoPageParam.getSortOrder().equals(CommonSortOrderEnum.ASC.getValue()),
+                    StrUtil.toUnderlineCase(courseInfoPageParam.getSortField()));
+        } else {
+            queryWrapper.lambda().orderByAsc(CourseInfo::getCourseId);
+        }
+        return this.page(CommonPageRequest.defaultPage(), queryWrapper);
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void add(CourseInfoAddParam courseInfoAddParam) {
+        CourseInfo courseInfo = BeanUtil.toBean(courseInfoAddParam, CourseInfo.class);
+        this.save(courseInfo);
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void edit(CourseInfoEditParam courseInfoEditParam) {
+        CourseInfo courseInfo = this.queryEntity(courseInfoEditParam.getCourseId());
+        BeanUtil.copyProperties(courseInfoEditParam, courseInfo);
+        this.updateById(courseInfo);
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void delete(List<CourseInfoIdParam> courseInfoIdParamList) {
+        // 执行删除
+        this.removeByIds(CollStreamUtil.toList(courseInfoIdParamList, CourseInfoIdParam::getCourseId));
+    }
+
+    @Override
+    public CourseInfo detail(CourseInfoIdParam courseInfoIdParam) {
+        return this.queryEntity(courseInfoIdParam.getCourseId());
+    }
+
+    @Override
+    public CourseInfo queryEntity(String id) {
+        CourseInfo courseInfo = this.getById(id);
+        if(ObjectUtil.isEmpty(courseInfo)) {
+            throw new CommonException("课程信息表不存在,id值为:{}", id);
+        }
+        return courseInfo;
+    }
+
+}

+ 5 - 5
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/service/impl/ShareGroupUserServiceImpl.java

@@ -24,12 +24,12 @@ import org.springframework.transaction.annotation.Transactional;
 import vip.xiaonuo.common.enums.CommonSortOrderEnum;
 import vip.xiaonuo.common.exception.CommonException;
 import vip.xiaonuo.common.page.CommonPageRequest;
-import vip.xiaonuo.disk.dto.ShareGroupuser.ShareGroupUser;
+import vip.xiaonuo.disk.dto.shareGroupuser.ShareGroupUser;
 import vip.xiaonuo.disk.mapper.ShareGroupUserMapper;
-import vip.xiaonuo.disk.dto.ShareGroupuser.ShareGroupAddParam;
-import vip.xiaonuo.disk.dto.ShareGroupuser.ShareGroupEditParam;
-import vip.xiaonuo.disk.dto.ShareGroupuser.ShareGroupIdParam;
-import vip.xiaonuo.disk.dto.ShareGroupuser.ShareGroupUserPageParam;
+import vip.xiaonuo.disk.dto.shareGroupuser.ShareGroupAddParam;
+import vip.xiaonuo.disk.dto.shareGroupuser.ShareGroupEditParam;
+import vip.xiaonuo.disk.dto.shareGroupuser.ShareGroupIdParam;
+import vip.xiaonuo.disk.dto.shareGroupuser.ShareGroupUserPageParam;
 import vip.xiaonuo.disk.service.ShareGroupUserService;
 
 import javax.annotation.Resource;