浏览代码

fix 讲义列表

he2802 2 年之前
父节点
当前提交
bbc620bfa0
共有 22 个文件被更改,包括 422 次插入378 次删除
  1. 45 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/bo/CourseFileAddBo.java
  2. 53 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/bo/CourseFileEditBo.java
  3. 20 14
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/bo/CourseFileQueryBo.java
  4. 3 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/bo/CourseHandoutsAddBo.java
  5. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/bo/CourseHandoutsEditBo.java
  6. 18 14
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/domain/CourseFile.java
  7. 14 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/mapper/CourseFileMapper.java
  8. 52 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/ICourseFileService.java
  9. 103 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/impl/CourseFileServiceImpl.java
  10. 39 4
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/impl/CourseHandoutsServiceImpl.java
  11. 51 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/vo/CourseFileVo.java
  12. 0 2
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/bo/GoodsAddBo.java
  13. 1 2
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/bo/GoodsEditBo.java
  14. 0 39
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/bo/GoodsHandoutsAddBo.java
  15. 0 45
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/bo/GoodsHandoutsEditBo.java
  16. 0 14
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/mapper/GoodsHandoutsMapper.java
  17. 0 52
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/IGoodsHandoutsService.java
  18. 0 102
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/impl/GoodsHandoutsServiceImpl.java
  19. 1 29
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/impl/GoodsServiceImpl.java
  20. 0 43
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/vo/GoodsHandoutsVo.java
  21. 20 0
      zhongzheng-system/src/main/resources/mapper/modules/course/CourseFileMapper.xml
  22. 0 18
      zhongzheng-system/src/main/resources/mapper/modules/goods/GoodsHandoutsMapper.xml

+ 45 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/bo/CourseFileAddBo.java

@@ -0,0 +1,45 @@
+package com.zhongzheng.modules.course.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import java.util.Date;
+
+
+
+/**
+ * 文件添加对象 course_file
+ *
+ * @author hjl
+ * @date 2023-02-10
+ */
+@Data
+@ApiModel("文件添加对象")
+public class CourseFileAddBo {
+
+    /** 地址 */
+    @ApiModelProperty("地址")
+    private String url;
+    /** 文件名字 */
+    @ApiModelProperty("文件名字")
+    private String urlName;
+    /** 1启用 0关闭 */
+    @ApiModelProperty("1启用 0关闭")
+    private Integer status;
+    /** 添加时间 */
+    @ApiModelProperty("添加时间")
+    private Long createTime;
+    /** 修改时间 */
+    @ApiModelProperty("修改时间")
+    private Long updateTime;
+    /** 主ID */
+    @ApiModelProperty("主ID")
+    private Long majorId;
+    /** 1讲义 */
+    @ApiModelProperty("1讲义")
+    private Integer type;
+    /** 排序 */
+    @ApiModelProperty("排序")
+    private Integer sort;
+}

+ 53 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/bo/CourseFileEditBo.java

@@ -0,0 +1,53 @@
+package com.zhongzheng.modules.course.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import java.util.Date;
+
+
+/**
+ * 文件编辑对象 course_file
+ *
+ * @author hjl
+ * @date 2023-02-10
+ */
+@Data
+@ApiModel("文件编辑对象")
+public class CourseFileEditBo {
+
+    /** $column.columnComment */
+    @ApiModelProperty("$column.columnComment")
+    private Long fileId;
+
+    /** 地址 */
+    @ApiModelProperty("地址")
+    private String url;
+
+    /** 文件名字 */
+    @ApiModelProperty("文件名字")
+    private String urlName;
+
+    /** 1启用 0关闭 */
+    @ApiModelProperty("1启用 0关闭")
+    private Integer status;
+
+
+    /** 修改时间 */
+    @ApiModelProperty("修改时间")
+    private Long updateTime;
+
+    /** 主ID */
+    @ApiModelProperty("主ID")
+    private Long majorId;
+
+    /** 1讲义 */
+    @ApiModelProperty("1讲义")
+    private Integer type;
+
+    /** 排序 */
+    @ApiModelProperty("排序")
+    private Integer sort;
+
+}

+ 20 - 14
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/bo/GoodsHandoutsQueryBo.java → zhongzheng-system/src/main/java/com/zhongzheng/modules/course/bo/CourseFileQueryBo.java

