فهرست منبع

fix直播课参数设置

shangke 2 سال پیش
والد
کامیت
a2cc011fee
20فایلهای تغییر یافته به همراه202 افزوده شده و 68 حذف شده
  1. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/VipGroupCategoryDao.java
  2. 2 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/VipGroupDefaultClassesUnitPriceDao.java
  3. 11 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/VipGroup.java
  4. 12 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/VipGroupCategory.java
  5. 12 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/VipGroupDefaultClassesUnitPrice.java
  6. 4 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/enums/CouponDetailTypeEnum.java
  7. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/VipGroupCategoryService.java
  8. 2 3
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupCategoryServiceImpl.java
  9. 3 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupDefaultClassesUnitPriceServiceImpl.java
  10. 17 4
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java
  11. 10 3
      mec-biz/src/main/resources/config/mybatis/VipGroupCategoryMapper.xml
  12. 30 24
      mec-biz/src/main/resources/config/mybatis/VipGroupDefaultClassesUnitPriceMapper.xml
  13. 9 1
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/ActivityUserMapperController.java
  14. 8 1
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherVipGroupController.java
  15. 12 7
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/VipGroupCategoryController.java
  16. 17 6
      mec-web/src/main/java/com/ym/mec/web/controller/VipGroupCategoryController.java
  17. 22 1
      mec-web/src/main/java/com/ym/mec/web/controller/VipGroupDefaultClassesUnitPriceController.java
  18. 9 1
      mec-web/src/main/java/com/ym/mec/web/controller/education/EduActivityUserMapperController.java
  19. 9 8
      mec-web/src/main/java/com/ym/mec/web/controller/education/EduVipGroupCategoryController.java
  20. 11 1
      mec-web/src/main/java/com/ym/mec/web/controller/education/EduVipGroupManageController.java

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

@@ -10,7 +10,7 @@ import java.util.Set;
 
 public interface VipGroupCategoryDao extends BaseDAO<Integer, VipGroupCategory> {
 
-    List<VipGroupCategory> findAllByOrgan(@Param("organId") String organId);
+    List<VipGroupCategory> findAllByOrgan(@Param("organId") String organId, @Param("groupType") String groupType);
 
     List<VipGroupCategory> findTeacherDefaultSalary(Integer userId);
 

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

@@ -23,7 +23,8 @@ public interface VipGroupDefaultClassesUnitPriceDao extends BaseDAO<Integer, Vip
      * @describe 根据vip课类型获取课时收费设置
      */
     VipGroupDefaultClassesUnitPrice getByVipGroupCategory(@Param("vipGroupCategoryId") Integer vipGroupCategoryId,
-                                                          @Param("organId") Integer organId);
+                                                          @Param("organId") Integer organId,
+                                                          @Param("groupType") String groupType);
 
 
     int updateByVipGroupCategory(VipGroupDefaultClassesUnitPrice vipGroupDefaultClassesUnitPrice);

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/VipGroup.java

