瀏覽代碼

1、课堂作业提交联动服务指标限制;
2、vip课创建无运营主管提示;
3、vip课购买添加学员限制;

Joburgess 5 年之前
父節點
當前提交
b3b12a2d5c

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

@@ -271,4 +271,15 @@ public interface StudentPaymentOrderDao extends BaseDAO<Long, StudentPaymentOrde
      * @return
      */
     BigDecimal getChargeAmount(Map<String, Object> params);
+
+    /**
+     * @describe 统计课程组非失败订单数量
+     * @author Joburgess
+     * @date 2020.06.22
+     * @param groupId:
+     * @param groupType:
+     * @return int
+     */
+    int countGroupOrderWithoutFailed(@Param("groupId") String groupId,
+                                       @Param("groupType") GroupType groupType);
 }

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

@@ -1170,6 +1170,14 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 
         VipGroup vipGroup = vipGroupDao.get(vipGroupBuyParams.getVipGroupId());
 
+
+		if(classGroup.getStudentNum()>1&&(VipGroupStatusEnum.APPLYING.equals(vipGroup.getStatus()))){
+			int i = studentPaymentOrderDao.countGroupOrderWithoutFailed(vipGroupBuyParams.getVipGroupId().toString(), GroupType.VIP);
+			if(i<=0){
+				throw new BizException("VIP课程存在手动添加用户,无法进行购买!");
+			}
+		}
+
 		if(vipGroup.getPaymentExpireDate().before(date)){
 			throw new BizException("该课程已结束报名!");
 		}
@@ -2476,16 +2484,16 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 
 		ClassGroup classGroup = classGroupDao.findByVipGroup(vipGroupId, null);
 
-		if(classGroup.getExpectStudentNum()>1
-				&&(VipGroupStatusEnum.APPLYING.equals(vipGroup.getStatus())
-				||VipGroupStatusEnum.APPLYING_END.equals(vipGroup.getStatus())
-				||VipGroupStatusEnum.NOT_START.equals(vipGroup.getStatus())
-				||VipGroupStatusEnum.FINISHED.equals(vipGroup.getStatus())
-				||VipGroupStatusEnum.CANCEL.equals(vipGroup.getStatus()))){
-			throw new BizException("VIP课程组尚未成立,无法添加学员,请走学员购买流程!");
+		if(classGroup.getStudentNum()>1&&(VipGroupStatusEnum.APPLYING.equals(vipGroup.getStatus()))){
+			int i = studentPaymentOrderDao.countGroupOrderWithoutFailed(vipGroupId.toString(), GroupType.VIP);
+			if(i>0){
+				throw new BizException("VIP课程存在购买用户,无法进行添加学员操作!");
+			}
 		}
 
-		if(VipGroupStatusEnum.PAUSE.equals(vipGroup.getStatus())){
+		if(VipGroupStatusEnum.PAUSE.equals(vipGroup.getStatus())
+				||VipGroupStatusEnum.FINISHED.equals(vipGroup.getStatus())
+				||VipGroupStatusEnum.CANCEL.equals(vipGroup.getStatus())){
 			throw new BizException("当前课程组已经停止,无法进行添加学员操作。");
 		}
 

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

@@ -612,4 +612,11 @@
         LEFT JOIN sporadic_charge_info sci ON spo.music_group_id_ = sci.id_
         <include refid="queryPaymentOrder"/>
     </select>
+    <select id="countGroupOrderWithoutFailed" resultType="int">
+        SELECT COUNT(*)
+        FROM student_payment_order spo
+        WHERE spo.music_group_id_ = #{groupId}
+        AND spo.status_ != 'FAILED'
+        AND spo.group_type_ = #{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler }
+    </select>
 </mapper>