@@ -1,4 +1,4 @@
-package com.zhongzheng.modules.goods.bo;
+package com.zhongzheng.modules.course.bo;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -12,15 +12,15 @@ import java.util.HashMap;
 import com.zhongzheng.common.core.domain.BaseEntity;
 
 /**
- * 商品讲义分页查询对象 goods_handouts
+ * 文件分页查询对象 course_file
  *
  * @author hjl
  * @date 2023-02-10
  */
 @Data
 @EqualsAndHashCode(callSuper = true)
-@ApiModel("商品讲义分页查询对象")
-public class GoodsHandoutsQueryBo extends BaseEntity {
+@ApiModel("文件分页查询对象")
+public class CourseFileQueryBo extends BaseEntity {
 
 	/** 分页大小 */
 	@ApiModelProperty("分页大小")
@@ -36,16 +36,22 @@ public class GoodsHandoutsQueryBo extends BaseEntity {
 	private String isAsc;
 
 
-	/** 商品ID */
-	@ApiModelProperty("商品ID")
-	private Long goodsId;
-	/** 讲义ID */
-	@ApiModelProperty("讲义ID")
-	private Long handoutsId;
+	/** 地址 */
+	@ApiModelProperty("地址")
+	private String url;
+	/** 文件名字 */
+	@ApiModelProperty("文件名字")
+	private String urlName;
+	/** 1启用 0关闭 */
+	@ApiModelProperty("1启用 0关闭")
+	private Integer status;
+	/** 主ID */
+	@ApiModelProperty("主ID")
+	private Long majorId;
+	/** 1讲义 */
+	@ApiModelProperty("1讲义")
+	private Integer type;
 	/** 排序 */
 	@ApiModelProperty("排序")
-	private Long sort;
-	/** 状态 1正常 0关闭 */
-	@ApiModelProperty("状态 1正常 0关闭")
-	private Integer status;
+	private Integer sort;
 }

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

@@ -2,6 +2,7 @@ package com.zhongzheng.modules.course.bo;
 
 import com.baomidou.mybatisplus.annotation.FieldFill;
 import com.baomidou.mybatisplus.annotation.TableField;
+import com.zhongzheng.modules.course.domain.CourseFile;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import com.fasterxml.jackson.annotation.JsonFormat;
@@ -48,4 +49,6 @@ public class CourseHandoutsAddBo {
     /** 绑定类型 */
     @ApiModelProperty("绑定类型")
     private List<CourseHandoutsBusinessAddBo> courseHandoutsBusinessAddBos;
+    @ApiModelProperty("文件列表")
+    private List<CourseFileAddBo> fileList;
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/bo/CourseHandoutsEditBo.java

@@ -54,4 +54,6 @@ public class CourseHandoutsEditBo {
     /** 绑定类型 */
     @ApiModelProperty("绑定类型")
     private List<CourseHandoutsBusinessAddBo> courseHandoutsBusinessAddBos;
+    @ApiModelProperty("文件列表")
+    private List<CourseFileAddBo> fileList;
 }

+ 18 - 14
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/domain/GoodsHandouts.java → zhongzheng-system/src/main/java/com/zhongzheng/modules/course/domain/CourseFile.java

@@ -1,4 +1,4 @@
-package com.zhongzheng.modules.goods.domain;
+package com.zhongzheng.modules.course.domain;
 
 import com.baomidou.mybatisplus.annotation.*;
 import lombok.Data;
@@ -10,7 +10,7 @@ import java.math.BigDecimal;
 import com.zhongzheng.common.annotation.Excel;
 
 /**
- * 商品讲义对象 goods_handouts
+ * 文件对象 course_file
  *
  * @author hjl
  * @date 2023-02-10
@@ -18,26 +18,30 @@ import com.zhongzheng.common.annotation.Excel;
 @Data
 @NoArgsConstructor
 @Accessors(chain = true)
-@TableName("goods_handouts")
-public class GoodsHandouts implements Serializable {
+@TableName("course_file")
+public class CourseFile implements Serializable {
 
 private static final long serialVersionUID=1L;
 
     /** $column.columnComment */
-    @TableId(value = "id")
-    private Long id;
-    /** 商品ID */
-    private Long goodsId;
-    /** 讲义ID */
-    private Long handoutsId;
-    /** 排序 */
-    private Long sort;
+    @TableId(value = "file_id")
+    private Long fileId;
+    /** 地址 */
+    private String url;
+    /** 文件名字 */
+    private String urlName;
+    /** 1启用 0关闭 */
+    private Integer status;
     /** 添加时间 */
     @TableField(fill = FieldFill.INSERT)
     private Long createTime;
     /** 修改时间 */
     @TableField(fill = FieldFill.INSERT_UPDATE)
     private Long updateTime;
-    /** 状态 1正常 0关闭 */
-    private Integer status;
+    /** 主ID */
+    private Long majorId;
+    /** 1讲义 */
+    private Integer type;
+    /** 排序 */
+    private Integer sort;
 }

+ 14 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/mapper/CourseFileMapper.java

@@ -0,0 +1,14 @@
+package com.zhongzheng.modules.course.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zhongzheng.modules.course.domain.CourseFile;
+
+/**
+ * 文件Mapper接口
+ *
+ * @author hjl
+ * @date 2023-02-10
+ */
+public interface CourseFileMapper extends BaseMapper<CourseFile> {
+
+}

+ 52 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/ICourseFileService.java

@@ -0,0 +1,52 @@
+package com.zhongzheng.modules.course.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.zhongzheng.modules.course.bo.CourseFileAddBo;
+import com.zhongzheng.modules.course.bo.CourseFileEditBo;
+import com.zhongzheng.modules.course.bo.CourseFileQueryBo;
+import com.zhongzheng.modules.course.domain.CourseFile;
+import com.zhongzheng.modules.course.vo.CourseFileVo;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 文件Service接口
+ *
+ * @author hjl
+ * @date 2023-02-10
+ */
+public interface ICourseFileService extends IService<CourseFile> {
+	/**
+	 * 查询单个
+	 * @return
+	 */
+	CourseFileVo queryById(Long fileId);
+
+	/**
+	 * 查询列表
+	 */
+	List<CourseFileVo> queryList(CourseFileQueryBo bo);
+
+	/**
+	 * 根据新增业务对象插入文件
+	 * @param bo 文件新增业务对象
+	 * @return
+	 */
+	Boolean insertByAddBo(CourseFileAddBo bo);
+
+	/**
+	 * 根据编辑业务对象修改文件
+	 * @param bo 文件编辑业务对象
+	 * @return
+	 */
+	Boolean updateByEditBo(CourseFileEditBo bo);
+
+	/**
+	 * 校验并删除数据
+	 * @param ids 主键集合
+	 * @param isValid 是否校验,true-删除前校验,false-不校验
+	 * @return
+	 */
+	Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+}

+ 103 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/impl/CourseFileServiceImpl.java

@@ -0,0 +1,103 @@
+package com.zhongzheng.modules.course.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.util.StrUtil;
+import com.zhongzheng.common.utils.DateUtils;
+import com.zhongzheng.modules.course.bo.CourseFileAddBo;
+import com.zhongzheng.modules.course.bo.CourseFileEditBo;
+import com.zhongzheng.modules.course.bo.CourseFileQueryBo;
+import com.zhongzheng.modules.course.domain.CourseFile;
+import com.zhongzheng.modules.course.mapper.CourseFileMapper;
+import com.zhongzheng.modules.course.service.ICourseFileService;
+import com.zhongzheng.modules.course.vo.CourseFileVo;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.github.pagehelper.Page;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * 文件Service业务层处理
+ *
+ * @author hjl
+ * @date 2023-02-10
+ */
+@Service
+public class CourseFileServiceImpl extends ServiceImpl<CourseFileMapper, CourseFile> implements ICourseFileService {
+
+    @Override
+    public CourseFileVo queryById(Long fileId){
+        CourseFile db = this.baseMapper.selectById(fileId);
+        return BeanUtil.toBean(db, CourseFileVo.class);
+    }
+
+    @Override
+    public List<CourseFileVo> queryList(CourseFileQueryBo bo) {
+        LambdaQueryWrapper<CourseFile> lqw = Wrappers.lambdaQuery();
+        lqw.eq(StrUtil.isNotBlank(bo.getUrl()), CourseFile::getUrl, bo.getUrl());
+        lqw.like(StrUtil.isNotBlank(bo.getUrlName()), CourseFile::getUrlName, bo.getUrlName());
+        lqw.eq(bo.getStatus() != null, CourseFile::getStatus, bo.getStatus());
+        lqw.eq(bo.getMajorId() != null, CourseFile::getMajorId, bo.getMajorId());
+        lqw.eq(bo.getType() != null, CourseFile::getType, bo.getType());
+        lqw.eq(bo.getSort() != null, CourseFile::getSort, bo.getSort());
+        return entity2Vo(this.list(lqw));
+    }
+
+    /**
+    * 实体类转化成视图对象
+    *
+    * @param collection 实体类集合
+    * @return
+    */
+    private List<CourseFileVo> entity2Vo(Collection<CourseFile> collection) {
+        List<CourseFileVo> voList = collection.stream()
+                .map(any -> BeanUtil.toBean(any, CourseFileVo.class))
+                .collect(Collectors.toList());
+        if (collection instanceof Page) {
+            Page<CourseFile> page = (Page<CourseFile>)collection;
+            Page<CourseFileVo> pageVo = new Page<>();
+            BeanUtil.copyProperties(page,pageVo);
+            pageVo.addAll(voList);
+            voList = pageVo;
+        }
+        return voList;
+    }
+
+    @Override
+    public Boolean insertByAddBo(CourseFileAddBo bo) {
+        CourseFile add = BeanUtil.toBean(bo, CourseFile.class);
+        validEntityBeforeSave(add);
+        add.setCreateTime(DateUtils.getNowTime());
+        add.setUpdateTime(DateUtils.getNowTime());
+        return this.save(add);
+    }
+
+    @Override
+    public Boolean updateByEditBo(CourseFileEditBo bo) {
+        CourseFile update = BeanUtil.toBean(bo, CourseFile.class);
+        validEntityBeforeSave(update);
+        update.setUpdateTime(DateUtils.getNowTime());
+        return this.updateById(update);
+    }
+
+    /**
+     * 保存前的数据校验
+     *
+     * @param entity 实体类数据
+     */
+    private void validEntityBeforeSave(CourseFile entity){
+        //TODO 做一些数据校验,如唯一约束
+    }
+
+    @Override
+    public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
+        if(isValid){
+            //TODO 做一些业务上的校验,判断是否需要校验
+        }
+        return this.removeByIds(ids);
+    }
+}

+ 39 - 4
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/impl/CourseHandoutsServiceImpl.java

@@ -6,12 +6,17 @@ import cn.hutool.core.util.StrUtil;
 import com.zhongzheng.common.exception.CustomException;
 import com.zhongzheng.common.utils.DateUtils;
 import com.zhongzheng.common.utils.ServletUtils;
-import com.zhongzheng.modules.course.bo.CourseHandoutsBusinessAddBo;
+import com.zhongzheng.modules.course.bo.*;
 import com.zhongzheng.modules.course.domain.CourseEducationTier;
+import com.zhongzheng.modules.course.domain.CourseFile;
 import com.zhongzheng.modules.course.domain.CourseHandoutsBusiness;
+import com.zhongzheng.modules.course.service.ICourseFileService;
 import com.zhongzheng.modules.course.service.ICourseHandoutsBusinessService;
 import com.zhongzheng.modules.course.vo.CourseHandoutsBusinessVo;
+import com.zhongzheng.modules.goods.bo.GoodsCourseAddBo;
 import com.zhongzheng.modules.goods.domain.Goods;
+import com.zhongzheng.modules.goods.domain.GoodsAttached;
+import com.zhongzheng.modules.goods.domain.GoodsCourse;
 import com.zhongzheng.modules.goods.service.IGoodsService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -19,9 +24,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.github.pagehelper.Page;
-import com.zhongzheng.modules.course.bo.CourseHandoutsAddBo;
-import com.zhongzheng.modules.course.bo.CourseHandoutsQueryBo;
-import com.zhongzheng.modules.course.bo.CourseHandoutsEditBo;
 import com.zhongzheng.modules.course.domain.CourseHandouts;
 import com.zhongzheng.modules.course.mapper.CourseHandoutsMapper;
 import com.zhongzheng.modules.course.vo.CourseHandoutsVo;
@@ -44,6 +46,8 @@ public class CourseHandoutsServiceImpl extends ServiceImpl<CourseHandoutsMapper,
     private ICourseHandoutsBusinessService courseHandoutsBusinessService;
     @Autowired
     private IGoodsService iGoodsService;
+    @Autowired
+    private ICourseFileService iCourseFileService;
 
     @Override
     public CourseHandoutsVo queryById(Long handoutsId){
@@ -113,6 +117,21 @@ public class CourseHandoutsServiceImpl extends ServiceImpl<CourseHandoutsMapper,
             addBusiness.setUpdateTime(DateUtils.getNowTime());
             courseHandoutsBusinessService.save(addBusiness);
         }
+        //文件列表
+        if (bo.getFileList() != null && bo.getFileList().size() > 0) {
+            Collection<CourseFile> coll = new HashSet<>();
+            for (int i = 0; i < bo.getFileList().size(); i++) {
+                CourseFileAddBo item = bo.getFileList().get(i);
+                CourseFile addItem = new CourseFile();
+                addItem.setMajorId(add.getHandoutsId());
+                addItem.setType(1);
+                addItem.setUrl(item.getUrl());
+                addItem.setSort(item.getSort());
+                addItem.setUrlName(item.getUrlName());
+                coll.add(addItem);
+            }
+            iCourseFileService.saveBatch(coll);
+        }
         return save;
     }
 
