yangfeng před 1 rokem
rodič
revize
e400847c3a
18 změnil soubory, kde provedl 989 přidání a 0 odebrání
  1. 163 0
      web/src/main/java/com/ynfy/buss/course/course/controller/CourseController.java
  2. 167 0
      web/src/main/java/com/ynfy/buss/course/course/entity/Course.java
  3. 14 0
      web/src/main/java/com/ynfy/buss/course/course/mapper/CourseMapper.java
  4. 5 0
      web/src/main/java/com/ynfy/buss/course/course/mapper/xml/CourseMapper.xml
  5. 14 0
      web/src/main/java/com/ynfy/buss/course/course/service/ICourseService.java
  6. 18 0
      web/src/main/java/com/ynfy/buss/course/course/service/impl/CourseServiceImpl.java
  7. 161 0
      web/src/main/java/com/ynfy/buss/course/coursecatalog/controller/CourseCatalogController.java
  8. 88 0
      web/src/main/java/com/ynfy/buss/course/coursecatalog/entity/CourseCatalog.java
  9. 14 0
      web/src/main/java/com/ynfy/buss/course/coursecatalog/mapper/CourseCatalogMapper.java
  10. 5 0
      web/src/main/java/com/ynfy/buss/course/coursecatalog/mapper/xml/CourseCatalogMapper.xml
  11. 14 0
      web/src/main/java/com/ynfy/buss/course/coursecatalog/service/ICourseCatalogService.java
  12. 18 0
      web/src/main/java/com/ynfy/buss/course/coursecatalog/service/impl/CourseCatalogServiceImpl.java
  13. 162 0
      web/src/main/java/com/ynfy/buss/course/usercoursecatalog/controller/UserCourseCatalogController.java
  14. 92 0
      web/src/main/java/com/ynfy/buss/course/usercoursecatalog/entity/UserCourseCatalog.java
  15. 17 0
      web/src/main/java/com/ynfy/buss/course/usercoursecatalog/mapper/UserCourseCatalogMapper.java
  16. 5 0
      web/src/main/java/com/ynfy/buss/course/usercoursecatalog/mapper/xml/UserCourseCatalogMapper.xml
  17. 14 0
      web/src/main/java/com/ynfy/buss/course/usercoursecatalog/service/IUserCourseCatalogService.java
  18. 18 0
      web/src/main/java/com/ynfy/buss/course/usercoursecatalog/service/impl/UserCourseCatalogServiceImpl.java

+ 163 - 0
web/src/main/java/com/ynfy/buss/course/course/controller/CourseController.java

