Browse Source

add 课程

he2802 4 years ago
parent
commit
38c6c79d70

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

@@ -0,0 +1,112 @@
+package com.zhongzheng.controller.course;
+
+import java.util.List;
+import java.util.Arrays;
+
+import com.zhongzheng.modules.course.bo.CourseAddBo;
+import com.zhongzheng.modules.course.bo.CourseEditBo;
+import com.zhongzheng.modules.course.bo.CourseQueryBo;
+import com.zhongzheng.modules.course.service.ICourseService;
+import com.zhongzheng.modules.course.vo.CourseVo;
+import lombok.RequiredArgsConstructor;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.zhongzheng.common.annotation.Log;
+import com.zhongzheng.common.core.controller.BaseController;
+import com.zhongzheng.common.core.domain.AjaxResult;
+import com.zhongzheng.common.enums.BusinessType;
+import com.zhongzheng.common.utils.poi.ExcelUtil;
+import com.zhongzheng.common.core.page.TableDataInfo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+/**
+ * 课程Controller
+ *
+ * @author hjl
+ * @date 2021-10-09
+ */
+@Api(value = "课程控制器", tags = {"课程管理"})
+@RequiredArgsConstructor(onConstructor_ = @Autowired)
+@RestController
+@RequestMapping("/course")
+public class CourseController extends BaseController {
+
+    private final ICourseService iCourseService;
+
+    /**
+     * 查询课程列表
+     */
+    @ApiOperation("查询课程列表")
+    @PreAuthorize("@ss.hasPermi('system:course:list')")
+    @GetMapping("/list")
+    public TableDataInfo<CourseVo> list(CourseQueryBo bo) {
+        startPage();
+        List<CourseVo> list = iCourseService.queryList(bo);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出课程列表
+     */
+   /* @ApiOperation("导出课程列表")
+    @PreAuthorize("@ss.hasPermi('system:course:export')")
+    @Log(title = "课程", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult<CourseVo> export(CourseQueryBo bo) {
+        List<CourseVo> list = iCourseService.queryList(bo);
+        ExcelUtil<CourseVo> util = new ExcelUtil<CourseVo>(CourseVo.class);
+        return util.exportExcel(list, "课程");
+    }*/
+
+    /**
+     * 获取课程详细信息
+     */
+    @ApiOperation("获取课程详细信息")
+    @PreAuthorize("@ss.hasPermi('system:course:query')")
+    @GetMapping("/{courseId}")
+    public AjaxResult<CourseVo> getInfo(@PathVariable("courseId" ) Long courseId) {
+        return AjaxResult.success(iCourseService.queryById(courseId));
+    }
+
+    /**
+     * 新增课程
+     */
+    @ApiOperation("新增课程")
+    @PreAuthorize("@ss.hasPermi('system:course:add')")
+    @Log(title = "课程", businessType = BusinessType.INSERT)
+    @PostMapping()
+    public AjaxResult<Void> add(@RequestBody CourseAddBo bo) {
+        return toAjax(iCourseService.insertByAddBo(bo) ? 1 : 0);
+    }
+
+    /**
+     * 修改课程
+     */
+    @ApiOperation("修改课程")
+    @PreAuthorize("@ss.hasPermi('system:course:edit')")
+    @Log(title = "课程", businessType = BusinessType.UPDATE)
+    @PostMapping("/edit")
+    public AjaxResult<Void> edit(@RequestBody CourseEditBo bo) {
+        return toAjax(iCourseService.updateByEditBo(bo) ? 1 : 0);
+    }
+
+    /**
+     * 删除课程
+     */
+   /* @ApiOperation("删除课程")
+    @PreAuthorize("@ss.hasPermi('system:course:remove')")
+    @Log(title = "课程" , businessType = BusinessType.DELETE)
+    @DeleteMapping("/{courseIds}")
+    public AjaxResult<Void> remove(@PathVariable Long[] courseIds) {
+        return toAjax(iCourseService.deleteWithValidByIds(Arrays.asList(courseIds), true) ? 1 : 0);
+    }*/
+}

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/service/impl/ActivityConfigurationServiceImpl.java

@@ -173,7 +173,7 @@ public class ActivityConfigurationServiceImpl extends ServiceImpl<ActivityConfig
 
     @Override
     public List<ActivityConfigurationVo> listConfiguration(CourseQueryBo bo) {
-        bo.setStartTime(DateUtils.getNowTime());
+    //    bo.setStartTime(DateUtils.getNowTime());
         List<ActivityConfigurationVo> activityConfigurations =baseMapper.selectlistConfiguration(bo) ;
         return activityConfigurations;
     }

+ 31 - 26
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/bo/CourseAddBo.java

@@ -4,39 +4,23 @@ import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
-
-import javax.validation.constraints.DecimalMin;
-import javax.validation.constraints.Min;
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
 import java.util.Date;
 
 
-import java.math.BigDecimal;
 
 /**
  * 课程添加对象 course
  *
  * @author hjl
- * @date 2021-05-19
+ * @date 2021-10-09
  */
 @Data
 @ApiModel("课程添加对象")
 public class CourseAddBo {
 
-    /** 分类ID */
-    @ApiModelProperty("分类ID")
-    @NotNull(message = "分类ID不能为空")
-    private Long categoryId;
-    /** 价格 */
-    @ApiModelProperty("价格")
-    @DecimalMin(value ="0.01",message = "价格需大于0.01")
-    private BigDecimal price;
-    /** 时长(秒) */
-    @ApiModelProperty("时长(秒)")
-    @Min(value = 0, message = "时长必须为正整数")
-    private Long duration;
-
+    /** 前缀名称 */
+    @ApiModelProperty("前缀名称")
+    private String prefixName;
     /** 封面地址 */
     @ApiModelProperty("封面地址")
     private String coverUrl;
@@ -51,17 +35,38 @@ public class CourseAddBo {
     private Long updateTime;
     /** 状态 1正常 0关闭 */
     @ApiModelProperty("状态 1正常 0关闭")
-    @NotNull(message = "状态不能为空")
     private Integer status;
-    /** 教师ID拼接,用,拼接 */
-    @ApiModelProperty("教师ID拼接,用,拼接")
-    @NotBlank(message = "教师ID不能为空")
-    private String teacherIds;
+    /** 教育类型ID */
+    @ApiModelProperty("教育类型ID")
+    private Long educationTypeId;
+    /** 业务层次id */
+    @ApiModelProperty("业务层次id")
+    private Long businessId;
+    /** 学校id */
+    @ApiModelProperty("学校id")
+    private Long schoolId;
     /** 课程名称 */
     @ApiModelProperty("课程名称")
-    @NotBlank(message = "课程名称不能为空")
     private String courseName;
+    /** 发布状态 1发布 0未发布 */
+    @ApiModelProperty("发布状态 1发布 0未发布")
+    private Long publishStatus;
     /** 排序 */
     @ApiModelProperty("排序")
     private Integer sort;
+    /** 适合对象 */
+    @ApiModelProperty("适合对象")
+    private String suitableObject;
+    /** PC详情 */
+    @ApiModelProperty("PC详情")
+    private String pcDetailHtml;
+    /** 手机详情 */
+    @ApiModelProperty("手机详情")
+    private String mobileDetailHtml;
+    /** 专业id */
+    @ApiModelProperty("专业id")
+    private Long majorId;
+    /** 编码 */
+    @ApiModelProperty("编码")
+    private String code;
 }

+ 41 - 28
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/bo/CourseEditBo.java

@@ -4,45 +4,26 @@ import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
-
-import javax.validation.constraints.DecimalMin;
-import javax.validation.constraints.Min;
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
 import java.util.Date;
 
-import java.math.BigDecimal;
 
 /**
  * 课程编辑对象 course
  *
  * @author hjl
- * @date 2021-05-19
+ * @date 2021-10-09
  */
 @Data
 @ApiModel("课程编辑对象")
 public class CourseEditBo {
 
-
     /** 课程ID */
     @ApiModelProperty("课程ID")
     private Long courseId;
 
-    /** 分类ID */
-    @ApiModelProperty("分类ID")
-    @Min(value = 0, message = "分类ID不能为空")
-    private Long categoryId;
-
-    /** 价格 */
-    @ApiModelProperty("价格")
-    @DecimalMin(value ="0.01",message = "价格需大于0.01")
-    private BigDecimal price;
-
-    /** 时长(秒) */
-    @ApiModelProperty("时长(秒)")
-    @Min(value = 0, message = "时长必须为正整数")
-    private Long duration;
-
+    /** 前缀名称 */
+    @ApiModelProperty("前缀名称")
+    private String prefixName;
 
     /** 封面地址 */
     @ApiModelProperty("封面地址")
@@ -60,17 +41,49 @@ public class CourseEditBo {
     @ApiModelProperty("状态 1正常 0关闭")
     private Integer status;
 
-    /** 教师ID拼接,用,拼接 */
-    @ApiModelProperty("教师ID拼接,用,拼接")
-    @NotBlank(message = "教师ID不能为空")
-    private String teacherIds;
+    /** 教育类型ID */
+    @ApiModelProperty("教育类型ID")
+    private Long educationTypeId;
+
+    /** 业务层次id */
+    @ApiModelProperty("业务层次id")
+    private Long businessId;
+
+    /** 学校id */
+    @ApiModelProperty("学校id")
+    private Long schoolId;
 
     /** 课程名称 */
     @ApiModelProperty("课程名称")
-    @NotBlank(message = "课程名称不能为空")
     private String courseName;
 
+    /** 发布状态 1发布 0未发布 */
+    @ApiModelProperty("发布状态 1发布 0未发布")
+    private Long publishStatus;
+
     /** 排序 */
     @ApiModelProperty("排序")
     private Integer sort;
+
+    /** 适合对象 */
+    @ApiModelProperty("适合对象")
+    private String suitableObject;
+
+
+    /** PC详情 */
+    @ApiModelProperty("PC详情")
+    private String pcDetailHtml;
+
+    /** 手机详情 */
+    @ApiModelProperty("手机详情")
+    private String mobileDetailHtml;
+
+    /** 专业id */
+    @ApiModelProperty("专业id")
+    private Long majorId;
+
+    /** 编码 */
+    @ApiModelProperty("编码")
+    private String code;
+
 }

+ 32 - 30
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/bo/CourseQueryBo.java

@@ -6,28 +6,22 @@ import lombok.Data;
 import lombok.EqualsAndHashCode;
 
 import java.util.Date;
-import java.util.List;
 import java.util.Map;
 import java.util.HashMap;
 
-import java.math.BigDecimal;
 import com.zhongzheng.common.core.domain.BaseEntity;
 
 /**
  * 课程分页查询对象 course
  *
  * @author hjl
- * @date 2021-05-19
+ * @date 2021-10-09
  */
 @Data
 @EqualsAndHashCode(callSuper = true)
 @ApiModel("课程分页查询对象")
 public class CourseQueryBo extends BaseEntity {
 
-	/** 课程id */
-	@ApiModelProperty("课程id")
-	private Long courseId;
-
 	/** 分页大小 */
 	@ApiModelProperty("分页大小")
 	private Integer pageSize;
@@ -42,21 +36,9 @@ public class CourseQueryBo extends BaseEntity {
 	private String isAsc;
 
 
-	/** 分类ID */
-	@ApiModelProperty("分类ID")
-	private Long categoryId;
-	/** 价格 */
-	@ApiModelProperty("价格")
-	private BigDecimal price;
-	/** 时长(秒) */
-	@ApiModelProperty("时长(秒)")
-	private Long duration;
-	/** 开始时间 */
-	@ApiModelProperty("开始时间")
-	private Long startTime;
-	/** 结束时间 */
-	@ApiModelProperty("结束时间")
-	private Long endTime;
+	/** 前缀名称 */
+	@ApiModelProperty("前缀名称")
+	private String prefixName;
 	/** 封面地址 */
 	@ApiModelProperty("封面地址")
 	private String coverUrl;
@@ -65,18 +47,38 @@ public class CourseQueryBo extends BaseEntity {
 	private String introduction;
 	/** 状态 1正常 0关闭 */
 	@ApiModelProperty("状态 1正常 0关闭")
-	private List<Integer> status;
-	/** 教师ID拼接,用,拼接 */
-	@ApiModelProperty("教师ID拼接,用,拼接")
-	private String teacherIds;
+	private Integer status;
+	/** 教育类型ID */
+	@ApiModelProperty("教育类型ID")
+	private Long educationTypeId;
+	/** 业务层次id */
+	@ApiModelProperty("业务层次id")
+	private Long businessId;
+	/** 学校id */
+	@ApiModelProperty("学校id")
+	private Long schoolId;
 	/** 课程名称 */
 	@ApiModelProperty("课程名称")
 	private String courseName;
-
-	private Integer currIndex;
-
+	/** 发布状态 1发布 0未发布 */
+	@ApiModelProperty("发布状态 1发布 0未发布")
+	private Long publishStatus;
 	/** 排序 */
 	@ApiModelProperty("排序")
 	private Integer sort;
-
+	/** 适合对象 */
+	@ApiModelProperty("适合对象")
+	private String suitableObject;
+	/** PC详情 */
+	@ApiModelProperty("PC详情")
+	private String pcDetailHtml;
+	/** 手机详情 */
+	@ApiModelProperty("手机详情")
+	private String mobileDetailHtml;
+	/** 专业id */
+	@ApiModelProperty("专业id")
+	private Long majorId;
+	/** 编码 */
+	@ApiModelProperty("编码")
+	private String code;
 }

+ 21 - 38
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/domain/Course.java

@@ -13,7 +13,7 @@ import com.zhongzheng.common.annotation.Excel;
  * 课程对象 course
  *
  * @author hjl
- * @date 2021-05-19
+ * @date 2021-10-09
  */
 @Data
 @NoArgsConstructor
@@ -23,60 +23,43 @@ public class Course implements Serializable {
 
 private static final long serialVersionUID=1L;
 
-
     /** 课程ID */
     @TableId(value = "course_id")
     private Long courseId;
-
-    /** 分类ID */
-    private Long categoryId;
-
-    /** 价格 */
-    private BigDecimal price;
-
-    /** 时长(秒) */
-    private Long duration;
-
-    /** 开始时间 */
-    private Long startTime;
-
-    /** 结束时间 */
-    private Long endTime;
-
+    /** 前缀名称 */
+    private String prefixName;
     /** 封面地址 */
     private String coverUrl;
-
     /** 简介 */
     private String introduction;
-
     /** 添加时间 */
     @TableField(fill = FieldFill.INSERT)
     private Long createTime;
-
     /** 修改时间 */
     @TableField(fill = FieldFill.INSERT_UPDATE)
     private Long updateTime;
-
     /** 状态 1正常 0关闭 */
     private Integer status;
-
-    /** 教师ID拼接,用,拼接 */
-    private String teacherIds;
-
+    /** 教育类型ID */
+    private Long educationTypeId;
+    /** 业务层次id */
+    private Long businessId;
+    /** 学校id */
+    private Long schoolId;
     /** 课程名称 */
     private String courseName;
-
-    @TableField(exist = false)
-    private Integer chapterNum;
-
-    @TableField(exist = false)
-    private Integer sectionNum;
-
-    @TableField(exist = false)
-    private String categoryName;
-
+    /** 发布状态 1发布 0未发布 */
+    private Long publishStatus;
     /** 排序 */
     private Integer sort;
-
-
+    /** 适合对象 */
+    private String suitableObject;
+    /** PC详情 */
+    private String pcDetailHtml;
+    /** 手机详情 */
+    private String mobileDetailHtml;
+    /** 专业id */
+    private Long majorId;
+    /** 编码 */
+    private String code;
 }

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

@@ -7,20 +7,15 @@ import com.zhongzheng.modules.course.bo.CourseEditBo;
 import com.zhongzheng.modules.course.bo.CourseQueryBo;
 import com.zhongzheng.modules.course.domain.Course;
 import com.zhongzheng.modules.course.vo.CourseVo;
-import com.zhongzheng.modules.exam.bo.ExamNoteQueryBo;
-import com.zhongzheng.modules.exam.vo.ExamNoteVo;
-import com.zhongzheng.modules.order.bo.CouponQueryBo;
-import com.zhongzheng.modules.order.vo.CouponVo;
 
 import java.util.Collection;
 import java.util.List;
-import java.util.Map;
 
 /**
  * 课程Service接口
  *
- * @author ruoyi
- * @date 2021-05-19
+ * @author hjl
+ * @date 2021-10-09
  */
 public interface ICourseService extends IService<Course> {
 	/**
@@ -29,22 +24,17 @@ public interface ICourseService extends IService<Course> {
 	 */
 	CourseVo queryById(Long courseId);
 
-
 	/**
 	 * 查询列表
 	 */
 	List<CourseVo> queryList(CourseQueryBo bo);
 
-	List<CourseVo> queryRecommendList(CourseQueryBo bo);
-
-	List<CourseVo> selectCourseList(CourseQueryBo bo);
-
 	/**
 	 * 根据新增业务对象插入课程
 	 * @param bo 课程新增业务对象
 	 * @return
 	 */
-	Long insertByAddBo(CourseAddBo bo);
+	Boolean insertByAddBo(CourseAddBo bo);
 
 	/**
 	 * 根据编辑业务对象修改课程

+ 21 - 43
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/impl/CourseServiceImpl.java

@@ -2,84 +2,62 @@ package com.zhongzheng.modules.course.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.StrUtil;
-import com.zhongzheng.common.core.domain.entity.SysDictData;
-import com.zhongzheng.common.exception.CustomException;
 import com.zhongzheng.common.utils.DateUtils;
+import com.zhongzheng.common.utils.ServletUtils;
 import com.zhongzheng.modules.course.bo.CourseAddBo;
 import com.zhongzheng.modules.course.bo.CourseEditBo;
 import com.zhongzheng.modules.course.bo.CourseQueryBo;
 import com.zhongzheng.modules.course.domain.Course;
 import com.zhongzheng.modules.course.mapper.CourseMapper;
 import com.zhongzheng.modules.course.service.ICourseService;
-import com.zhongzheng.modules.course.service.IMajorCategoryService;
 import com.zhongzheng.modules.course.vo.CourseVo;
-import com.zhongzheng.modules.course.vo.MajorCategoryVo;
-import com.zhongzheng.modules.order.bo.CouponQueryBo;
-import com.zhongzheng.modules.order.vo.CouponVo;
-import com.zhongzheng.modules.system.domain.SysUserRole;
-import com.zhongzheng.modules.system.mapper.SysRoleMapper;
-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;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.github.pagehelper.Page;
 
-import java.util.*;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
 import java.util.stream.Collectors;
 
 /**
  * 课程Service业务层处理
  *
- * @author ruoyi
- * @date 2021-05-19
+ * @author hjl
+ * @date 2021-10-09
  */
 @Service
 public class CourseServiceImpl extends ServiceImpl<CourseMapper, Course> implements ICourseService {
 
-    @Autowired
-    private CourseMapper courseMapper;
-
-    @Autowired
-    private IMajorCategoryService iMajorCategoryService;
-
     @Override
     public CourseVo queryById(Long courseId){
         Course db = this.baseMapper.selectById(courseId);
-        if(db.getCategoryId()!=null){
-            MajorCategoryVo majorCategoryVo = iMajorCategoryService.queryById(db.getCategoryId());
-            db.setCategoryName(majorCategoryVo.getCategoryName());
-        }
         return BeanUtil.toBean(db, CourseVo.class);
     }
 
     @Override
     public List<CourseVo> queryList(CourseQueryBo bo) {
         LambdaQueryWrapper<Course> lqw = Wrappers.lambdaQuery();
-        lqw.eq(bo.getCategoryId() != null, Course::getCategoryId, bo.getCategoryId());
-        lqw.eq(bo.getPrice() != null, Course::getPrice, bo.getPrice());
-        lqw.eq(bo.getDuration() != null, Course::getDuration, bo.getDuration());
-        lqw.eq(bo.getStartTime() != null, Course::getStartTime, bo.getStartTime());
-        lqw.eq(bo.getEndTime() != null, Course::getEndTime, bo.getEndTime());
+        lqw.like(StrUtil.isNotBlank(bo.getPrefixName()), Course::getPrefixName, bo.getPrefixName());
         lqw.eq(StrUtil.isNotBlank(bo.getCoverUrl()), Course::getCoverUrl, bo.getCoverUrl());
         lqw.eq(StrUtil.isNotBlank(bo.getIntroduction()), Course::getIntroduction, bo.getIntroduction());
-        lqw.in(bo.getStatus() != null, Course::getStatus, bo.getStatus());
-        lqw.eq(StrUtil.isNotBlank(bo.getTeacherIds()), Course::getTeacherIds, bo.getTeacherIds());
+        lqw.eq(bo.getStatus() != null, Course::getStatus, bo.getStatus());
+        lqw.eq(bo.getEducationTypeId() != null, Course::getEducationTypeId, bo.getEducationTypeId());
+        lqw.eq(bo.getBusinessId() != null, Course::getBusinessId, bo.getBusinessId());
+        lqw.eq(bo.getSchoolId() != null, Course::getSchoolId, bo.getSchoolId());
         lqw.like(StrUtil.isNotBlank(bo.getCourseName()), Course::getCourseName, bo.getCourseName());
-        lqw.orderByDesc(Course::getSort);
+        lqw.eq(bo.getPublishStatus() != null, Course::getPublishStatus, bo.getPublishStatus());
+        lqw.eq(bo.getSort() != null, Course::getSort, bo.getSort());
+        lqw.eq(StrUtil.isNotBlank(bo.getSuitableObject()), Course::getSuitableObject, bo.getSuitableObject());
+        lqw.eq(StrUtil.isNotBlank(bo.getPcDetailHtml()), Course::getPcDetailHtml, bo.getPcDetailHtml());
+        lqw.eq(StrUtil.isNotBlank(bo.getMobileDetailHtml()), Course::getMobileDetailHtml, bo.getMobileDetailHtml());
+        lqw.eq(bo.getMajorId() != null, Course::getMajorId, bo.getMajorId());
+        lqw.eq(StrUtil.isNotBlank(bo.getCode()), Course::getCode, bo.getCode());
         return entity2Vo(this.list(lqw));
     }
 
-    @Override
-    public List<CourseVo> queryRecommendList(CourseQueryBo bo) {
-        return courseMapper.queryRecommendList(bo);
-    }
-
-    @Override
-    public List<CourseVo> selectCourseList(CourseQueryBo bo) {
-        return courseMapper.selectCourseList(bo);
-    }
-
     /**
     * 实体类转化成视图对象
     *
@@ -101,12 +79,13 @@ public class CourseServiceImpl extends ServiceImpl<CourseMapper, Course> impleme
     }
 
     @Override
-    public Long insertByAddBo(CourseAddBo bo) {
+    public Boolean insertByAddBo(CourseAddBo bo) {
         Course add = BeanUtil.toBean(bo, Course.class);
+        add.setCode(ServletUtils.getEncoded("KC"));
         validEntityBeforeSave(add);
         add.setCreateTime(DateUtils.getNowTime());
         add.setUpdateTime(DateUtils.getNowTime());
-        return this.save(add)?add.getCourseId():0;
+        return this.save(add);
     }
 
     @Override
@@ -124,7 +103,6 @@ public class CourseServiceImpl extends ServiceImpl<CourseMapper, Course> impleme
      */
     private void validEntityBeforeSave(Course entity){
         //TODO 做一些数据校验,如唯一约束
-
     }
 
     @Override

+ 43 - 39
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/vo/CourseVo.java

@@ -2,7 +2,6 @@ package com.zhongzheng.modules.course.vo;
 
 import com.zhongzheng.common.annotation.Excel;
 import com.fasterxml.jackson.annotation.JsonFormat;
-import java.math.BigDecimal;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -14,7 +13,7 @@ import java.util.Date;
  * 课程视图对象 mall_package
  *
  * @author hjl
- * @date 2021-05-19
+ * @date 2021-10-09
  */
 @Data
 @ApiModel("课程视图对象")
@@ -25,26 +24,10 @@ public class CourseVo {
 	@ApiModelProperty("课程ID")
 	private Long courseId;
 
-	/** 分类ID */
-	@Excel(name = "分类ID")
-	@ApiModelProperty("分类ID")
-	private Long categoryId;
-	/** 价格 */
-	@Excel(name = "价格")
-	@ApiModelProperty("价格")
-	private BigDecimal price;
-	/** 时长(秒) */
-	@Excel(name = "时长(秒)")
-	@ApiModelProperty("时长(秒)")
-	private Long duration;
-	/** 开始时间 */
-	@Excel(name = "开始时间")
-	@ApiModelProperty("开始时间")
-	private Long startTime;
-	/** 结束时间 */
-	@Excel(name = "结束时间")
-	@ApiModelProperty("结束时间")
-	private Long endTime;
+	/** 前缀名称 */
+	@Excel(name = "前缀名称")
+	@ApiModelProperty("前缀名称")
+	private String prefixName;
 	/** 封面地址 */
 	@Excel(name = "封面地址")
 	@ApiModelProperty("封面地址")
@@ -57,27 +40,48 @@ public class CourseVo {
 	@Excel(name = "状态 1正常 0关闭")
 	@ApiModelProperty("状态 1正常 0关闭")
 	private Integer status;
-	/** 教师ID拼接,用,拼接 */
-	@Excel(name = "教师ID拼接,用,拼接")
-	@ApiModelProperty("教师ID拼接,用,拼接")
-	private String teacherIds;
+	/** 教育类型ID */
+	@Excel(name = "教育类型ID")
+	@ApiModelProperty("教育类型ID")
+	private Long educationTypeId;
+	/** 业务层次id */
+	@Excel(name = "业务层次id")
+	@ApiModelProperty("业务层次id")
+	private Long businessId;
+	/** 学校id */
+	@Excel(name = "学校id")
+	@ApiModelProperty("学校id")
+	private Long schoolId;
 	/** 课程名称 */
 	@Excel(name = "课程名称")
 	@ApiModelProperty("课程名称")
 	private String courseName;
-	@ApiModelProperty("章数量")
-	private Integer chapterNum;
-	@ApiModelProperty("节数量")
-	private Integer sectionNum;
-	@ApiModelProperty("分类名")
-	private String categoryName;
-
-	@Excel(name = "是否已经领取  yes领取 no 未领取")
-	@ApiModelProperty("是否已经领取  yes领取 no 未领取")
-	private String useStatus;
+	/** 发布状态 1发布 0未发布 */
+	@Excel(name = "发布状态 1发布 0未发布")
+	@ApiModelProperty("发布状态 1发布 0未发布")
+	private Long publishStatus;
 	/** 排序 */
+	@Excel(name = "排序")
 	@ApiModelProperty("排序")
-	private String sort;
-
-
+	private Integer sort;
+	/** 适合对象 */
+	@Excel(name = "适合对象")
+	@ApiModelProperty("适合对象")
+	private String suitableObject;
+	/** PC详情 */
+	@Excel(name = "PC详情")
+	@ApiModelProperty("PC详情")
+	private String pcDetailHtml;
+	/** 手机详情 */
+	@Excel(name = "手机详情")
+	@ApiModelProperty("手机详情")
+	private String mobileDetailHtml;
+	/** 专业id */
+	@Excel(name = "专业id")
+	@ApiModelProperty("专业id")
+	private Long majorId;
+	/** 编码 */
+	@Excel(name = "编码")
+	@ApiModelProperty("编码")
+	private String code;
 }

+ 2 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderServiceImpl.java

@@ -331,7 +331,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 
     //购买课程题库重点
     public Map<String, String>  dealOrder(Order add,List<OrderGoodsAddBo> goodsList,Long couponId,Long activity){
-        UserVo userVo = iUserService.queryById(add.getUserId());
+/*        UserVo userVo = iUserService.queryById(add.getUserId());
         String body = "中正云课堂消费";
         String price = "1";
         String out_trade_no = DateUtils.getDateOrderSn();
@@ -469,7 +469,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
         if(!this.save(add)){
             throw new CustomException("订单数据错误");
         }
-        dealCoinOrder(add.getOderSn());
+        dealCoinOrder(add.getOderSn());*/
     //    Map<String, String> result =  iWxPayService.payment(out_trade_no,userVo.getOpenId(),body,price);
         return null;
     }

+ 12 - 52
zhongzheng-system/src/main/resources/mapper/modules/course/CourseMapper.xml

@@ -1,69 +1,29 @@
 <?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">
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.zhongzheng.modules.course.mapper.CourseMapper">
 
     <resultMap type="com.zhongzheng.modules.course.domain.Course" id="CourseResult">
         <result property="courseId" column="course_id"/>
-        <result property="categoryId" column="category_id"/>
-        <result property="price" column="price"/>
-        <result property="duration" column="duration"/>
-        <result property="startTime" column="start_time"/>
-        <result property="endTime" column="end_time"/>
+        <result property="prefixName" column="prefix_name"/>
         <result property="coverUrl" column="cover_url"/>
         <result property="introduction" column="introduction"/>
         <result property="createTime" column="create_time"/>
         <result property="updateTime" column="update_time"/>
         <result property="status" column="status"/>
-        <result property="teacherIds" column="teacher_ids"/>
+        <result property="educationTypeId" column="education_type_id"/>
+        <result property="businessId" column="business_id"/>
+        <result property="schoolId" column="school_id"/>
         <result property="courseName" column="course_name"/>
-        <result property="chapterNum" column="chapter_num"/>
-        <result property="sectionNum" column="section_num"/>
-        <result property="categoryName" column="category_name"/>
+        <result property="publishStatus" column="publish_status"/>
         <result property="sort" column="sort"/>
+        <result property="suitableObject" column="suitable_object"/>
+        <result property="pcDetailHtml" column="pc_detail_html"/>
+        <result property="mobileDetailHtml" column="mobile_detail_html"/>
+        <result property="majorId" column="major_id"/>
+        <result property="code" column="code"/>
     </resultMap>
 
 
-    <select id="selectCourseList" parameterType="com.zhongzheng.modules.course.bo.CourseQueryBo"  resultMap="CourseResult">
-        SELECT rs.course_name,rs.sort,
-               rs.course_id,rs.status,sum(section_num) as section_num,count(chapter_id)
-                                                            as chapter_num,mc.category_name,mc.category_id,sum(total_time) as duration from
-            (SELECT c.*,count(cs.section_id) as section_num,cs.chapter_id,IFNULL(sum(cs.video_time),0) as total_time
-             FROM course c LEFT JOIN course_chapter cc on c.course_id = cc.course_id
-                 LEFT JOIN course_section cs
-                 on cc.chapter_id = cs.chapter_id
-                WHERE 1=1
-                <if test="status != null and status.size()!=0 ">
-                    AND c.status in
-                    <foreach collection="status" item="item" index="index" open="(" close=")" separator=",">
-                        #{item}
-                    </foreach>
-                </if>
-                <if test="courseName != null and courseName != ''">
-                    AND c.course_name like concat('%', #{courseName}, '%')
-                </if>
-                <if test="categoryId != null and categoryId != ''">
-                    AND c.category_id = #{categoryId}
-                </if>
-
-             GROUP BY cs.chapter_id,c.course_id ORDER BY c.sort DESC)rs LEFT JOIN major_category mc on rs.category_id = mc.category_id
-            GROUP BY course_id
-    </select>
-
-    <select id="queryRecommendList" parameterType="com.zhongzheng.modules.course.bo.CourseQueryBo"  resultMap="CourseResult">
-        SELECT
-        course_id,course_name,cover_url,price
-        FROM
-        course
-        WHERE
-        STATUS = 1
-        <if test="courseId != null and courseId != ''">
-            AND course_id != #{courseId}
-        </if>
-        ORDER BY
-        RAND()
-        LIMIT 4
-    </select>
-
 </mapper>