@@ -134,6 +153,22 @@ public class CourseHandoutsServiceImpl extends ServiceImpl<CourseHandoutsMapper,
                 courseHandoutsBusinessService.save(addBusiness);
             }
         }
+        //文件列表
+        if (bo.getFileList() != null && bo.getFileList().size() > 0) {
+            iCourseFileService.remove(new LambdaQueryWrapper<CourseFile>().eq(CourseFile::getType, 1).eq(CourseFile::getMajorId, update.getHandoutsId()));
+            Collection<CourseFile> coll = new HashSet<>();
+            for (int i = 0; i < bo.getFileList().size(); i++) {
+                CourseFileAddBo item = bo.getFileList().get(i);
+                CourseFile addItem = new CourseFile();
+                addItem.setMajorId(update.getHandoutsId());
+                addItem.setType(1);
+                addItem.setUrl(item.getUrl());
+                addItem.setSort(item.getSort());
+                addItem.setUrlName(item.getUrlName());
+                coll.add(addItem);
+            }
+            iCourseFileService.saveBatch(coll);
+        }
         return this.updateById(update);
     }
 

+ 51 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/vo/CourseFileVo.java

@@ -0,0 +1,51 @@
+package com.zhongzheng.modules.course.vo;
+
+import com.zhongzheng.common.annotation.Excel;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.util.Date;
+
+
+
+/**
+ * 文件视图对象 mall_package
+ *
+ * @author hjl
+ * @date 2023-02-10
+ */
+@Data
+@ApiModel("文件视图对象")
+public class CourseFileVo {
+	private static final long serialVersionUID = 1L;
+
+	/** $pkColumn.columnComment */
+	@ApiModelProperty("$pkColumn.columnComment")
+	private Long fileId;
+
+	/** 地址 */
+	@Excel(name = "地址")
+	@ApiModelProperty("地址")
+	private String url;
+	/** 文件名字 */
+	@Excel(name = "文件名字")
+	@ApiModelProperty("文件名字")
+	private String urlName;
+	/** 1启用 0关闭 */
+	@Excel(name = "1启用 0关闭")
+	@ApiModelProperty("1启用 0关闭")
+	private Integer status;
+	/** 主ID */
+	@Excel(name = "主ID")
+	@ApiModelProperty("主ID")
+	private Long majorId;
+	/** 1讲义 */
+	@Excel(name = "1讲义")
+	@ApiModelProperty("1讲义")
+	private Integer type;
+	/** 排序 */
+	@Excel(name = "排序")
+	@ApiModelProperty("排序")
+	private Integer sort;
+}