@@ -0,0 +1,163 @@
+package com.ynfy.buss.course.course.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ynfy.buss.course.course.entity.Course;
+import com.ynfy.buss.course.course.service.ICourseService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.Arrays;
+
+ /**
+ * @Description: course
+ * @Author: jeecg-boot
+ * @Date:   2023-10-24
+ * @Version: V1.0
+ */
+@Api(tags="course")
+@RestController
+@RequestMapping("/course")
+@Slf4j
+public class CourseController extends JeecgController<Course, ICourseService> {
+	@Autowired
+	private ICourseService courseService;
+	
+	/**
+	 * 分页列表查询
+	 *
+	 * @param course
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	//@AutoLog(value = "course-分页列表查询")
+	@ApiOperation(value="course-分页列表查询", notes="course-分页列表查询")
+	@RequiresPermissions("course:list")
+	@GetMapping(value = "/list")
+	public Result<IPage<Course>> queryPageList(Course course,
+								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+								   HttpServletRequest req) {
+		QueryWrapper<Course> queryWrapper = QueryGenerator.initQueryWrapper(course, req.getParameterMap());
+		Page<Course> page = new Page<Course>(pageNo, pageSize);
+		IPage<Course> pageList = courseService.page(page, queryWrapper);
+		return Result.OK(pageList);
+	}
+	
+	/**
+	 *   添加
+	 *
+	 * @param course
+	 * @return
+	 */
+	@AutoLog(value = "course-添加")
+	@ApiOperation(value="course-添加", notes="course-添加")
+	@RequiresPermissions("course:save")
+	@PostMapping(value = "/add")
+	public Result<String> add(@RequestBody Course course) {
+		courseService.save(course);
+		return Result.OK("添加成功!");
+	}
+	
+	/**
+	 *  编辑
+	 *
+	 * @param course
+	 * @return
+	 */
+	@AutoLog(value = "course-编辑")
+	@ApiOperation(value="course-编辑", notes="course-编辑")
+	@RequiresPermissions("course:save")
+	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+	public Result<String> edit(@RequestBody Course course) {
+		courseService.updateById(course);
+		return Result.OK("编辑成功!");
+	}
+	
+	/**
+	 *   通过id删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "course-通过id删除")
+	@ApiOperation(value="course-通过id删除", notes="course-通过id删除")
+	@RequiresPermissions("course:delete")
+	@DeleteMapping(value = "/delete")
+	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
+		courseService.removeById(id);
+		return Result.OK("删除成功!");
+	}
+	
+	/**
+	 *  批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@AutoLog(value = "course-批量删除")
+	@ApiOperation(value="course-批量删除", notes="course-批量删除")
+	@RequiresPermissions("course:delete")
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		this.courseService.removeByIds(Arrays.asList(ids.split(",")));
+		return Result.OK("批量删除成功!");
+	}
+	
+	/**
+	 * 通过id查询
+	 *
+	 * @param id
+	 * @return
+	 */
+	//@AutoLog(value = "course-通过id查询")
+	@ApiOperation(value="course-通过id查询", notes="course-通过id查询")
+	@GetMapping(value = "/queryById")
+	public Result<Course> queryById(@RequestParam(name="id",required=true) String id) {
+		Course course = courseService.getById(id);
+		if(course==null) {
+			return Result.error("未找到对应数据");
+		}
+		return Result.OK(course);
+	}
+
+    /**
+    * 导出excel
+    *
+    * @param request
+    * @param course
+    */
+    //@RequiresPermissions("course:exportXls")
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, Course course) {
+        return super.exportXls(request, course, Course.class, "course");
+    }
+
+    /**
+      * 通过excel导入数据
+    *
+    * @param request
+    * @param response
+    * @return
+    */
+    //@RequiresPermissions("course:importExcel")
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, Course.class);
+    }
+
+}

+ 167 - 0
web/src/main/java/com/ynfy/buss/course/course/entity/Course.java

