he2802 2 năm trước cách đây
mục cha
commit
a3071104d1
18 tập tin đã thay đổi với 380 bổ sung38 xóa
  1. 12 0
      zhongzheng-api/src/main/java/com/zhongzheng/controller/course/CourseController.java
  2. 12 4
      zhongzheng-api/src/main/java/com/zhongzheng/controller/goods/GoodsController.java
  3. 3 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/bo/CourseMenuQueryBo.java
  4. 4 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/mapper/CourseMenuMapper.java
  5. 9 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/ICourseMenuService.java
  6. 47 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/impl/CourseMenuServiceImpl.java
  7. 3 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/vo/CourseUserMenuVo.java
  8. 26 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/bo/GoodsSectionListBo.java
  9. 12 7
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/impl/GoodsServiceImpl.java
  10. 40 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/vo/GoodsSectionListVo.java
  11. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/bo/GradeChangeEjjjPeopleBo.java
  12. 2 2
      zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/impl/ClassGradeServiceImpl.java
  13. 4 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/mapper/OrderGoodsMapper.java
  14. 4 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/IOrderGoodsService.java
  15. 25 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderGoodsServiceImpl.java
  16. 76 0
      zhongzheng-system/src/main/resources/mapper/modules/course/CourseMenuMapper.xml
  17. 76 0
      zhongzheng-system/src/main/resources/mapper/modules/order/OrderGoodsMapper.xml
  18. 24 24
      zhongzheng-system/src/main/resources/mapper/modules/user/UserNoteMapper.xml

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

@@ -97,6 +97,18 @@ public class CourseController extends BaseController {
         return getDataTable(list);
     }
 
+    /**
+     * 获取商品重修目录结构
+     */
+    @ApiOperation("获取商品重修目录结构")
+    @GetMapping("/goods/rebuild/menu")
+    public AjaxResult<List<CourseUserMenuVo>> getGoodsRebuildMenuList(CourseMenuQueryBo bo) {
+        ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest());
+        bo.setUserId(loginUser.getUser().getUserId());
+        List<CourseUserMenuVo> list = iCourseMenuService.getGoodsRebuildMenuList(bo);
+        return AjaxResult.success(list);
+    }
+
 
     @ApiOperation("查询模块与章关系列表")
     @GetMapping("/chapterList")

+ 12 - 4
zhongzheng-api/src/main/java/com/zhongzheng/controller/goods/GoodsController.java

@@ -29,10 +29,7 @@ import com.zhongzheng.modules.goods.bo.*;
 import com.zhongzheng.modules.goods.service.IGoodsAttachedService;
 import com.zhongzheng.modules.goods.service.IGoodsService;
 import com.zhongzheng.modules.goods.service.IGoodsSpecTemplateService;
-import com.zhongzheng.modules.goods.vo.GoodsAttachedVo;
-import com.zhongzheng.modules.goods.vo.GoodsExamTimeVo;
-import com.zhongzheng.modules.goods.vo.GoodsSpecTemplateVo;
-import com.zhongzheng.modules.goods.vo.GoodsVo;
+import com.zhongzheng.modules.goods.vo.*;
 import com.zhongzheng.modules.grade.bo.UserPeriodQueryBo;
 import com.zhongzheng.modules.grade.service.IUserPeriodService;
 import com.zhongzheng.modules.order.domain.OrderGoods;
@@ -311,4 +308,15 @@ public class GoodsController extends BaseController {
         return toAjax(iOrderGoodsService.checkGoodsStatus(bo) ? 1 : 0);
     }
 
+    /**
+     * 获取商品所有节列表
+     */
+    @ApiOperation("获取商品所有节列表")
+    @GetMapping("/section/list")
+    public AjaxResult<List<GoodsSectionListVo>> getGoodsSectionList(GoodsSectionListBo bo) {
+        ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest());
+        bo.setUserId(loginUser.getUser().getUserId());
+        return AjaxResult.success(iOrderGoodsService.getGoodsSectionList(bo));
+    }
+
 }

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

@@ -76,4 +76,7 @@ public class CourseMenuQueryBo extends BaseEntity {
 
 	@ApiModelProperty("订单商品ID")
 	private Long orderGoodsId;
+
+	@ApiModelProperty("商品ID")
+	private Long goodsId;
 }

+ 4 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/mapper/CourseMenuMapper.java

