change 3 жил өмнө
parent
commit
95ef28a1da
16 өөрчлөгдсөн 641 нэмэгдсэн , 4 устгасан
  1. 2 2
      zhongzheng-api/src/main/java/com/zhongzheng/controller/course/CourseController.java
  2. 78 0
      zhongzheng-api/src/main/java/com/zhongzheng/controller/user/UserCourseAnswerController.java
  3. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/mapper/CourseMapper.java
  4. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/ICourseService.java
  5. 5 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/impl/CourseServiceImpl.java
  6. 0 2
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/vo/CourseUserVo.java
  7. 52 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/bo/UserCourseAnswerAddBo.java
  8. 61 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/bo/UserCourseAnswerEditBo.java
  9. 63 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/bo/UserCourseAnswerQueryBo.java
  10. 51 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/domain/UserCourseAnswer.java
  11. 19 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/mapper/UserCourseAnswerMapper.java
  12. 52 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/IUserCourseAnswerService.java
  13. 97 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/impl/UserCourseAnswerServiceImpl.java
  14. 77 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/vo/UserCourseAnswerVo.java
  15. 21 0
      zhongzheng-system/src/main/resources/mapper/modules/course/CourseMapper.xml
  16. 59 0
      zhongzheng-system/src/main/resources/mapper/modules/user/UserCourseAnswerMapper.xml

+ 2 - 2
zhongzheng-api/src/main/java/com/zhongzheng/controller/course/CourseController.java