@@ -0,0 +1,167 @@
+package com.ynfy.buss.course.course.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecg.common.aspect.annotation.Dict;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @Description: course
+ * @Author: jeecg-boot
+ * @Date: 2023-10-25
+ * @Version: V1.0
+ */
+@Data
+@TableName("course")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value = "course对象", description = "course")
+public class Course implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * id
+     */
+    @TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "id")
+    private String id;
+    /**
+     * 课程名称
+     */
+    @Excel(name = "课程名称", width = 15)
+    @ApiModelProperty(value = "课程名称")
+    private String name;
+    /**
+     * 课程分类
+     */
+    @Excel(name = "课程分类", width = 15)
+    @ApiModelProperty(value = "课程分类")
+    private String category;
+    /**
+     * 课程介绍
+     */
+    @Excel(name = "课程介绍", width = 15)
+    @ApiModelProperty(value = "课程介绍")
+    private String description;
+    /**
+     * 是否免费
+     */
+    @Excel(name = "是否免费", width = 15)
+    @ApiModelProperty(value = "是否免费")
+    private Boolean isFree;
+    /**
+     * 价格
+     */
+    @Excel(name = "价格", width = 15)
+    @ApiModelProperty(value = "价格")
+    private BigDecimal price;
+    /**
+     * 封面
+     */
+    @Excel(name = "封面", width = 15)
+    @ApiModelProperty(value = "封面")
+    private String cover;
+    /**
+     * 课时
+     */
+    @Excel(name = "课时", width = 15)
+    @ApiModelProperty(value = "课时")
+    private String classHour;
+    /**
+     * 开始时间
+     */
+    @Excel(name = "开始时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "开始时间")
+    private Date startTime;
+    /**
+     * 截止时间
+     */
+    @Excel(name = "截止时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "截止时间")
+    private Date endTime;
+    /**
+     * 是否必修
+     */
+    @Excel(name = "是否必修", width = 15)
+    @ApiModelProperty(value = "是否必修")
+    private Boolean mustLearn;
+    /**
+     * 1公开2部门3定员
+     */
+    @Excel(name = "1公开2部门3定员", width = 15)
+    @ApiModelProperty(value = "1公开2部门3定员")
+    @Dict(dicCode = "open_type")
+    private Integer openType;
+    /**
+     * 学员
+     */
+    @Excel(name = "学员", width = 15)
+    @ApiModelProperty(value = "学员")
+    private String learner;
+    /**
+     * 离开多少分钟弹窗
+     */
+    @Excel(name = "离开多少分钟弹窗", width = 15)
+    @ApiModelProperty(value = "离开多少分钟弹窗")
+    private Integer leaveTimeAlert;
+    /**
+     * 视频是否禁止拖动
+     */
+    @Excel(name = "视频是否禁止拖动", width = 15)
+    @ApiModelProperty(value = "视频是否禁止拖动")
+    private Boolean videoNodragg;
+    /**
+     * 任务是否顺序学习
+     */
+    @Excel(name = "任务是否顺序学习", width = 15)
+    @ApiModelProperty(value = "任务是否顺序学习")
+    private Boolean taskSequeUnlock;
+
+    /**
+     * 弹窗防呆校验
+     */
+    @Excel(name = "弹窗防呆校验", width = 15)
+    @ApiModelProperty(value = "弹窗防呆校验")
+    private Boolean leaveOn;
+
+    /**
+     * createTime
+     */
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "createTime")
+    private Date createTime;
+    /**
+     * createBy
+     */
+    @ApiModelProperty(value = "createBy")
+    private String createBy;
+    /**
+     * updateTime
+     */
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "updateTime")
+    private Date updateTime;
+    /**
+     * updateBy
+     */
+    @ApiModelProperty(value = "updateBy")
+    private String updateBy;
+}

+ 14 - 0
web/src/main/java/com/ynfy/buss/course/course/mapper/CourseMapper.java

@@ -0,0 +1,14 @@
+package com.ynfy.buss.course.course.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ynfy.buss.course.course.entity.Course;
+
+/**
+ * @Description: course
+ * @Author: jeecg-boot
+ * @Date:   2023-10-24
+ * @Version: V1.0
+ */
+public interface CourseMapper extends BaseMapper<Course> {
+
+}

+ 5 - 0
web/src/main/java/com/ynfy/buss/course/course/mapper/xml/CourseMapper.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="com.ynfy.buss.course.course.mapper.CourseMapper">
+
+</mapper>

+ 14 - 0
web/src/main/java/com/ynfy/buss/course/course/service/ICourseService.java

@@ -0,0 +1,14 @@
+package com.ynfy.buss.course.course.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ynfy.buss.course.course.entity.Course;
+
+/**
+ * @Description: course
+ * @Author: jeecg-boot
+ * @Date:   2023-10-24
+ * @Version: V1.0
+ */
+public interface ICourseService extends IService<Course> {
+
+}

+ 18 - 0
web/src/main/java/com/ynfy/buss/course/course/service/impl/CourseServiceImpl.java

@@ -0,0 +1,18 @@
+package com.ynfy.buss.course.course.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ynfy.buss.course.course.mapper.CourseMapper;
+import com.ynfy.buss.course.course.service.ICourseService;
+import com.ynfy.buss.course.course.entity.Course;
+import org.springframework.stereotype.Service;
+
+/**
+ * @Description: course
+ * @Author: jeecg-boot
+ * @Date:   2023-10-24
+ * @Version: V1.0
+ */
+@Service
+public class CourseServiceImpl extends ServiceImpl<CourseMapper, Course> implements ICourseService {
+
+}

