Explorar o código

1、陪练课调整
2、付费陪练课可预约时间调整

Joburgess %!s(int64=5) %!d(string=hai) anos
pai
achega
0a059c5c50

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

@@ -70,6 +70,26 @@ public class VipGroupActivity {
 
 	private Integer enable;
 
+	private Integer onlineClassJoinGradientRewards;
+
+	private Integer offlineClassJoinGradientRewards;
+
+	public Integer getOnlineClassJoinGradientRewards() {
+		return onlineClassJoinGradientRewards;
+	}
+
+	public void setOnlineClassJoinGradientRewards(Integer onlineClassJoinGradientRewards) {
+		this.onlineClassJoinGradientRewards = onlineClassJoinGradientRewards;
+	}
+
+	public Integer getOfflineClassJoinGradientRewards() {
+		return offlineClassJoinGradientRewards;
+	}
+
+	public void setOfflineClassJoinGradientRewards(Integer offlineClassJoinGradientRewards) {
+		this.offlineClassJoinGradientRewards = offlineClassJoinGradientRewards;
+	}
+
 	public String getPaymentReadonlyFlag() {
 		return paymentReadonlyFlag;
 	}

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

@@ -832,6 +832,11 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 			throw new BizException("请指定教师");
 		}
 
+		Teacher teacher = teacherDao.get(teacherId);
+		if(Objects.isNull(teacher)){
+			throw new BizException("指定的教师不存在");
+		}
+
 		if(Objects.isNull(vipGroup.getVipGroupCategoryId())){
 			throw new BizException("请指定课程形式");
 		}
@@ -935,7 +940,11 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 						break;
 					case RATIO_DISCOUNT:
 //						results.put("onlineTeacherSalary",onlineClassesUnitPrice.multiply((vipGroupSalarySettlementDto.getOnlineSalarySettlement().getSettlementValue())).divide(new BigDecimal(100), CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN).setScale(0,BigDecimal.ROUND_HALF_UP));
-						results.put("onlineTeacherSalary",totalPrice.divide(totalClassNum, RoundingMode.HALF_UP).multiply(vipGroupSalarySettlementDto.getOnlineSalarySettlement().getSettlementValue()).divide(new BigDecimal(100), CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN).setScale(0,BigDecimal.ROUND_HALF_UP));
+						if(teacher.getJobNature().equals(JobNatureEnum.FULL_TIME)){
+							results.put("onlineTeacherSalary",totalPrice.multiply(new BigDecimal(vipGroupCategory.getStudentNum())).divide(totalClassNum, RoundingMode.HALF_UP).multiply(vipGroupSalarySettlementDto.getOnlineSalarySettlement().getSettlementValue()).divide(new BigDecimal(100), CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN).setScale(0,BigDecimal.ROUND_HALF_UP));
+						}else{
+							results.put("onlineTeacherSalary",onlineClassesUnitPrice.multiply((vipGroupSalarySettlementDto.getOnlineSalarySettlement().getSettlementValue())).divide(new BigDecimal(100), CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN).setScale(0,BigDecimal.ROUND_HALF_UP));
+						}
 						break;
 					case FIXED_SALARY:
 						results.put("onlineTeacherSalary",vipGroupSalarySettlementDto.getOnlineSalarySettlement().getSettlementValue().setScale(0, BigDecimal.ROUND_HALF_UP));
@@ -968,7 +977,11 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 						break;
 					case RATIO_DISCOUNT:
 //						results.put("offlineTeacherSalary",offlineClassesUnitPrice.multiply(vipGroupSalarySettlementDto.getOfflineSalarySettlement().getSettlementValue()).divide(new BigDecimal(100), CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN).setScale(0,BigDecimal.ROUND_HALF_UP));