+ 0 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/bo/GoodsAddBo.java

@@ -184,6 +184,4 @@ public class GoodsAddBo {
     /** 显示排序字段 */
     @ApiModelProperty("显示排序字段")
     private Long showSort;
-    @ApiModelProperty("讲义列表")
-    private List<GoodsHandoutsAddBo> handoutsList;
 }

+ 1 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/bo/GoodsEditBo.java

@@ -218,6 +218,5 @@ public class GoodsEditBo {
     /** 显示排序字段 */
     @ApiModelProperty("显示排序字段")
     private Long showSort;
-    @ApiModelProperty("讲义列表")
-    private List<GoodsHandoutsAddBo> handoutsList;
+
 }

+ 0 - 39
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/bo/GoodsHandoutsAddBo.java

@@ -1,39 +0,0 @@
-package com.zhongzheng.modules.goods.bo;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import lombok.Data;
-import java.util.Date;
-
-
-
-/**
- * 商品讲义添加对象 goods_handouts
- *
- * @author hjl
- * @date 2023-02-10
- */
-@Data
-@ApiModel("商品讲义添加对象")
-public class GoodsHandoutsAddBo {
-
-    /** 商品ID */
-    @ApiModelProperty("商品ID")
-    private Long goodsId;
-    /** 讲义ID */
-    @ApiModelProperty("讲义ID")
-    private Long handoutsId;
-    /** 排序 */
-    @ApiModelProperty("排序")
-    private Long sort;
-    /** 添加时间 */
-    @ApiModelProperty("添加时间")
-    private Long createTime;
-    /** 修改时间 */
-    @ApiModelProperty("修改时间")
-    private Long updateTime;
-    /** 状态 1正常 0关闭 */
-    @ApiModelProperty("状态 1正常 0关闭")
-    private Integer status;
-}

