浏览代码

Merge branch 'master' into review-zjh

周箭河 5 年之前
父节点
当前提交
e883d834e4

+ 1 - 1
codegen/src/main/resources/generateConfigration.xml

@@ -2,7 +2,7 @@
 <GenerateConfiguration>
 	<dbConfiguration>
 		<driverClass>com.mysql.jdbc.Driver</driverClass>
-		<url>jdbc:mysql://47.114.1.200:3306/edu_saas</url>
+		<url>jdbc:mysql://47.114.176.40:3306/edu_saas</url>
 		<username>edu_saas</username>
 		<password>dayaDataOnline@2019</password>
 		<catalog>edu_saas</catalog>

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

@@ -291,4 +291,11 @@ public interface StudentPaymentOrderDao extends BaseDAO<Long, StudentPaymentOrde
      */
     int countGroupOrderWithoutFailed(@Param("groupId") String groupId,
                                        @Param("groupType") GroupType groupType);
+
+    /**
+     * 统计
+     * @param sporadicId
+     * @return
+     */
+    Integer countSporadicOrder(Integer sporadicId);
 }

+ 6 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/SporadicChargeInfoService.java

@@ -36,4 +36,10 @@ public interface SporadicChargeInfoService extends BaseService<Integer, Sporadic
      * @param openFlag
      */
     void updateOpenFlag(Integer sporadicId, Integer openFlag);
+
+    /**
+     * 删除
+     * @param id
+     */
+    void del(Integer id);
 }

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

@@ -1934,7 +1934,9 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
                 if (Objects.isNull(vipGroup)) {
                     throw new BizException("指定课程不存在");
                 }
-				if(!VipGroupStatusEnum.PROGRESS.equals(vipGroup.getStatus())){
+				if(Objects.nonNull(vipGroup)
+						&&!VipGroupStatusEnum.PROGRESS.equals(vipGroup.getStatus())
+						&&!VipGroupStatusEnum.FINISHED.equals(vipGroup.getStatus())){
 					throw new BizException("非进行中课程组不允许进行此操作");
 				}
                 singleClassMinutes = vipGroup.getSingleClassMinutes();
@@ -2551,6 +2553,18 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 				}
 			}
 
+			VipGroup vipGroup = vipGroupDao.findByCourseSchedule(courseScheduleId);
+
+			if(Objects.nonNull(vipGroup)
+					&&!VipGroupStatusEnum.PROGRESS.equals(vipGroup.getStatus())
+					&&!VipGroupStatusEnum.FINISHED.equals(vipGroup.getStatus())){
+				throw new BizException("非进行中课程组不允许进行此操作");
+			}
+
+			if(newCourseSchedule.getStartClassTime().after(now)){
+				vipGroup.setStatus(VipGroupStatusEnum.PROGRESS);
+			}
+
 			// 计算课程时长
 			int oldMinutes = DateUtil.minutesBetween(oldCourseSchedule.getStartClassTime(), oldCourseSchedule.getEndClassTime());
 			int newMinutes = DateUtil.minutesBetween(newCourseSchedule.getStartClassTime(), newCourseSchedule.getEndClassTime());
@@ -2594,8 +2608,6 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 					vipGroupSalaryMap.put(tdvs.getUserId(), map);
 				}
 
-				VipGroup vipGroup = vipGroupDao.findByCourseSchedule(courseScheduleId);
-
 				// 删除课酬
 				List<Long> courseScheduleIdList = new ArrayList<Long>();
 				courseScheduleIdList.add(courseScheduleId);
@@ -2706,9 +2718,6 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 						if (vipGroup == null) {
 							throw new BizException("课程[{}]记录存在异常,请联系管理员", courseScheduleId);
 						}
-						if(!VipGroupStatusEnum.PROGRESS.equals(vipGroup.getStatus())){
-							throw new BizException("非进行中课程组不允许进行此操作");
-						}
 
 						BigDecimal teacherSalary=BigDecimal.ZERO;
 