+ 161 - 0
web/src/main/java/com/ynfy/buss/course/coursecatalog/controller/CourseCatalogController.java

@@ -0,0 +1,161 @@
+package com.ynfy.buss.course.coursecatalog.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ynfy.buss.course.coursecatalog.entity.CourseCatalog;
+import com.ynfy.buss.course.coursecatalog.service.ICourseCatalogService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.Arrays;
+
+ /**
+ * @Description: course_catalog
+ * @Author: jeecg-boot
+ * @Date:   2023-10-24
+ * @Version: V1.0
+ */
+@Api(tags="course_catalog")
+@RestController
+@RequestMapping("/courseCatalog")
+@Slf4j
+public class CourseCatalogController extends JeecgController<CourseCatalog, ICourseCatalogService> {
+	@Autowired
+	private ICourseCatalogService courseCatalogService;
+	
+	/**
+	 * 分页列表查询
+	 *
+	 * @param courseCatalog
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	//@AutoLog(value = "course_catalog-分页列表查询")
+	@ApiOperation(value="course_catalog-分页列表查询", notes="course_catalog-分页列表查询")
+	@GetMapping(value = "/list")
+	public Result<IPage<CourseCatalog>> queryPageList(CourseCatalog courseCatalog,
+								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+								   HttpServletRequest req) {
+		QueryWrapper<CourseCatalog> queryWrapper = QueryGenerator.initQueryWrapper(courseCatalog, req.getParameterMap());
+		Page<CourseCatalog> page = new Page<CourseCatalog>(pageNo, pageSize);
+		IPage<CourseCatalog> pageList = courseCatalogService.page(page, queryWrapper);
+		return Result.OK(pageList);
+	}
+	
+	/**
+	 *   添加
+	 *
+	 * @param courseCatalog
+	 * @return
+	 */
+	@AutoLog(value = "course_catalog-添加")
+	@ApiOperation(value="course_catalog-添加", notes="course_catalog-添加")
+	//@RequiresPermissions("courseCatalog:add")
+	@PostMapping(value = "/add")
+	public Result<String> add(@RequestBody CourseCatalog courseCatalog) {
+		courseCatalogService.save(courseCatalog);
+		return Result.OK("添加成功!");
+	}
+	
+	/**
+	 *  编辑
+	 *
+	 * @param courseCatalog
+	 * @return
+	 */
+	@AutoLog(value = "course_catalog-编辑")
+	@ApiOperation(value="course_catalog-编辑", notes="course_catalog-编辑")
+	//@RequiresPermissions("courseCatalog:edit")
+	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+	public Result<String> edit(@RequestBody CourseCatalog courseCatalog) {
+		courseCatalogService.updateById(courseCatalog);
+		return Result.OK("编辑成功!");
+	}
+	
+	/**
+	 *   通过id删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "course_catalog-通过id删除")
+	@ApiOperation(value="course_catalog-通过id删除", notes="course_catalog-通过id删除")
+	//@RequiresPermissions("courseCatalog:delete")
+	@DeleteMapping(value = "/delete")
+	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
+		courseCatalogService.removeById(id);
+		return Result.OK("删除成功!");
+	}
+	
+	/**
+	 *  批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@AutoLog(value = "course_catalog-批量删除")
+	@ApiOperation(value="course_catalog-批量删除", notes="course_catalog-批量删除")
+	//@RequiresPermissions("courseCatalog:deleteBatch")
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		this.courseCatalogService.removeByIds(Arrays.asList(ids.split(",")));
+		return Result.OK("批量删除成功!");
+	}
+	
+	/**
+	 * 通过id查询
+	 *
+	 * @param id
+	 * @return
+	 */
+	//@AutoLog(value = "course_catalog-通过id查询")
+	@ApiOperation(value="course_catalog-通过id查询", notes="course_catalog-通过id查询")
+	@GetMapping(value = "/queryById")
+	public Result<CourseCatalog> queryById(@RequestParam(name="id",required=true) String id) {
+		CourseCatalog courseCatalog = courseCatalogService.getById(id);
+		if(courseCatalog==null) {
+			return Result.error("未找到对应数据");
+		}
+		return Result.OK(courseCatalog);
+	}
+
+    /**
+    * 导出excel
+    *
+    * @param request
+    * @param courseCatalog
+    */
+    //@RequiresPermissions("courseCatalog:exportXls")
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, CourseCatalog courseCatalog) {
+        return super.exportXls(request, courseCatalog, CourseCatalog.class, "course_catalog");
+    }
+
+    /**
+      * 通过excel导入数据
+    *
+    * @param request
+    * @param response
+    * @return
+    */
+    //@RequiresPermissions("courseCatalog:importExcel")
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, CourseCatalog.class);
+    }
+
+}