@@ -64,8 +64,8 @@ public class CourseController extends BaseController {
      */
     @ApiOperation("获取课程详细信息")
     @GetMapping("/{courseId}")
-    public AjaxResult<CourseVo> getInfo(@PathVariable("courseId" ) Long courseId) {
-        return AjaxResult.success(iCourseService.selectById(courseId));
+    public AjaxResult<CourseUserVo> getCourseUserVoInfo(@PathVariable("courseId" ) Long courseId) {
+        return AjaxResult.success(iCourseService.getCourseUserVoInfo(courseId));
     }
 
     /**

+ 78 - 0
zhongzheng-api/src/main/java/com/zhongzheng/controller/user/UserCourseAnswerController.java

@@ -0,0 +1,78 @@
+package com.zhongzheng.controller.user;
+
+import java.util.List;
+import java.util.Arrays;
+
+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.modules.user.vo.UserCourseAnswerVo;
+import com.zhongzheng.modules.user.bo.UserCourseAnswerQueryBo;
+import com.zhongzheng.modules.user.bo.UserCourseAnswerAddBo;
+import com.zhongzheng.modules.user.bo.UserCourseAnswerEditBo;
+import com.zhongzheng.modules.user.service.IUserCourseAnswerService;
+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 ruoyi
+ * @date 2021-12-15
+ */
+@Api(value = "答疑控制器", tags = {"答疑管理"})
+@RequiredArgsConstructor(onConstructor_ = @Autowired)
+@RestController
+@RequestMapping("/app/answer")
+public class UserCourseAnswerController extends BaseController {
+
+    private final IUserCourseAnswerService iUserCourseAnswerService;
+
+    /**
+     * 查询答疑列表
+     */
+    @ApiOperation("查询答疑列表")
+    @GetMapping("/list")
+    public TableDataInfo<UserCourseAnswerVo> list(UserCourseAnswerQueryBo bo) {
+        startPage();
+        List<UserCourseAnswerVo> list = iUserCourseAnswerService.queryList(bo);
+        return getDataTable(list);
+    }
+
+
+    /**
+     * 新增答疑
+     */
+    @ApiOperation("新增答疑")
+    @Log(title = "答疑", businessType = BusinessType.INSERT)
+    @PostMapping()
+    public AjaxResult<Void> add(@RequestBody UserCourseAnswerAddBo bo) {
+        return toAjax(iUserCourseAnswerService.insertByAddBo(bo) ? 1 : 0);
+    }
+
+    /**
+     * 修改答疑
+     */
+    @ApiOperation("修改答疑")
+    @Log(title = "答疑", businessType = BusinessType.UPDATE)
+    @PutMapping()
+    public AjaxResult<Void> edit(@RequestBody UserCourseAnswerEditBo bo) {
+        return toAjax(iUserCourseAnswerService.updateByEditBo(bo) ? 1 : 0);
+    }
+
+
+}

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/mapper/CourseMapper.java

@@ -36,4 +36,6 @@ public interface CourseMapper extends BaseMapper<Course> {
     List<GoodsUserVo> goodsList(CourseQueryBo bo);
 
     List<CourseUserVo> courseList(CourseQueryBo bo);
+
+    CourseUserVo getCourseUserVoInfo(Long id);
 }

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

@@ -71,4 +71,6 @@ public interface ICourseService extends IService<Course> {
     List<GoodsUserVo> goodsList(CourseQueryBo bo);
 
 	List<CourseUserVo> courseList(CourseQueryBo bo);
+
+	CourseUserVo getCourseUserVoInfo(Long courseId);
 }

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

@@ -79,6 +79,11 @@ public class CourseServiceImpl extends ServiceImpl<CourseMapper, Course> impleme
         return courseMapper.selectDetailById(id);
     }
 
+    @Override
+    public CourseUserVo getCourseUserVoInfo(Long id) {
+        return courseMapper.getCourseUserVoInfo(id);
+    }
+
     @Override
     public List<CourseVo> queryList(CourseQueryBo bo) {
         LambdaQueryWrapper<Course> lqw = Wrappers.lambdaQuery();

+ 0 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/vo/CourseUserVo.java

@@ -111,6 +111,4 @@ public class CourseUserVo {
 	private Long createTime;
 	@ApiModelProperty("修改时间")
 	private Long updateTime;
-	@ApiModelProperty("商品列表")
-	private List<CourseGoodsVo> goodsList;
 }

+ 52 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/bo/UserCourseAnswerAddBo.java

@@ -0,0 +1,52 @@
+package com.zhongzheng.modules.user.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import java.util.Date;
+
+
+
+/**
+ * 答疑添加对象 user_course_answer
+ *
+ * @author ruoyi
+ * @date 2021-12-15
+ */
+@Data
+@ApiModel("答疑添加对象")
+public class UserCourseAnswerAddBo {
+
+    /** 用户ID */
+    @ApiModelProperty("用户ID")
+    private Long userId;
+    /** 被回复艾特的对象 */
+    @ApiModelProperty("被回复艾特的对象")
+    private Long assignUserId;
+    /** 内容 */
+    @ApiModelProperty("内容")
+    private String answerText;
+    /** 课程ID */
+    @ApiModelProperty("课程ID")
+    private Long courseId;
+    /** 节ID */
+    @ApiModelProperty("节ID")
+    private Long sectionId;
+    /** 模块ID */
+    @ApiModelProperty("模块ID")
+    private Long moduleId;
+    /** 章ID */
+    @ApiModelProperty("章ID")
+    private Long chapterId;
+    /** 创建时间 */
+    @ApiModelProperty("创建时间")
+    private Long createTime;
+    /** $column.columnComment */
+    @ApiModelProperty("$column.columnComment")
+    private Long updateTime;
+
+    /** 1有效 -1删除 */
+    @ApiModelProperty("1有效 -1删除")
+    private Integer status;
+}

+ 61 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/bo/UserCourseAnswerEditBo.java

@@ -0,0 +1,61 @@
+package com.zhongzheng.modules.user.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import java.util.Date;
+
+
+/**
+ * 答疑编辑对象 user_course_answer
+ *
+ * @author ruoyi
+ * @date 2021-12-15
+ */
+@Data
+@ApiModel("答疑编辑对象")
+public class UserCourseAnswerEditBo {
+
+    /** $column.columnComment */
+    @ApiModelProperty("$column.columnComment")
+    private Long answerId;
+
+    /** 用户ID */
+    @ApiModelProperty("用户ID")
+    private Long userId;
+
+    /** 被回复艾特的对象 */
+    @ApiModelProperty("被回复艾特的对象")
+    private Long assignUserId;
+
+    /** 内容 */
+    @ApiModelProperty("内容")
+    private String answerText;
+
+    /** 课程ID */
+    @ApiModelProperty("课程ID")
+    private Long courseId;
+
+    /** 节ID */
+    @ApiModelProperty("节ID")
+    private Long sectionId;
+
+    /** 模块ID */
+    @ApiModelProperty("模块ID")
+    private Long moduleId;
+
+    /** 章ID */
+    @ApiModelProperty("章ID")
+    private Long chapterId;
+
+    /** $column.columnComment */
+    @ApiModelProperty("$column.columnComment")
+    private Long updateTime;
+
+    /** 1有效 -1删除 */
+    @ApiModelProperty("1有效 -1删除")
+    private Integer status;
+
+
+}

+ 63 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/bo/UserCourseAnswerQueryBo.java

@@ -0,0 +1,63 @@
+package com.zhongzheng.modules.user.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+import java.util.Map;
+import java.util.HashMap;
+
+import com.zhongzheng.common.core.domain.BaseEntity;
+
+/**
+ * 答疑分页查询对象 user_course_answer
+ *
+ * @author ruoyi
+ * @date 2021-12-15
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ApiModel("答疑分页查询对象")
+public class UserCourseAnswerQueryBo extends BaseEntity {
+
+	/** 分页大小 */
+	@ApiModelProperty("分页大小")
+	private Integer pageSize;
+	/** 当前页数 */
+	@ApiModelProperty("当前页数")
+	private Integer pageNum;
+	/** 排序列 */
+	@ApiModelProperty("排序列")
+	private String orderByColumn;
+	/** 排序的方向desc或者asc */
+	@ApiModelProperty(value = "排序的方向", example = "asc,desc")
+	private String isAsc;
+
+
+	/** 用户ID */
+	@ApiModelProperty("用户ID")
+	private Long userId;
+	/** 被回复艾特的对象 */
+	@ApiModelProperty("被回复艾特的对象")
+	private Long assignUserId;
+	/** 内容 */
+	@ApiModelProperty("内容")
+	private String answerText;
+	/** 课程ID */
+	@ApiModelProperty("课程ID")
+	private Long courseId;
+	/** 节ID */
+	@ApiModelProperty("节ID")
+	private Long sectionId;
+	/** 模块ID */
+	@ApiModelProperty("模块ID")
+	private Long moduleId;
+	/** 章ID */
+	@ApiModelProperty("章ID")
+	private Long chapterId;
+	/** 1有效 -1删除 */
+	@ApiModelProperty("1有效 -1删除")
+	private Integer status;
+}

+ 51 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/domain/UserCourseAnswer.java

@@ -0,0 +1,51 @@
+package com.zhongzheng.modules.user.domain;
+
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+import java.io.Serializable;
+import java.util.Date;
+import java.math.BigDecimal;
+import com.zhongzheng.common.annotation.Excel;
+
+/**
+ * 答疑对象 user_course_answer
+ *
+ * @author ruoyi
+ * @date 2021-12-15
+ */
+@Data
+@NoArgsConstructor
+@Accessors(chain = true)
+@TableName("user_course_answer")
+public class UserCourseAnswer implements Serializable {
+
+private static final long serialVersionUID=1L;
+
+    /** $column.columnComment */
+    @TableId(value = "answer_id")
+    private Long answerId;
+    /** 用户ID */
+    private Long userId;
+    /** 被回复艾特的对象 */
+    private Long assignUserId;
+    /** 内容 */
+    private String answerText;
+    /** 课程ID */
+    private Long courseId;
+    /** 节ID */
+    private Long sectionId;
+    /** 模块ID */
+    private Long moduleId;
+    /** 章ID */
+    private Long chapterId;
+    /** 创建时间 */
+    @TableField(fill = FieldFill.INSERT)
+    private Long createTime;
+    /** $column.columnComment */
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private Long updateTime;
+    /** 1有效 -1删除 */
+    private Integer status;
+}

+ 19 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/mapper/UserCourseAnswerMapper.java

@@ -0,0 +1,19 @@
+package com.zhongzheng.modules.user.mapper;
+
+import com.zhongzheng.modules.user.bo.UserCourseAnswerQueryBo;
+import com.zhongzheng.modules.user.domain.UserCourseAnswer;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zhongzheng.modules.user.vo.UserCourseAnswerVo;
+
+import java.util.List;
+
+/**
+ * 答疑Mapper接口
+ *
+ * @author ruoyi
+ * @date 2021-12-15
+ */
+public interface UserCourseAnswerMapper extends BaseMapper<UserCourseAnswer> {
+
+    List<UserCourseAnswerVo> selectAnswer(UserCourseAnswerQueryBo bo);
+}

+ 52 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/IUserCourseAnswerService.java

@@ -0,0 +1,52 @@
+package com.zhongzheng.modules.user.service;
+
+import com.zhongzheng.modules.user.domain.UserCourseAnswer;
+import com.zhongzheng.modules.user.vo.UserCourseAnswerVo;
+import com.zhongzheng.modules.user.bo.UserCourseAnswerQueryBo;
+import com.zhongzheng.modules.user.bo.UserCourseAnswerAddBo;
+import com.zhongzheng.modules.user.bo.UserCourseAnswerEditBo;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 答疑Service接口
+ *
+ * @author ruoyi
+ * @date 2021-12-15
+ */
+public interface IUserCourseAnswerService extends IService<UserCourseAnswer> {
+	/**
+	 * 查询单个
+	 * @return
+	 */
+	UserCourseAnswerVo queryById(Long answerId);
+
+	/**
+	 * 查询列表
+	 */
+	List<UserCourseAnswerVo> queryList(UserCourseAnswerQueryBo bo);
+
+	/**
+	 * 根据新增业务对象插入答疑
+	 * @param bo 答疑新增业务对象
+	 * @return
+	 */
+	Boolean insertByAddBo(UserCourseAnswerAddBo bo);
+
+	/**
+	 * 根据编辑业务对象修改答疑
+	 * @param bo 答疑编辑业务对象
+	 * @return
+	 */
+	Boolean updateByEditBo(UserCourseAnswerEditBo bo);
+
+	/**
+	 * 校验并删除数据
+	 * @param ids 主键集合
+	 * @param isValid 是否校验,true-删除前校验,false-不校验
+	 * @return
+	 */
+	Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+}

+ 97 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/impl/UserCourseAnswerServiceImpl.java

@@ -0,0 +1,97 @@
+package com.zhongzheng.modules.user.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.util.StrUtil;
+import com.zhongzheng.common.utils.DateUtils;
+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 com.zhongzheng.modules.user.bo.UserCourseAnswerAddBo;
+import com.zhongzheng.modules.user.bo.UserCourseAnswerQueryBo;
+import com.zhongzheng.modules.user.bo.UserCourseAnswerEditBo;
+import com.zhongzheng.modules.user.domain.UserCourseAnswer;
+import com.zhongzheng.modules.user.mapper.UserCourseAnswerMapper;
+import com.zhongzheng.modules.user.vo.UserCourseAnswerVo;
+import com.zhongzheng.modules.user.service.IUserCourseAnswerService;
+
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * 答疑Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2021-12-15
+ */
+@Service
+public class UserCourseAnswerServiceImpl extends ServiceImpl<UserCourseAnswerMapper, UserCourseAnswer> implements IUserCourseAnswerService {
+
+    @Override
+    public UserCourseAnswerVo queryById(Long answerId){
+        UserCourseAnswer db = this.baseMapper.selectById(answerId);
+        return BeanUtil.toBean(db, UserCourseAnswerVo.class);
+    }
+
+    @Override
+    public List<UserCourseAnswerVo> queryList(UserCourseAnswerQueryBo bo) {
+        return baseMapper.selectAnswer(bo);
+    }
+
+    /**
+    * 实体类转化成视图对象
+    *
+    * @param collection 实体类集合
+    * @return
+    */
+    private List<UserCourseAnswerVo> entity2Vo(Collection<UserCourseAnswer> collection) {
+        List<UserCourseAnswerVo> voList = collection.stream()
+                .map(any -> BeanUtil.toBean(any, UserCourseAnswerVo.class))
+                .collect(Collectors.toList());
+        if (collection instanceof Page) {
+            Page<UserCourseAnswer> page = (Page<UserCourseAnswer>)collection;
+            Page<UserCourseAnswerVo> pageVo = new Page<>();
+            BeanUtil.copyProperties(page,pageVo);
+            pageVo.addAll(voList);
+            voList = pageVo;
+        }
+        return voList;
+    }
+
+    @Override
+    public Boolean insertByAddBo(UserCourseAnswerAddBo bo) {
+        UserCourseAnswer add = BeanUtil.toBean(bo, UserCourseAnswer.class);
+        validEntityBeforeSave(add);
+        add.setCreateTime(DateUtils.getNowTime());
+        add.setUpdateTime(DateUtils.getNowTime());
+        return this.save(add);
+    }
+
+    @Override
+    public Boolean updateByEditBo(UserCourseAnswerEditBo bo) {
+        UserCourseAnswer update = BeanUtil.toBean(bo, UserCourseAnswer.class);
+        validEntityBeforeSave(update);
+        update.setUpdateTime(DateUtils.getNowTime());
+        return this.updateById(update);
+    }
+
+    /**
+     * 保存前的数据校验
+     *
+     * @param entity 实体类数据
+     */
+    private void validEntityBeforeSave(UserCourseAnswer entity){
+        //TODO 做一些数据校验,如唯一约束
+    }
+
+    @Override
+    public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
+        if(isValid){
+            //TODO 做一些业务上的校验,判断是否需要校验
+        }
+        return this.removeByIds(ids);
+    }
+}

