Browse Source

VIP课相关

Joburgess 5 years ago
parent
commit
342e8927e5
18 changed files with 291 additions and 34 deletions
  1. 7 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/VipGroupClassGroupMapperDao.java
  2. 7 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/VipGroupDefaultClassesUnitPriceDao.java
  3. 12 2
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/VipGroupApplyBaseInfoDto.java
  4. 3 2
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/VipGroupApplyDto.java
  5. 43 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/VipGroupBuyParamsDto.java
  6. 12 2
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/VipGroup.java
  7. 9 8
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/VipGroupActivity.java
  8. 42 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/enums/VipGroupActivityTypeEnum.java
  9. 38 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/enums/VipGroupStatusEnum.java
  10. 7 0
      mec-biz/src/main/java/com/ym/mec/biz/service/VipGroupService.java
  11. 80 15
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java
  12. 2 0
      mec-biz/src/main/resources/config/mybatis/StudentCourseHomeworkMapper.xml
  13. 2 2
      mec-biz/src/main/resources/config/mybatis/StudentCourseHomeworkReplyMapper.xml
  14. 3 0
      mec-biz/src/main/resources/config/mybatis/VipGroupClassGroupMapperMapper.xml
  15. 9 0
      mec-biz/src/main/resources/config/mybatis/VipGroupDefaultClassesUnitPriceMapper.xml
  16. 13 2
      mec-biz/src/main/resources/config/mybatis/VipGroupMapper.xml
  17. 1 0
      mec-student/src/main/java/com/ym/mec/student/controller/StudentCourseHomeworkController.java
  18. 1 0
      mec-thirdparty/pom.xml

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

@@ -5,5 +5,11 @@ import com.ym.mec.common.dal.BaseDAO;
 
 public interface VipGroupClassGroupMapperDao extends BaseDAO<Long, VipGroupClassGroupMapper> {
 
-	
+    /**
+     * @Author: Joburgess
+     * @Date: 2019/10/2
+     * 根据vip课获取对应班级
+     */
+	VipGroupClassGroupMapper findByVipGroupId(Long vipGroupId);
+
 }

+ 7 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/VipGroupDefaultClassesUnitPriceDao.java

@@ -5,4 +5,11 @@ import com.ym.mec.common.dal.BaseDAO;
 
 public interface VipGroupDefaultClassesUnitPriceDao extends BaseDAO<Integer, VipGroupDefaultClassesUnitPrice> {
 
+    /**
+     * @Author: Joburgess
+     * @Date: 2019/10/2
+     * 根据vip课获取课时收费设置
+     */
+    VipGroupDefaultClassesUnitPrice getByVipGroup(Long vipGroupId);
+
 }

+ 12 - 2
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/VipGroupApplyBaseInfoDto.java

@@ -1,17 +1,19 @@
 package com.ym.mec.biz.dal.dto;
 
+import com.ym.mec.biz.dal.entity.VipGroup;
 import io.swagger.annotations.ApiModelProperty;
 
 import java.math.BigDecimal;
 