+ 88 - 0
web/src/main/java/com/ynfy/buss/course/coursecatalog/entity/CourseCatalog.java

@@ -0,0 +1,88 @@
+package com.ynfy.buss.course.coursecatalog.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @Description: course_catalog
+ * @Author: jeecg-boot
+ * @Date:   2023-10-25
+ * @Version: V1.0
+ */
+@Data
+@TableName("course_catalog")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="course_catalog对象", description="course_catalog")
+public class CourseCatalog implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+	/**id*/
+	@TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "id")
+    private String id;
+	/**父id*/
+	@Excel(name = "父id", width = 15)
+    @ApiModelProperty(value = "父id")
+    private String parentId;
+	/**课程id*/
+	@Excel(name = "课程id", width = 15)
+    @ApiModelProperty(value = "课程id")
+    private String courseId;
+	/**目录或任务名称*/
+	@Excel(name = "目录或任务名称", width = 15)
+    @ApiModelProperty(value = "目录或任务名称")
+    private String name;
+	/**目录介绍*/
+	@Excel(name = "目录介绍", width = 15)
+    @ApiModelProperty(value = "目录介绍")
+    private String catalogIntro;
+	/**1:目录,2:任务*/
+	@Excel(name = "1:目录,2:任务", width = 15)
+    @ApiModelProperty(value = "1:目录,2:任务")
+    private Integer type;
+	/**资源类型  1:视频,2:文档*/
+	@Excel(name = "资源类型  1:视频,2:文档", width = 15)
+    @ApiModelProperty(value = "资源类型  1:视频,2:文档")
+    private Integer resourceType;
+	/**资源id*/
+	@Excel(name = "资源id", width = 15)
+    @ApiModelProperty(value = "资源id")
+    private String resourceId;
+	/**视频时长*/
+	@Excel(name = "视频时长", width = 15)
+    @ApiModelProperty(value = "视频时长")
+    private String videoHour;
+	/**必学时长*/
+	@Excel(name = "必学时长", width = 15)
+    @ApiModelProperty(value = "必学时长")
+    private Integer mustLearnTime;
+	/**createTime*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "createTime")
+    private Date createTime;
+	/**createBy*/
+    @ApiModelProperty(value = "createBy")
+    private String createBy;
+	/**updateTime*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "updateTime")
+    private Date updateTime;
+	/**updateBy*/
+    @ApiModelProperty(value = "updateBy")
+    private String updateBy;
+}

+ 14 - 0
web/src/main/java/com/ynfy/buss/course/coursecatalog/mapper/CourseCatalogMapper.java

@@ -0,0 +1,14 @@
+package com.ynfy.buss.course.coursecatalog.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ynfy.buss.course.coursecatalog.entity.CourseCatalog;
+
+/**
+ * @Description: course_catalog
+ * @Author: jeecg-boot
+ * @Date:   2023-10-25
+ * @Version: V1.0
+ */
+public interface CourseCatalogMapper extends BaseMapper<CourseCatalog> {
+
+}