-						results.put("offlineTeacherSalary",totalPrice.divide(totalClassNum, RoundingMode.HALF_UP).multiply(vipGroupSalarySettlementDto.getOfflineSalarySettlement().getSettlementValue()).divide(new BigDecimal(100), CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN).setScale(0,BigDecimal.ROUND_HALF_UP));
+						if(teacher.getJobNature().equals(JobNatureEnum.FULL_TIME)){
+							results.put("offlineTeacherSalary",totalPrice.multiply(new BigDecimal(vipGroupCategory.getStudentNum())).divide(totalClassNum, RoundingMode.HALF_UP).multiply(vipGroupSalarySettlementDto.getOfflineSalarySettlement().getSettlementValue()).divide(new BigDecimal(100), CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN).setScale(0,BigDecimal.ROUND_HALF_UP));
+						}else{
+							results.put("offlineTeacherSalary",offlineClassesUnitPrice.multiply(vipGroupSalarySettlementDto.getOfflineSalarySettlement().getSettlementValue()).divide(new BigDecimal(100), CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN).setScale(0,BigDecimal.ROUND_HALF_UP));
+						}
 						break;
 					case FIXED_SALARY:
 						results.put("offlineTeacherSalary",vipGroupSalarySettlementDto.getOfflineSalarySettlement().getSettlementValue().setScale(0, BigDecimal.ROUND_HALF_UP));

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

@@ -28,7 +28,9 @@
 		<result column="salary_settlement_json_" property="salarySettlementJson" />
 		<result column="vip_group_category_names_" property="vipGroupCategoryNames"/>
 		<result property="enable" column="enable"/>
-		<result property="del_flag_" column="delFlag"/>
+		<result property="delFlag" column="del_flag_"/>
+		<result property="onlineClassJoinGradientRewards" column="online_class_join_gradient_rewards_"/>
+		<result property="offlineClassJoinGradientRewards" column="offline_class_join_gradient_rewards_"/>
 	</resultMap>
 	
 	<!-- 根据主键查询一条记录 -->
@@ -48,8 +50,8 @@
 		SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL 
 		</selectKey>
 		-->
-		INSERT INTO vip_group_activity (id_,name_,description_,vip_group_category_id_list_,start_time_,end_time_,organ_id_,courses_start_time_,courses_end_time_,type_,attribute1_,attribute2_,attribute3_,salary_readonly_flag_,give_class_pay_salary_flag_,create_time_,update_time_,salary_settlement_json_,del_flag_,payment_readonly_flag_)
-		VALUES(#{id},#{name},#{description},#{vipGroupCategoryIdList},#{startTime},#{endTime},#{organId},#{coursesStartTime},#{coursesEndTime},#{type},#{attribute1},#{attribute2},#{attribute3},#{salaryReadonlyFlag},#{giveClassPaySalaryFlag},now(),now(),#{salarySettlementJson},#{delFlag},#{paymentReadonlyFlag})
+		INSERT INTO vip_group_activity (id_,name_,description_,vip_group_category_id_list_,start_time_,end_time_,organ_id_,courses_start_time_,courses_end_time_,type_,attribute1_,attribute2_,attribute3_,salary_readonly_flag_,give_class_pay_salary_flag_,create_time_,update_time_,salary_settlement_json_,del_flag_,payment_readonly_flag_,online_class_join_gradient_rewards_,offline_class_join_gradient_rewards_)
+		VALUES(#{id},#{name},#{description},#{vipGroupCategoryIdList},#{startTime},#{endTime},#{organId},#{coursesStartTime},#{coursesEndTime},#{type},#{attribute1},#{attribute2},#{attribute3},#{salaryReadonlyFlag},#{giveClassPaySalaryFlag},now(),now(),#{salarySettlementJson},#{delFlag},#{paymentReadonlyFlag},#{onlineClassJoinGradientRewards},#{offlineClassJoinGradientRewards})
 	</insert>
 	
 	<!-- 根据主键查询一条记录 -->
@@ -115,6 +117,12 @@
 			<if test="paymentReadonlyFlag != null">
 				payment_readonly_flag_ = #{paymentReadonlyFlag},
 			</if>
+			<if test="onlineClassJoinGradientRewards!=null">
+				online_class_join_gradient_rewards_=#{onlineClassJoinGradientRewards},
+			</if>
+			<if test="offlineClassJoinGradientRewards!=null">
+				offline_class_join_gradient_rewards_=#{offlineClassJoinGradientRewards},
+			</if>
 			</set> WHERE id_ = #{id}
 	</update>