he2802 4 жил өмнө
parent
commit
4f5149448c

+ 2 - 1
zhongzheng-api/src/main/java/com/zhongzheng/controller/activity/PlanController.java

@@ -11,6 +11,7 @@ import com.zhongzheng.modules.activity.bo.ActivityTaskUserAddBo;
 import com.zhongzheng.modules.activity.service.IActivityTaskService;
 import com.zhongzheng.modules.activity.vo.ActivityTaskVo;
 import com.zhongzheng.modules.user.bo.UserPlanQueryBo;
+import com.zhongzheng.modules.user.domain.UserPlan;
 import com.zhongzheng.modules.user.entity.ClientLoginUser;
 import com.zhongzheng.modules.user.service.IUserPlanService;
 import com.zhongzheng.modules.user.vo.UserPlanVo;
@@ -56,7 +57,7 @@ public class PlanController extends BaseController {
      */
     @ApiOperation("获得用户学习计划")
     @GetMapping("/userPlan")
-    public AjaxResult<UserPlanVo> userPlan(UserPlanQueryBo bo) throws ParseException {
+    public AjaxResult<List<UserPlanVo>> userPlan(UserPlanQueryBo bo) throws ParseException {
         ClientLoginUser loginUser = WxTokenService.getLoginUser(ServletUtils.getRequest());
         bo.setUserId(loginUser.getUser().getUserId());
         return AjaxResult.success(userPlanService.userPlan(bo));

+ 2 - 1
zhongzheng-api/src/main/java/com/zhongzheng/controller/user/UserController.java

@@ -9,6 +9,7 @@ import com.zhongzheng.common.utils.ServletUtils;
 import com.zhongzheng.common.utils.poi.ExcelUtil;
 import com.zhongzheng.framework.web.service.WxTokenService;
 import com.zhongzheng.modules.course.vo.CourseVo;
+import com.zhongzheng.modules.user.bo.RanKingUserQuery;
 import com.zhongzheng.modules.user.bo.UserAddBo;
 import com.zhongzheng.modules.user.bo.UserEditBo;
 import com.zhongzheng.modules.user.bo.UserQueryBo;
@@ -79,7 +80,7 @@ public class UserController extends BaseController {
      */
     @ApiOperation("排行榜")
     @GetMapping("/rankingList")
-    public AjaxResult<RanKingUser> rankingList(UserQueryBo bo) {
+    public AjaxResult<RanKingUser> rankingList(RanKingUserQuery bo) {
         ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest());
         bo.setUserId(loginUser.getUser().getUserId());
         RanKingUser list = iUserService.rankingList(bo);

+ 64 - 3
zhongzheng-framework/src/main/java/com/zhongzheng/framework/web/service/UserServiceImpl.java

@@ -15,6 +15,7 @@ import com.zhongzheng.modules.collect.domain.CollectNote;
 import com.zhongzheng.modules.collect.mapper.CollectBankMapper;
 import com.zhongzheng.modules.collect.mapper.CollectCourseMapper;
 import com.zhongzheng.modules.collect.mapper.CollectNoteMapper;
+import com.zhongzheng.modules.user.bo.RanKingUserQuery;
 import com.zhongzheng.modules.user.bo.UserAddBo;
 import com.zhongzheng.modules.user.bo.UserEditBo;
 import com.zhongzheng.modules.user.bo.UserQueryBo;
@@ -28,8 +29,8 @@ import com.zhongzheng.modules.user.vo.UserVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.Collection;
-import java.util.List;
+import java.sql.Timestamp;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -165,9 +166,69 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
     }
 
     @Override
-    public RanKingUser rankingList(UserQueryBo bo) {
+    public RanKingUser rankingList(RanKingUserQuery query) {
         RanKingUser ranKingUser = new RanKingUser();
+
+        Long time = System.currentTimeMillis(); //当前时间的时间戳
+        if (query.getStatus() == 0) {
+            long zero1 = time / (1000 * 3600 * 24) * (1000 * 3600 * 24) - TimeZone.getDefault().getRawOffset();
+            long zero = zero1 / 1000;
+            Calendar calendar = Calendar.getInstance();
+            calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), 23, 59, 59);
+            long tt = calendar.getTime().getTime() / 1000;
+            query.setStartTime(zero);
+            query.setEndTime(tt);
+            ranKingUser= baseMapper.selectByRank(query);
+            List<RanKingUser> ranKingUsers = baseMapper.selectByRanks(query);
+            ranKingUser.setRanKingUsers(ranKingUsers);
+        }else {
+            Calendar cal = Calendar.getInstance();
+            int month = cal.get(Calendar.MONTH) + 1;
+            Long firstDayOfMonth = getFirstDayOfMonth(month);
+            Long lastDayOfMonth = getLastDayOfMonth(month);
+            query.setStartTime(firstDayOfMonth);
+            query.setEndTime(lastDayOfMonth);
+            ranKingUser= baseMapper.selectByRank(query);
+            List<RanKingUser> ranKingUsers = baseMapper.selectByRanks(query);
+            ranKingUser.setRanKingUsers(ranKingUsers);
+        }
         return ranKingUser;
 
     }
+
+    /**
+     * 获取当前月第一天
+     * @param month
+     * @return
+     */
+    public static Long getFirstDayOfMonth(int month) {
+        Calendar calendar = Calendar.getInstance();
+        // 设置月份
+        calendar.set(Calendar.MONTH, month - 1);
+        // 获取某月最小天数
+        int firstDay = calendar.getActualMinimum(Calendar.DAY_OF_MONTH);
+        // 设置日历中月份的最小天数
+        calendar.set(Calendar.DAY_OF_MONTH, firstDay);
+
+        Date time = calendar.getTime();
+        return time.getTime() / 1000;
+    }
+
+    public static Long getLastDayOfMonth(int month) {
+        Calendar calendar = Calendar.getInstance();
+        // 设置月份
+        calendar.set(Calendar.MONTH, month - 1);
+        // 获取某月最大天数
+        int lastDay=0;
+        //2月的平年瑞年天数
+        if(month==2) {
+            lastDay = calendar.getLeastMaximum(Calendar.DAY_OF_MONTH);
+        }else {
+            lastDay = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
+        }
+        // 设置日历中月份的最大天数
+        calendar.set(Calendar.DAY_OF_MONTH, lastDay);
+        Date time = calendar.getTime();
+        return time.getTime() / 1000;
+    }
 }

+ 44 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/bo/RanKingUserQuery.java

@@ -0,0 +1,44 @@
+package com.zhongzheng.modules.user.bo;
+
+import com.zhongzheng.common.annotation.Excel;
+import com.zhongzheng.modules.user.vo.UserVo;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+
+/**
+ * 用户视图对象 mall_package
+ *
+ * @author change
+ * @date 2021-05-25
+ */
+@Data
+@ApiModel("排行榜获得")
+public class RanKingUserQuery {
+    private static final long serialVersionUID = 1L;
+
+
+    @Excel(name = "0 日榜  1月榜")
+    @ApiModelProperty("0 日榜  1月榜")
+    private Long status;
+
+
+    @Excel(name = "用户id")
+    @ApiModelProperty("用户id")
+    private Long userId;
+
+    @Excel(name = "开始时间")
+    @ApiModelProperty("开始时间")
+    private Long startTime;
+
+    @Excel(name = "结束时间")
+    @ApiModelProperty("结束时间")
+    private Long endTime;
+
+
+
+
+}

+ 7 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/mapper/UserMapper.java

@@ -1,7 +1,11 @@
 package com.zhongzheng.modules.user.mapper;
 
+import com.zhongzheng.modules.user.bo.RanKingUserQuery;
 import com.zhongzheng.modules.user.domain.User;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zhongzheng.modules.user.vo.RanKingUser;
+
+import java.util.List;
 
 /**
  * 用户Mapper接口
@@ -11,4 +15,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface UserMapper extends BaseMapper<User> {
 
+    RanKingUser selectByRank(RanKingUserQuery query);
+
+    List<RanKingUser> selectByRanks(RanKingUserQuery query);
 }

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/mapper/UserPlanMapper.java

@@ -23,7 +23,7 @@ public interface UserPlanMapper extends BaseMapper<UserPlan> {
 
     List<CoursePlanVo> selectByListCourse(UserPlanQueryBo bo);
 
-    UserPlan selectByUserPlan(UserPlanQueryBo bo);
+    List<UserPlan> selectByUserPlan(UserPlanQueryBo bo);
 
     void insertSource(CoursePlanVo coursePlanVo);
 

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/IUserPlanService.java

@@ -59,7 +59,7 @@ public interface IUserPlanService extends IService<UserPlan> {
 	 */
 	UserPlanVo generate(UserPlanQueryBo bo) throws ParseException;
 
-	UserPlanVo userPlan(UserPlanQueryBo bo);
+	List<UserPlanVo> userPlan(UserPlanQueryBo bo);
 
 	Boolean updateGenerate(UserPlanQueryBo bo) throws ParseException;
 }

+ 2 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/IUserService.java

@@ -1,5 +1,6 @@
 package com.zhongzheng.modules.user.service;
 
+import com.zhongzheng.modules.user.bo.RanKingUserQuery;
 import com.zhongzheng.modules.user.domain.User;
 import com.zhongzheng.modules.user.vo.RanKingUser;
 import com.zhongzheng.modules.user.vo.UserVo;
@@ -58,5 +59,5 @@ public interface IUserService extends IService<User> {
 
 	Integer getCollectTotal(Long userId);
 
-	RanKingUser rankingList(UserQueryBo bo);
+	RanKingUser rankingList(RanKingUserQuery bo);
 }

+ 37 - 32
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/impl/UserPlanServiceImpl.java

@@ -203,39 +203,44 @@ public class UserPlanServiceImpl extends ServiceImpl<UserPlanMapper, UserPlan> i
     }
 
     @Override