+ 5 - 0
web/src/main/java/com/ynfy/buss/course/coursecatalog/mapper/xml/CourseCatalogMapper.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="com.ynfy.buss.course.coursecatalog.mapper.CourseCatalogMapper">
+
+</mapper>

+ 14 - 0
web/src/main/java/com/ynfy/buss/course/coursecatalog/service/ICourseCatalogService.java

@@ -0,0 +1,14 @@
+package com.ynfy.buss.course.coursecatalog.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ynfy.buss.course.coursecatalog.entity.CourseCatalog;
+
+/**
+ * @Description: course_catalog
+ * @Author: jeecg-boot
+ * @Date:   2023-10-24
+ * @Version: V1.0
+ */
+public interface ICourseCatalogService extends IService<CourseCatalog> {
+
+}

+ 18 - 0
web/src/main/java/com/ynfy/buss/course/coursecatalog/service/impl/CourseCatalogServiceImpl.java

@@ -0,0 +1,18 @@
+package com.ynfy.buss.course.coursecatalog.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ynfy.buss.course.coursecatalog.entity.CourseCatalog;
+import com.ynfy.buss.course.coursecatalog.mapper.CourseCatalogMapper;
+import com.ynfy.buss.course.coursecatalog.service.ICourseCatalogService;
+import org.springframework.stereotype.Service;
+
+/**
+ * @Description: course_catalog
+ * @Author: jeecg-boot
+ * @Date:   2023-10-24
+ * @Version: V1.0
+ */
+@Service
+public class CourseCatalogServiceImpl extends ServiceImpl<CourseCatalogMapper, CourseCatalog> implements ICourseCatalogService {
+
+}

+ 162 - 0
web/src/main/java/com/ynfy/buss/course/usercoursecatalog/controller/UserCourseCatalogController.java