@@ -23,6 +23,9 @@ public class VipGroup extends BaseEntity {
 	@ApiModelProperty(value = "课程名称",required = false)
 	private String name;
 
+	@ApiModelProperty(value = "课程类型: VIP, LIVE", required = true)
+	private String groupType;
+
 	/**  */
 	@ApiModelProperty(value = "用户编号", required = false)
 	private Integer userId;
@@ -500,4 +503,12 @@ public class VipGroup extends BaseEntity {
 	public void setSubjectName(String subjectName) {
 		this.subjectName = subjectName;
 	}
+
+	public String getGroupType() {
+		return groupType;
+	}
+
+	public void setGroupType(String groupType) {
+		this.groupType = groupType;
+	}
 }

+ 12 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/VipGroupCategory.java

@@ -18,6 +18,9 @@ public class VipGroupCategory extends BaseEntity {
 	
 	@ApiModelProperty(value = "名称",required = false)
 	private String name;
+
+	@ApiModelProperty(value = "课程类型: VIP, LIVE", required = true)
+	private String groupType;
 	
 	/**  */
 	private String delFlag;
@@ -122,7 +125,15 @@ public class VipGroupCategory extends BaseEntity {
 	public Integer getStudentNum(){
 		return this.studentNum;
 	}
-			
+
+	public String getGroupType() {
+		return groupType;
+	}
+
+	public void setGroupType(String groupType) {
+		this.groupType = groupType;
+	}
+
 	@Override
 	public String toString() {
 		return ToStringBuilder.reflectionToString(this);

+ 12 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/VipGroupDefaultClassesUnitPrice.java

@@ -27,6 +27,9 @@ public class VipGroupDefaultClassesUnitPrice extends BaseEntity {
 	
 	@ApiModelProperty(value = "线下课单价",required = false)
 	private BigDecimal offlineClassesUnitPrice;
+
+	@ApiModelProperty(value = "课程类型: VIP, LIVE", required = true)
+	private String groupType;
 	
 	/**  */
 	private java.util.Date createTime;
@@ -89,7 +92,15 @@ public class VipGroupDefaultClassesUnitPrice extends BaseEntity {
 	public java.util.Date getUpdateTime(){
 		return this.updateTime;
 	}
-			
+
+	public String getGroupType() {
+		return groupType;
+	}
+
+	public void setGroupType(String groupType) {
+		this.groupType = groupType;
+	}
+
 	@Override
 	public String toString() {
 		return ToStringBuilder.reflectionToString(this);

+ 4 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/CouponDetailTypeEnum.java

@@ -39,7 +39,10 @@ public enum CouponDetailTypeEnum {
     //全类都可以使用
     FULLCOUPON("FULLCOUPON", "全类券"),
     // 商城券
-    MALLCOUPON("MALLCOUPON", "商城券");
+    MALLCOUPON("MALLCOUPON", "商城券"),
+    // 直播课
+    LIVE("LIVE", "直播课"),
+    ;
 
     private String code;
 

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/VipGroupCategoryService.java

@@ -8,7 +8,7 @@ import java.util.List;
 
 public interface VipGroupCategoryService extends BaseService<Integer, VipGroupCategory> {
 
-    List<VipGroupCategory> findAllByOrgan(String organId);
+    List<VipGroupCategory> findAllByOrgan(String organId, String groupType);
 
     List<VipGroupCategory> findTeacherSalary(Integer userId);
 

+ 2 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupCategoryServiceImpl.java

@@ -3,7 +3,6 @@ package com.ym.mec.biz.service.impl;
 import com.ym.mec.biz.dal.dao.VipGroupCategoryDao;
 import com.ym.mec.biz.dal.dto.ConditionDto;
 import com.ym.mec.biz.dal.entity.VipGroupCategory;
-import com.ym.mec.biz.service.TenantConfigService;
 import com.ym.mec.biz.service.VipGroupCategoryService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
@@ -26,8 +25,8 @@ public class VipGroupCategoryServiceImpl extends BaseServiceImpl<Integer, VipGro
 	}
 
 	@Override
-	public List<VipGroupCategory> findAllByOrgan(String organId) {
-		return vipGroupCategoryDao.findAllByOrgan(organId);
+	public List<VipGroupCategory> findAllByOrgan(String organId, String groupType) {
+		return vipGroupCategoryDao.findAllByOrgan(organId, groupType);
 	}
 
 	@Override

+ 3 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupDefaultClassesUnitPriceServiceImpl.java

@@ -29,7 +29,8 @@ public class VipGroupDefaultClassesUnitPriceServiceImpl extends BaseServiceImpl<
 		if(Objects.isNull(bean.getOrganId())){
 			throw new BizException("请选择分部");
 		}
-		VipGroupDefaultClassesUnitPrice byVipGroupCategory = vipGroupDefaultClassesUnitPriceDao.getByVipGroupCategory( bean.getVipGroupCategoryId(),bean.getOrganId());
+		VipGroupDefaultClassesUnitPrice byVipGroupCategory = vipGroupDefaultClassesUnitPriceDao.getByVipGroupCategory(bean.getVipGroupCategoryId(),
+				bean.getOrganId(), bean.getGroupType());
 		if(null!=byVipGroupCategory){
 			return vipGroupDefaultClassesUnitPriceDao.updateByVipGroupCategory(bean);
 		}else{
@@ -39,7 +40,7 @@ public class VipGroupDefaultClassesUnitPriceServiceImpl extends BaseServiceImpl<
 
 	@Override
 	public BigDecimal getAmount(Integer categoryId,Integer organId, BigDecimal courseNum) {
-		VipGroupDefaultClassesUnitPrice vipGroupDefaultClassesUnitPrice = Optional.ofNullable(vipGroupDefaultClassesUnitPriceDao.getByVipGroupCategory(categoryId,organId)).
+		VipGroupDefaultClassesUnitPrice vipGroupDefaultClassesUnitPrice = Optional.ofNullable(vipGroupDefaultClassesUnitPriceDao.getByVipGroupCategory(categoryId,organId, "VIP")).
 				orElseThrow(()->new BizException("课程单价设置错误"));
 		return vipGroupDefaultClassesUnitPrice.getOnlineClassesUnitPrice().multiply(courseNum);
 	}

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

@@ -739,7 +739,13 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 
         vipGroupApplyBaseInfoDto.setPaymentExpireDate(DateUtil.getLastSecondWithDay(vipGroupApplyBaseInfoDto.getPaymentExpireDate()));
 
-        VipGroupDefaultClassesUnitPrice vipGroupDefaultClassesUnitPrice = vipGroupDefaultClassesUnitPriceDao.getByVipGroupCategory(vipGroup.getVipGroupApplyBaseInfo().getVipGroupCategoryId(), vipGroup.getVipGroupApplyBaseInfo().getOrganId());
+        // 默认VIP课
+        if (StringUtils.isBlank(vipGroup.getVipGroupApplyBaseInfo().getGroupType())) {
+            vipGroup.getVipGroupApplyBaseInfo().setGroupType("VIP");
+        }
+
+        VipGroupDefaultClassesUnitPrice vipGroupDefaultClassesUnitPrice = vipGroupDefaultClassesUnitPriceDao.getByVipGroupCategory(vipGroup.getVipGroupApplyBaseInfo().getVipGroupCategoryId(),
+                vipGroup.getVipGroupApplyBaseInfo().getOrganId(), vipGroup.getVipGroupApplyBaseInfo().getGroupType());
 
         if (Objects.isNull(vipGroupDefaultClassesUnitPrice)) {
             vipGroupApplyBaseInfoDto.setAuditStatus(AuditStatusEnum.ING);
@@ -869,7 +875,8 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
         }
 
         if (ActivityCourseType.FREE_VIP.equals(vipGroup.getVipGroupApplyBaseInfo().getActivityCourseType())) {
-            List<VipGroupCategory> vipGroupCategories = vipGroupCategoryService.findAllByOrgan(vipGroup.getVipGroupApplyBaseInfo().getOrganId().toString());
+            List<VipGroupCategory> vipGroupCategories = vipGroupCategoryService.findAllByOrgan(vipGroup.getVipGroupApplyBaseInfo().getOrganId().toString(),
+                    CourseSchedule.CourseScheduleType.VIP.getCode());
             VipGroupCategory vipGroupCategory = vipGroupCategories.stream().filter(v -> v.getName().equals("1v2")).findFirst().get();
             vipGroup.getVipGroupApplyBaseInfo().setVipGroupCategoryId(vipGroupCategory.getId());
         }
@@ -1296,7 +1303,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
                 throw new BizException("学员信息异常");
             }
 
-            List<VipGroupCategory> vipGroupCategories = vipGroupCategoryService.findAllByOrgan(student.getOrganId().toString());
+            List<VipGroupCategory> vipGroupCategories = vipGroupCategoryService.findAllByOrgan(student.getOrganId().toString(), CourseSchedule.CourseScheduleType.VIP.getCode());
             VipGroupCategory vipGroupCategory = vipGroupCategories.stream().filter(v -> v.getName().equals(vipGroupCategoryName)).findFirst().get();
 
             List<VipGroupActivity> vipGroupActivities = vipGroupActivityDao.findByName(vipGroupActivityName, TenantContextHolder.getTenantId());
@@ -1896,6 +1903,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
         if (Objects.isNull(groupId)) {
             throw new BizException("请指定课程组");
         }
+        // groupType -> PRACTICE, VIP, LIVE
         if ("PRACTICE".equals(groupType)) {
             PracticeGroup practiceGroup = practiceGroupService.get(groupId);
             if (Objects.isNull(practiceGroup)) {
@@ -2500,7 +2508,8 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
                 if (studentNum.equals(classGroup.getExpectStudentNum())) {
                     vipGroup.setStatus(VipGroupStatusEnum.PROGRESS);
                     classGroup.setDelFlag(0);
-                    VipGroupDefaultClassesUnitPrice vipGroupDefaultClassesUnitPrice = vipGroupDefaultClassesUnitPriceDao.getByVipGroupCategory(vipGroup.getVipGroupCategoryId(), vipGroup.getOrganId());
+                    VipGroupDefaultClassesUnitPrice vipGroupDefaultClassesUnitPrice = vipGroupDefaultClassesUnitPriceDao.getByVipGroupCategory(vipGroup.getVipGroupCategoryId(),
+                            vipGroup.getOrganId(), vipGroup.getGroupType());
 
                     //生成课表
                     List<CourseSchedule> courseSchedules = JSON.parseArray(vipGroup.getCourseSchedulesJson(), CourseSchedule.class);
@@ -4369,9 +4378,13 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
         queryInfo.setExpireFlag(true);
         Map<String, Object> params = new HashMap<String, Object>();
         MapUtil.populateMap(params, queryInfo);
+        // VIP小课
         List<StudentVipGroupShowListDto> vipGroups = vipGroupDao.findVipGroups(params);
+        // 网课
         vipGroups.addAll(practiceGroupService.findPracticeGroups(params));
+        // 删除返回null值数据
         vipGroups.removeAll(Collections.singleton(null));
+        // 按照创建时间倒序
         List<StudentVipGroupShowListDto> collect = vipGroups.stream().sorted(Comparator.comparing(StudentVipGroupShowListDto::getCreateTime).reversed()).collect(Collectors.toList());
         return collect;
     }

+ 10 - 3
mec-biz/src/main/resources/config/mybatis/VipGroupCategoryMapper.xml

@@ -32,9 +32,16 @@
 	</select>
 
 	<select id="findAllByOrgan" resultMap="VipGroupCategory">
-		SELECT vgc.*,vgdcup.online_classes_unit_price_,vgdcup.offline_classes_unit_price_ FROM vip_group_category vgc
+		SELECT
+		    vgc.*
+		    , vgdcup.online_classes_unit_price_
+		    , vgdcup.offline_classes_unit_price_
+		FROM vip_group_category vgc
 		LEFT JOIN vip_group_default_classes_unit_price_ vgdcup ON vgc.id_=vgdcup.vip_group_category_id_ AND FIND_IN_SET(vgdcup.organ_id_,#{organId})
 		WHERE vgc.del_flag_ != 1
+		<if test="groupType != null">
+			AND vgc.group_type_ = #{groupType}
+		</if>
 		ORDER BY id_
 	</select>
 
@@ -56,8 +63,8 @@
 	<insert id="insert" parameterType="com.ym.mec.biz.dal.entity.VipGroupCategory"
 		useGeneratedKeys="true" keyColumn="id" keyProperty="id">
 		INSERT INTO vip_group_category
-		(id_,name_,del_flag_,create_time_,update_time_,single_class_minutes_,student_num_,music_theory_,tenant_id_)
-		VALUES(#{id},#{name},#{delFlag},#{createTime},NOW(),#{singleClassMinutes},#{studentNum},#{musicTheory},#{tenantId})
+		(id_,name_,del_flag_,create_time_,update_time_,single_class_minutes_,student_num_,music_theory_,tenant_id_, group_type_)
+		VALUES(#{id},#{name},#{delFlag},#{createTime},NOW(),#{singleClassMinutes},#{studentNum},#{musicTheory},#{tenantId}, #{groupType})
 	</insert>
 
 	<!-- 根据主键查询一条记录 -->

+ 30 - 24
mec-biz/src/main/resources/config/mybatis/VipGroupDefaultClassesUnitPriceMapper.xml

@@ -34,7 +34,8 @@
 		SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL 
 		</selectKey>
 		-->
-		INSERT INTO vip_group_default_classes_unit_price_ (id_,organ_id_,vip_group_category_id_,online_classes_unit_price_,offline_classes_unit_price_,create_time_,update_time_,tenant_id_) VALUES(#{id},#{organId},#{vipGroupCategoryId},#{onlineClassesUnitPrice},#{offlineClassesUnitPrice},#{createTime},NOW(),#{tenantId})
+		INSERT INTO vip_group_default_classes_unit_price_ (id_,organ_id_,vip_group_category_id_,online_classes_unit_price_,offline_classes_unit_price_,create_time_,update_time_,tenant_id_,group_type_)
+		VALUES(#{id},#{organId},#{vipGroupCategoryId},#{onlineClassesUnitPrice},#{offlineClassesUnitPrice},#{createTime},NOW(),#{tenantId}, #{groupType})
 	</insert>
 	
 	<!-- 根据主键查询一条记录 -->
@@ -66,29 +67,31 @@ create_time_ = #{createTime},
 
 	<!-- 根据主键查询一条记录 -->
 	<update id="updateByVipGroupCategory" parameterType="com.ym.mec.biz.dal.entity.VipGroupDefaultClassesUnitPrice">
-		UPDATE vip_group_default_classes_unit_price_ <set>
-		<if test="organId != null">
-			organ_id_ = #{organId},
-		</if>
-		<if test="id != null">
-			id_ = #{id},
-		</if>
-		<if test="offlineClassesUnitPrice != null">
-			offline_classes_unit_price_ = #{offlineClassesUnitPrice},
-		</if>
-		<if test="onlineClassesUnitPrice != null">
-			online_classes_unit_price_ = #{onlineClassesUnitPrice},
-		</if>
-		<if test="updateTime != null">
-			update_time_ = NOW(),
-		</if>
-		<if test="vipGroupCategoryId != null">
-			vip_group_category_id_ = #{vipGroupCategoryId},
-		</if>
-		<if test="createTime != null">
-			create_time_ = #{createTime},
-		</if>
-	</set> WHERE organ_id_=#{organId} AND vip_group_category_id_=#{vipGroupCategoryId}
+		UPDATE vip_group_default_classes_unit_price_
+		<set>
+			<if test="organId != null">
+				organ_id_ = #{organId},
+			</if>
+			<if test="id != null">
+				id_ = #{id},
+			</if>
+			<if test="offlineClassesUnitPrice != null">
+				offline_classes_unit_price_ = #{offlineClassesUnitPrice},
+			</if>
+			<if test="onlineClassesUnitPrice != null">
+				online_classes_unit_price_ = #{onlineClassesUnitPrice},
+			</if>
+			<if test="updateTime != null">
+				update_time_ = NOW(),
+			</if>
+			<if test="vipGroupCategoryId != null">
+				vip_group_category_id_ = #{vipGroupCategoryId},
+			</if>
+			<if test="createTime != null">
+				create_time_ = #{createTime},
+			</if>
+		</set>
+		WHERE organ_id_=#{organId} AND vip_group_category_id_=#{vipGroupCategoryId}
 	</update>
 	
 	<!-- 根据主键删除一条记录 -->
@@ -119,5 +122,8 @@ create_time_ = #{createTime},
 		FROM
 			vip_group_default_classes_unit_price_ vgdcup
 		WHERE vgdcup.organ_id_=#{organId} AND vgdcup.vip_group_category_id_=#{vipGroupCategoryId}
+		<if test="groupType != null">
+			AND vgdcup.group_type_ = #{groupType}
+		</if>
     </select>
 </mapper>

+ 9 - 1
mec-teacher/src/main/java/com/ym/mec/teacher/controller/ActivityUserMapperController.java

@@ -15,6 +15,7 @@ import com.ym.mec.common.exception.BizException;
 import com.ym.mec.util.date.DateUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -82,7 +83,14 @@ public class ActivityUserMapperController extends BaseController {
         Teacher teacher = teacherDao.get(applyBaseInfo.getUserId());
         applyBaseInfo.setOrganId(teacher.getTeacherOrganId());
         vipGroupApplyDto.getCourseSchedules().stream().forEach(e->e.setEndClassTime(DateUtil.addMinutes(e.getStartClassTime(), applyBaseInfo.getSingleClassMinutes())));
-        VipGroupDefaultClassesUnitPrice vipGroupDefaultClassesUnitPrice = vipGroupDefaultClassesUnitPriceDao.getByVipGroupCategory(applyBaseInfo.getVipGroupCategoryId(), applyBaseInfo.getOrganId());
+
+        // 默认VIP课
+        if (StringUtils.isBlank(applyBaseInfo.getGroupType())) {
+            applyBaseInfo.setGroupType("VIP");
+        }
+
+        VipGroupDefaultClassesUnitPrice vipGroupDefaultClassesUnitPrice = vipGroupDefaultClassesUnitPriceDao.getByVipGroupCategory(applyBaseInfo.getVipGroupCategoryId(),
+                applyBaseInfo.getOrganId(), applyBaseInfo.getGroupType());
         if(Objects.nonNull(vipGroupDefaultClassesUnitPrice)){
             applyBaseInfo.setOnlineClassesUnitPrice(vipGroupDefaultClassesUnitPrice.getOnlineClassesUnitPrice());
             applyBaseInfo.setOfflineClassesUnitPrice(vipGroupDefaultClassesUnitPrice.getOfflineClassesUnitPrice());

+ 8 - 1
mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherVipGroupController.java

@@ -235,7 +235,14 @@ public class TeacherVipGroupController extends BaseController {
 		for (CourseSchedule courseSchedule : vipGroupApplyDto.getCourseSchedules()) {
 			courseSchedule.setEndClassTime(DateUtil.addMinutes(courseSchedule.getStartClassTime(), vipGroupApplyDto.getVipGroupApplyBaseInfo().getSingleClassMinutes()));
 		}
-		VipGroupDefaultClassesUnitPrice vipGroupDefaultClassesUnitPrice = vipGroupDefaultClassesUnitPriceDao.getByVipGroupCategory(vipGroupApplyDto.getVipGroupApplyBaseInfo().getVipGroupCategoryId(), vipGroupApplyDto.getVipGroupApplyBaseInfo().getOrganId());
+
+		// 默认VIP课
+		if (StringUtils.isBlank(vipGroupApplyDto.getVipGroupApplyBaseInfo().getGroupType())) {
+			vipGroupApplyDto.getVipGroupApplyBaseInfo().setGroupType("VIP");
+		}
+
+		VipGroupDefaultClassesUnitPrice vipGroupDefaultClassesUnitPrice = vipGroupDefaultClassesUnitPriceDao.getByVipGroupCategory(vipGroupApplyDto.getVipGroupApplyBaseInfo().getVipGroupCategoryId(),
+				vipGroupApplyDto.getVipGroupApplyBaseInfo().getOrganId(), vipGroupApplyDto.getVipGroupApplyBaseInfo().getGroupType());
 		if(Objects.nonNull(vipGroupDefaultClassesUnitPrice)){
 			vipGroupApplyDto.getVipGroupApplyBaseInfo().setOnlineClassesUnitPrice(vipGroupDefaultClassesUnitPrice.getOnlineClassesUnitPrice());
 			vipGroupApplyDto.getVipGroupApplyBaseInfo().setOfflineClassesUnitPrice(vipGroupDefaultClassesUnitPrice.getOfflineClassesUnitPrice());

+ 12 - 7
mec-teacher/src/main/java/com/ym/mec/teacher/controller/VipGroupCategoryController.java

@@ -3,20 +3,20 @@ package com.ym.mec.teacher.controller;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.TeacherDao;
+import com.ym.mec.biz.dal.entity.CourseSchedule;
 import com.ym.mec.biz.dal.entity.Teacher;
 import com.ym.mec.biz.dal.entity.VipGroupCategory;
 import com.ym.mec.biz.service.VipGroupCategoryService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.exception.BizException;
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
 import org.springframework.util.CollectionUtils;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import java.util.Date;
 import java.util.List;
@@ -44,14 +44,19 @@ public class VipGroupCategoryController extends BaseController {
 	}
 
 	@ApiOperation("全查询")
+	@ApiImplicitParams({
+			@ApiImplicitParam(name = "organId", value = "分部id", dataType = "int", paramType = "query"),
+			@ApiImplicitParam(name = "includeMusicTheory", value = "是否包含乐理", dataType = "int", paramType = "query", defaultValue = "0"),
+			@ApiImplicitParam(name = "groupType", value = "课类别", dataType = "String", paramType = "query", defaultValue = "VIP")
+	})
 	@GetMapping(value = "/queryAll")
-	public Object queryAll(Integer organId, Integer includeMusicTheory) {
+	public Object queryAll(Integer organId, Integer includeMusicTheory, @RequestParam(defaultValue = "VIP") String groupType) {
 		SysUser user = sysUserFeignService.queryUserInfo();
 		if (Objects.isNull(user)) {
 			return failed(HttpStatus.FORBIDDEN, "请登录");
 		}
 		if(Objects.nonNull(organId)){
-			List<VipGroupCategory> result = vipGroupCategoryService.findAllByOrgan(organId.toString());
+			List<VipGroupCategory> result = vipGroupCategoryService.findAllByOrgan(organId.toString(), groupType);
 			if(!CollectionUtils.isEmpty(result)){
 				result = result.stream().filter(c->!c.getMusicTheory()).collect(Collectors.toList());
 			}
@@ -61,7 +66,7 @@ public class VipGroupCategoryController extends BaseController {
 			if(Objects.isNull(teacher)){
 				return failed("教师信息不存在");
 			}
-			List<VipGroupCategory> result = vipGroupCategoryService.findAllByOrgan(teacher.getTeacherOrganId().toString());
+			List<VipGroupCategory> result = vipGroupCategoryService.findAllByOrgan(teacher.getTeacherOrganId().toString(), groupType);
 			if(!CollectionUtils.isEmpty(result)&&(Objects.isNull(includeMusicTheory)||includeMusicTheory<=0)){
 				result = result.stream().filter(c->!c.getMusicTheory()).collect(Collectors.toList());
 			}

+ 17 - 6
mec-web/src/main/java/com/ym/mec/web/controller/VipGroupCategoryController.java

@@ -4,13 +4,13 @@ import com.ym.mec.biz.dal.entity.VipGroupCategory;
 import com.ym.mec.biz.service.VipGroupCategoryService;
 import com.ym.mec.common.controller.BaseController;
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import java.util.Date;
 
@@ -30,10 +30,15 @@ public class VipGroupCategoryController extends BaseController {
 	}
 
 	@ApiOperation("全查询")
+	@ApiImplicitParams({
+			@ApiImplicitParam(name = "organId", value = "分部id", dataType = "String", paramType = "query"),
+			@ApiImplicitParam(name = "groupType", value = "课程类型", dataType = "String", paramType = "query", defaultValue = "VIP"),
+
+	})
 	@GetMapping(value = "/queryAll")
     @PreAuthorize("@pcs.hasPermissions('vipGroupCategory/queryAll')")
-	public Object queryAll(String organId) {
-		return succeed(vipGroupCategoryService.findAllByOrgan(organId));
+	public Object queryAll(String organId, @RequestParam(defaultValue = "VIP") String groupType) {
+		return succeed(vipGroupCategoryService.findAllByOrgan(organId, groupType));
 	}
 
 	@ApiOperation("获取教师课酬")
@@ -47,6 +52,12 @@ public class VipGroupCategoryController extends BaseController {
 	@PostMapping(value = "/add")
     @PreAuthorize("@pcs.hasPermissions('vipGroupCategory/add')")
 	public Object add(VipGroupCategory vipGroupCategory) {
+
+		// 默认为VIP课
+		if (StringUtils.isBlank(vipGroupCategory.getGroupType())) {
+			vipGroupCategory.setGroupType("VIP");
+		}
+
 		Date date = new Date();
 		vipGroupCategory.setCreateTime(date);
 		vipGroupCategory.setUpdateTime(date);

+ 22 - 1
mec-web/src/main/java/com/ym/mec/web/controller/VipGroupDefaultClassesUnitPriceController.java

@@ -2,11 +2,14 @@ package com.ym.mec.web.controller;
 
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.biz.dal.entity.VipGroupCategory;
 import com.ym.mec.biz.dal.entity.VipGroupDefaultClassesUnitPrice;
+import com.ym.mec.biz.service.VipGroupCategoryService;
 import com.ym.mec.biz.service.VipGroupDefaultClassesUnitPriceService;
 import com.ym.mec.common.controller.BaseController;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -15,6 +18,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import java.util.Date;
+import java.util.Objects;
 
 @Api(tags = "vip课默认单价")
 @RequestMapping("vipGroupDefaultClassesUnitPrice")
@@ -25,10 +29,12 @@ public class VipGroupDefaultClassesUnitPriceController extends BaseController {
 	private VipGroupDefaultClassesUnitPriceService vipGroupDefaultClassesUnitPriceService;
 	@Autowired
 	private SysUserFeignService sysUserFeignService;
+	@Autowired
+	private VipGroupCategoryService vipGroupCategoryService;
 
 	@ApiOperation("单查询")
 	@GetMapping(value = "/query")
-    @PreAuthorize("@pcs.hasPermissions('c')")
+    @PreAuthorize("@pcs.hasPermissions('vipGroupDefaultClassesUnitPrice/query')")
 	public Object query(int id) {
 		return succeed(vipGroupDefaultClassesUnitPriceService.get(id));
 	}
@@ -48,6 +54,21 @@ public class VipGroupDefaultClassesUnitPriceController extends BaseController {
 		if(sysUser == null){
 			return failed("获取用户信息失败");
 		}
+
+		// 默认VIP课
+		if (StringUtils.isBlank(vipGroupDefaultClassesUnitPrice.getGroupType())) {
+
+			if (vipGroupDefaultClassesUnitPrice.getVipGroupCategoryId() == null) {
+				return failed("VIP课程类别不能为空");
+			}
+			VipGroupCategory vipGroupCategory = vipGroupCategoryService.get(vipGroupDefaultClassesUnitPrice.getVipGroupCategoryId());
+			if (Objects.isNull(vipGroupCategory)) {
+				return failed("VIP课程类别不存在");
+			}
+
+			vipGroupDefaultClassesUnitPrice.setGroupType(vipGroupCategory.getGroupType());
+		}
+
 		Date date = new Date();
 		vipGroupDefaultClassesUnitPrice.setCreateTime(date);
 		vipGroupDefaultClassesUnitPrice.setUpdateTime(date);

+ 9 - 1
mec-web/src/main/java/com/ym/mec/web/controller/education/EduActivityUserMapperController.java

@@ -14,6 +14,7 @@ import com.ym.mec.common.exception.BizException;
 import com.ym.mec.util.date.DateUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -80,7 +81,14 @@ public class EduActivityUserMapperController extends BaseController {
         for (CourseSchedule courseSchedule : vipGroupApplyDto.getCourseSchedules()) {
             courseSchedule.setEndClassTime(DateUtil.addMinutes(courseSchedule.getStartClassTime(), applyBaseInfo.getSingleClassMinutes()));
         }
-        VipGroupDefaultClassesUnitPrice vipGroupDefaultClassesUnitPrice = vipGroupDefaultClassesUnitPriceDao.getByVipGroupCategory(applyBaseInfo.getVipGroupCategoryId(), applyBaseInfo.getOrganId());
+
+        // 默认VIP课
+        if (StringUtils.isBlank(applyBaseInfo.getGroupType())) {
+            applyBaseInfo.setGroupType("VIP");
+        }
+
+        VipGroupDefaultClassesUnitPrice vipGroupDefaultClassesUnitPrice = vipGroupDefaultClassesUnitPriceDao.getByVipGroupCategory(applyBaseInfo.getVipGroupCategoryId(),
+                applyBaseInfo.getOrganId(), applyBaseInfo.getGroupType());
         if(Objects.nonNull(vipGroupDefaultClassesUnitPrice)){
             applyBaseInfo.setOnlineClassesUnitPrice(vipGroupDefaultClassesUnitPrice.getOnlineClassesUnitPrice());
             applyBaseInfo.setOfflineClassesUnitPrice(vipGroupDefaultClassesUnitPrice.getOfflineClassesUnitPrice());

+ 9 - 8
mec-web/src/main/java/com/ym/mec/web/controller/education/EduVipGroupCategoryController.java

@@ -4,24 +4,21 @@ import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.EmployeeDao;
 import com.ym.mec.biz.dal.entity.Employee;
-import com.ym.mec.biz.dal.entity.Teacher;
-import com.ym.mec.biz.dal.entity.VipGroupCategory;
 import com.ym.mec.biz.service.VipGroupCategoryService;
 import com.ym.mec.common.controller.BaseController;
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 import java.util.Arrays;
-import java.util.Date;
 import java.util.List;
-import java.util.Objects;
 
 @Api(tags = "vip课类别")
 @RequestMapping("eduVipGroupCategory")
@@ -36,8 +33,12 @@ public class EduVipGroupCategoryController extends BaseController {
 	private EmployeeDao employeeDao;
 
 	@ApiOperation("全查询")
+	@ApiImplicitParams({
+			@ApiImplicitParam(name = "organId", value = "分部id", dataType = "int", paramType = "query"),
+			@ApiImplicitParam(name = "groupType", value = "课程类型", dataType = "String", paramType = "query", defaultValue = "VIP"),
+	})
 	@GetMapping(value = "/queryAll")
-	public Object queryAll(String organId) {
+	public Object queryAll(String organId, @RequestParam(defaultValue = "VIP") String groupType) {
 		SysUser sysUser = sysUserFeignService.queryUserInfo();
 		if (sysUser == null) {
 			return failed("用户信息获取失败");
@@ -53,6 +54,6 @@ public class EduVipGroupCategoryController extends BaseController {
 				return failed("非法请求");
 			}
 		}
-		return succeed(vipGroupCategoryService.findAllByOrgan(organId));
+		return succeed(vipGroupCategoryService.findAllByOrgan(organId, groupType));
 	}
 }

+ 11 - 1
mec-web/src/main/java/com/ym/mec/web/controller/education/EduVipGroupManageController.java

@@ -4,6 +4,7 @@ import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.TeacherDao;
 import com.ym.mec.biz.dal.dao.VipGroupDefaultClassesUnitPriceDao;
+import com.ym.mec.biz.dal.dto.VipGroupApplyBaseInfoDto;
 import com.ym.mec.biz.dal.dto.VipGroupApplyDto;
 import com.ym.mec.biz.dal.entity.CourseSchedule;
 import com.ym.mec.biz.dal.entity.Teacher;
@@ -14,6 +15,7 @@ import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.util.date.DateUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -65,7 +67,15 @@ public class EduVipGroupManageController extends BaseController {
         }
 
         if(Objects.nonNull(vipGroupApplyDto.getVipGroupApplyBaseInfo().getVipGroupCategoryId())){
-            VipGroupDefaultClassesUnitPrice vipGroupDefaultClassesUnitPrice = vipGroupDefaultClassesUnitPriceDao.getByVipGroupCategory(vipGroupApplyDto.getVipGroupApplyBaseInfo().getVipGroupCategoryId(), vipGroupApplyDto.getVipGroupApplyBaseInfo().getOrganId());
+
+            VipGroupApplyBaseInfoDto vipGroupApplyBaseInfo = vipGroupApplyDto.getVipGroupApplyBaseInfo();
+            // 默认VIP课
+            if (StringUtils.isBlank(vipGroupApplyBaseInfo.getGroupType())) {
+                vipGroupApplyBaseInfo.setGroupType("VIP");
+            }
+
+            VipGroupDefaultClassesUnitPrice vipGroupDefaultClassesUnitPrice = vipGroupDefaultClassesUnitPriceDao.getByVipGroupCategory(vipGroupApplyBaseInfo.getVipGroupCategoryId(),
+                    vipGroupApplyBaseInfo.getOrganId(), vipGroupApplyBaseInfo.getGroupType());
             if(Objects.nonNull(vipGroupDefaultClassesUnitPrice)){
                 vipGroupApplyDto.getVipGroupApplyBaseInfo().setOnlineClassesUnitPrice(vipGroupDefaultClassesUnitPrice.getOnlineClassesUnitPrice());
                 vipGroupApplyDto.getVipGroupApplyBaseInfo().setOfflineClassesUnitPrice(vipGroupDefaultClassesUnitPrice.getOfflineClassesUnitPrice());