@@ -22,6 +22,8 @@ public interface CourseMenuMapper extends BaseMapper<CourseMenu> {
 
     Integer rebuildCheck(@Param("sectionId") Long id,@Param("gradeId") Long gradeId,@Param("userId")Long userId,@Param("courseId")Long courseId);
 
+    Integer rebuildSectionCheck(@Param("sectionId") Long id,@Param("moduleId") Long moduleId,@Param("chapterId") Long chapterId,@Param("gradeId") Long gradeId,@Param("userId")Long userId,@Param("courseId")Long courseId);
+
     Integer rebuildChapterCheck(@Param("chapterId")Long id,@Param("gradeId") Long gradeId,@Param("userId") Long userId,@Param("courseId")Long courseId);
 
     Integer rebuildModuleCheck(@Param("moduleId")Long id,@Param("gradeId") Long gradeId,@Param("userId") Long userId,@Param("courseId")Long courseId);
@@ -31,4 +33,6 @@ public interface CourseMenuMapper extends BaseMapper<CourseMenu> {
     Long getStudyDuration(@Param("sectionId") Long id,@Param("gradeId") Long gradeId,@Param("userId")Long userId,@Param("courseId")Long courseId);
 
     Integer auditCheck(@Param("sectionId") Long id,@Param("gradeId") Long gradeId,@Param("userId")Long userId,@Param("courseId")Long courseId);
+
+    List<CourseUserMenuVo> getGoodsMenuList(CourseMenuQueryBo bo);
 }

+ 9 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/ICourseMenuService.java

@@ -55,4 +55,13 @@ public interface ICourseMenuService extends IService<CourseMenu> {
 	Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
 
 	List<CourseUserMenuVo> menuList(CourseMenuQueryBo bo);
+
+	/**
+	 * 查询课程目录结构列表
+	 * @author change
+	 * @date 2022/12/20 13:57
+	 * @param bo
+	 * @return java.util.List<com.zhongzheng.modules.course.vo.CourseUserMenuVo>
+	 */
+	List<CourseUserMenuVo> getGoodsRebuildMenuList(CourseMenuQueryBo bo);
 }

+ 47 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/impl/CourseMenuServiceImpl.java

@@ -265,4 +265,51 @@ public class CourseMenuServiceImpl extends ServiceImpl<CourseMenuMapper, CourseM
         }
         return courseMenuVos;
     }
+
+    @Override
+    public List<CourseUserMenuVo> getGoodsRebuildMenuList(CourseMenuQueryBo bo) {
+        List<CourseUserMenuVo> courseMenuVos = baseMapper.getGoodsMenuList(bo);
+        if (bo.getUserId() != null) {
+            for (CourseUserMenuVo courseMenuVo : courseMenuVos) {
+                //为节的时候查询重修情况,和是否已学习
+                if (courseMenuVo.getType().equals(3)) {
+                    Integer rebuild = baseMapper.rebuildCheck(courseMenuVo.getMenuId(), courseMenuVo.getGradeId(), bo.getUserId(),courseMenuVo.getCourseId());
+                    if (rebuild > 0) {
+                        courseMenuVo.setRebuild(1);
+                    }
+                    Integer audit = baseMapper.auditCheck(courseMenuVo.getMenuId(), courseMenuVo.getGradeId(), bo.getUserId(),courseMenuVo.getCourseId());
+                    if (audit > 0) {
+                        courseMenuVo.setAudit(1L);
+                    }
+                    Integer learning = baseMapper.learningCheck(courseMenuVo.getMenuId(), courseMenuVo.getGradeId(), bo.getUserId(),courseMenuVo.getCourseId());
+                    if (learning > 0) {
+                        courseMenuVo.setLearning(1L);
+                    }
+                    Long studyDuration = baseMapper.getStudyDuration(courseMenuVo.getMenuId(), courseMenuVo.getGradeId(), bo.getUserId(),courseMenuVo.getCourseId());
+                    courseMenuVo.setStudyDuration(studyDuration);
+                }
+                //为章的时候查询重修情况
+                if (courseMenuVo.getType().equals(2)){
+                    Integer rebuild = baseMapper.rebuildChapterCheck(courseMenuVo.getMenuId(), courseMenuVo.getGradeId(), bo.getUserId(),courseMenuVo.getCourseId());
+                    if (rebuild > 0) {
+                        courseMenuVo.setRebuild(1);
+                    }
+                }
+                //为模块的时候查询重修情况
+                if (courseMenuVo.getType().equals(1)){
+                    Integer rebuild = baseMapper.rebuildModuleCheck(courseMenuVo.getMenuId(), courseMenuVo.getGradeId(), bo.getUserId(),courseMenuVo.getCourseId());
+                    if (rebuild > 0) {
+                        courseMenuVo.setRebuild(1);
+                    }
+                }
+            }
+        }
+        if (bo.getRebuild() != null && bo.getRebuild() == 1) {
+            List<CourseUserMenuVo> courseMenuVoss = courseMenuVos.stream().filter(s ->
+                    s.getRebuild() != null && s.getRebuild().equals(1)
+            ).collect(Collectors.toList());
+            return courseMenuVoss;
+        }
+        return courseMenuVos;
+    }
 }

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/vo/CourseUserMenuVo.java