+ 0 - 45
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/bo/GoodsHandoutsEditBo.java

@@ -1,45 +0,0 @@
-package com.zhongzheng.modules.goods.bo;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import lombok.Data;
-import java.util.Date;
-
-
-/**
- * 商品讲义编辑对象 goods_handouts
- *
- * @author hjl
- * @date 2023-02-10
- */
-@Data
-@ApiModel("商品讲义编辑对象")
-public class GoodsHandoutsEditBo {
-
-    /** $column.columnComment */
-    @ApiModelProperty("$column.columnComment")
-    private Long id;
-
-    /** 商品ID */
-    @ApiModelProperty("商品ID")
-    private Long goodsId;
-
-    /** 讲义ID */
-    @ApiModelProperty("讲义ID")
-    private Long handoutsId;
-
-    /** 排序 */
-    @ApiModelProperty("排序")
-    private Long sort;
-
-
-    /** 修改时间 */
-    @ApiModelProperty("修改时间")
-    private Long updateTime;
-
-    /** 状态 1正常 0关闭 */
-    @ApiModelProperty("状态 1正常 0关闭")
-    private Integer status;
-
-}

+ 0 - 14
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/mapper/GoodsHandoutsMapper.java

@@ -1,14 +0,0 @@
-package com.zhongzheng.modules.goods.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.zhongzheng.modules.goods.domain.GoodsHandouts;
-
-/**
- * 商品讲义Mapper接口
- *
- * @author hjl
- * @date 2023-02-10
- */
-public interface GoodsHandoutsMapper extends BaseMapper<GoodsHandouts> {
-
-}