-import com.ym.mec.biz.dal.entity.VipGroup;
-
 /**
  * @Author Joburgess
  * @Date 2019/9/21
  */
 public class VipGroupApplyBaseInfoDto extends VipGroup {
 
+    @ApiModelProperty(value = "课时总数")
+    private Integer allCourseNum;
+
     @ApiModelProperty(value = "教师ID",required = false)
     private Long teacherId;
 
@@ -21,6 +23,14 @@ public class VipGroupApplyBaseInfoDto extends VipGroup {
     @ApiModelProperty(value = "预计招生人数",hidden = true)
     private Integer expectStudentNum;
 
+    public Integer getAllCourseNum() {
+        return allCourseNum;
+    }
+
+    public void setAllCourseNum(Integer allCourseNum) {
+        this.allCourseNum = allCourseNum;
+    }
+
     public Long getTeacherId() {
         return teacherId;
     }

+ 3 - 2
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/VipGroupApplyDto.java

@@ -1,11 +1,10 @@
 package com.ym.mec.biz.dal.dto;
 
+import com.ym.mec.biz.dal.entity.CourseSchedule;
 import io.swagger.annotations.ApiModelProperty;
 
 import java.util.List;
 
-import com.ym.mec.biz.dal.entity.CourseSchedule;
-
 /**
  * @Author Joburgess
  * @Date 2019/9/21
@@ -18,6 +17,8 @@ public class VipGroupApplyDto {
     @ApiModelProperty(value = "课程计划列表",required = false)
     private List<CourseSchedule> courseSchedules;
 
+
+
     public VipGroupApplyBaseInfoDto getVipGroupApplyBaseInfo() {
         return vipGroupApplyBaseInfo;
     }

+ 43 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/VipGroupBuyParamsDto.java

@@ -0,0 +1,43 @@
+package com.ym.mec.biz.dal.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * @Author Joburgess
+ * @Date 2019/10/2
+ */
+public class VipGroupBuyParamsDto {
+
+    @ApiModelProperty(value = "vip课程ID")
+    private Long vipGroupId;
+
+    @ApiModelProperty(value = "付款渠道")
+    private String paymentChannel;
+
+    @ApiModelProperty(value = "业务渠道")
+    private String paymentBusinessChannel;
+
+    public Long getVipGroupId() {
+        return vipGroupId;
+    }
+
+    public void setVipGroupId(Long vipGroupId) {
+        this.vipGroupId = vipGroupId;
+    }
+
+    public String getPaymentChannel() {
+        return paymentChannel;
+    }
+
+    public void setPaymentChannel(String paymentChannel) {
+        this.paymentChannel = paymentChannel;
+    }
+
+    public String getPaymentBusinessChannel() {
+        return paymentBusinessChannel;
+    }
+
+    public void setPaymentBusinessChannel(String paymentBusinessChannel) {
+        this.paymentBusinessChannel = paymentBusinessChannel;
+    }
+}

+ 12 - 2
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/VipGroup.java

@@ -1,9 +1,8 @@
 package com.ym.mec.biz.dal.entity;
 
 import com.ym.mec.biz.dal.enums.AuditStatusEnum;
-
+import com.ym.mec.biz.dal.enums.VipGroupStatusEnum;
 import io.swagger.annotations.ApiModelProperty;
-
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
 import java.math.BigDecimal;
@@ -72,6 +71,17 @@ public class VipGroup {
 	@ApiModelProperty("活动方案编号")
 	private Long vipGroupActivityId;
 
+	@ApiModelProperty(value = "课程状态")
+	private VipGroupStatusEnum status;
+
+	public VipGroupStatusEnum getStatus() {
+		return status;
+	}
+
+	public void setStatus(VipGroupStatusEnum status) {
+		this.status = status;
+	}
+
 	public Long getVipGroupActivityId() {
 		return vipGroupActivityId;
 	}

+ 9 - 8
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/VipGroupActivity.java

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.dal.entity;
 
+import com.ym.mec.biz.dal.enums.VipGroupActivityTypeEnum;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
 /**
@@ -35,7 +36,7 @@ public class VipGroupActivity {
 	private java.util.Date coursesEndTime;
 	
 	/** 活动类型(基础活动、折扣、赠送课时) */
-	private String type;
+	private VipGroupActivityTypeEnum type;
 	
 	/**  */
 	private String attribute1;
@@ -132,15 +133,15 @@ public class VipGroupActivity {
 	public java.util.Date getCoursesEndTime(){
 		return this.coursesEndTime;
 	}
-			
-	public void setType(String type){
-		this.type = type;
+
+	public VipGroupActivityTypeEnum getType() {
+		return type;
 	}
-	
-	public String getType(){
-		return this.type;
+
+	public void setType(VipGroupActivityTypeEnum type) {
+		this.type = type;
 	}
-			
+
 	public void setAttribute1(String attribute1){
 		this.attribute1 = attribute1;
 	}

+ 42 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/VipGroupActivityTypeEnum.java

@@ -0,0 +1,42 @@
+package com.ym.mec.biz.dal.enums;
+
+import com.ym.mec.common.enums.BaseEnum;
+
+/**
+ * @Author Joburgess
+ * @Date 2019/10/2
+ **/
+public enum VipGroupActivityTypeEnum implements BaseEnum<String, VipGroupActivityTypeEnum> {
+
+    BASE_ACTIVITY("BASE_ACTIVITY","基础活动"),
+    DISCOUNT("DISCOUNT","折扣"),
+    GIVE_CLASS("GIVE_CLASS","赠送课时");
+
+    private String code;
+
+    private String description;
+
+    VipGroupActivityTypeEnum(String code, String description) {
+        this.code = code;
+        this.description = description;
+    }
+
+    @Override
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
+
+}

+ 38 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/VipGroupStatusEnum.java

@@ -0,0 +1,38 @@
+package com.ym.mec.biz.dal.enums;
+
+import com.ym.mec.common.enums.BaseEnum;
+
+/**
+ * @Author Joburgess
+ * @Date 2019/10/2
+ */
+public enum  VipGroupStatusEnum implements BaseEnum<Integer, VipGroupStatusEnum> {
+
+    NOT_START(0, "未开始"), APPLYING(1, "报名中"), FINISH(2, "报名已结束"), CANCEL(3, "取消");
+
+    private Integer code;
+
+    private String msg;
+
+    VipGroupStatusEnum(Integer code, String msg) {
+        this.code = code;
+        this.msg = msg;
+    }
+
+    public void setCode(Integer code) {
+        this.code = code;
+    }
+
+    public String getMsg() {
+        return msg;
+    }
+
+    public void setMsg(String msg) {
+        this.msg = msg;
+    }
+
+    @Override
+    public Integer getCode() {
+        return this.code;
+    }
+}

+ 7 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/VipGroupService.java

@@ -51,4 +51,11 @@ public interface VipGroupService extends BaseService<Long, VipGroup> {
      */
     VipGroupCostCountDto vipGroupCostCount(VipGroupCostCountParamsDto vipGroupCostCountParamsDto);
 
+    /**
+     * @Author: Joburgess
+     * @Date: 2019/10/2
+     * 购买vip课程
+     */
+    void buyVipGroup(VipGroupBuyParamsDto vipGroupBuyParams);
+
 }

+ 80 - 15
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java

@@ -6,9 +6,7 @@ import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.*;
-import com.ym.mec.biz.dal.enums.ClassGroupTypeEnum;
-import com.ym.mec.biz.dal.enums.TeachTypeEnum;
-import com.ym.mec.biz.dal.enums.YesOrNoEnum;
+import com.ym.mec.biz.dal.enums.*;
 import com.ym.mec.biz.dal.page.StudentVipGroupQueryInfo;
 import com.ym.mec.biz.dal.page.VipGroupAttendanceQueryInfo;
 import com.ym.mec.biz.service.CourseScheduleService;
@@ -18,6 +16,7 @@ import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.util.collection.MapUtil;
+import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -27,6 +26,7 @@ import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 @Service
 public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> implements VipGroupService {
@@ -49,6 +49,10 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
     private SysUserFeignService sysUserFeignService;
     @Autowired
     private TeacherDefaultVipGroupSalaryDao teacherDefaultVipGroupSalaryDao;
+    @Autowired
+    private StudentPaymentOrderDao studentPaymentOrderDao;
+    @Autowired
+    private StudentVipGroupPaymentDao studentVipGroupPaymentDao;
 
 	@Override
 	public BaseDAO<Long, VipGroup> getDAO() {
@@ -58,6 +62,19 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 	@Transactional(rollbackFor = Exception.class)
 	@Override
 	public void createVipGroup(VipGroupApplyDto vipGroup) {
+
+	    if(vipGroup.getCourseSchedules().size()!=vipGroup.getVipGroupApplyBaseInfo().getAllCourseNum()){
+	        throw new BizException("课时总数不匹配!");
+        }
+
+        Map<TeachModeEnum, List<CourseSchedule>> courseScheduleGroup = vipGroup.getCourseSchedules().stream().collect(Collectors.groupingBy(CourseSchedule::getTeachMode));
+	    if(courseScheduleGroup.get(TeachModeEnum.OFFLINE).size()<vipGroup.getVipGroupApplyBaseInfo().getOfflineClassesNum()){
+	        throw new BizException("线下课课时数量安排有误!");
+        }
+        if(courseScheduleGroup.get(TeachModeEnum.ONLINE).size()<vipGroup.getVipGroupApplyBaseInfo().getOnlineClassesNum()){
+            throw new BizException("线上课课时数量安排有误!");
+        }
+
         VipGroupActivity vipGroupActivity = vipGroupActivityDao.get(vipGroup.getVipGroupApplyBaseInfo().getVipGroupActivityId().intValue());
 		VipGroupApplyBaseInfoDto vipGroupApplyBaseInfoDto=vipGroup.getVipGroupApplyBaseInfo();
 		vipGroupDao.insert(vipGroupApplyBaseInfoDto);
@@ -146,15 +163,10 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
         VipGroupSalarySettlementDto vipGroupSalarySettlementDto = JSON.parseObject(vipGroupActivity.getSalarySettlementJson(), VipGroupSalarySettlementDto.class);
         BigDecimal offlineClassNum=new BigDecimal(vipGroupCostCountParamsDto.getOfflineClassesNum());
         BigDecimal onlineClassNum=new BigDecimal(vipGroupCostCountParamsDto.getOnlineClassesNum());
-        //vip课总费用
-        BigDecimal onlineVipGroupCharge = vipGroupDefaultClassesUnitPrice.getOnlineClassesUnitPrice().multiply(onlineClassNum);
-        BigDecimal offlineVipGroupCharge = vipGroupDefaultClassesUnitPrice.
-                                            getOfflineClassesUnitPrice().
-                                            multiply(offlineClassNum);
-        BigDecimal vipGroupCharge=onlineVipGroupCharge.add(offlineClassNum);
+
 
         //教师课酬
-        BigDecimal teacherOnlineSalary = null,teacherOfflineSalay=null,teacherSalary=null;
+        BigDecimal teacherOnlineSalary,teacherOfflineSalary,teacherSalary;
         switch (vipGroupSalarySettlementDto.getOnlineSalarySettlement().getSalarySettlementType()){
             case TEACHER_DEFAULT:
                 teacherOnlineSalary=teacherDefaultVipGroupSalary.getOnlineClassesSalary().multiply(onlineClassNum);
@@ -170,18 +182,71 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
         }
         switch (vipGroupSalarySettlementDto.getOfflineSalarySettlement().getSalarySettlementType()){
             case TEACHER_DEFAULT:
-                teacherOfflineSalay=teacherDefaultVipGroupSalary.getOfflineClassesSalary().multiply(offlineClassNum);
+                teacherOfflineSalary=teacherDefaultVipGroupSalary.getOfflineClassesSalary().multiply(offlineClassNum);
                 break;
             case RATIO_DISCOUNT:
-                teacherOfflineSalay=vipGroupDefaultClassesUnitPrice.getOfflineClassesUnitPrice().multiply(vipGroupSalarySettlementDto.getOfflineSalarySettlement().getSettlementValue()).multiply(offlineClassNum);
+                teacherOfflineSalary=vipGroupDefaultClassesUnitPrice.getOfflineClassesUnitPrice().multiply(vipGroupSalarySettlementDto.getOfflineSalarySettlement().getSettlementValue()).multiply(offlineClassNum);
                 break;
             case FIXED_SALARY:
-                teacherOfflineSalay=vipGroupSalarySettlementDto.getOfflineSalarySettlement().getSettlementValue().multiply(offlineClassNum);
+                teacherOfflineSalary=vipGroupSalarySettlementDto.getOfflineSalarySettlement().getSettlementValue().multiply(offlineClassNum);
                 break;
             default:
                 throw new BizException("未指定课酬结算标准!");
         }
-        teacherSalary=teacherOnlineSalary.add(teacherOfflineSalay);
-        return new VipGroupCostCountDto(vipGroupCharge,teacherSalary);
+        teacherSalary=teacherOnlineSalary.add(teacherOfflineSalary);
+        return new VipGroupCostCountDto(null,teacherSalary);
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void buyVipGroup(VipGroupBuyParamsDto vipGroupBuyParams) {
+	    SysUser user = sysUserFeignService.queryUserInfo();
+        VipGroup vipGroup = vipGroupDao.get(vipGroupBuyParams.getVipGroupId());
+
+        if(vipGroup.getStatus()!=VipGroupStatusEnum.APPLYING){
+            throw new BizException("该课程已结束报名!");
+        }
+
+
+        VipGroupActivity vipGroupActivity = vipGroupActivityDao.get(vipGroup.getVipGroupActivityId().intValue());
+        StudentPaymentOrder studentPaymentOrder=new StudentPaymentOrder();
+        studentPaymentOrder.setUserId(user.getId());
+        String orderNo=StringUtils.join(new String[]{user.getId().toString(),String.valueOf(System.currentTimeMillis())});
+        studentPaymentOrder.setOrderNo(orderNo);
+        studentPaymentOrder.setType(OrderTypeEnum.SMALL_CLASS_TO_BUY);
+        studentPaymentOrder.setExpectAmount(countVipGroupPredictFee(vipGroup));
+        if(vipGroupActivity.getType()==VipGroupActivityTypeEnum.DISCOUNT){
+            studentPaymentOrder.setActualAmount(studentPaymentOrder.getExpectAmount().multiply(new BigDecimal(vipGroupActivity.getAttribute1())));
+        }else{
+            studentPaymentOrder.setActualAmount(studentPaymentOrder.getExpectAmount());
+        }
+        VipGroupClassGroupMapper vipGroupClassGroupMapper = vipGroupClassGroupMapperDao.findByVipGroupId(vipGroup.getId());
+        studentPaymentOrder.setMusicGroupId(vipGroup.getId().toString());
+        studentPaymentOrder.setClassGroupId(vipGroupClassGroupMapper.getClassGroupId());
+        studentPaymentOrderDao.insert(studentPaymentOrder);
+
+        StudentVipGroupPayment studentVipGroupPayment=new StudentVipGroupPayment();
+        studentVipGroupPayment.setUserId(user.getId());
+        studentPaymentOrder.setMusicGroupId(vipGroup.getId().toString());
+        studentPaymentOrder.setClassGroupId(vipGroupClassGroupMapper.getClassGroupId());
+        studentVipGroupPayment.setStudentPaymentOrderId(studentPaymentOrder.getId());
+        studentVipGroupPaymentDao.insert(studentVipGroupPayment);
+    }
+
+    /**
+     * @Author: Joburgess
+     * @Date: 2019/10/2
+     * 计算VIP课程预计收费
+     */
+    private BigDecimal countVipGroupPredictFee(VipGroup vipGroup){
+        VipGroupDefaultClassesUnitPrice vipGroupDefaultClassesUnitPrice = vipGroupDefaultClassesUnitPriceDao.getByVipGroup(vipGroup.getId());
+        BigDecimal offlineClassNum=new BigDecimal(vipGroup.getOfflineClassesNum());
+        BigDecimal onlineClassNum=new BigDecimal(vipGroup.getOnlineClassesNum());
+        BigDecimal onlineVipGroupCharge = vipGroupDefaultClassesUnitPrice.getOnlineClassesUnitPrice().multiply(onlineClassNum);
+        BigDecimal offlineVipGroupCharge = vipGroupDefaultClassesUnitPrice.
+                getOfflineClassesUnitPrice().
+                multiply(offlineClassNum);
+        return onlineVipGroupCharge.add(offlineVipGroupCharge);
     }
+
 }

+ 2 - 0
mec-biz/src/main/resources/config/mybatis/StudentCourseHomeworkMapper.xml

@@ -106,6 +106,7 @@
 		<result column="content_" property="content" />
 		<result column="create_time_" property="createTime" />
 		<result column="start_class_time_" property="startClassTime" />
+		<result column="expiry_date_" property="expiryDate"/>
 		<result column="music_group_id_" property="musicGroupId" />
 		<result column="music_group_name_" property="musicGroupName" />
 		<result column="class_group_id_" property="classGroupId" />
@@ -138,6 +139,7 @@
 	<!-- 分页查询 -->
 	<select id="queryPage" resultMap="CourseHomeworkDto" parameterType="map">
 		SELECT
+		sch.id_,
 		ch.*,
 		mg.name_ music_group_name_,
 		cg.name_ class_group_name_,

+ 2 - 2
mec-biz/src/main/resources/config/mybatis/StudentCourseHomeworkReplyMapper.xml

@@ -77,10 +77,10 @@
     <sql id="queryCondition">
         <where>
             <if test="parentID!=null">
-                schr.parent_id_ = #{parentID}
+                AND schr.parent_id_ = #{parentID}
             </if>
             <if test="parentID==null">
-                schr.parent_id_ IS NULL
+               AND schr.parent_id_ IS NULL
             </if>
             <if test="studentCourseHomeworkId != null">
                AND schr.student_course_homework_id_=#{studentCourseHomeworkId}

+ 3 - 0
mec-biz/src/main/resources/config/mybatis/VipGroupClassGroupMapperMapper.xml

@@ -67,4 +67,7 @@
     <select id="queryCount" resultType="int">
 		SELECT COUNT(*) FROM vip_group_class_group_mapper
 	</select>
+    <select id="findByVipGroupId" resultMap="VipGroupClassGroupMapper">
+        SELECT * FROM vip_group_class_group_mapper WHERE vip_group_id_=#{vipGroupId}
+    </select>
 </mapper>

+ 9 - 0
mec-biz/src/main/resources/config/mybatis/VipGroupDefaultClassesUnitPriceMapper.xml

@@ -77,4 +77,13 @@ create_time_ = #{createTime},
 	<select id="queryCount" resultType="int">
 		SELECT COUNT(*) FROM vip_group_default_classes_unit_price_
 	</select>
+    <select id="getByVipGroup" resultMap="VipGroupDefaultClassesUnitPrice">
+		SELECT
+			vgdcup.*
+		FROM
+			vip_group vg
+			LEFT JOIN teacher t ON vg.user_id_=t.id_
+			LEFT JOIN vip_group_default_classes_unit_price_ vgdcup ON vg.vip_group_category_id_=vgdcup.vip_group_category_id_ AND t.organ_id_=vgdcup.organ_id_
+			WHERE vg.id_=#{vipGroupId}
+	</select>
 </mapper>

+ 13 - 2
mec-biz/src/main/resources/config/mybatis/VipGroupMapper.xml

@@ -21,6 +21,8 @@
         <result column="audit_status_" property="auditStatus" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="unit_price_" property="unitPrice"/>
         <result column="organ_id_list_" property="organIdList"/>
+        <result column="vip_group_activity_id_" property="vipGroupActivityId"/>
+        <result column="status_" property="status" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
     </resultMap>
 
     <resultMap id="studentManageVipGroup" type="com.ym.mec.biz.dal.dto.StudentManageVipGroupDto" extends="VipGroup">
@@ -86,8 +88,8 @@
         </selectKey>
         -->
         INSERT INTO vip_group
-        (id_,user_id_,single_class_minutes_,payment_expire_date_,courses_expire_date_,create_time_,update_time_,teacher_school_id_,online_classes_num_,offline_classes_num_,registration_start_time_,unit_price_,organ_id_list_)
-        VALUES(#{id},#{userId},#{singleClassMinutes},#{paymentExpireDate},#{coursesExpireDate},now(),now(),#{teacherSchoolId},#{onlineClassesNum},#{offlineClassesNum},#{registrationStartTime},#{unitPrice},#{organIdList})
+        (id_,user_id_,single_class_minutes_,payment_expire_date_,courses_expire_date_,create_time_,update_time_,teacher_school_id_,online_classes_num_,offline_classes_num_,registration_start_time_,unit_price_,organ_id_list_,vip_group_activity_id_,status_)
+        VALUES(#{id},#{userId},#{singleClassMinutes},#{paymentExpireDate},#{coursesExpireDate},now(),now(),#{teacherSchoolId},#{onlineClassesNum},#{offlineClassesNum},#{registrationStartTime},#{unitPrice},#{organIdList},#{vipGroupActivityId},#{status,typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"})
     </insert>
 
     <!-- 根据主键查询一条记录 -->
@@ -130,6 +132,15 @@
             <if test="auditStatus != null">
                 audit_status_ = #{auditStatus,typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"},
             </if>
+            <if test="organIdList != null">
+                organ_id_list_ = #{organIdList},
+            </if>
+            <if test="vipGroupActivityId != null">
+                vip_group_activity_id_ = #{vipGroupActivityId},
+            </if>
+            <if test="status_ != null">
+                status_ = #{status,typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"},
+            </if>
         </set>
         WHERE id_ = #{id}
     </update>

+ 1 - 0
mec-student/src/main/java/com/ym/mec/student/controller/StudentCourseHomeworkController.java

@@ -37,6 +37,7 @@ public class StudentCourseHomeworkController extends BaseController {
     @PostMapping(value = "/update",produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
     public Object update(@RequestBody StudentCourseHomework studentCourseHomework){
         studentCourseHomework.setStatus(YesOrNoEnum.YES);
+        studentCourseHomework.setId(studentCourseHomework.getCourseHomeworkId());
         studentCourseHomeworkService.update(studentCourseHomework);
         return succeed();
     }

+ 1 - 0
mec-thirdparty/pom.xml

@@ -58,6 +58,7 @@
 			<scope>system</scope>
 			<systemPath>${project.basedir}/libs/utils-3.0.6.jar</systemPath>
 		</dependency>
+
 		<dependency>
 			<groupId>cfca.sadk</groupId>
 			<artifactId>cfca.sadk</artifactId>