-    public UserPlanVo userPlan(UserPlanQueryBo bo) {
-        UserPlan userPlan = baseMapper.selectByUserPlan(bo);
-        UserPlanVo userPlanVo = new UserPlanVo();
-        userPlanVo.setUserId(userPlan.getUserId());
-        userPlanVo.setExamDate(userPlan.getExamDate());
-        userPlanVo.setReminderTime(userPlan.getReminderTime());
-        userPlanVo.setStudyDay(userPlan.getStudyDay());
-        userPlanVo.setStartTime(userPlan.getStartTime());
-        userPlanVo.setEndTime(userPlan.getEndTime());
-        userPlanVo.setPitchNum(userPlan.getPitchNum());
-        userPlanVo.setStudyNum(userPlan.getStudyNum());
-        userPlanVo.setPlanId(userPlan.getPlanId());
-
-        List<CalendarStudyVo> calendarStudyVos = JSONObject.parseArray(userPlan.getSchedule(), CalendarStudyVo.class);
-        List<Long> cont = JSONObject.parseArray(userPlan.getStudyCount(), Long.class);
-        Long[] strings = new Long[cont.size()];
-        cont.toArray(strings);
-        userPlanVo.setCalendarStudyVo(calendarStudyVos);
-        userPlanVo.setStudyCount(strings);
-        userPlanVo.setCoursePlanVo(null);
-        List<UserPlanCource> userPlanClsList = baseMapper.selectCourse(userPlan.getPlanId());
-
-        //初始化需要得到的数组
-        Integer[] array = new Integer[userPlanClsList.size()];
-
-        //使用for循环得到数组
-        for(int i = 0; i < userPlanClsList.size();i++){
-            array[i] = Convert.toInt(userPlanClsList.get(i).getSourceId());
+    public List<UserPlanVo> userPlan(UserPlanQueryBo bo) {
+        List<UserPlan> userPlans = baseMapper.selectByUserPlan(bo);
+        List<UserPlanVo> userPlanVos = new ArrayList<>();
+        for (UserPlan userPlan : userPlans) {
+            UserPlanVo userPlanVo = new UserPlanVo();
+            userPlanVo.setUserId(userPlan.getUserId());
+            userPlanVo.setExamDate(userPlan.getExamDate());
+            userPlanVo.setReminderTime(userPlan.getReminderTime());
+            userPlanVo.setStudyDay(userPlan.getStudyDay());
+            userPlanVo.setStartTime(userPlan.getStartTime());
+            userPlanVo.setEndTime(userPlan.getEndTime());
+            userPlanVo.setPitchNum(userPlan.getPitchNum());
+            userPlanVo.setStudyNum(userPlan.getStudyNum());
+            userPlanVo.setPlanId(userPlan.getPlanId());
+
+            List<CalendarStudyVo> calendarStudyVos = JSONObject.parseArray(userPlan.getSchedule(), CalendarStudyVo.class);
+            List<Long> cont = JSONObject.parseArray(userPlan.getStudyCount(), Long.class);
+            Long[] strings = new Long[cont.size()];
+            cont.toArray(strings);
+            userPlanVo.setCalendarStudyVo(calendarStudyVos);
+            userPlanVo.setStudyCount(strings);
+            userPlanVo.setCoursePlanVo(null);
+            List<UserPlanCource> userPlanClsList = baseMapper.selectCourse(userPlan.getPlanId());
+
+            //初始化需要得到的数组
+            Integer[] array = new Integer[userPlanClsList.size()];
+
+            //使用for循环得到数组
+            for(int i = 0; i < userPlanClsList.size();i++){
+                array[i] = Convert.toInt(userPlanClsList.get(i).getSourceId());
+            }
+            bo.setCourseId(array);
+            List<CoursePlanVo> coursePlanVo = baseMapper.selectByListCourse(bo);
+            userPlanVo.setCoursePlanVo(coursePlanVo);
+            userPlanVos.add(userPlanVo);
         }
-        bo.setCourseId(array);
-        List<CoursePlanVo> coursePlanVo = baseMapper.selectByListCourse(bo);
-        userPlanVo.setCoursePlanVo(coursePlanVo);
-        return userPlanVo;
+
+        return userPlanVos;
     }
 
     @Override

+ 32 - 4
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/vo/CoursePlanVo.java

@@ -27,6 +27,38 @@ public class CoursePlanVo {
 	@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 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 String teacherIds;
 	/** 课程名称 */
 	@Excel(name = "课程名称")
 	@ApiModelProperty("课程名称")
@@ -37,10 +69,6 @@ public class CoursePlanVo {
 	private Integer sectionNum;
 	@ApiModelProperty("分类名")
 	private String categoryName;
-
-	@ApiModelProperty("当天学习的节数")
-	private String sectionDayNum;
-
 	/** 计划Id */
 	@Excel(name = "计划Id")
 	@ApiModelProperty("计划Id")

+ 12 - 135
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/vo/RanKingUser.java

@@ -21,151 +21,28 @@ import java.util.List;
 public class RanKingUser {
     private static final long serialVersionUID = 1L;
 
-    /** $pkColumn.columnComment */
-    @ApiModelProperty("$pkColumn.columnComment")
-    private Long userId;
 
-    /** 账号 */
-    @Excel(name = "账号")
-    @ApiModelProperty("账号")
-    private String userAccout;
     /** 昵称 */
     @Excel(name = "昵称")
     @ApiModelProperty("昵称")
     private String nickname;
-    /** 真实姓名 */
-    @Excel(name = "真实姓名")
-    @ApiModelProperty("真实姓名")
-    private String realname;
-    /** 性别 */
-    @Excel(name = "性别")
-    @ApiModelProperty("性别")
-    private Integer sex;
-    /** 身份证号 */
-    @Excel(name = "身份证号")
-    @ApiModelProperty("身份证号")
-    private String idCard;
-    /** 手机号码 */
-    @Excel(name = "手机号码")
-    @ApiModelProperty("手机号码")
-    private String telphone;
-    /** 用户等级 */
-    @Excel(name = "用户等级")
-    @ApiModelProperty("用户等级")
-    private Integer userLevel;
-    /** 出生日期 */
-    @Excel(name = "出生日期")
-    @ApiModelProperty("出生日期")
-    private String userBirth;
-    /** 教育层次 */
-    @Excel(name = "教育层次")
-    @ApiModelProperty("教育层次")
-    private String eduLevel;
-    /** 学校ID */
-    @Excel(name = "学校ID")
-    @ApiModelProperty("学校ID")
-    private Long schoolId;
-    /** 专业 */
-    @Excel(name = "专业")
-    @ApiModelProperty("专业")
-    private String major;
-    /** 入学时间 */
-    @Excel(name = "入学时间")
-    @ApiModelProperty("入学时间")
-    private Long entranceTime;
-    /** $column.columnComment */
-    @Excel(name = "入学时间")
-    @ApiModelProperty("$column.columnComment")
-    private String openId;
-    /** 学籍证明照片 */
-    @Excel(name = "学籍证明照片")
-    @ApiModelProperty("学籍证明照片")
-    private String studentCertificateImg;
-    /** 身份证人像照 */
-    @Excel(name = "身份证人像照")
-    @ApiModelProperty("身份证人像照")
-    private String idCardImg1;
-    /** 身份证国徽照 */
-    @Excel(name = "身份证国徽照")
-    @ApiModelProperty("身份证国徽照")
-    private String idCardImg2;
-    /** 国家 */
-    @Excel(name = "国家")
-    @ApiModelProperty("国家")
-    private String country;
-    /** 省份 */
-    @Excel(name = "省份")
-    @ApiModelProperty("省份")
-    private String province;
-    /** 城市 */
-    @Excel(name = "城市")
-    @ApiModelProperty("城市")
-    private String city;
-    /** 用户积分 */
-    @Excel(name = "用户积分")
-    @ApiModelProperty("用户积分")
-    private Long integral;
-    /** 状态 1正常 0关闭 */
-    @Excel(name = "状态 1正常 0关闭")
-    @ApiModelProperty("状态 1正常 0关闭")
-    private Integer status;
-    @ApiModelProperty("是否人脸认证成功  1成功 0没有")
-    private Integer certified;
-    @ApiModelProperty("人脸认证时间")
-    private Long certifiedTime;
-    /** 区 */
-    @Excel(name = "区")
-    @ApiModelProperty("区")
-    private String district;
-    /** 结婚状态 */
-    @Excel(name = "结婚状态")
-    @ApiModelProperty("结婚状态")
-    private String marry;
-    /** 户籍省份 */
-    @Excel(name = "户籍省份")
-    @ApiModelProperty("户籍省份")
-    private String houseProvince;
-    /** 户籍城市 */
-    @Excel(name = "户籍城市")
-    @ApiModelProperty("户籍城市")
-    private String houseCity;
-    /** 户籍区 */
-    @Excel(name = "户籍区")
-    @ApiModelProperty("户籍区")
-    private String houseDistrict;
-    /** 一寸照片 */
-    @Excel(name = "一寸照片")
-    @ApiModelProperty("一寸照片")
-    private String oneInchPhotos;
-    /** 政治面貌 */
-    @Excel(name = "政治面貌")
-    @ApiModelProperty("政治面貌")
-    private String politic;
-    /** 邮箱 */
-    @Excel(name = "邮箱")
-    @ApiModelProperty("邮箱")
-    private String email;
+
+
     /** 头像 */
     @Excel(name = "头像")
     @ApiModelProperty("头像")
     private String avatar;
 
+    /** 头像 */
+    @Excel(name = "时间")
+    @ApiModelProperty("时间")
+    private Integer hourse;
+
+    /** 头像 */
+    @Excel(name = "排行榜排名")
+    @ApiModelProperty("排行榜排名")
+    private Integer rank;
 
-    /** 排行榜 */
-    @Excel(name = "排行榜")
-    @ApiModelProperty("排行榜")
-    private List<UserVo> userVo;
+    private List<RanKingUser> ranKingUsers;
 
-    public void setNull(){
-        this.setOpenId(null);
-        this.setIdCardImg1(null);
-        this.setIdCardImg2(null);
-        this.setCertifiedTime(null);
-        if(this.getTelphone()!=null){
-            this.setTelphone(TelPhoneUtils.hideTelPhone(this.getTelphone()));
-        }
-		/*if(this.getIdCard()!=null){
-			this.setIdCard(TelPhoneUtils.hideTelPhone(this.getIdCard()));
-		}*/
-    }
 }

+ 35 - 0
zhongzheng-system/src/main/resources/mapper/modules/user/UserMapper.xml

@@ -47,4 +47,39 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </resultMap>
 
 
+    <resultMap type="com.zhongzheng.modules.user.vo.RanKingUser" id="RanKingUserResult">
+        <result property="hourse" column="sum_study"/>
+        <result property="avatar" column="avatar"/>
+        <result property="nickname" column="nickname"/>
+        <result property="rank" column="pm"/>
+    </resultMap>
+
+
+
+    <select id="selectByRank" parameterType="com.zhongzheng.modules.user.bo.RanKingUserQuery" resultMap="RanKingUserResult">
+        SELECT sum(s.study_duration) AS sum_study,u.nickname,u.avatar   FROM `user` u
+            LEFT JOIN user_study_record s ON u.user_id=s.user_id where 1=1
+        <if test="userId != null and userId != ''">
+            AND u.user_id = #{userId}
+        </if>
+        <if test="userId != null and userId != ''">
+            AND s.create_time BETWEEN #{startTime} and #{endTime}
+        </if>
+        GROUP BY u.user_id
+    </select>
+
+    <select id="selectByRanks" parameterType="com.zhongzheng.modules.user.bo.RanKingUserQuery" resultMap="RanKingUserResult">
+        SELECT A.*,@rank:=@rank+1 as pm
+        FROM
+            (
+            SELECT sum(s.study_duration) AS sum_study,u.nickname,u.avatar  FROM `user` u
+            LEFT JOIN user_study_record s ON u.user_id=s.user_id where 1=1
+        <if test="userId != null and userId != ''">
+            AND s.create_time BETWEEN #{startTime} and #{endTime}
+        </if>
+            GROUP BY u.user_id ORDER BY sum_study desc LIMIT 20
+            ) A ,(SELECT @rank:=0) B
+    </select>
+
+
 </mapper>

+ 10 - 4
zhongzheng-system/src/main/resources/mapper/modules/user/UserPlanMapper.xml

@@ -24,6 +24,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     <resultMap type="com.zhongzheng.modules.user.vo.CoursePlanVo" 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="coverUrl" column="cover_url"/>
+        <result property="introduction" column="introduction"/>
+        <result property="status" column="status"/>
+        <result property="teacherIds" column="teacher_ids"/>
         <result property="courseName" column="course_name"/>
         <result property="chapterNum" column="chapter_num"/>
         <result property="sectionNum" column="section_num"/>
@@ -38,8 +46,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </resultMap>
 
     <select id="selectByCourse" parameterType="com.zhongzheng.modules.user.bo.UserPlanQueryBo"  resultMap="CourseResult">
-        SELECT rs.course_name,
-        rs.course_id,rs.status,sum(section_num) as section_num,count(chapter_id)
+        SELECT rs.*,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
@@ -73,8 +80,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 
 
     <select id="selectByListCourse" parameterType="com.zhongzheng.modules.user.bo.UserPlanQueryBo"  resultMap="CourseResult">
-        SELECT rs.course_name,
-        rs.course_id,rs.status,sum(section_num) as section_num,count(chapter_id)
+        SELECT rs.*,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