+ 0 - 52
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/IGoodsHandoutsService.java

@@ -1,52 +0,0 @@
-package com.zhongzheng.modules.goods.service;
-
-import com.zhongzheng.modules.goods.bo.GoodsHandoutsAddBo;
-import com.zhongzheng.modules.goods.bo.GoodsHandoutsEditBo;
-import com.zhongzheng.modules.goods.bo.GoodsHandoutsQueryBo;
-import com.zhongzheng.modules.goods.domain.GoodsHandouts;
-import com.zhongzheng.modules.goods.vo.GoodsHandoutsVo;
-import com.baomidou.mybatisplus.extension.service.IService;
-
-import java.util.Collection;
-import java.util.List;
-
-/**
- * 商品讲义Service接口
- *
- * @author hjl
- * @date 2023-02-10
- */
-public interface IGoodsHandoutsService extends IService<GoodsHandouts> {
-	/**
-	 * 查询单个
-	 * @return
-	 */
-	GoodsHandoutsVo queryById(Long id);
-
-	/**
-	 * 查询列表
-	 */
-	List<GoodsHandoutsVo> queryList(GoodsHandoutsQueryBo bo);
-
-	/**
-	 * 根据新增业务对象插入商品讲义
-	 * @param bo 商品讲义新增业务对象
-	 * @return
-	 */
-	Boolean insertByAddBo(GoodsHandoutsAddBo bo);
-
-	/**
-	 * 根据编辑业务对象修改商品讲义
-	 * @param bo 商品讲义编辑业务对象
-	 * @return
-	 */
-	Boolean updateByEditBo(GoodsHandoutsEditBo bo);
-
-	/**
-	 * 校验并删除数据
-	 * @param ids 主键集合
-	 * @param isValid 是否校验,true-删除前校验,false-不校验
-	 * @return
-	 */
-	Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
-}

+ 0 - 102
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/impl/GoodsHandoutsServiceImpl.java

