he2802 hace 3 años
padre
commit
7da082483c
Se han modificado 19 ficheros con 111 adiciones y 57 borrados
  1. 3 0
      zhongzheng-admin/src/main/java/com/zhongzheng/controller/course/CourseController.java
  2. 2 2
      zhongzheng-admin/src/main/java/com/zhongzheng/controller/course/CourseSectionController.java
  3. 3 12
      zhongzheng-admin/src/main/java/com/zhongzheng/controller/node/NodeDirController.java
  4. 3 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/bo/CourseAddBo.java
  5. 3 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/bo/CourseEditBo.java
  6. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/domain/Course.java
  7. 3 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/ICourseService.java
  8. 14 5
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/impl/CourseServiceImpl.java
  9. 4 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/vo/CourseVo.java
  10. 6 6
      zhongzheng-system/src/main/java/com/zhongzheng/modules/node/bo/NodeDirAddBo.java
  11. 7 7
      zhongzheng-system/src/main/java/com/zhongzheng/modules/node/bo/NodeDirEditBo.java
  12. 6 6
      zhongzheng-system/src/main/java/com/zhongzheng/modules/node/bo/NodeDirQueryBo.java
  13. 4 4
      zhongzheng-system/src/main/java/com/zhongzheng/modules/node/domain/NodeDir.java
  14. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/node/service/INodeDirService.java
  15. 24 4
      zhongzheng-system/src/main/java/com/zhongzheng/modules/node/service/impl/NodeDirServiceImpl.java
  16. 13 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/node/service/impl/NodeServiceImpl.java
  17. 9 8
      zhongzheng-system/src/main/java/com/zhongzheng/modules/node/vo/NodeDirVo.java
  18. 2 0
      zhongzheng-system/src/main/resources/mapper/modules/course/CourseMapper.xml
  19. 2 2
      zhongzheng-system/src/main/resources/mapper/modules/node/NodeDirMapper.xml

+ 3 - 0
zhongzheng-admin/src/main/java/com/zhongzheng/controller/course/CourseController.java

@@ -3,6 +3,7 @@ package com.zhongzheng.controller.course;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Arrays;
+import java.util.Map;
 import java.util.stream.Collectors;
 
 import cn.hutool.core.bean.BeanUtil;
@@ -96,6 +97,8 @@ public class CourseController extends BaseController {
         return AjaxResult.success(iCourseService.insertByAddBo(bo));
     }
 
+
+
     /**
      * 修改课程
      */

+ 2 - 2
zhongzheng-admin/src/main/java/com/zhongzheng/controller/course/CourseSectionController.java