+ 77 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/vo/UserCourseAnswerVo.java

@@ -0,0 +1,77 @@
+package com.zhongzheng.modules.user.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 ruoyi
+ * @date 2021-12-15
+ */
+@Data
+@ApiModel("答疑视图对象")
+public class UserCourseAnswerVo {
+	private static final long serialVersionUID = 1L;
+
+	/** $pkColumn.columnComment */
+	@ApiModelProperty("$pkColumn.columnComment")
+	private Long answerId;
+
+	/** 用户ID */
+	@Excel(name = "用户ID")
+	@ApiModelProperty("用户ID")
+	private Long userId;
+
+	@Excel(name = "真实姓名")
+	@ApiModelProperty("真实姓名")
+	private String realname;
+
+	/** 头像 */
+	@Excel(name = "头像")
+	@ApiModelProperty("头像")
+	private String avatar;
+	/** 被回复艾特的对象 */
+	@Excel(name = "被回复艾特的对象")
+	@ApiModelProperty("被回复艾特的对象")
+	private Long assignUserId;
+
+	@Excel(name = "被回复艾特的对象真实姓名")
+	@ApiModelProperty("被回复艾特的对象真实姓名")
+	private String assignRealname;
+	/** 头像 */
+	@Excel(name = "被回复艾特的对象头像")
+	@ApiModelProperty("被回复艾特的对象头像")
+	private String assignAvatar;
+	/** 内容 */
+	@Excel(name = "内容")
+	@ApiModelProperty("内容")
+	private String answerText;
+	/** 课程ID */
+	@Excel(name = "课程ID")
+	@ApiModelProperty("课程ID")
+	private Long courseId;
+	/** 节ID */
+	@Excel(name = "节ID")
+	@ApiModelProperty("节ID")
+	private Long sectionId;
+	/** 模块ID */
+	@Excel(name = "模块ID")
+	@ApiModelProperty("模块ID")
+	private Long moduleId;
+	/** 章ID */
+	@Excel(name = "章ID")
+	@ApiModelProperty("章ID")
+	private Long chapterId;
+
+	/** 1有效 -1删除 */
+	@Excel(name = "1有效 -1删除")
+	@ApiModelProperty("1有效 -1删除")
+	private Integer status;
+}

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