@@ -1,102 +0,0 @@
-package com.zhongzheng.modules.goods.service.impl;
-
-import cn.hutool.core.bean.BeanUtil;
-import cn.hutool.core.util.StrUtil;
-import com.zhongzheng.common.utils.DateUtils;
-import com.zhongzheng.modules.goods.bo.GoodsHandoutsAddBo;
-import com.zhongzheng.modules.goods.bo.GoodsHandoutsEditBo;
-import com.zhongzheng.modules.goods.bo.GoodsHandoutsQueryBo;
-import com.zhongzheng.modules.goods.domain.GoodsHandouts;
-import com.zhongzheng.modules.goods.mapper.GoodsHandoutsMapper;
-import com.zhongzheng.modules.goods.service.IGoodsHandoutsService;
-import com.zhongzheng.modules.goods.vo.GoodsHandoutsVo;
-import org.springframework.stereotype.Service;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.github.pagehelper.Page;
-
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import java.util.stream.Collectors;
-
-/**
- * 商品讲义Service业务层处理
- *
- * @author hjl
- * @date 2023-02-10
- */
-@Service
-public class GoodsHandoutsServiceImpl extends ServiceImpl<GoodsHandoutsMapper, GoodsHandouts> implements IGoodsHandoutsService {
-
-    @Override
-    public GoodsHandoutsVo queryById(Long id){
-        GoodsHandouts db = this.baseMapper.selectById(id);
-        return BeanUtil.toBean(db, GoodsHandoutsVo.class);
-    }
-
-    @Override
-    public List<GoodsHandoutsVo> queryList(GoodsHandoutsQueryBo bo) {
-        LambdaQueryWrapper<GoodsHandouts> lqw = Wrappers.lambdaQuery();
-        lqw.eq(bo.getGoodsId() != null, GoodsHandouts::getGoodsId, bo.getGoodsId());
-        lqw.eq(bo.getHandoutsId() != null, GoodsHandouts::getHandoutsId, bo.getHandoutsId());
-        lqw.eq(bo.getSort() != null, GoodsHandouts::getSort, bo.getSort());
-        lqw.eq(bo.getStatus() != null, GoodsHandouts::getStatus, bo.getStatus());
-        return entity2Vo(this.list(lqw));
-    }
-
-    /**
-    * 实体类转化成视图对象
-    *
-    * @param collection 实体类集合
-    * @return
-    */
-    private List<GoodsHandoutsVo> entity2Vo(Collection<GoodsHandouts> collection) {
-        List<GoodsHandoutsVo> voList = collection.stream()
-                .map(any -> BeanUtil.toBean(any, GoodsHandoutsVo.class))
-                .collect(Collectors.toList());
-        if (collection instanceof Page) {
-            Page<GoodsHandouts> page = (Page<GoodsHandouts>)collection;
-            Page<GoodsHandoutsVo> pageVo = new Page<>();
-            BeanUtil.copyProperties(page,pageVo);
-            pageVo.addAll(voList);
-            voList = pageVo;
-        }
-        return voList;
-    }
-
-    @Override
-    public Boolean insertByAddBo(GoodsHandoutsAddBo bo) {
-        GoodsHandouts add = BeanUtil.toBean(bo, GoodsHandouts.class);
-        validEntityBeforeSave(add);
-        add.setCreateTime(DateUtils.getNowTime());
-        add.setUpdateTime(DateUtils.getNowTime());
-        return this.save(add);
-    }
-
-    @Override
-    public Boolean updateByEditBo(GoodsHandoutsEditBo bo) {
-        GoodsHandouts update = BeanUtil.toBean(bo, GoodsHandouts.class);
-        validEntityBeforeSave(update);
-        update.setUpdateTime(DateUtils.getNowTime());
-        return this.updateById(update);
-    }
-
-    /**
-     * 保存前的数据校验
-     *
-     * @param entity 实体类数据
-     */
-    private void validEntityBeforeSave(GoodsHandouts entity){
-        //TODO 做一些数据校验,如唯一约束
-    }
-
-    @Override
-    public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
-        if(isValid){
-            //TODO 做一些业务上的校验,判断是否需要校验
-        }
-        return this.removeByIds(ids);
-    }
-}

+ 1 - 29
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/impl/GoodsServiceImpl.java

@@ -252,8 +252,6 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements
     @Autowired
     private ISysGoodsCopyRecordService iGoodsCopyRecordService;
 
-    @Autowired
-    private IGoodsHandoutsService iGoodsHandoutsService;
 
     @Value("${oldStudySys.educationalInspector}")
     private String INFORM_PATH;
@@ -549,19 +547,6 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements
             }
             iGoodsCourseService.saveBatch(coll);
         }
