Joburgess 5 years ago
parent
commit
110e349b6b

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

@@ -128,6 +128,17 @@ public interface VipGroupDao extends BaseDAO<Long, VipGroup> {
 	VipGroupSalaryBaseInfo getVipGroupSalaryInfo(@Param("vipGroupId") Long vipGroupId);
 
 	/**
+	 * @describe 统计学生缴费笔数
+	 * @author Joburgess
+	 * @date 2019/11/16
+	 * @param classGroupId: 班级编号
+	 * @return int
+	 */
+	int countStudentPaymentNum(@Param("classGroupId") Integer classGroupId);
+
+	BigDecimal countStudentPaymentFee(@Param("classGroupId") Integer classGroupId);
+
+	/**
 	 * @Author: Joburgess
 	 * @Date: 2019/10/11
 	 * @params [vipGroupId]

+ 8 - 9
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java

@@ -186,6 +186,8 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 				true,
 				true);
 
+//		if()
+
 		//如果默认课酬与实际课酬不匹配则需要审批
 		if(costInfo.get("offlineTeacherSalary").compareTo(vipGroupApplyBaseInfoDto.getOfflineTeacherSalary())!=0||
 			costInfo.get("onlineTeacherSalary").compareTo(vipGroupApplyBaseInfoDto.getOnlineTeacherSalary())!=0){
@@ -1130,10 +1132,6 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
     		throw new BizException("未找到指定vip课");
 		}
 
-		if(vipGroup.getStatus().equals(VipGroupStatusEnum.APPLYING)){
-			throw new BizException("此课程还未正式开课");
-		}
-
 		PageInfo pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
 		Map<String, Object> params = new HashMap<String, Object>();
 		MapUtil.populateMap(params, queryInfo);
@@ -1175,16 +1173,17 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		if(Objects.isNull(vipGroupSalaryBaseInfo.getTotalSalary())){
 			vipGroupSalaryBaseInfo.setTotalSalary(new BigDecimal(0));
 		}
+
+		ClassGroup classGroup = classGroupDao.findByVipGroup(vipGroup.getId(),null);
+
 		//扣费笔数
-		vipGroupSalaryBaseInfo.setFeeDeductionNum(vipGroupDao.countVipGroupDeductionNum(queryInfo.getVipGroupId()));
+		vipGroupSalaryBaseInfo.setFeeDeductionNum(vipGroupDao.countStudentPaymentNum(classGroup.getId()));
 		//扣费总额
-		if(vipGroupSalaryBaseInfo.getTotalSalary().intValue()>0){
-			vipGroupSalaryBaseInfo.setTotalFeeDeduction(vipGroupSalaryBaseInfo.getExpectTotalSalary().subtract(vipGroupSalaryBaseInfo.getTotalSalary()));
+		if(vipGroupSalaryBaseInfo.getFeeDeductionNum()>0){
+			vipGroupSalaryBaseInfo.setTotalFeeDeduction(vipGroupDao.countStudentPaymentFee(classGroup.getId()));
 		}else{
 			vipGroupSalaryBaseInfo.setTotalFeeDeduction(new BigDecimal(0));
 		}
-
-		ClassGroup classGroup = classGroupDao.findByVipGroup(vipGroup.getId(),null);
 		BigDecimal studentNum=new BigDecimal(classGroup.getStudentNum());
 		//课程总价
 		vipGroupSalaryBaseInfo.setTotalCoursePrice(vipGroup.getTotalPrice().multiply(studentNum));

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

@@ -245,7 +245,7 @@
         course_schedule cs
         LEFT JOIN class_group cg ON cs.class_group_id_=cg.id_
         LEFT JOIN music_group mg ON cg.music_group_id_=mg.id_
-        LEFT JOIN school s ON mg.school_id_=s.id_
+        LEFT JOIN school s ON cs.schoole_id_=s.id_
         LEFT JOIN sys_user su ON cs.actual_teacher_id_=su.id_
         LEFT JOIN teacher_attendance ta ON cs.id_=ta.course_schedule_id_
         WHERE cs.id_= #{courseID} AND ta.teacher_id_=#{teacherId}

+ 17 - 0
mec-biz/src/main/resources/config/mybatis/VipGroupMapper.xml

@@ -685,4 +685,21 @@
           payment_expire_date_ &lt; NOW( )
           AND status_ =1
     </select>
+
+    <select id="countStudentPaymentNum" resultType="int">
+        SELECT
+            COUNT(*)
+        FROM
+            course_schedule cs
+            LEFT JOIN course_schedule_student_payment cssp ON cs.id_=cssp.user_id_
+            WHERE cssp.settlement_time_ IS NOT NULL AND cs.class_group_id_=#{classGroupId}
+    </select>
+    <select id="countStudentPaymentFee" resultType="java.math.BigDecimal">
+        SELECT
+            SUM(actual_price_)
+        FROM
+            course_schedule cs
+            LEFT JOIN course_schedule_student_payment cssp ON cs.id_=cssp.user_id_
+            WHERE cssp.settlement_time_ IS NOT NULL AND cs.class_group_id_=#{classGroupId}
+    </select>
 </mapper>

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

@@ -319,7 +319,7 @@ public class StudentOrderController extends BaseController {
 
     }
 
-//    @Scheduled(cron = "0/30 * * * * ?")
+    @Scheduled(cron = "0/30 * * * * ?")
     public void setSuccessStatus() throws Exception {
         List<StudentPaymentOrder> payingOrders = studentPaymentOrderService.findOrdersByStatus(DealStatusEnum.ING, "YQPAY");