@@ -291,6 +291,27 @@
             course_id = #{id}
     </select>
 
+    <select id="getCourseUserVoInfo" parameterType="Long"  resultMap="CourseUserVo">
+        SELECT
+            c.*,
+            cet.education_name,
+            cpt.project_name,
+            cb.business_name,
+            s.school_name,
+            m.category_name,
+            cs.subject_name
+        FROM
+            course c
+                LEFT JOIN course_education_type cet ON c.education_type_id = cet.id
+                LEFT JOIN course_project_type cpt ON c.project_id = cpt.id
+                LEFT JOIN course_business cb ON c.business_id = cb.id
+                LEFT JOIN school s ON s.id = c.school_id
+                LEFT JOIN major m ON c.major_id = m.id
+                LEFT JOIN course_subject cs ON cs.id = c.subject_id
+        WHERE
+            course_id = #{id}
+    </select>
+
     <select id="listGoodsPeriodVo" parameterType="com.zhongzheng.modules.user.bo.UserPlanQueryBo"  resultMap="GoodsPeriodVo">
         SELECT
             g.goods_id,

+ 59 - 0
zhongzheng-system/src/main/resources/mapper/modules/user/UserCourseAnswerMapper.xml

@@ -0,0 +1,59 @@
+<?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.user.mapper.UserCourseAnswerMapper">
+
+    <resultMap type="com.zhongzheng.modules.user.domain.UserCourseAnswer" id="UserCourseAnswerResult">
+        <result property="answerId" column="answer_id"/>
+        <result property="userId" column="user_id"/>
+        <result property="assignUserId" column="assign_user_id"/>
+        <result property="answerText" column="answer_text"/>
+        <result property="courseId" column="course_id"/>
+        <result property="sectionId" column="section_id"/>
+        <result property="moduleId" column="module_id"/>
+        <result property="chapterId" column="chapter_id"/>
+        <result property="createTime" column="create_time"/>
+        <result property="updateTime" column="update_time"/>
+    </resultMap>
+
+    <resultMap type="com.zhongzheng.modules.user.vo.UserCourseAnswerVo" id="UserCourseAnswerVo">
+        <result property="answerId" column="answer_id"/>
+        <result property="userId" column="user_id"/>
+        <result property="assignUserId" column="assign_user_id"/>
+        <result property="answerText" column="answer_text"/>
+        <result property="courseId" column="course_id"/>
+        <result property="sectionId" column="section_id"/>
+        <result property="moduleId" column="module_id"/>
+        <result property="chapterId" column="chapter_id"/>
+        <result property="realname" column="realname"/>
+        <result property="avatar" column="avatar"/>
+        <result property="assignRealname" column="assign_realname"/>
+        <result property="assignAvatar" column="assign_avatar"/>
+    </resultMap>
+
+    <select id="selectAnswer" parameterType="com.zhongzheng.modules.user.bo.UserCourseAnswerQueryBo"  resultMap="UserCourseAnswerVo">
+        SELECT
+            * ,
+            (SELECT u.realname FROM `user` u where uca.user_id = u.user_id) realname,
+            (SELECT u.realname FROM `user` u where uca.assign_user_id = u.user_id) assign_realname,
+            (SELECT u.avatar FROM `user` u where uca.assign_user_id = u.user_id) assign_avatar,
+            (SELECT u.avatar FROM `user` u where uca.user_id = u.user_id) avatar
+        FROM
+            user_course_answer uca
+        WHERE 1=1
+          AND uca.status=1
+        <if test="courseId != null and courseId != ''">
+          AND uca.course_id = #{courseId}
+        </if>
+        <if test="moduleId != null and moduleId != ''">
+          AND uca.module_id = #{moduleId}
+        </if>
+        <if test="chapterId != null and chapterId != ''">
+          AND uca.chapter_id = #{chapterId}
+        </if>
+        <if test="sectionId != null and sectionId != ''">
+          AND uca.section_id = #{sectionId}
+        </if>
+    </select>
+</mapper>