Browse Source

我的学时

change 3 years ago
parent
commit
219f2ae649

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

@@ -5,12 +5,17 @@ import com.zhongzheng.common.core.controller.BaseController;
 import com.zhongzheng.common.core.domain.AjaxResult;
 import com.zhongzheng.common.core.page.TableDataInfo;
 import com.zhongzheng.common.enums.BusinessType;
+import com.zhongzheng.common.utils.ServletUtils;
+import com.zhongzheng.framework.web.service.WxTokenService;
 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.CourseUserVo;
 import com.zhongzheng.modules.course.vo.CourseVo;
+import com.zhongzheng.modules.goods.vo.GoodsUserVo;
 import com.zhongzheng.modules.goods.vo.GoodsVo;
+import com.zhongzheng.modules.user.entity.ClientLoginUser;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.RequiredArgsConstructor;
@@ -33,15 +38,18 @@ import java.util.List;
 public class CourseController extends BaseController {
 
     private final ICourseService iCourseService;
+    private final WxTokenService wxTokenService;
 
     /**
      * 查询课程列表
      */
     @ApiOperation("查询商品下的课程列表")
     @GetMapping("/courseList")
-    public TableDataInfo<CourseVo> courseList(CourseQueryBo bo) {
+    public TableDataInfo<CourseUserVo> courseList(CourseQueryBo bo) {
         startPage();
-        List<CourseVo> list = iCourseService.courseList(bo);
+        ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest());
+        bo.setUserId(loginUser.getUser().getUserId());
+        List<CourseUserVo> list = iCourseService.courseList(bo);
         return getDataTable(list);
     }
 
@@ -50,9 +58,11 @@ public class CourseController extends BaseController {
      */
     @ApiOperation("查询用户拥有的商品")
     @GetMapping("/goodsList")
-    public TableDataInfo<GoodsVo> goodsList(CourseQueryBo bo) {
+    public TableDataInfo<GoodsUserVo> goodsList(CourseQueryBo bo) {
         startPage();
-        List<GoodsVo> list = iCourseService.goodsList(bo);
+        ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest());
+        bo.setUserId(loginUser.getUser().getUserId());
+        List<GoodsUserVo> list = iCourseService.goodsList(bo);
         return getDataTable(list);
     }
 

+ 4 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/bo/CourseQueryBo.java

@@ -45,6 +45,10 @@ public class CourseQueryBo extends BaseEntity {
 	@ApiModelProperty("班级Id")
 	private Long gradeId;
 
+	/** 用户Id */
+	@ApiModelProperty("用户Id")
+	private Long userId;
+
 	/** 商品Id */
 	@ApiModelProperty("商品Id")
 	private Long goodsId;

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

@@ -5,9 +5,11 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.zhongzheng.common.core.domain.entity.SysRole;
 import com.zhongzheng.modules.course.bo.CourseQueryBo;
 import com.zhongzheng.modules.course.domain.Course;
+import com.zhongzheng.modules.course.vo.CourseUserVo;
 import com.zhongzheng.modules.course.vo.CourseVo;
 import com.zhongzheng.modules.goods.vo.GoodsPeriodStatusVo;
 import com.zhongzheng.modules.goods.vo.GoodsPeriodVo;
+import com.zhongzheng.modules.goods.vo.GoodsUserVo;
 import com.zhongzheng.modules.grade.bo.ClassGradeUserQueryBo;
 import com.zhongzheng.modules.user.bo.UserPlanQueryBo;
 
@@ -30,4 +32,8 @@ public interface CourseMapper extends BaseMapper<Course> {
     List<GoodsPeriodVo> listGoodsPeriodVo(UserPlanQueryBo bo);
 
     List<GoodsPeriodStatusVo> listSection(ClassGradeUserQueryBo bo);
+
+    List<GoodsUserVo> goodsList(CourseQueryBo bo);
+
+    List<CourseUserVo> courseList(CourseQueryBo bo);
 }

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

@@ -6,9 +6,11 @@ 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.vo.CourseUserVo;
 import com.zhongzheng.modules.course.vo.CourseVo;
 import com.zhongzheng.modules.goods.vo.GoodsPeriodStatusVo;
 import com.zhongzheng.modules.goods.vo.GoodsPeriodVo;
+import com.zhongzheng.modules.goods.vo.GoodsUserVo;
 import com.zhongzheng.modules.goods.vo.GoodsVo;
 import com.zhongzheng.modules.grade.bo.ClassGradeUserQueryBo;
 import com.zhongzheng.modules.user.bo.UserPlanQueryBo;
@@ -66,7 +68,7 @@ public interface ICourseService extends IService<Course> {
 
     boolean editRebuild(ClassGradeUserQueryBo bo);
 
-    List<GoodsVo> goodsList(CourseQueryBo bo);
+    List<GoodsUserVo> goodsList(CourseQueryBo bo);
 
-	List<CourseVo> courseList(CourseQueryBo bo);
+	List<CourseUserVo> courseList(CourseQueryBo bo);
 }

+ 6 - 4
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/impl/CourseServiceImpl.java

@@ -16,9 +16,11 @@ import com.zhongzheng.modules.course.mapper.CourseMapper;
 import com.zhongzheng.modules.course.mapper.CourseSectionMapper;
 import com.zhongzheng.modules.course.service.ICourseSectionBusinessService;
 import com.zhongzheng.modules.course.service.ICourseService;
+import com.zhongzheng.modules.course.vo.CourseUserVo;
 import com.zhongzheng.modules.course.vo.CourseVo;
 import com.zhongzheng.modules.goods.vo.GoodsPeriodStatusVo;
 import com.zhongzheng.modules.goods.vo.GoodsPeriodVo;
+import com.zhongzheng.modules.goods.vo.GoodsUserVo;
 import com.zhongzheng.modules.goods.vo.GoodsVo;
 import com.zhongzheng.modules.grade.bo.ClassGradeUserQueryBo;
 import com.zhongzheng.modules.grade.bo.UserPeriodStatusAddBo;
@@ -226,13 +228,13 @@ public class CourseServiceImpl extends ServiceImpl<CourseMapper, Course> impleme
     }
 
     @Override
-    public List<GoodsVo> goodsList(CourseQueryBo bo) {
-        return null;
+    public List<GoodsUserVo> goodsList(CourseQueryBo bo) {
+        return baseMapper.goodsList(bo);
     }
 
     @Override
-    public List<CourseVo> courseList(CourseQueryBo bo) {
-        return null;
+    public List<CourseUserVo> courseList(CourseQueryBo bo) {
+        return baseMapper.courseList(bo);
     }
 
     private List<UserStudyRecordPhotoVo> entity2PhotoVo(Collection<UserStudyRecordPhoto> collection) {

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

@@ -0,0 +1,116 @@
+package com.zhongzheng.modules.course.vo;
+
+import com.zhongzheng.common.annotation.Excel;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+
+/**
+ * 课程视图对象 mall_package
+ *
+ * @author hjl
+ * @date 2021-10-09
+ */
+@Data
+@ApiModel("课程视图对象")
+public class CourseUserVo {
+	private static final long serialVersionUID = 1L;
+
+	/** 课程ID */
+	@ApiModelProperty("课程ID")
+	private Long courseId;
+
+	/** 班级ID */
+	@ApiModelProperty("班级ID")
+	private Long gradeId;
+
+	/** 前缀名称 */
+	@Excel(name = "前缀名称")
+	@ApiModelProperty("前缀名称")
+	private String prefixName;
+	/** 封面地址 */
+	@Excel(name = "封面地址")
+	@ApiModelProperty("封面地址")
+	private String coverUrl;
+	/** 简介 */
+	@Excel(name = "简介")
+	@ApiModelProperty("简介")
+	private String introduction;
+	/** 状态 1正常 0关闭 */
+	@Excel(name = "状态 1正常 0关闭")
+	@ApiModelProperty("状态 1正常 0关闭")
+	private Integer status;
+	/** 教育类型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;
+	/** 发布状态 1发布 0未发布 */
+	@Excel(name = "发布状态 1发布 0未发布")
+	@ApiModelProperty("发布状态 1发布 0未发布")
+	private Long publishStatus;
+	/** 排序 */
+	@Excel(name = "排序")
+	@ApiModelProperty("排序")
+	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;
+	/** 科目id */
+	@ApiModelProperty("科目id")
+	private Long subjectId;
+	/** 项目ID */
+	@Excel(name = "项目ID")
+	@ApiModelProperty("项目ID")
+	private Long projectId;
+
+	@ApiModelProperty("教育名称")
+	private String educationName;
+	@ApiModelProperty("项目名称")
+	private String projectName;
+	@ApiModelProperty("业务名称")
+	private String businessName;
+	@ApiModelProperty("学校名称")
+	private String schoolName;
+	@ApiModelProperty("专业名称")
+	private String categoryName;
+	@ApiModelProperty("科目名称")
+	private String subjectName;
+	@ApiModelProperty("添加时间")
+	private Long createTime;
+	@ApiModelProperty("修改时间")
+	private Long updateTime;
+	@ApiModelProperty("商品列表")
+	private List<CourseGoodsVo> goodsList;
+}

+ 4 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/bo/UserSubscribeQueryBo.java

@@ -39,6 +39,10 @@ public class UserSubscribeQueryBo extends BaseEntity {
 	/** 绑定的商品 */
 	@ApiModelProperty("绑定的商品")
 	private Long goodsId;
+
+	/** 报考数据ID */
+	@ApiModelProperty("报考数据ID")
+	private Long subscribeId;
 	/** 学员ID */
 	@ApiModelProperty("学员ID")
 	private Long userId;

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

@@ -56,6 +56,36 @@
         <result property="subjectName" column="subject_name"/>
         <collection property="goodsList" column="course_id" select="findGoodsList"/>
     </resultMap>
+
+    <resultMap type="com.zhongzheng.modules.course.vo.CourseUserVo" id="CourseUserVo">
+        <result property="courseId" column="course_id"/>
+        <result property="prefixName" column="prefix_name"/>
+        <result property="coverUrl" column="cover_url"/>
+        <result property="gradeId" column="grade_id"/>
+        <result property="introduction" column="introduction"/>
+        <result property="status" column="status"/>
+        <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="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"/>
+        <result property="subjectId" column="subject_id"/>
+        <result property="projectId" column="project_id"/>
+        <result property="createTime" column="create_time"/>
+        <result property="updateTime" column="update_time"/>
+        <result property="educationName" column="education_name"/>
+        <result property="projectName" column="project_name"/>
+        <result property="businessName" column="business_name"/>
+        <result property="schoolName" column="school_name"/>
+        <result property="categoryName" column="category_name"/>
+        <result property="subjectName" column="subject_name"/>
+    </resultMap>
     <resultMap type="com.zhongzheng.modules.goods.vo.GoodsPeriodVo" id="GoodsPeriodVo">
         <result property="goodsId" column="goods_id"/>
         <result property="year" column="year"/>
@@ -74,6 +104,61 @@
         <result property="periodId" column="period_id"/>
     </resultMap>
 
+    <resultMap type="com.zhongzheng.modules.goods.vo.GoodsUserVo" id="GoodsUserVo">
+        <result property="goodsId" column="goods_id"/>
+        <result property="year" column="year"/>
+        <result property="supplyId" column="supply_id"/>
+        <result property="userId" column="user_id"/>
+        <result property="goodsType" column="goods_type"/>
+        <result property="educationTypeId" column="education_type_id"/>
+        <result property="businessId" column="business_id"/>
+        <result property="schoolId" column="school_id"/>
+        <result property="majorId" column="major_id"/>
+        <result property="goodsName" column="goods_name"/>
+        <result property="standPrice" column="stand_price"/>
+        <result property="lowestPrice" column="lowest_price"/>
+        <result property="createTime" column="create_time"/>
+        <result property="updateTime" column="update_time"/>
+        <result property="status" column="status"/>
+        <result property="validityStartTime" column="validity_start_time"/>
+        <result property="validityEndTime" column="validity_end_time"/>
+        <result property="studyStartTime" column="study_start_time"/>
+        <result property="studyEndTime" column="study_end_time"/>
+        <result property="certificateIds" column="certificate_ids"/>
+        <result property="introduce" column="introduce"/>
+        <result property="suitableObject" column="suitable_object"/>
+        <result property="buyNote" column="buy_note"/>
+        <result property="pcDetailHtml" column="pc_detail_html"/>
+        <result property="mobileDetailHtml" column="mobile_detail_html"/>
+        <result property="goodsStatus" column="goods_status"/>
+        <result property="coverUrl" column="cover_url"/>
+        <result property="classHours" column="class_hours"/>
+        <result property="standPriceJson" column="stand_price_json"/>
+        <result property="code" column="code"/>
+        <result property="projectId" column="project_id"/>
+        <result property="goodsAuditionConfig" column="goods_audition_config"/>
+        <result property="goodsPhotographConfig" column="goods_photograph_config"/>
+        <result property="goodsPlayConfig" column="goods_play_config"/>
+        <result property="goodsExamConfig" column="goods_exam_config"/>
+        <result property="gradeId" column="grade_id"/>
+
+        <result property="supplyName" column="supply_name"/>
+        <result property="educationName" column="education_name"/>
+        <result property="projectName" column="project_name"/>
+        <result property="businessName" column="business_name"/>
+        <result property="schoolName" column="school_name"/>
+        <result property="categoryName" column="category_name"/>
+        <result property="handoutsId" column="handouts_id"/>
+        <result property="templateType" column="template_type"/>
+        <result property="period" column="period"/>
+        <result property="makeStartTime" column="make_start_time"/>
+        <result property="makeEndTime" column="make_end_time"/>
+        <result property="studyCount" column="study_count"/>
+        <result property="makeGoodsName" column="make_goods_name"/>
+        <result property="makeGoodsCode" column="make_goods_code"/>
+    </resultMap>
+
+
     <select id="findGoodsList" resultMap="CourseGoodsListResult">
         SELECT
             g.goods_name,
@@ -270,4 +355,32 @@
           AND up.section_id = 0
           and up.grade_id = #{gradeId}
     </select>
+
+    <select id="goodsList" parameterType="com.zhongzheng.modules.course.bo.CourseQueryBo"  resultMap="GoodsUserVo">
+        SELECT
+            g.*,
+            cgu.grade_id,
+               cgu.user_id
+        FROM
+            class_grade_user cgu
+                LEFT JOIN class_grade_goods cgg ON cgu.grade_id = cgg.grade_id
+                LEFT JOIN goods g on cgg.goods_id = g.goods_id
+                LEFT JOIN class_grade cg on cg.grade_id = cgu.grade_id
+        where 1=1
+          and cgu.user_id = #{userId}
+          and unix_timestamp(now()) BETWEEN cg.class_start_time and cg.class_end_time
+          and cg.status =1
+          and cgu.status =1
+    </select>
+    <select id="courseList" parameterType="com.zhongzheng.modules.course.bo.CourseQueryBo"  resultMap="CourseUserVo">
+        SELECT
+            c.*,
+                #{gradeId} as grade_id
+        FROM
+            course c
+                LEFT JOIN goods_course gc ON gc.course_id = c.course_id
+        where 1=1
+          and gc.goods_id =#{goodsId}
+
+    </select>
 </mapper>

+ 3 - 0
zhongzheng-system/src/main/resources/mapper/modules/user/UserSubscribeMapper.xml

@@ -68,6 +68,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <if test="goodsId != null and goodsId != '' ">
             and us.goods_id = #{goodsId}
         </if>
+        <if test="subscribeId != null and subscribeId != '' ">
+            and us.subscribe_id = #{subscribeId}
+        </if>
         <if test="subscribeStatus != null and subscribeStatus != '' ">
             and us.subscribe_status = #{subscribeStatus}
         </if>