@@ -93,4 +93,7 @@ public class CourseUserMenuVo {
 	@ApiModelProperty("观察时长(秒)")
 	private Long studyDuration;
 
+	@ApiModelProperty("商品ID")
+	private Long goodsId;
+
 }

+ 26 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/bo/GoodsSectionListBo.java

@@ -0,0 +1,26 @@
+package com.zhongzheng.modules.goods.bo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author yangdamao
+ * @date 2022年12月20日 14:20
+ */
+@Data
+public class GoodsSectionListBo implements Serializable {
+
+    @ApiModelProperty("商品ID")
+    private Long goodsId;
+
+    @ApiModelProperty("班级ID")
+    private Long gradeId;
+
+    @ApiModelProperty("班级ID")
+    private Long userId;
+
+    @ApiModelProperty("是否重修目录:1是 0否")
+    private Integer rebuild;
+}

+ 12 - 7
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/impl/GoodsServiceImpl.java

@@ -855,15 +855,20 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements
                 .list(new LambdaQueryWrapper<GoodsSpecAttributeRelation>()
                 .eq(GoodsSpecAttributeRelation::getGoodsId, goodsId)
                 .eq(GoodsSpecAttributeRelation::getStatus, 1));
+        List<GoodsSpecTemplate> templates = new ArrayList<>();
         if (CollectionUtils.isEmpty(relationList)){
-            return new ArrayList<>();
+            //没有关联获取商品业务层次下所有模板
+            Goods goods = getById(goodsId);
+            templates = goodsSpecTemplateService.list(new LambdaQueryWrapper<GoodsSpecTemplate>()
+            .eq(GoodsSpecTemplate::getEducationTypeId,goods.getEducationTypeId())
+            .eq(GoodsSpecTemplate::getBusinessId,goods.getBusinessId()));
+        }else {
+            Set<Long> specTemplateIds = relationList.stream().filter(x -> ObjectUtils.isNotNull(x.getSpecTemplateId()))
+                    .map(GoodsSpecAttributeRelation::getSpecTemplateId).collect(Collectors.toSet());
+            templates = goodsSpecTemplateService
+                    .list(new LambdaQueryWrapper<GoodsSpecTemplate>()
+                            .in(GoodsSpecTemplate::getSpecTemplateId, specTemplateIds));
         }
-        Set<Long> specTemplateIds = relationList.stream().filter(x -> ObjectUtils.isNotNull(x.getSpecTemplateId()))
-                .map(GoodsSpecAttributeRelation::getSpecTemplateId).collect(Collectors.toSet());
-
-        List<GoodsSpecTemplate> templates = goodsSpecTemplateService
-                .list(new LambdaQueryWrapper<GoodsSpecTemplate>()
-                .in(GoodsSpecTemplate::getSpecTemplateId, specTemplateIds));
         if (CollectionUtils.isEmpty(templates)){
             return new ArrayList<>();
         }

+ 40 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/vo/GoodsSectionListVo.java