-        //讲义列表
-        if (bo.getHandoutsList() != null) {
-            Collection<GoodsHandouts> coll = new HashSet<>();
-            for (int i = 0; i < bo.getHandoutsList().size(); i++) {
-                GoodsHandoutsAddBo item = bo.getHandoutsList().get(i);
-                GoodsHandouts addItem = new GoodsHandouts();
-                addItem.setGoodsId(add.getGoodsId());
-                addItem.setHandoutsId(item.getHandoutsId());
-                addItem.setSort(item.getSort());
-                coll.add(addItem);
-            }
-            iGoodsHandoutsService.saveBatch(coll);
-        }
         //模块章列表
         if (bo.getMenuList() != null && bo.getMenuList().size() > 0) {
             CourseMenuListAddBo menuListAddBo = new CourseMenuListAddBo();
@@ -627,20 +612,7 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements
             }
             iGoodsCourseService.saveBatch(coll);
         }
-        //讲义列表
-        if (bo.getHandoutsList() != null) {
-            iGoodsHandoutsService.remove(new LambdaQueryWrapper<GoodsHandouts>().eq(GoodsHandouts::getGoodsId, bo.getGoodsId()));
-            Collection<GoodsHandouts> coll = new HashSet<>();
-            for (int i = 0; i < bo.getHandoutsList().size(); i++) {
-                GoodsHandoutsAddBo item = bo.getHandoutsList().get(i);
-                GoodsHandouts addItem = new GoodsHandouts();
-                addItem.setGoodsId(update.getGoodsId());
-                addItem.setHandoutsId(item.getHandoutsId());
-                addItem.setSort(item.getSort());
-                coll.add(addItem);
-            }
-            iGoodsHandoutsService.saveBatch(coll);
-        }
+
         //购买须知
         if (Validator.isEmpty(bo.getBuyNote())) {
             LambdaUpdateWrapper<Goods> objectLambdaUpdateWrapper = Wrappers.lambdaUpdate();

+ 0 - 43
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/vo/GoodsHandoutsVo.java

@@ -1,43 +0,0 @@
-package com.zhongzheng.modules.goods.vo;
-
-import com.zhongzheng.common.annotation.Excel;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import java.util.Date;
-
-
-
-/**
- * 商品讲义视图对象 mall_package
- *
- * @author hjl
- * @date 2023-02-10
- */
-@Data
-@ApiModel("商品讲义视图对象")
-public class GoodsHandoutsVo {
-	private static final long serialVersionUID = 1L;
-
-	/** $pkColumn.columnComment */
-	@ApiModelProperty("$pkColumn.columnComment")
-	private Long id;
-
-	/** 商品ID */
-	@Excel(name = "商品ID")
-	@ApiModelProperty("商品ID")
-	private Long goodsId;
-	/** 讲义ID */
-	@Excel(name = "讲义ID")
-	@ApiModelProperty("讲义ID")
-	private Long handoutsId;
-	/** 排序 */
-	@Excel(name = "排序")
-	@ApiModelProperty("排序")
-	private Long sort;
-	/** 状态 1正常 0关闭 */
-	@Excel(name = "状态 1正常 0关闭")
-	@ApiModelProperty("状态 1正常 0关闭")
-	private Integer status;
-}

+ 20 - 0
zhongzheng-system/src/main/resources/mapper/modules/course/CourseFileMapper.xml

@@ -0,0 +1,20 @@
+<?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.zhongzheng.modules.course.mapper.CourseFileMapper">
+
+    <resultMap type="com.zhongzheng.modules.course.domain.CourseFile" id="CourseFileResult">
+        <result property="fileId" column="file_id"/>
+        <result property="url" column="url"/>
+        <result property="urlName" column="url_name"/>
+        <result property="status" column="status"/>
+        <result property="createTime" column="create_time"/>
+        <result property="updateTime" column="update_time"/>
+        <result property="majorId" column="major_id"/>
+        <result property="type" column="type"/>
+        <result property="sort" column="sort"/>
+    </resultMap>
+
+
+</mapper>

+ 0 - 18
zhongzheng-system/src/main/resources/mapper/modules/goods/GoodsHandoutsMapper.xml

@@ -1,18 +0,0 @@
-<?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.zhongzheng.modules.goods.mapper.GoodsHandoutsMapper">
-
-    <resultMap type="com.zhongzheng.modules.goods.domain.GoodsHandouts" id="GoodsHandoutsResult">
-        <result property="id" column="id"/>
-        <result property="goodsId" column="goods_id"/>
-        <result property="handoutsId" column="handouts_id"/>
-        <result property="sort" column="sort"/>
-        <result property="createTime" column="create_time"/>
-        <result property="updateTime" column="update_time"/>
-        <result property="status" column="status"/>
-    </resultMap>
-
-
-</mapper>