@@ -2755,6 +2764,10 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 			courseScheduleModifyLog.setOperatorId(sysUser.getId());
 
 			insertCourseScheduleModifyLogList.add(courseScheduleModifyLog);
+
+			if(Objects.nonNull(vipGroup)){
+				vipGroupDao.update(vipGroup);
+			}
 		}
 
 		if (insertTeacherAttendanceList.size() > 0) {
@@ -4063,8 +4076,10 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
         }
         if(courseScheduleId.size()==1){
 			VipGroup vipGroup = vipGroupDao.findByCourseSchedule(courseScheduleId.get(0));
-			if(Objects.nonNull(vipGroup)&&!VipGroupStatusEnum.PROGRESS.equals(vipGroup.getStatus())){
-				throw new BizException("当前课程组状态非进行中,无法进行该操作");
+			if(Objects.nonNull(vipGroup)
+					&&!VipGroupStatusEnum.PROGRESS.equals(vipGroup.getStatus())
+					&&!VipGroupStatusEnum.FINISHED.equals(vipGroup.getStatus())){
+				throw new BizException("非进行中课程组不允许进行此操作");
 			}
 		}
         teacherAttendanceDao.batchCleanCourseTeacherSignInfo(courseScheduleId);

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SporadicChargeInfoImpl.java

@@ -199,4 +199,15 @@ public class SporadicChargeInfoImpl extends BaseServiceImpl<Integer, SporadicCha
         sporadicChargeInfo.setUpdateTime(new Date());
         sporadicChargeInfoDao.update(sporadicChargeInfo);
     }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void del(Integer id) {
+        Integer count = studentPaymentOrderDao.countSporadicOrder(id);
+        if(count == null || count == 0){
+            sporadicChargeInfoDao.delete(id);
+        }else {
+            throw new BizException("当前缴费项目存在收费记录,请走关闭流程");
+        }
+    }
 }

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

@@ -641,4 +641,7 @@
         AND spo.group_type_ = #{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler }
         AND cgsm.group_type_ = #{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler }
     </select>
+    <select id="countSporadicOrder" resultType="java.lang.Integer">
+        SELECT COUNT(id_) FROM student_payment_order spo WHERE spo.group_type_ = 'SPORADIC' AND spo.music_group_id_ = #{sporadicId}
+    </select>
 </mapper>

+ 4 - 2
mec-web/src/main/java/com/ym/mec/web/controller/CourseScheduleController.java

@@ -167,8 +167,10 @@ public class CourseScheduleController extends BaseController {
         }
         if(GroupType.VIP.equals(oldCourseSchedule.getGroupType())){
             VipGroup vipGroup = vipGroupDao.findByCourseSchedule(courseSchedule.getId());
-            if(!VipGroupStatusEnum.PROGRESS.equals(vipGroup.getStatus())){
-                throw new BizException("当前课程组状态非进行中,无法进行该操作");
+            if(Objects.nonNull(vipGroup)
+                    &&!VipGroupStatusEnum.PROGRESS.equals(vipGroup.getStatus())
+                    &&!VipGroupStatusEnum.FINISHED.equals(vipGroup.getStatus())){
+                throw new BizException("非进行中课程组不允许进行此操作");
             }
         }
         if(Objects.isNull(courseSchedule.getClassGroupId())){

+ 2 - 1
mec-web/src/main/java/com/ym/mec/web/controller/SporadicChargeInfoController.java

@@ -120,6 +120,7 @@ public class SporadicChargeInfoController extends BaseController {
 	@PostMapping("/delete")
 	@PreAuthorize("@pcs.hasPermissions('sporadicChargeInfo/delete')")
 	public Object delete(Integer id) {
-		return succeed(sporadicChargeInfoService.delete(id));
+		sporadicChargeInfoService.del(id);
+		return succeed();
 	}
 }