@@ -0,0 +1,162 @@
+package com.ynfy.buss.course.usercoursecatalog.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ynfy.buss.course.usercoursecatalog.entity.UserCourseCatalog;
+import com.ynfy.buss.course.usercoursecatalog.service.IUserCourseCatalogService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.Arrays;
+
+/**
+ * @Description: 用户课程任务学习情况
+ * @Author: jeecg-boot
+ * @Date: 2023-10-25
+ * @Version: V1.0
+ */
+@Api(tags = "用户课程任务学习情况")
+@RestController
+@RequestMapping("/userCourseCatalog")
+@Slf4j
+public class UserCourseCatalogController extends JeecgController<UserCourseCatalog, IUserCourseCatalogService> {
+    @Autowired
+    private IUserCourseCatalogService userCourseCatalogService;
+
+    /**
+     * 分页列表查询
+     *
+     * @param userCourseCatalog
+     * @param pageNo
+     * @param pageSize
+     * @param req
+     * @return
+     */
+    //@AutoLog(value = "用户课程任务学习情况-分页列表查询")
+    @ApiOperation(value = "用户课程任务学习情况-分页列表查询", notes = "用户课程任务学习情况-分页列表查询")
+    @GetMapping(value = "/list")
+    public Result<IPage<UserCourseCatalog>> queryPageList(UserCourseCatalog userCourseCatalog,
+                                                          @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+                                                          @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+                                                          HttpServletRequest req) {
+        QueryWrapper<UserCourseCatalog> queryWrapper = QueryGenerator.initQueryWrapper(userCourseCatalog, req.getParameterMap());
+        Page<UserCourseCatalog> page = new Page<UserCourseCatalog>(pageNo, pageSize);
+        IPage<UserCourseCatalog> pageList = userCourseCatalogService.page(page, queryWrapper);
+        return Result.OK(pageList);
+    }
+
+    /**
+     * 添加
+     *
+     * @param userCourseCatalog
+     * @return
+     */
+    @AutoLog(value = "用户课程任务学习情况-添加")
+    @ApiOperation(value = "用户课程任务学习情况-添加", notes = "用户课程任务学习情况-添加")
+    @RequiresPermissions("userCourseCatalog:user_course_catalog:add")
+    @PostMapping(value = "/add")
+    public Result<String> add(@RequestBody UserCourseCatalog userCourseCatalog) {
+        userCourseCatalogService.save(userCourseCatalog);
+        return Result.OK("添加成功!");
+    }
+
+    /**
+     * 编辑
+     *
+     * @param userCourseCatalog
+     * @return
+     */
+    @AutoLog(value = "用户课程任务学习情况-编辑")
+    @ApiOperation(value = "用户课程任务学习情况-编辑", notes = "用户课程任务学习情况-编辑")
+    //@RequiresPermissions("userCourseCatalog:user_course_catalog:edit")
+    @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
+    public Result<String> edit(@RequestBody UserCourseCatalog userCourseCatalog) {
+        userCourseCatalogService.updateById(userCourseCatalog);
+        return Result.OK("编辑成功!");
+    }
+
+    /**
+     * 通过id删除
+     *
+     * @param id
+     * @return
+     */
+    @AutoLog(value = "用户课程任务学习情况-通过id删除")
+    @ApiOperation(value = "用户课程任务学习情况-通过id删除", notes = "用户课程任务学习情况-通过id删除")
+    //@RequiresPermissions("userCourseCatalog:user_course_catalog:delete")
+    @DeleteMapping(value = "/delete")
+    public Result<String> delete(@RequestParam(name = "id", required = true) String id) {
+        userCourseCatalogService.removeById(id);
+        return Result.OK("删除成功!");
+    }
+
+    /**
+     * 批量删除
+     *
+     * @param ids
+     * @return
+     */
+    @AutoLog(value = "用户课程任务学习情况-批量删除")
+    @ApiOperation(value = "用户课程任务学习情况-批量删除", notes = "用户课程任务学习情况-批量删除")
+    //@RequiresPermissions("userCourseCatalog:user_course_catalog:deleteBatch")
+    @DeleteMapping(value = "/deleteBatch")
+    public Result<String> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
+        this.userCourseCatalogService.removeByIds(Arrays.asList(ids.split(",")));
+        return Result.OK("批量删除成功!");
+    }
+
+    /**
+     * 通过id查询
+     *
+     * @param id
+     * @return
+     */
+    //@AutoLog(value = "用户课程任务学习情况-通过id查询")
+    @ApiOperation(value = "用户课程任务学习情况-通过id查询", notes = "用户课程任务学习情况-通过id查询")
+    @GetMapping(value = "/queryById")
+    public Result<UserCourseCatalog> queryById(@RequestParam(name = "id", required = true) String id) {
+        UserCourseCatalog userCourseCatalog = userCourseCatalogService.getById(id);
+        if (userCourseCatalog == null) {
+            return Result.error("未找到对应数据");
+        }
+        return Result.OK(userCourseCatalog);
+    }
+
+    /**
+     * 导出excel
+     *
+     * @param request
+     * @param userCourseCatalog
+     */
+    //@RequiresPermissions("userCourseCatalog:user_course_catalog:exportXls")
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, UserCourseCatalog userCourseCatalog) {
+        return super.exportXls(request, userCourseCatalog, UserCourseCatalog.class, "用户课程任务学习情况");
+    }
+
+    /**
+     * 通过excel导入数据
+     *
+     * @param request
+     * @param response
+     * @return
+     */
+    //@RequiresPermissions("userCourseCatalog:user_course_catalog:importExcel")
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, UserCourseCatalog.class);
+    }
+
+}

+ 92 - 0
web/src/main/java/com/ynfy/buss/course/usercoursecatalog/entity/UserCourseCatalog.java