@@ -104,8 +104,8 @@ public class CourseSectionController extends BaseController {
     @PreAuthorize("@ss.hasPermi('system:section:add')")
     @Log(title = "课程小节", businessType = BusinessType.INSERT)
     @PostMapping()
-    public AjaxResult<Void> add(@RequestBody CourseSectionAddBo bo) {
-        return toAjax(iCourseSectionService.insertByAddBo(bo)>0? 1 : 0);
+    public AjaxResult<Long> add(@RequestBody CourseSectionAddBo bo) {
+        return AjaxResult.success(iCourseSectionService.insertByAddBo(bo));
     }
 
     @ApiOperation("批量新增课程小节")

+ 3 - 12
zhongzheng-admin/src/main/java/com/zhongzheng/controller/node/NodeDirController.java

@@ -6,6 +6,7 @@ import java.util.Arrays;
 import com.zhongzheng.modules.node.bo.NodeDirAddBo;
 import com.zhongzheng.modules.node.bo.NodeDirEditBo;
 import com.zhongzheng.modules.node.bo.NodeDirQueryBo;
+import com.zhongzheng.modules.node.domain.NodeDir;
 import com.zhongzheng.modules.node.service.INodeDirService;
 import com.zhongzheng.modules.node.vo.NodeDirVo;
 import lombok.RequiredArgsConstructor;
@@ -72,8 +73,8 @@ public class NodeDirController extends BaseController {
     @PreAuthorize("@ss.hasPermi('system:dir:add')")
     @Log(title = "目录", businessType = BusinessType.INSERT)
     @PostMapping()
-    public AjaxResult<Void> add(@RequestBody NodeDirAddBo bo) {
-        return toAjax(iNodeDirService.insertByAddBo(bo) ? 1 : 0);
+    public AjaxResult<NodeDir> add(@RequestBody NodeDirAddBo bo) {
+        return AjaxResult.success(iNodeDirService.insertByAddBo(bo));
     }
 
     /**
@@ -87,14 +88,4 @@ public class NodeDirController extends BaseController {
         return toAjax(iNodeDirService.updateByEditBo(bo) ? 1 : 0);
     }
 
-    /**
-     * 删除目录
-     */
-    @ApiOperation("删除目录")
-    @PreAuthorize("@ss.hasPermi('system:dir:remove')")
-    @Log(title = "目录" , businessType = BusinessType.DELETE)
-    @PostMapping("/del/{dirIds}")
-    public AjaxResult<Void> remove(@PathVariable Long[] dirIds) {
-        return toAjax(iNodeDirService.deleteWithValidByIds(Arrays.asList(dirIds), true) ? 1 : 0);
-    }
 }

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/bo/CourseAddBo.java

@@ -78,5 +78,8 @@ public class CourseAddBo {
     /** 1显示 0隐藏 */
     @ApiModelProperty("1显示 0隐藏")
     private Integer courseShow;
+    /** 需要审核的目录ID */
+    @ApiModelProperty("需要审核的目录ID")
+    private Long auditingDirId;
 
 }

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/bo/CourseEditBo.java

@@ -96,4 +96,7 @@ public class CourseEditBo {
     /** 1显示 0隐藏 */
     @ApiModelProperty("1显示 0隐藏")
     private Integer courseShow;
+    /** 需要审核的目录ID */
+    @ApiModelProperty("需要审核的目录ID")
+    private Long auditingDirId;
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/domain/Course.java

@@ -69,4 +69,6 @@ private static final long serialVersionUID=1L;
     private Long projectId;
     /** 1显示 0隐藏 */
     private Integer courseShow;
+    /** 需要审核的目录ID */
+    private Long auditingDirId;
 }

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/ICourseService.java

@@ -16,6 +16,7 @@ import com.zhongzheng.modules.user.bo.UserPlanQueryBo;
 
 import java.util.Collection;
 import java.util.List;
+import java.util.Map;
 
 /**
  * 课程Service接口
@@ -48,6 +49,8 @@ public interface ICourseService extends IService<Course> {
 	 */
 	Long insertByAddBo(CourseAddBo bo);
 
+
+
 	/**
 	 * 根据编辑业务对象修改课程
 	 * @param bo 课程编辑业务对象

+ 14 - 5
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/impl/CourseServiceImpl.java

@@ -39,6 +39,9 @@ import com.zhongzheng.modules.grade.service.IUserPeriodService;
 import com.zhongzheng.modules.grade.service.IUserPeriodStatusService;
 import com.zhongzheng.modules.grade.vo.ClassGradeVo;
 import com.zhongzheng.modules.grade.vo.UserPeriodVo;
+import com.zhongzheng.modules.node.bo.NodeDirAddBo;
+import com.zhongzheng.modules.node.domain.NodeDir;
+import com.zhongzheng.modules.node.service.INodeDirService;
 import com.zhongzheng.modules.user.bo.SubjectStudyRecordQueryBo;
 import com.zhongzheng.modules.user.bo.UserPlanQueryBo;
 import com.zhongzheng.modules.user.domain.UserBankRecord;
@@ -60,10 +63,7 @@ import com.github.pagehelper.Page;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -117,7 +117,8 @@ public class CourseServiceImpl extends ServiceImpl<CourseMapper, Course> impleme
     @Autowired
     private IUserSubscribeService iUserSubscribeService;
 
-
+    @Autowired
+    private INodeDirService iNodeDirService;
 
     @Override
     public CourseVo queryById(Long courseId){
@@ -206,9 +207,17 @@ public class CourseServiceImpl extends ServiceImpl<CourseMapper, Course> impleme
         add.setCreateTime(DateUtils.getNowTime());
         add.setUpdateTime(DateUtils.getNowTime());
         this.save(add);
+        NodeDirAddBo addBo = new NodeDirAddBo();
+        addBo.setCourseId(add.getCourseId());
+        addBo.setDirName("课程1");
+        NodeDir dir = iNodeDirService.insertByAddBo(addBo);
+        add.setAuditingDirId(dir.getDirId());
+        updateById(add);
         return add.getCourseId();
     }
 
+
+
     @Override
     public Boolean updateByEditBo(CourseEditBo bo) {
         Course update = BeanUtil.toBean(bo, Course.class);

+ 4 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/vo/CourseVo.java

@@ -115,5 +115,9 @@ public class CourseVo {
 	/** 1显示 0隐藏 */
 	@ApiModelProperty("1显示 0隐藏")
 	private Integer courseShow;
+	/** 需要审核的目录ID */
+	@Excel(name = "需要审核的目录ID")
+	@ApiModelProperty("需要审核的目录ID")
+	private Long auditingDirId;
 
 }

+ 6 - 6
zhongzheng-system/src/main/java/com/zhongzheng/modules/node/bo/NodeDirAddBo.java

@@ -21,12 +21,9 @@ public class NodeDirAddBo {
     /** 课程ID */
     @ApiModelProperty("课程ID")
     private Long courseId;
-    /** 商品ID */
-    @ApiModelProperty("商品ID")
-    private Long goodsId;
-    /** 是否需要审核 1需要 2不需要 */
-    @ApiModelProperty("是否需要审核 1需要 2不需要")
-    private Integer auditingStatus;
+    /** 目录名称 */
+    @ApiModelProperty("目录名称")
+    private String dirName;
     /** 讲师ID */
     @ApiModelProperty("讲师ID")
     private Long teacherId;
@@ -36,4 +33,7 @@ public class NodeDirAddBo {
     /** $column.columnComment */
     @ApiModelProperty("$column.columnComment")
     private Long updateTime;
+    /** 状态 1正常 0关闭 */
+    @ApiModelProperty("状态 1正常 0关闭")
+    private Integer status;
 }

+ 7 - 7
zhongzheng-system/src/main/java/com/zhongzheng/modules/node/bo/NodeDirEditBo.java

@@ -25,13 +25,9 @@ public class NodeDirEditBo {
     @ApiModelProperty("课程ID")
     private Long courseId;
 
-    /** 商品ID */
-    @ApiModelProperty("商品ID")
-    private Long goodsId;
-
-    /** 是否需要审核 1需要 2不需要 */
-    @ApiModelProperty("是否需要审核 1需要 2不需要")
-    private Integer auditingStatus;
+    /** 目录名称 */
+    @ApiModelProperty("目录名称")
+    private String dirName;
 
     /** 讲师ID */
     @ApiModelProperty("讲师ID")
@@ -41,5 +37,9 @@ public class NodeDirEditBo {
     @ApiModelProperty("$column.columnComment")
     private Long updateTime;
 
+    /** 状态 1正常 0关闭 */
+    @ApiModelProperty("状态 1正常 0关闭")
+    private Integer status;
+
 
 }

+ 6 - 6
zhongzheng-system/src/main/java/com/zhongzheng/modules/node/bo/NodeDirQueryBo.java

@@ -39,13 +39,13 @@ public class NodeDirQueryBo extends BaseEntity {
 	/** 课程ID */
 	@ApiModelProperty("课程ID")
 	private Long courseId;
-	/** 商品ID */
-	@ApiModelProperty("商品ID")
-	private Long goodsId;
-	/** 是否需要审核 1需要 2不需要 */
-	@ApiModelProperty("是否需要审核 1需要 2不需要")
-	private Integer auditingStatus;
+	/** 目录名称 */
+	@ApiModelProperty("目录名称")
+	private String dirName;
 	/** 讲师ID */
 	@ApiModelProperty("讲师ID")
 	private Long teacherId;
+	/** 状态 1正常 0关闭 */
+	@ApiModelProperty("状态 1正常 0关闭")
+	private Integer status;
 }

+ 4 - 4
zhongzheng-system/src/main/java/com/zhongzheng/modules/node/domain/NodeDir.java

@@ -28,10 +28,8 @@ private static final long serialVersionUID=1L;
     private Long dirId;
     /** 课程ID */
     private Long courseId;
-    /** 商品ID */
-    private Long goodsId;
-    /** 是否需要审核 1需要 2不需要 */
-    private Integer auditingStatus;
+    /** 目录名称 */
+    private String dirName;
     /** 讲师ID */
     private Long teacherId;
     /** 创建时间 */
@@ -40,4 +38,6 @@ private static final long serialVersionUID=1L;
     /** $column.columnComment */
     @TableField(fill = FieldFill.INSERT_UPDATE)
     private Long updateTime;
+    /** 状态 1正常 0关闭 */
+    private Integer status;
 }

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/node/service/INodeDirService.java

@@ -34,7 +34,7 @@ public interface INodeDirService extends IService<NodeDir> {
 	 * @param bo 目录新增业务对象
 	 * @return
 	 */
-	Boolean insertByAddBo(NodeDirAddBo bo);
+	NodeDir insertByAddBo(NodeDirAddBo bo);
 
 	/**
 	 * 根据编辑业务对象修改目录

+ 24 - 4
zhongzheng-system/src/main/java/com/zhongzheng/modules/node/service/impl/NodeDirServiceImpl.java

@@ -1,8 +1,13 @@
 package com.zhongzheng.modules.node.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.lang.Validator;
 import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.zhongzheng.common.exception.CustomException;
 import com.zhongzheng.common.utils.DateUtils;
+import com.zhongzheng.modules.course.domain.Course;
+import com.zhongzheng.modules.course.service.ICourseService;
 import com.zhongzheng.modules.node.bo.NodeDirAddBo;
 import com.zhongzheng.modules.node.bo.NodeDirEditBo;
 import com.zhongzheng.modules.node.bo.NodeDirQueryBo;
@@ -10,6 +15,8 @@ import com.zhongzheng.modules.node.domain.NodeDir;
 import com.zhongzheng.modules.node.mapper.NodeDirMapper;
 import com.zhongzheng.modules.node.service.INodeDirService;
 import com.zhongzheng.modules.node.vo.NodeDirVo;
+import com.zhongzheng.modules.user.domain.UserVisitLog;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -30,6 +37,9 @@ import java.util.stream.Collectors;
 @Service
 public class NodeDirServiceImpl extends ServiceImpl<NodeDirMapper, NodeDir> implements INodeDirService {
 
+    @Autowired
+    private ICourseService iCourseService;
+
     @Override
     public NodeDirVo queryById(Long dirId){
         NodeDir db = this.baseMapper.selectById(dirId);
@@ -40,9 +50,9 @@ public class NodeDirServiceImpl extends ServiceImpl<NodeDirMapper, NodeDir> impl
     public List<NodeDirVo> queryList(NodeDirQueryBo bo) {
         LambdaQueryWrapper<NodeDir> lqw = Wrappers.lambdaQuery();
         lqw.eq(bo.getCourseId() != null, NodeDir::getCourseId, bo.getCourseId());
-        lqw.eq(bo.getGoodsId() != null, NodeDir::getGoodsId, bo.getGoodsId());
-        lqw.eq(bo.getAuditingStatus() != null, NodeDir::getAuditingStatus, bo.getAuditingStatus());
         lqw.eq(bo.getTeacherId() != null, NodeDir::getTeacherId, bo.getTeacherId());
+        lqw.like(StrUtil.isNotBlank(bo.getDirName()), NodeDir::getDirName, bo.getDirName());
+        lqw.eq( NodeDir::getStatus, 1);
         return entity2Vo(this.list(lqw));
     }
 
@@ -67,12 +77,14 @@ public class NodeDirServiceImpl extends ServiceImpl<NodeDirMapper, NodeDir> impl
     }
 
     @Override
-    public Boolean insertByAddBo(NodeDirAddBo bo) {
+    public NodeDir insertByAddBo(NodeDirAddBo bo) {
         NodeDir add = BeanUtil.toBean(bo, NodeDir.class);
         validEntityBeforeSave(add);
         add.setCreateTime(DateUtils.getNowTime());
         add.setUpdateTime(DateUtils.getNowTime());
-        return this.save(add);
+        add.setStatus(1);
+        this.save(add);
+        return add;
     }
 
     @Override
@@ -90,6 +102,14 @@ public class NodeDirServiceImpl extends ServiceImpl<NodeDirMapper, NodeDir> impl
      */
     private void validEntityBeforeSave(NodeDir entity){
         //TODO 做一些数据校验,如唯一约束
+        if(Validator.isNotEmpty(entity.getTeacherId())&&entity.getTeacherId()==0){
+            throw new CustomException("教师数据错误");
+        }
+        if(Validator.isNotEmpty(entity.getStatus())&&entity.getStatus()==-1){
+            if(iCourseService.count(new QueryWrapper<Course>().lambda().eq(Course::getAuditingDirId,entity.getDirId()).ne(Course::getStatus,-1))>0){
+                throw new CustomException("该目录已被课程指定为审核目录");
+            }
+        }
     }
 
     @Override

+ 13 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/node/service/impl/NodeServiceImpl.java

@@ -1,7 +1,9 @@
 package com.zhongzheng.modules.node.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.lang.Validator;
 import cn.hutool.core.util.StrUtil;
+import com.zhongzheng.common.exception.CustomException;
 import com.zhongzheng.common.utils.DateUtils;
 import com.zhongzheng.modules.node.bo.NodeAddBo;
 import com.zhongzheng.modules.node.bo.NodeEditBo;
@@ -94,6 +96,17 @@ public class NodeServiceImpl extends ServiceImpl<NodeMapper, Node> implements IN
      */
     private void validEntityBeforeSave(Node entity){
         //TODO 做一些数据校验,如唯一约束
+        if(Validator.isNotEmpty(entity.getNodeType())){
+            if(entity.getNodeType()!=1&&entity.getNodeType()!=2&&entity.getNodeType()!=3){
+                throw new CustomException("节点类型数据错误");
+            }
+        }
+        if(Validator.isNull(entity.getPid())){
+            throw new CustomException("节点父ID数据错误");
+        }
+        if(Validator.isNull(entity.getDirId())){
+            throw new CustomException("目录ID数据错误");
+        }
     }
 
     @Override

+ 9 - 8
zhongzheng-system/src/main/java/com/zhongzheng/modules/node/vo/NodeDirVo.java

@@ -28,16 +28,17 @@ public class NodeDirVo {
 	@Excel(name = "课程ID")
 	@ApiModelProperty("课程ID")
 	private Long courseId;
-	/** 商品ID */
-	@Excel(name = "商品ID")
-	@ApiModelProperty("商品ID")
-	private Long goodsId;
-	/** 是否需要审核 1需要 2不需要 */
-	@Excel(name = "是否需要审核 1需要 2不需要")
-	@ApiModelProperty("是否需要审核 1需要 2不需要")
-	private Integer auditingStatus;
+	/** 目录名称 */
+	@Excel(name = "目录名称")
+	@ApiModelProperty("目录名称")
+	private String dirName;
 	/** 讲师ID */
 	@Excel(name = "讲师ID")
 	@ApiModelProperty("讲师ID")
 	private Long teacherId;
+	/** 状态 1正常 0关闭 */
+	@Excel(name = "状态 1正常 0关闭")
+	@ApiModelProperty("状态 1正常 0关闭")
+	private Integer status;
+
 }

+ 2 - 0
zhongzheng-system/src/main/resources/mapper/modules/course/CourseMapper.xml

@@ -26,6 +26,7 @@
         <result property="subjectId" column="subject_id"/>
         <result property="projectId" column="project_id"/>
         <result property="courseShow" column="course_show"/>
+        <result property="auditingDirId" column="auditing_dir_id"/>
     </resultMap>
 
     <resultMap type="com.zhongzheng.modules.course.vo.CourseVo" id="CourseResultVo">
@@ -56,6 +57,7 @@
         <result property="categoryName" column="category_name"/>
         <result property="subjectName" column="subject_name"/>
         <result property="courseShow" column="course_show"/>
+        <result property="auditingDirId" column="auditing_dir_id"/>
         <collection property="goodsList" column="course_id" select="findGoodsList"/>
     </resultMap>
 

+ 2 - 2
zhongzheng-system/src/main/resources/mapper/modules/node/NodeDirMapper.xml

@@ -7,11 +7,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     <resultMap type="com.zhongzheng.modules.node.domain.NodeDir" id="NodeDirResult">
         <result property="dirId" column="dir_id"/>
         <result property="courseId" column="course_id"/>
-        <result property="goodsId" column="goods_id"/>
-        <result property="auditingStatus" column="auditing_status"/>
+        <result property="dirName" column="dir_name"/>
         <result property="teacherId" column="teacher_id"/>
         <result property="createTime" column="create_time"/>
         <result property="updateTime" column="update_time"/>
+        <result property="status" column="status"/>
     </resultMap>