zouxuan 3 lat temu
rodzic
commit
e107cf75b3

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

@@ -151,6 +151,9 @@ public class VipGroupActivity {
 	@ApiModelProperty(value = "课程可调整方向:0双向可调,1禁止线上到线下,2禁止线下到线上,3双向不可调")
 	private Integer allowOnlineToOffline = 0;
 
+	@ApiModelProperty(value = "赠送课程可调整方向:0双向可调,1禁止线上到线下,2禁止线下到线上,3双向不可调")
+	private Integer giveAllowOnlineToOffline = 0;
+
 	@ApiModelProperty(value = "-1:所有;0:线上;1:线下")
 	private Integer teachMode = -1;
 
@@ -166,6 +169,14 @@ public class VipGroupActivity {
 	@ApiModelProperty(value = "活动价格")
 	private BigDecimal marketPrice = BigDecimal.ZERO;
 
+	public Integer getGiveAllowOnlineToOffline() {
+		return giveAllowOnlineToOffline;
+	}
+
+	public void setGiveAllowOnlineToOffline(Integer giveAllowOnlineToOffline) {
+		this.giveAllowOnlineToOffline = giveAllowOnlineToOffline;
+	}
+
 	public BigDecimal getMarketPrice() {
 		return marketPrice;
 	}

+ 40 - 8
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -155,7 +155,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
     @Autowired
 	private VipGroupActivityDao vipGroupActivityDao;
     @Autowired
-	private StudentDao studentDao;
+	private ActivityUserMapperDao activityUserMapperDao;
     @Autowired
 	private MusicGroupTrainPlanService musicGroupTrainPlanService;
 
@@ -2770,15 +2770,27 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
                     courseSchedules.get(courseStartDates.size() - 1).setClassDate(courseStartTime);
                     courseSchedules.get(courseStartDates.size() - 1).setStartClassTime(courseStartTime);
                     courseSchedules.get(courseStartDates.size() - 1).setEndClassTime(courseEndTime);
-                    if (Objects.nonNull(vipGroupCourseAdjustInfo.getTeachMode())) {
+
+					Integer allowOnlineToOffline = 0;
+					if(Objects.nonNull(vipGroupActivity)){
+						allowOnlineToOffline = vipGroupActivity.getAllowOnlineToOffline();
+						ActivityUserMapper activityUserMapper = activityUserMapperDao.findVipUserMapper(vipGroup.getId(), "VIP");
+						if(activityUserMapper != null){
+							if(vipGroup.getId().equals(activityUserMapper.getGiveVipGroupId())){
+								allowOnlineToOffline = vipGroupActivity.getGiveAllowOnlineToOffline();
+							}
+						}
+					}
+
+					if (Objects.nonNull(vipGroupCourseAdjustInfo.getTeachMode())) {
                     	boolean onlineToOffline = courseSchedules.get(courseStartDates.size() - 1).getTeachMode().equals(TeachModeEnum.ONLINE)
 								&&vipGroupCourseAdjustInfo.getTeachMode().equals(TeachModeEnum.OFFLINE);
 						boolean offlineToOnline = courseSchedules.get(courseStartDates.size() - 1).getTeachMode().equals(TeachModeEnum.OFFLINE)
 								&&vipGroupCourseAdjustInfo.getTeachMode().equals(TeachModeEnum.ONLINE);
-                        if(onlineToOffline&&Objects.nonNull(vipGroupActivity) && (vipGroupActivity.getAllowOnlineToOffline()==0||vipGroupActivity.getAllowOnlineToOffline()==3)){
+                        if(onlineToOffline && Objects.nonNull(vipGroupActivity) && (allowOnlineToOffline == 0 || allowOnlineToOffline == 3)){
                             throw new BizException("此VIP课活动不支持线上课调整为线下课");
                         }
-						if(offlineToOnline&&Objects.nonNull(vipGroupActivity)&&(vipGroupActivity.getAllowOnlineToOffline()==2||vipGroupActivity.getAllowOnlineToOffline()==3)){
+						if(offlineToOnline&&Objects.nonNull(vipGroupActivity) && (allowOnlineToOffline == 2 || allowOnlineToOffline == 3)){
 							throw new BizException("此VIP课活动不支持线下课调整为线上课");
 						}
 						if(onlineToOffline&&Objects.isNull(vipGroupCourseAdjustInfo.getSchoolId())){
@@ -2974,12 +2986,22 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 					throw new BizException("课程组信息不存在");
 				}
 				VipGroupActivity vipGroupActivity = vipGroupActivityDao.get(vipGroup.getVipGroupActivityId());
+				Integer allowOnlineToOffline = 0;
+				if(Objects.nonNull(vipGroupActivity)){
+					allowOnlineToOffline = vipGroupActivity.getAllowOnlineToOffline();
+					ActivityUserMapper activityUserMapper = activityUserMapperDao.findVipUserMapper(vipGroup.getId(), "VIP");
+					if(activityUserMapper != null){
+						if(vipGroup.getId().equals(activityUserMapper.getGiveVipGroupId())){
+							allowOnlineToOffline = vipGroupActivity.getGiveAllowOnlineToOffline();
+						}
+					}
+				}
 				boolean onlineToOffline = TeachModeEnum.ONLINE.equals(oldCourses.get(i).getTeachMode())&&TeachModeEnum.OFFLINE.equals(courseAdjustInfo.getTeachMode());
 				boolean offlineToOnline = TeachModeEnum.OFFLINE.equals(oldCourses.get(i).getTeachMode())&&TeachModeEnum.ONLINE.equals(courseAdjustInfo.getTeachMode());
-				if(onlineToOffline&&Objects.nonNull(vipGroupActivity)&&(vipGroupActivity.getAllowOnlineToOffline()==0||vipGroupActivity.getAllowOnlineToOffline()==3)){
+				if(onlineToOffline&&Objects.nonNull(vipGroupActivity)&&(allowOnlineToOffline == 0 || allowOnlineToOffline == 3)){
 					throw new BizException("此VIP课活动不支持线上课调整为线下课");
 				}
-				if(offlineToOnline&&Objects.nonNull(vipGroupActivity)&&(vipGroupActivity.getAllowOnlineToOffline()==2||vipGroupActivity.getAllowOnlineToOffline()==3)){
+				if(offlineToOnline&&Objects.nonNull(vipGroupActivity)&&(allowOnlineToOffline == 2 || allowOnlineToOffline == 3)){
 					throw new BizException("此VIP课活动不支持线下课调整为线上课");
 				}
 			}
@@ -3418,12 +3440,22 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 					throw new BizException("课程组信息不存在");
 				}
 				VipGroupActivity vipGroupActivity = vipGroupActivityDao.get(vipGroup.getVipGroupActivityId());
+				Integer allowOnlineToOffline = 0;
+				if(Objects.nonNull(vipGroupActivity)){
+					allowOnlineToOffline = vipGroupActivity.getAllowOnlineToOffline();
+					ActivityUserMapper activityUserMapper = activityUserMapperDao.findVipUserMapper(vipGroup.getId(), "VIP");
+					if(activityUserMapper != null){
+						if(vipGroup.getId().equals(activityUserMapper.getGiveVipGroupId())){
+							allowOnlineToOffline = vipGroupActivity.getGiveAllowOnlineToOffline();
+						}
+					}
+				}
 				boolean onlineToOffline = TeachModeEnum.OFFLINE.equals(newCourseSchedule.getTeachMode())&&TeachModeEnum.ONLINE.equals(oldCourseSchedule.getTeachMode());
-				if(onlineToOffline&&Objects.nonNull(vipGroupActivity)&&(vipGroupActivity.getAllowOnlineToOffline()==0||vipGroupActivity.getAllowOnlineToOffline()==3)){
+				if(onlineToOffline&&Objects.nonNull(vipGroupActivity)&&(allowOnlineToOffline==0||allowOnlineToOffline==3)){
 					throw new BizException("此VIP课活动不支持线上课调整为线下课");
 				}
 				boolean offlineToOnline = TeachModeEnum.ONLINE.equals(newCourseSchedule.getTeachMode())&&TeachModeEnum.OFFLINE.equals(oldCourseSchedule.getTeachMode());
-				if(offlineToOnline&&Objects.nonNull(vipGroupActivity)&&(vipGroupActivity.getAllowOnlineToOffline()==2||vipGroupActivity.getAllowOnlineToOffline()==3)){
+				if(offlineToOnline&&Objects.nonNull(vipGroupActivity)&&(allowOnlineToOffline==2||allowOnlineToOffline==3)){
 					throw new BizException("此VIP课活动不支持线下课调整为线上课");
 				}
 			}

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

@@ -36,6 +36,7 @@
 		<result property="giveCourseNum" column="give_course_num_"/>
 		<result property="giveMemberRankId" column="give_member_rank_id_"/>
 		<result property="giveMemberTime" column="give_member_time_"/>
+		<result property="giveAllowOnlineToOffline" column="give_allow_online_to_offline_"/>
 		<result property="memberRankId" column="member_rank_id_"/>
 		<result property="memberTime" column="member_time_"/>
 		<result property="courseType" column="course_type_"/>
@@ -69,13 +70,14 @@
 										student_max_used_times_, apply_to_student_type_,allow_online_to_offline_,
 										single_course_time_,discount_,full_minus_course_times_,give_course_type_,give_category_id_,give_course_num_
 										,member_rank_id_,member_time_,give_member_rank_id_,give_member_time_,course_type_,
-		                                activity_type_,give_sign_course_time_,is_pay_to_balance_,teach_mode_,give_teach_mode_,period_,give_period_,status_,market_price_)
+		                                activity_type_,give_sign_course_time_,is_pay_to_balance_,teach_mode_,give_teach_mode_,
+		                                period_,give_period_,status_,market_price_,give_allow_online_to_offline_)
 		VALUES(#{name},#{description},#{vipGroupCategoryIdList},#{startTime},#{endTime},#{organId},#{coursesStartTime},#{coursesEndTime},
 		       now(),now(),#{salarySettlementJson},#{delFlag},#{onlineClassJoinGradientRewards},
 		       #{offlineClassJoinGradientRewards},#{minCourseNum},#{maxCourseNum},#{studentMaxUsedTimes},#{applyToStudentType},#{allowOnlineToOffline},
 			   #{singleCourseTime},#{discount},#{fullMinusCourseTimes},#{giveCourseType},#{giveCategoryId},#{giveCourseNum}
 				  ,#{memberRankId},#{memberTime},#{giveMemberRankId},#{giveMemberTime},#{courseType},#{activityType},#{giveSingleCourseTime},
-		       #{isPayToBalance},#{teachMode},#{giveTeachMode},#{periodEnum},#{givePeriodEnum},#{status},#{marketPrice})
+		       #{isPayToBalance},#{teachMode},#{giveTeachMode},#{periodEnum},#{givePeriodEnum},#{status},#{marketPrice},#{giveAllowOnlineToOffline})
 	</insert>
 	
 	<!-- 根据主键查询一条记录 -->
@@ -94,7 +96,7 @@
 		online_class_join_gradient_rewards_=#{onlineClassJoinGradientRewards},
 		offline_class_join_gradient_rewards_=#{offlineClassJoinGradientRewards},min_course_num_=#{minCourseNum},
 		max_course_num_=#{maxCourseNum},student_max_used_times_=#{studentMaxUsedTimes},apply_to_student_type_=#{applyToStudentType},
-		allow_online_to_offline_=#{allowOnlineToOffline},end_time_ = #{endTime},market_price_ = #{marketPrice},update_time_ = NOW() WHERE id_ = #{id}
+		allow_online_to_offline_=#{allowOnlineToOffline},end_time_ = #{endTime},market_price_ = #{marketPrice},update_time_ = NOW(),give_allow_online_to_offline_ = #{giveAllowOnlineToOffline} WHERE id_ = #{id}
 	</update>
 
 	<!-- 根据主键删除一条记录 -->