@@ -0,0 +1,40 @@
+package com.zhongzheng.modules.goods.vo;
+
+import com.zhongzheng.common.annotation.Excel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author yangdamao
+ * @date 2022年12月20日 10:14
+ */
+@Data
+public class GoodsSectionListVo implements Serializable {
+
+    @ApiModelProperty("商品ID")
+    private Long goodsId;
+
+    @ApiModelProperty("课程id")
+    private Long courseId;
+
+    /** 节ID */
+    @ApiModelProperty("节ID")
+    private Long sectionId;
+
+    @ApiModelProperty("节ID")
+    private String sectionName;
+
+    /** 章ID */
+    @ApiModelProperty("章ID")
+    private Long chapterId;
+
+    /** 模塊ID */
+    @ApiModelProperty("模塊ID")
+    private Long moduleId;
+
+    @ApiModelProperty("1要重修")
+    private Integer rebuild;
+
+}

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/bo/GradeChangeEjjjPeopleBo.java

@@ -16,5 +16,5 @@ public class GradeChangeEjjjPeopleBo implements Serializable {
     private String officialName;
 
     @ApiModelProperty("官方班级人数")
-    private Integer peopleNum;
+    private Integer num;
 }

+ 2 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/impl/ClassGradeServiceImpl.java

@@ -803,11 +803,11 @@ public class ClassGradeServiceImpl extends ServiceImpl<ClassGradeMapper, ClassGr
             if(Validator.isNotEmpty(gradeVo)&&Validator.isNotEmpty(gradeVo.getOfficialName())){
                 ClassGradeQueryBo queryBo = new ClassGradeQueryBo();
                 queryBo.setOfficialName(gradeVo.getOfficialName());
-                Integer peopleNum = queryOfficialGradeCount(queryBo);
+                Integer num = queryOfficialGradeCount(queryBo);
                 List<GradeChangeEjjjPeopleBo> boList = new ArrayList<>();
                 GradeChangeEjjjPeopleBo bo = new GradeChangeEjjjPeopleBo();
                 bo.setOfficialName(gradeVo.getOfficialName());
-                bo.setPeopleNum(peopleNum);
+                bo.setNum(num);
                 boList.add(bo);
                 //通知旧系统
                 Map<String, String> params = new HashMap<>();

+ 4 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/mapper/OrderGoodsMapper.java

@@ -3,11 +3,13 @@ package com.zhongzheng.modules.order.mapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.zhongzheng.modules.course.vo.CourseLiveVo;
 import com.zhongzheng.modules.goods.bo.GoodsQueryBo;
+import com.zhongzheng.modules.goods.vo.GoodsSectionListVo;
 import com.zhongzheng.modules.order.bo.OrderGoodsQueryBo;
 import com.zhongzheng.modules.order.bo.OrderQueryBo;
 import com.zhongzheng.modules.order.domain.OrderGoods;
 import com.zhongzheng.modules.order.vo.OrderGoodsVo;
 import org.apache.ibatis.annotations.Param;
+import org.springframework.security.core.parameters.P;
 
 import java.util.List;
 
@@ -55,4 +57,6 @@ public interface OrderGoodsMapper extends BaseMapper<OrderGoods> {
     List<OrderGoodsVo> getBuyNotStudyList(OrderQueryBo bo);
 
     List<OrderGoodsVo> getLongNotStudyList(OrderQueryBo bo);
+
+    List<GoodsSectionListVo> getGoodsSectionList(@Param("goodsId") Long goodsId);
 }

+ 4 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/IOrderGoodsService.java

@@ -6,6 +6,8 @@ import com.zhongzheng.common.core.page.TableDataInfo;
 import com.zhongzheng.modules.course.vo.CourseLiveVo;
 import com.zhongzheng.modules.goods.bo.CheckGoodsStatusBo;
 import com.zhongzheng.modules.goods.bo.GoodsQueryBo;
+import com.zhongzheng.modules.goods.bo.GoodsSectionListBo;
+import com.zhongzheng.modules.goods.vo.GoodsSectionListVo;
 import com.zhongzheng.modules.order.bo.*;
 import com.zhongzheng.modules.order.domain.OrderGoods;
 import com.zhongzheng.modules.order.vo.OrderGoodsVo;
@@ -107,4 +109,6 @@ public interface IOrderGoodsService extends IService<OrderGoods> {
     List<OrderGoodsVo> listUserVideoLive(GoodsQueryBo bo);
 
     Boolean checkGoodsStatus(CheckGoodsStatusBo bo);
+
+    List<GoodsSectionListVo> getGoodsSectionList(GoodsSectionListBo bo);
 }

+ 25 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderGoodsServiceImpl.java

@@ -18,6 +18,7 @@ import com.zhongzheng.modules.base.bo.ConsoleQueryBo;
 import com.zhongzheng.modules.base.domain.ShoppingCart;
 import com.zhongzheng.modules.base.service.IShoppingCartService;
 import com.zhongzheng.modules.course.mapper.CourseMapper;
+import com.zhongzheng.modules.course.mapper.CourseMenuMapper;
 import com.zhongzheng.modules.course.service.ICourseChapterSectionService;
 import com.zhongzheng.modules.course.service.ICourseMenuService;
 import com.zhongzheng.modules.course.service.ICourseSectionService;
@@ -32,9 +33,11 @@ import com.zhongzheng.modules.exam.vo.ExamApplyGoodsVo;
 import com.zhongzheng.modules.goods.bo.CheckGoodsStatusBo;
 import com.zhongzheng.modules.goods.bo.GoodsCourseQueryBo;
 import com.zhongzheng.modules.goods.bo.GoodsQueryBo;
+import com.zhongzheng.modules.goods.bo.GoodsSectionListBo;
 import com.zhongzheng.modules.goods.domain.Goods;
 import com.zhongzheng.modules.goods.service.IGoodsCourseService;
 import com.zhongzheng.modules.goods.service.IGoodsService;
+import com.zhongzheng.modules.goods.vo.GoodsSectionListVo;
 import com.zhongzheng.modules.goods.vo.GoodsVo;
 import com.zhongzheng.modules.grade.domain.ClassGradeGoods;
 import com.zhongzheng.modules.grade.domain.ClassGradeUser;
@@ -146,6 +149,9 @@ public class OrderGoodsServiceImpl extends ServiceImpl<OrderGoodsMapper, OrderGo
     @Autowired
     private IShoppingCartService iShoppingCartService;
 
+    @Autowired
+    private CourseMenuMapper courseMenuMapper;
+
     @Override
     public OrderGoodsVo queryById(Long orderGoodsId) {
         OrderGoods db = this.baseMapper.selectById(orderGoodsId);
@@ -640,6 +646,25 @@ public class OrderGoodsServiceImpl extends ServiceImpl<OrderGoodsMapper, OrderGo
         return true;
     }
 
+    @Override
+    public List<GoodsSectionListVo> getGoodsSectionList(GoodsSectionListBo bo) {
+        List<GoodsSectionListVo> resultVos = baseMapper.getGoodsSectionList(bo.getGoodsId());
+        if (CollectionUtils.isEmpty(resultVos)){
+            return new ArrayList<>();
+        }
+        if (ObjectUtils.isNull(bo.getRebuild()) || bo.getRebuild() == 0){
+            return resultVos;
+        }
+        //获取需要重修的节
+        resultVos.forEach(item -> {
+            Integer rebuild = courseMenuMapper.rebuildSectionCheck(item.getSectionId(),item.getModuleId(), item.getChapterId(),bo.getGradeId(), bo.getUserId(),item.getCourseId());
+            if (rebuild > 0) {
+                item.setRebuild(1);
+            }
+        });
+        return  resultVos.stream().filter(s -> s.getRebuild() != null && s.getRebuild().equals(1)).collect(Collectors.toList());
+    }
+
     private boolean checkUnique(Long GoodsId,Long UserId) {
         ShoppingCart info = iShoppingCartService.getOne(new LambdaQueryWrapper<ShoppingCart>()
                 .eq(ShoppingCart::getUserId,UserId).eq(ShoppingCart::getGoodsId,GoodsId).last("limit 1"));

+ 76 - 0
zhongzheng-system/src/main/resources/mapper/modules/course/CourseMenuMapper.xml

@@ -55,6 +55,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="recordingUrl" column="recording_url"/>
         <result property="liveUrl" column="live_url"/>
         <result property="teacherName" column="teacher_name"/>
+        <result property="goodsId" column="goods_id"/>
     </resultMap>
 
     <select id="getList" parameterType="com.zhongzheng.modules.course.bo.CourseMenuQueryBo"  resultMap="CourseMenuResultVo">
@@ -193,6 +194,64 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         ORDER BY m.sort
     </select>
 
+    <select id="getGoodsMenuList" parameterType="com.zhongzheng.modules.course.bo.CourseMenuQueryBo"  resultMap="CourseUserMenuVo">
+        SELECT
+            gc.goods_id,
+            m.*,
+            #{gradeId} as grade_id,
+            CASE
+
+                WHEN m.type = 1 THEN
+                    cm.module_name
+                WHEN m.type = 2 THEN
+                    cc.`name`
+                WHEN m.type = 3 THEN
+                    cs.`name`
+                END menu_name,
+            CASE
+
+                WHEN m.type = 1 THEN
+                    0
+                WHEN m.type = 2 THEN
+                    0
+                WHEN m.type = 3 THEN
+                    cs.duration_time
+                END duration_time,
+            cs.section_type,
+            cs.live_start_time,
+            cs.live_end_time,
+            cs.live_url,
+            CASE
+                WHEN m.type = 1 THEN
+                    ''
+                WHEN m.type = 2 THEN
+                    ''
+                WHEN m.type = 3 THEN
+                    cs.recording_url
+                END recording_url,
+            CASE
+                WHEN m.type = 1 THEN
+                    ''
+                WHEN m.type = 2 THEN
+                    ''
+                WHEN m.type = 3 THEN
+                        (SELECT teacher_name from teacher where teacher_id = cs.teacher_id)
+                END teacher_name
+
+        FROM
+            goods_course gc
+                LEFT JOIN  course_menu m ON gc.course_id = m.course_id
+                LEFT JOIN course_module cm ON m.menu_id = cm.module_id
+                AND m.type = 1 and cm.status=1
+                LEFT JOIN course_chapter cc ON m.menu_id = cc.chapter_id
+                AND m.type = 2 and cc.status=1
+                LEFT JOIN course_section cs ON m.menu_id = cs.section_id
+                AND m.type = 3 and cs.status=1
+        WHERE
+            gc.goods_id = #{goodsId}
+        ORDER BY m.sort
+    </select>
+
     <select id="rebuildCheck" parameterType="map"  resultType="Integer">
         SELECT
             COUNT(up.id)
@@ -210,6 +269,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
           and (ups.`status` = 0 or ups.`status` = 3)
     </select>
 
+    <select id="rebuildSectionCheck" parameterType="map"  resultType="Integer">
+        SELECT
+            COUNT(up.id)
+        FROM
+            user_period up
+                LEFT JOIN user_period_status ups ON up.id = ups.period_id
+        WHERE
+            up.grade_id =#{gradeId}
+          AND up.user_id = #{userId}
+          AND up.module_id= #{moduleId}
+          and up.chapter_id= #{chapterId}
+          and up.course_id=#{courseId}
+          and up.section_id=#{sectionId}
+          AND ups.period_status =1
+          and (ups.`status` = 0 or ups.`status` = 3)
+    </select>
+
     <select id="auditCheck" parameterType="map"  resultType="Integer">
         SELECT
             COUNT(up.id)

+ 76 - 0
zhongzheng-system/src/main/resources/mapper/modules/order/OrderGoodsMapper.xml

@@ -681,4 +681,80 @@
         AND #{endTime} >= r.last_time
         GROUP BY  o.user_id
     </select>
+    <select id="getGoodsSectionList" parameterType="java.lang.Long" resultType="com.zhongzheng.modules.goods.vo.GoodsSectionListVo">
+    SELECT
+        *
+    FROM
+        (
+            SELECT
+                gc.goods_id,
+                gc.sort AS gcSort,
+                cm.sort AS cmSort,
+                cmd.sort AS cmdSort,
+                ccs.sort AS ccsSort,
+                cs.sort AS csSort,
+                cm.course_id,
+                cmd.module_id,
+                ccs.chapter_id,
+                cs.section_id,
+                cs.`name` as sectionName
+            FROM
+                goods_course gc
+                    LEFT JOIN course_menu cm ON gc.course_id = cm.course_id
+                    LEFT JOIN course_module_chapter cmd ON cm.menu_id = cmd.module_id
+                    LEFT JOIN course_chapter_section ccs ON cmd.chapter_id = ccs.chapter_id
+                    LEFT JOIN course_section cs ON ccs.section_id = cs.section_id
+            WHERE
+                gc.goods_id = #{goodsId}
+              AND cm.type = 1
+              AND cm.`status` = 1 UNION ALL
+            SELECT
+                gc.goods_id,
+                gc.sort AS gcSort,
+                cm.sort AS cmSort,
+                NULL AS cmdSort,
+                ccs.sort AS ccsSort,
+                cs.sort AS csSort,
+                cm.course_id,
+                0 AS module_id,
+                ccs.chapter_id,
+                cs.section_id,
+                cs.`name` as sectionName
+            FROM
+                goods_course gc
+                    LEFT JOIN course_menu cm ON gc.course_id = cm.course_id
+                    LEFT JOIN course_chapter_section ccs ON cm.menu_id = ccs.chapter_id
+                    LEFT JOIN course_section cs ON ccs.section_id = cs.section_id
+            WHERE
+                gc.goods_id = #{goodsId}
+              AND cm.type = 2
+              AND cm.`status` = 1 UNION ALL
+            SELECT
+                gc.goods_id,
+                gc.sort AS gcSort,
+                cm.sort AS cmSort,
+                NULL AS cmdSort,
+                NULL AS ccsSort,
+                cs.sort AS csSort,
+                cm.course_id,
+                0 AS module_id,
+                0 AS chapter_id,
+                cs.section_id,
+                cs.`name` as sectionName
+            FROM
+                goods_course gc
+                    LEFT JOIN course_menu cm ON gc.course_id = cm.course_id
+                    LEFT JOIN course_section cs ON cm.menu_id = cs.section_id
+            WHERE
+                gc.goods_id = #{goodsId}
+              AND cm.type = 3
+              AND cm.`status` = 1
+        ) a
+    ORDER BY
+        a.gcSort,
+        cmSort,
+        cmdSort,
+        ccsSort,
+        csSort
+    </select>
 </mapper>

+ 24 - 24
zhongzheng-system/src/main/resources/mapper/modules/user/UserNoteMapper.xml

@@ -47,18 +47,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <if test="goodsId != null and goodsId !='' ">
             AND un.goods_id=#{goodsId}
         </if>
-        <if test="moduleId != null and moduleId !='' ">
-            AND un.module_id=#{moduleId}
-        </if>
-        <if test="courseId != null and courseId !='' ">
-            AND un.course_id =#{courseId}
-        </if>
-        <if test="sectionId != null and sectionId !='' ">
-            AND un.section_id =#{sectionId}
-        </if>
-        <if test="chapterId != null and chapterId !='' ">
-            AND un.chapter_id =#{chapterId}
-        </if>
+<!--        <if test="moduleId != null and moduleId !='' ">-->
+<!--            AND un.module_id=#{moduleId}-->
+<!--        </if>-->
+<!--        <if test="courseId != null and courseId !='' ">-->
+<!--            AND un.course_id =#{courseId}-->
+<!--        </if>-->
+<!--        <if test="sectionId != null and sectionId !='' ">-->
+<!--            AND un.section_id =#{sectionId}-->
+<!--        </if>-->
+<!--        <if test="chapterId != null and chapterId !='' ">-->
+<!--            AND un.chapter_id =#{chapterId}-->
+<!--        </if>-->
         <if test="gradeId != null and gradeId !='' ">
             AND un.grade_id =#{gradeId}
         </if>
@@ -80,18 +80,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <if test="goodsId != null and goodsId !='' ">
             AND un.goods_id=#{goodsId}
         </if>
-        <if test="moduleId != null and moduleId !='' ">
-            AND un.module_id=#{moduleId}
-        </if>
-        <if test="courseId != null and courseId !='' ">
-            AND un.course_id =#{courseId}
-        </if>
-        <if test="sectionId != null and sectionId !='' ">
-            AND un.section_id =#{sectionId}
-        </if>
-        <if test="chapterId != null and chapterId !='' ">
-            AND un.chapter_id =#{chapterId}
-        </if>
+<!--        <if test="moduleId != null and moduleId !='' ">-->
+<!--            AND un.module_id=#{moduleId}-->
+<!--        </if>-->
+<!--        <if test="courseId != null and courseId !='' ">-->
+<!--            AND un.course_id =#{courseId}-->
+<!--        </if>-->
+<!--        <if test="sectionId != null and sectionId !='' ">-->
+<!--            AND un.section_id =#{sectionId}-->
+<!--        </if>-->
+<!--        <if test="chapterId != null and chapterId !='' ">-->
+<!--            AND un.chapter_id =#{chapterId}-->
+<!--        </if>-->
         <if test="gradeId != null and gradeId !='' ">
             AND un.grade_id =#{gradeId}
         </if>