Browse Source

Merge branch 'master' of http://git.dayaedu.com/yonge/mec

yonge 5 năm trước cách đây
mục cha
commit
4873eaee64

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleDao.java

@@ -173,7 +173,7 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
      * @Date: 2019/9/17
      * 获取课程信息
      */
-    CourseScheduleDto getCourseSchedules(@Param("classDate") Long courseScheduleId);
+    CourseScheduleDto getCourseSchedules(@Param("courseScheduleId") Long courseScheduleId);
 
 
 }

+ 18 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/VipGroupDao.java

@@ -44,6 +44,24 @@ public interface VipGroupDao extends BaseDAO<Long, VipGroup> {
 	 * @Author: Joburgess
 	 * @Date: 2019/10/9
 	 * @params [vipGroupId]
+	 * @return int
+	 * @describe 统计已结算课程数量
+	 */
+	int countIsSalaryNum(Long vipGroupId);
+
+	/**
+	 * @Author: Joburgess
+	 * @Date: 2019/10/9
+	 * @params [vipGroupId]
+	 * @return int
+	 * @describe 统计被投诉课程数量
+	 */
+	int countComplaintsNum(Long vipGroupId);
+
+	/**
+	 * @Author: Joburgess
+	 * @Date: 2019/10/9
+	 * @params [vipGroupId]
 	 * @return com.ym.mec.biz.dal.dto.TeachingRecordBaseInfo
 	 * @describe 获取vip课的总课次及已上课次
 	 */

+ 32 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentVipGroupShowListDto.java

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.dal.dto;
 
+import com.ym.mec.biz.dal.enums.VipGroupActivityTypeEnum;
 import io.swagger.annotations.ApiModelProperty;
 
 import java.math.BigDecimal;
@@ -47,6 +48,37 @@ public class StudentVipGroupShowListDto {
     @ApiModelProperty(value = "教师头像",required = false)
     private String avatar;
 
+    /** 活动类型(基础活动、折扣、赠送课时) */
+    private VipGroupActivityTypeEnum type;
+
+    private String attribute1;
+
+    private String categoryName;
+
+    public String getCategoryName() {
+        return categoryName;
+    }
+
+    public void setCategoryName(String categoryName) {
+        this.categoryName = categoryName;
+    }
+
+    public VipGroupActivityTypeEnum getType() {
+        return type;
+    }
+
+    public void setType(VipGroupActivityTypeEnum type) {
+        this.type = type;
+    }
+
+    public String getAttribute1() {
+        return attribute1;
+    }
+
+    public void setAttribute1(String attribute1) {
+        this.attribute1 = attribute1;
+    }
+
     public String getIntroduction() {
         return introduction;
     }

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/VipGroupActivity.java

@@ -64,6 +64,16 @@ public class VipGroupActivity {
 
 	private String vipGroupCategoryNames;
 
+	private Integer enable;
+
+	public Integer getEnable() {
+		return enable;
+	}
+
+	public void setEnable(Integer enable) {
+		this.enable = enable;
+	}
+
 	public String getVipGroupCategoryNames() {
 		return vipGroupCategoryNames;
 	}

+ 16 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/VipGroupTeachingRecordQueryInfo.java

@@ -1,6 +1,7 @@
 package com.ym.mec.biz.dal.page;
 
 import com.ym.mec.common.page.QueryInfo;
+import io.swagger.annotations.ApiModelProperty;
 
 import java.util.Date;
 
@@ -10,14 +11,29 @@ import java.util.Date;
  */
 public class VipGroupTeachingRecordQueryInfo extends QueryInfo {
 
+    @ApiModelProperty(value = "vip课编号")
+    private Long vipGroupId;
+
+    @ApiModelProperty(value = "开始时间")
     private Date startTime;
 
+    @ApiModelProperty(value = "结束时间")
     private Date endTime;
 
+    @ApiModelProperty(value = "vip课编号")
     private String teachMode;
 
+    @ApiModelProperty(value = "vip课编号")
     private String status;
 
+    public Long getVipGroupId() {
+        return vipGroupId;
+    }
+
+    public void setVipGroupId(Long vipGroupId) {
+        this.vipGroupId = vipGroupId;
+    }
+
     public Date getStartTime() {
         return startTime;
     }

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -340,6 +340,8 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 	public void courseScheduleCommplaint(CourseScheduleComplaints courseScheduleComplaints) {
 		SysUser user = sysUserFeignService.queryUserInfo();
 
+		courseScheduleComplaints.setUserId(user.getId());
+
 		CourseScheduleComplaints byUserAndCourse = courseScheduleComplaintsDao.findByUserAndCourse(courseScheduleComplaints.getUserId().longValue(), courseScheduleComplaints.getCourseScheduleId());
 		if(byUserAndCourse!=null){
 			throw new BizException("您已经对该课程进行过申诉操作!");

+ 4 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java

@@ -177,7 +177,10 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 
 	@Override
 	public TeachingRecordBaseInfo findTeachingRecordBaseInfo(Long vipGroupId) {
-		return null;
+        TeachingRecordBaseInfo classTimes = vipGroupDao.getClassTimes(vipGroupId);
+        classTimes.setIsSalaryNum(vipGroupDao.countIsSalaryNum(vipGroupId));
+        classTimes.setComplaintsNum(vipGroupDao.countComplaintsNum(vipGroupId));
+        return classTimes;
 	}
 
 	@Override

+ 1 - 1
mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -518,7 +518,7 @@
             cs.id_,
             cs.class_date_,
             CONCAT(cs.class_date_,' ',cs.start_class_time_) start_class_time_,
-            CONCAT(cs.class_date_,' ',cs.end_class_time_) end
+            CONCAT(cs.class_date_,' ',cs.end_class_time_) end_class_time_,
 			sc.paran_value_
         FROM
             course_schedule cs

+ 3 - 1
mec-biz/src/main/resources/config/mybatis/VipGroupActivityMapper.xml

@@ -16,7 +16,7 @@
 		<result column="organ_id_" property="organId" />
 		<result column="courses_start_time_" property="coursesStartTime" />
 		<result column="courses_end_time_" property="coursesEndTime" />
-		<result column="type_" property="type" />
+		<result column="type_" property="type" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
 		<result column="attribute1_" property="attribute1" />
 		<result column="attribute2_" property="attribute2" />
 		<result column="attribute3_" property="attribute3" />
@@ -26,6 +26,7 @@
 		<result column="update_time_" property="updateTime" />
 		<result column="salary_settlement_json_" property="salarySettlementJson" />
 		<result column="vip_group_category_names_" property="vipGroupCategoryNames"/>
+		<result property="enable" column="enable"/>
 	</resultMap>
 	
 	<!-- 根据主键查询一条记录 -->
@@ -123,6 +124,7 @@ type_ = #{type},
 	<select id="queryPage" resultMap="VipGroupActivity" parameterType="map">
 		SELECT
 		vga.*,
+		(NOW() BETWEEN start_time_ AND end_time_) enable,
 		GROUP_CONCAT(vgc.name_) vip_group_category_names_
 		FROM vip_group_activity vga
 		LEFT JOIN vip_group_category vgc ON FIND_IN_SET(vgc.id_,vga.vip_group_category_id_list_)

+ 30 - 4
mec-biz/src/main/resources/config/mybatis/VipGroupMapper.xml

@@ -56,12 +56,15 @@
         <result column="payment_expire_date_" property="paymentExpireDate"/>
         <result column="online_classes_num_" property="onlineClassesNum"/>
         <result column="offline_classes_num_" property="offlineClassesNum"/>
-        <result column="unit_price_" property="totalPrice"/>
+        <result column="total_price_" property="totalPrice"/>
         <result column="expect_student_num_" property="expectStudentNum"/>
         <result column="student_num_" property="studentNum"/>
         <result column="teacher_name_" property="teacherName"/>
         <result column="introduction_" property="introduction"/>
         <result column="avatar_" property="avatar"/>
+        <result column="type_" property="type" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+        <result column="attribute1_" property="attribute1" />
+        <result column="category_name_" property="categoryName"/>
     </resultMap>
 
     <!-- 根据主键查询一条记录 -->
@@ -241,7 +244,10 @@
             cg.student_num_,
             su.username_ teacher_name_,
             su.avatar_,
-            t.introduction_
+            t.introduction_,
+            vga.type_,
+            vga.attribute1_,
+            vgc.name_ category_name_
         FROM
             vip_group vg
             LEFT JOIN vip_group_class_group_mapper vgcgm ON vg.id_=vgcgm.vip_group_id_
@@ -249,6 +255,8 @@
             LEFT JOIN class_group_teacher_mapper cgtm ON vgcgm.class_group_id_=cgtm.class_group_id_
             LEFT JOIN teacher t ON cgtm.user_id_=t.id_
             LEFT JOIN sys_user su ON cgtm.user_id_=su.id_
+            LEFT JOIN vip_group_activity vga ON vg.vip_group_activity_id_=vga.id_
+            LEFT JOIN vip_group_category vgc ON vg.vip_group_category_id_=vgc.id_
             <include refid="studentVipGroupQueryCondition"/>
         ORDER BY vg.id_ DESC
         <include refid="global.limit"/>
@@ -405,7 +413,7 @@
         </where>
     </sql>
 
-    <select id="findTeachingRecord">
+    <select id="findTeachingRecord" resultMap="teachingRecord">
         SELECT
             cs.id_,
             CONCAT(cs.class_date_,' ',cs.start_class_time_) start_class_time_,
@@ -419,7 +427,7 @@
         ORDER BY cs.id_
         <include refid="global.limit"/>
     </select>
-    <select id="countTeachingRecord">
+    <select id="countTeachingRecord" resultType="int">
         SELECT
         COUNT(*)
         FROM
@@ -437,4 +445,22 @@
             LEFT JOIN class_group cg ON vgcgm.class_group_id_=cg.id_
         WHERE vgcgm.vip_group_id_=#{vipGroupId}
     </select>
+    <select id="countIsSalaryNum" resultType="int">
+        SELECT
+            COUNT(*)
+        FROM
+            vip_group_class_group_mapper vgcgm
+            LEFT JOIN course_schedule cs ON vgcgm.class_group_id_=cs.class_group_id_
+        WHERE vgcgm.vip_group_id_=#{vipGroupId} AND cs.is_salary_=1
+    </select>
+    <select id="countComplaintsNum" resultType="java.lang.Integer">
+        SELECT
+            COUNT(*)
+        FROM
+            vip_group_class_group_mapper vgcgm
+            LEFT JOIN course_schedule cs ON vgcgm.class_group_id_=cs.class_group_id_
+            LEFT JOIN course_schedule_complaints csc ON cs.id_=csc.course_schedule_id_
+        WHERE vgcgm.vip_group_id_=#{vipGroupId} AND csc.course_schedule_id_ IS NOT NULL
+
+    </select>
 </mapper>

+ 18 - 5
mec-web/src/main/java/com/ym/mec/web/controller/VipGroupManageController.java

@@ -4,6 +4,7 @@ import com.ym.mec.biz.dal.dto.VipGroupApplyDto;
 import com.ym.mec.biz.dal.entity.StudentApplyRefunds;
 import com.ym.mec.biz.dal.page.VipGroupAttendanceQueryInfo;
 import com.ym.mec.biz.dal.page.VipGroupQueryInfo;
+import com.ym.mec.biz.dal.page.VipGroupTeachingRecordQueryInfo;
 import com.ym.mec.biz.service.VipGroupService;
 import com.ym.mec.common.controller.BaseController;
 import io.swagger.annotations.Api;
@@ -37,34 +38,46 @@ public class VipGroupManageController extends BaseController {
     }
 
     @ApiOperation(value = "获取小课学员")
-    @GetMapping("/findVipGroupStudents")
+    @GetMapping(value = "/findVipGroupStudents")
     public Object findVipGroupStudents(VipGroupQueryInfo queryInfo){
         return succeed(vipGroupService.findVipGroupStudents(queryInfo));
     }
 
-    @ApiOperation("vip课详情")
+    @ApiOperation(value = "vip课详情")
     @GetMapping("/getVipGroupDetail/{vipGroupId}")
     public Object getVipGroupDetail(@PathVariable("vipGroupId") Long vipGroupId){
         return succeed(vipGroupService.getVipGroupDetail(vipGroupId));
     }
 
-    @ApiOperation("获取vip课考勤记录")
+    @ApiOperation(value = "获取vip课考勤记录")
     @PostMapping("/getVipGroupAttendances")
     public Object getVipGroupAttendances(@RequestBody VipGroupAttendanceQueryInfo queryInfo){
         return succeed(vipGroupService.findVipGroupAttendances(queryInfo));
     }
 
-    @ApiOperation("退课申请")
+    @ApiOperation(value = "退课申请")
     @PostMapping("/applyRefundForStudent")
     public Object applyRefundForStudent(Long vipGroupId,Long studentId){
         vipGroupService.applyRefund(vipGroupId,studentId);
         return succeed();
     }
 
-    @ApiOperation("退课申请审核")
+    @ApiOperation(value = "退课申请审核")
     @PostMapping("/applyRefundAudit")
     public Object applyRefundAudit(StudentApplyRefunds studentApplyRefunds){
         vipGroupService.applyRefundAudit(studentApplyRefunds);
         return succeed();
     }
+
+    @ApiOperation(value = "获取VIP课教学记录")
+    @GetMapping("/findVipGroupTeachingRecord")
+    public Object findVipGroupTeachingRecord(VipGroupTeachingRecordQueryInfo queryInfo){
+        return succeed(vipGroupService.findVipGroupTeachingRecord(queryInfo));
+    }
+
+    @ApiOperation(value = "获取vip课基本信息")
+    @GetMapping("/findTeachingRecordBaseInfo")
+    public Object findTeachingRecordBaseInfo(Long vipGroupId){
+        return succeed(vipGroupService.findTeachingRecordBaseInfo(vipGroupId));
+    }
 }