@@ -0,0 +1,92 @@
+package com.ynfy.buss.course.usercoursecatalog.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @Description: 用户课程任务学习情况
+ * @Author: jeecg-boot
+ * @Date: 2023-10-25
+ * @Version: V1.0
+ */
+@Data
+@TableName("user_course_catalog")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value = "user_course_catalog对象", description = "用户课程任务学习情况")
+public class UserCourseCatalog implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "主键")
+    private String id;
+    /**
+     * 所属部门
+     */
+    @Excel(name = "所属部门", width = 15)
+    @ApiModelProperty(value = "所属部门")
+    private String userId;
+    /**
+     * 学时
+     */
+    @Excel(name = "学时", width = 15)
+    @ApiModelProperty(value = "学时")
+    private String courseCatalogId;
+    /**
+     * 已学时长
+     */
+    @Excel(name = "已学时长", width = 15)
+    @ApiModelProperty(value = "已学时长")
+    private Integer alreadyLearnTime;
+    /**
+     * 学习进度
+     */
+    @Excel(name = "学习进度", width = 15)
+    @ApiModelProperty(value = "学习进度")
+    private Double process;
+    /**
+     * 是否完成
+     */
+    @Excel(name = "是否完成", width = 15)
+    @ApiModelProperty(value = "是否完成")
+    private Integer isFinish;
+    /**
+     * 创建人
+     */
+    @ApiModelProperty(value = "创建人")
+    private String createBy;
+    /**
+     * 更新人
+     */
+    @ApiModelProperty(value = "更新人")
+    private String updateBy;
+    /**
+     * 创建日期
+     */
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "创建日期")
+    private Date createTime;
+    /**
+     * 更新日期
+     */
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "更新日期")
+    private Date updateTime;
+}

+ 17 - 0
web/src/main/java/com/ynfy/buss/course/usercoursecatalog/mapper/UserCourseCatalogMapper.java

@@ -0,0 +1,17 @@
+package com.ynfy.buss.course.usercoursecatalog.mapper;
+
+import java.util.List;
+
+import com.ynfy.buss.course.usercoursecatalog.entity.UserCourseCatalog;
+import org.apache.ibatis.annotations.Param;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @Description: 用户课程任务学习情况
+ * @Author: jeecg-boot
+ * @Date:   2023-10-25
+ * @Version: V1.0
+ */
+public interface UserCourseCatalogMapper extends BaseMapper<UserCourseCatalog> {
+
+}

+ 5 - 0
web/src/main/java/com/ynfy/buss/course/usercoursecatalog/mapper/xml/UserCourseCatalogMapper.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="com.ynfy.buss.course.usercoursecatalog.mapper.UserCourseCatalogMapper">
+
+</mapper>

+ 14 - 0
web/src/main/java/com/ynfy/buss/course/usercoursecatalog/service/IUserCourseCatalogService.java

@@ -0,0 +1,14 @@
+package com.ynfy.buss.course.usercoursecatalog.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ynfy.buss.course.usercoursecatalog.entity.UserCourseCatalog;
+
+/**
+ * @Description: 用户课程任务学习情况
+ * @Author: jeecg-boot
+ * @Date: 2023-10-25
+ * @Version: V1.0
+ */
+public interface IUserCourseCatalogService extends IService<UserCourseCatalog> {
+
+}

+ 18 - 0
web/src/main/java/com/ynfy/buss/course/usercoursecatalog/service/impl/UserCourseCatalogServiceImpl.java

@@ -0,0 +1,18 @@
+package com.ynfy.buss.course.usercoursecatalog.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ynfy.buss.course.usercoursecatalog.entity.UserCourseCatalog;
+import com.ynfy.buss.course.usercoursecatalog.mapper.UserCourseCatalogMapper;
+import com.ynfy.buss.course.usercoursecatalog.service.IUserCourseCatalogService;
+import org.springframework.stereotype.Service;
+
+/**
+ * @Description: 用户课程任务学习情况
+ * @Author: jeecg-boot
+ * @Date: 2023-10-25
+ * @Version: V1.0
+ */
+@Service
+public class UserCourseCatalogServiceImpl extends ServiceImpl<UserCourseCatalogMapper, UserCourseCatalog> implements IUserCourseCatalogService {
+
+}