Browse Source

Merge remote-tracking branch 'origin/master'

zouxuan 4 years ago
parent
commit
02a7691758

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentPaymentOrderDao.java

@@ -99,11 +99,12 @@ public interface StudentPaymentOrderDao extends BaseDAO<Long, StudentPaymentOrde
     
     
     /**
     /**
      * 根据批次号查询
      * 根据批次号查询
+     * @param userId 用户编号
      * @param batchNo 批次号
      * @param batchNo 批次号
      * @param status 状态
      * @param status 状态
      * @return
      * @return
      */
      */
-    List<StudentPaymentOrder> queryByBatchNo(@Param("batchNo") String batchNo, @Param("status") DealStatusEnum status);
+    List<StudentPaymentOrder> queryByBatchNo(@Param("userId")Integer userId, @Param("batchNo") String batchNo, @Param("status") DealStatusEnum status);
 
 
     /**
     /**
      * 查询指定交易状态的乐团报名的订单信息
      * 查询指定交易状态的乐团报名的订单信息

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentRegistrationDao.java

@@ -632,4 +632,6 @@ public interface StudentRegistrationDao extends BaseDAO<Long, StudentRegistratio
     List<StudentRegistration> queryMemberEndAutoQuitMusic(@Param("memberEndAutoQuitMusic") String memberEndAutoQuitMusic,
     List<StudentRegistration> queryMemberEndAutoQuitMusic(@Param("memberEndAutoQuitMusic") String memberEndAutoQuitMusic,
                                                           @Param("educationUserId") Integer educationUserId,
                                                           @Param("educationUserId") Integer educationUserId,
                                                           @Param("organIds") String organIds);
                                                           @Param("organIds") String organIds);
+    
+    List<SubjectApplyDetailDto> queryStudentApplyDetail(@Param("musicGroupId") String musicGroupId);
 }
 }

+ 45 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/SubjectApplyDetailDto.java

@@ -19,7 +19,7 @@ public class SubjectApplyDetailDto {
     @ApiModelProperty(value = "预计招收人数",required = false)
     @ApiModelProperty(value = "预计招收人数",required = false)
     private Integer expectedStudentNum;
     private Integer expectedStudentNum;
 
 
-    @ApiModelProperty(value = "实际招收人数",required = false)
+    @ApiModelProperty(value = "报名人数",required = false)
     private Integer applyStudentNum;
     private Integer applyStudentNum;
 
 
     @ApiModelProperty(value = "缴费人数",required = false)
     @ApiModelProperty(value = "缴费人数",required = false)
@@ -34,6 +34,18 @@ public class SubjectApplyDetailDto {
     @ApiModelProperty(value = "审核中人数",required = false)
     @ApiModelProperty(value = "审核中人数",required = false)
     private Integer checkNum=0;
     private Integer checkNum=0;
 
 
+    @ApiModelProperty(value = "在读人数",required = false)
+    private Integer normalNum=0;
+    
+    @ApiModelProperty(value = "购买云教练人数",required = false)
+    private Integer buyCloudTeacherNum = 0;
+    
+    @ApiModelProperty(value = "购买乐器未入团人数", required = false)
+    private Integer cloudTeacherStudentNumOfApply = 0;
+    
+    @ApiModelProperty(value = "没买云教练入团人数", required = false)
+    private Integer noCloudTeacherStudentNumOfNormal = 0;
+
     public Integer getMusicGroupSubjectPlanId() {
     public Integer getMusicGroupSubjectPlanId() {
         return musicGroupSubjectPlanId;
         return musicGroupSubjectPlanId;
     }
     }
@@ -105,4 +117,36 @@ public class SubjectApplyDetailDto {
     public void setCheckNum(Integer checkNum) {
     public void setCheckNum(Integer checkNum) {
         this.checkNum = checkNum;
         this.checkNum = checkNum;
     }
     }
+
+	public Integer getNormalNum() {
+		return normalNum;
+	}
+
+	public void setNormalNum(Integer normalNum) {
+		this.normalNum = normalNum;
+	}
+
+	public Integer getBuyCloudTeacherNum() {
+		return buyCloudTeacherNum;
+	}
+
+	public void setBuyCloudTeacherNum(Integer buyCloudTeacherNum) {
+		this.buyCloudTeacherNum = buyCloudTeacherNum;
+	}
+
+	public Integer getCloudTeacherStudentNumOfApply() {
+		return cloudTeacherStudentNumOfApply;
+	}
+
+	public void setCloudTeacherStudentNumOfApply(Integer cloudTeacherStudentNumOfApply) {
+		this.cloudTeacherStudentNumOfApply = cloudTeacherStudentNumOfApply;
+	}
+
+	public Integer getNoCloudTeacherStudentNumOfNormal() {
+		return noCloudTeacherStudentNumOfNormal;
+	}
+
+	public void setNoCloudTeacherStudentNumOfNormal(Integer noCloudTeacherStudentNumOfNormal) {
+		this.noCloudTeacherStudentNumOfNormal = noCloudTeacherStudentNumOfNormal;
+	}
 }
 }

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentPaymentOrderDetail.java

@@ -50,7 +50,7 @@ public class StudentPaymentOrderDetail {
 	private List<Goods> goodsList;
 	private List<Goods> goodsList;
 
 
 	//减免费用
 	//减免费用
-	private BigDecimal remitFee;
+	private BigDecimal remitFee = BigDecimal.ZERO;
 
 
 	//学生乐器id
 	//学生乐器id
 	private Long studentInstrumentId;
 	private Long studentInstrumentId;

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/StudentPaymentOrderService.java

@@ -64,11 +64,12 @@ public interface StudentPaymentOrderService extends BaseService<Long, StudentPay
     
     
     /**
     /**
      * 根据批次号查询
      * 根据批次号查询
+     * @param userId 用户编号
      * @param batchNo 批次号
      * @param batchNo 批次号
      * @param status 状态
      * @param status 状态
      * @return
      * @return
      */
      */
-    List<StudentPaymentOrder> queryByBatchNo(String batchNo, DealStatusEnum status);
+    List<StudentPaymentOrder> queryByBatchNo(Integer userId, String batchNo, DealStatusEnum status);
 
 
     /**
     /**
      * 查找支付成功和支付中订单
      * 查找支付成功和支付中订单

+ 4 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -1958,7 +1958,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 					studentPaymentOrderList.add(studentPaymentOrder);
 					studentPaymentOrderList.add(studentPaymentOrder);
 				}
 				}
 			} else {
 			} else {
-				studentPaymentOrderList = studentPaymentOrderService.queryByBatchNo(studentRegistration.getMusicGroupPaymentCalenderId() + "",
+				studentPaymentOrderList = studentPaymentOrderService.queryByBatchNo(userId, studentRegistration.getMusicGroupPaymentCalenderId() + "",
 						DealStatusEnum.SUCCESS);
 						DealStatusEnum.SUCCESS);
 			}
 			}
 
 
@@ -2226,7 +2226,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 				studentPaymentOrderList.add(studentPaymentOrder);
 				studentPaymentOrderList.add(studentPaymentOrder);
 			}
 			}
 		} else {
 		} else {
-			studentPaymentOrderList = studentPaymentOrderService.queryByBatchNo(studentRegistration.getMusicGroupPaymentCalenderId() + "",
+			studentPaymentOrderList = studentPaymentOrderService.queryByBatchNo(sysUser.getId(), studentRegistration.getMusicGroupPaymentCalenderId() + "",
 					DealStatusEnum.SUCCESS);
 					DealStatusEnum.SUCCESS);
 		}
 		}
 		
 		
@@ -2309,7 +2309,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 
 
 				// 退乐器费用
 				// 退乐器费用
 				if (isRefundInstrumentFee && detail.getType() == OrderDetailTypeEnum.MUSICAL) {
 				if (isRefundInstrumentFee && detail.getType() == OrderDetailTypeEnum.MUSICAL) {
-					if (studentLastChange.getOriginalOrderId() != null && studentLastChange.getOriginalOrderId() == detail.getPaymentOrderId().intValue()) {
+					if (studentLastChange != null && studentLastChange.getOriginalOrderId() != null && studentLastChange.getOriginalOrderId() == detail.getPaymentOrderId().intValue()) {
 						amount = amount.add(studentLastChange.getChangeMusicalPrice());
 						amount = amount.add(studentLastChange.getChangeMusicalPrice());
 					} else {
 					} else {
 						amount = amount.add(detail.getPrice()).subtract(detail.getRemitFee());
 						amount = amount.add(detail.getPrice()).subtract(detail.getRemitFee());
@@ -2319,7 +2319,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 				// 退教辅费用
 				// 退教辅费用
 				if (isRefundTeachingAssistantsFee
 				if (isRefundTeachingAssistantsFee
 						&& (detail.getType() == OrderDetailTypeEnum.ACCESSORIES || detail.getType() == OrderDetailTypeEnum.TEACHING)) {
 						&& (detail.getType() == OrderDetailTypeEnum.ACCESSORIES || detail.getType() == OrderDetailTypeEnum.TEACHING)) {
-					if (studentLastChange.getOriginalOrderId() != null && studentLastChange.getOriginalOrderId() == detail.getPaymentOrderId().intValue()) {
+					if (studentLastChange != null && studentLastChange.getOriginalOrderId() != null && studentLastChange.getOriginalOrderId() == detail.getPaymentOrderId().intValue()) {
 						amount = amount.add(studentLastChange.getChangeAccessoriesPrice());
 						amount = amount.add(studentLastChange.getChangeAccessoriesPrice());
 					} else {
 					} else {
 						amount = amount.add(detail.getPrice()).subtract(detail.getRemitFee());
 						amount = amount.add(detail.getPrice()).subtract(detail.getRemitFee());

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

@@ -194,8 +194,8 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
     }
     }
 
 
     @Override
     @Override
-	public List<StudentPaymentOrder> queryByBatchNo(String batchNo, DealStatusEnum status) {
-		return studentPaymentOrderDao.queryByBatchNo(batchNo, status);
+	public List<StudentPaymentOrder> queryByBatchNo(Integer userId, String batchNo, DealStatusEnum status) {
+		return studentPaymentOrderDao.queryByBatchNo(userId, batchNo, status);
 	}
 	}
 
 
 	@Override
 	@Override

+ 7 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SubjectChangeServiceImpl.java

@@ -230,9 +230,13 @@ public class SubjectChangeServiceImpl extends BaseServiceImpl<Integer, SubjectCh
         }
         }
         Date nowDate = new Date();
         Date nowDate = new Date();
         SubjectChange studentOriginal = getStudentOriginal(subjectChange.getStudentId(), subjectChange.getMusicGroupId());
         SubjectChange studentOriginal = getStudentOriginal(subjectChange.getStudentId(), subjectChange.getMusicGroupId());
-        subjectChange.setOriginalOrderId(studentOriginal.getOrderId());
-        subjectChange.setOriginalCost(studentOriginal.getOriginalCost());
-        subjectChange.setOriginalAccessories(studentOriginal.getOriginalAccessories());
+        if(studentOriginal != null){
+        	subjectChange.setOriginalOrderId(studentOriginal.getOrderId());
+        	subjectChange.setOriginalCost(studentOriginal.getOriginalCost());
+        	subjectChange.setOriginalAccessories(studentOriginal.getOriginalAccessories());
+            subjectChange.setOriginalKitGroupPurchaseType(
+            studentOriginal.getOriginalKitGroupPurchaseType() == null ? KitGroupPurchaseTypeEnum.OWNED : studentOriginal.getOriginalKitGroupPurchaseType());
+        }
         subjectChange.setStatus(SubjectChangeStatusEnum.WAIT_PAY);
         subjectChange.setStatus(SubjectChangeStatusEnum.WAIT_PAY);
         MusicGroup musicGroup = musicGroupDao.get(subjectChange.getMusicGroupId());
         MusicGroup musicGroup = musicGroupDao.get(subjectChange.getMusicGroupId());
         subjectChange.setOrganId(musicGroup.getOrganId());
         subjectChange.setOrganId(musicGroup.getOrganId());
@@ -242,8 +246,6 @@ public class SubjectChangeServiceImpl extends BaseServiceImpl<Integer, SubjectCh
         BigDecimal goodsMargin = subjectChange.getChangeMusicalPrice().add(subjectChange.getChangeAccessoriesPrice())
         BigDecimal goodsMargin = subjectChange.getChangeMusicalPrice().add(subjectChange.getChangeAccessoriesPrice())
                 .subtract(subjectChange.getOriginalMusicalPrice()).subtract(subjectChange.getOriginalAccessoriesPrice());
                 .subtract(subjectChange.getOriginalMusicalPrice()).subtract(subjectChange.getOriginalAccessoriesPrice());
         subjectChange.setGoodsMargin(goodsMargin);
         subjectChange.setGoodsMargin(goodsMargin);
-        subjectChange.setOriginalKitGroupPurchaseType(
-                studentOriginal.getOriginalKitGroupPurchaseType() == null ? KitGroupPurchaseTypeEnum.OWNED : studentOriginal.getOriginalKitGroupPurchaseType());
         String goodsIds = "";
         String goodsIds = "";
         if (subjectChange.getKitGroupPurchaseType().equals(KitGroupPurchaseTypeEnum.OWNED)) {
         if (subjectChange.getKitGroupPurchaseType().equals(KitGroupPurchaseTypeEnum.OWNED)) {
             subjectChange.setChangeMusical(null);
             subjectChange.setChangeMusical(null);

+ 40 - 26
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SubjectServiceImpl.java

@@ -1,15 +1,34 @@
 package com.ym.mec.biz.service.impl;
 package com.ym.mec.biz.service.impl;
 
 
-import com.alibaba.fastjson.JSONObject;
-import com.ym.mec.biz.dal.dao.*;
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import com.ym.mec.biz.dal.dao.ChargeTypeOrganizationFeeDao;
+import com.ym.mec.biz.dal.dao.MusicGroupDao;
+import com.ym.mec.biz.dal.dao.StudentPaymentOrderDao;
+import com.ym.mec.biz.dal.dao.StudentRegistrationDao;
+import com.ym.mec.biz.dal.dao.SubjectDao;
+import com.ym.mec.biz.dal.dao.SubjectGoodsMapperDao;
 import com.ym.mec.biz.dal.dto.ConditionDto;
 import com.ym.mec.biz.dal.dto.ConditionDto;
+import com.ym.mec.biz.dal.dto.MusicGroupRegAndMoneyDto;
 import com.ym.mec.biz.dal.dto.SubFeeSettingDto;
 import com.ym.mec.biz.dal.dto.SubFeeSettingDto;
 import com.ym.mec.biz.dal.dto.SubjectApplyDetailDto;
 import com.ym.mec.biz.dal.dto.SubjectApplyDetailDto;
 import com.ym.mec.biz.dal.entity.ChargeTypeOrganizationFee;
 import com.ym.mec.biz.dal.entity.ChargeTypeOrganizationFee;
-import com.ym.mec.biz.dal.entity.MusicGroup;
+import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
 import com.ym.mec.biz.dal.entity.Subject;
 import com.ym.mec.biz.dal.entity.Subject;
 import com.ym.mec.biz.dal.entity.SubjectGoodsMapper;
 import com.ym.mec.biz.dal.entity.SubjectGoodsMapper;
-import com.ym.mec.biz.dal.enums.CourseViewTypeEnum;
+import com.ym.mec.biz.dal.enums.DealStatusEnum;
 import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 import com.ym.mec.biz.dal.page.SubjectQueryInfo;
 import com.ym.mec.biz.dal.page.SubjectQueryInfo;
 import com.ym.mec.biz.service.SubjectService;
 import com.ym.mec.biz.service.SubjectService;
@@ -17,14 +36,6 @@ import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.collection.MapUtil;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.util.CollectionUtils;
-
-import java.math.BigDecimal;
-import java.util.*;
-import java.util.stream.Collectors;
 
 
 @Service
 @Service
 public class SubjectServiceImpl extends BaseServiceImpl<Integer, Subject> implements SubjectService {
 public class SubjectServiceImpl extends BaseServiceImpl<Integer, Subject> implements SubjectService {
@@ -75,21 +86,24 @@ public class SubjectServiceImpl extends BaseServiceImpl<Integer, Subject> implem
     @Override
     @Override
     public List<SubjectApplyDetailDto> findSubApplyDetail(String musicGroupId) {
     public List<SubjectApplyDetailDto> findSubApplyDetail(String musicGroupId) {
         List<SubjectApplyDetailDto> subApplyDetail = subjectDao.findSubApplyDetail(musicGroupId);
         List<SubjectApplyDetailDto> subApplyDetail = subjectDao.findSubApplyDetail(musicGroupId);
-        MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
-//        //统计当前乐团不同声部的报名人数
-        Map<Integer, Integer> applyNum = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertIntegerMap(studentRegistrationDao.countApplyNum(musicGroupId))), HashMap.class);
-        Map<Integer, Integer> payNumMap = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertIntegerMap(studentRegistrationDao.countPayNum(musicGroupId))), HashMap.class);
-        Map<Integer, Integer> payingMap = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertIntegerMap(studentRegistrationDao.countPayingNum(musicGroupId, 1))), HashMap.class);
-        Map<Integer, Integer> payCheckMap = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertIntegerMap(studentRegistrationDao.countPayingNum(musicGroupId, 2))), HashMap.class);
+        
+        List<SubjectApplyDetailDto> registers = studentRegistrationDao.queryStudentApplyDetail(musicGroupId);
+        
+        Map<Integer,SubjectApplyDetailDto> map = registers.stream().collect(Collectors.toMap(SubjectApplyDetailDto :: getSubjectId, t -> t));
+        
         subApplyDetail.forEach(detail -> {
         subApplyDetail.forEach(detail -> {
-            Integer num = payNumMap.get(detail.getSubjectId());
-            detail.setPayNum(num == null ? 0 : num);
-            num = applyNum.get(detail.getSubjectId());
-            detail.setApplyStudentNum(num == null ? 0 : num);
-            num = payingMap.get(detail.getSubjectId());
-            detail.setPayingNum(num == null ? 0 : num);
-            num = payCheckMap.get(detail.getSubjectId());
-            detail.setCheckNum(num == null ? 0 : num);
+        	if(map.containsKey(detail.getSubjectId())){
+        		SubjectApplyDetailDto dto = map.get(detail.getSubjectId());
+        		
+        		detail.setPayNum(dto.getPayNum());
+                detail.setApplyStudentNum(dto.getApplyStudentNum());
+                detail.setPayingNum(dto.getPayingNum());
+                detail.setCheckNum(dto.getCheckNum());
+                detail.setNormalNum(dto.getNormalNum());
+                detail.setBuyCloudTeacherNum(dto.getBuyCloudTeacherNum());
+                detail.setCloudTeacherStudentNumOfApply(dto.getCloudTeacherStudentNumOfApply());
+                detail.setNoCloudTeacherStudentNumOfNormal(dto.getNoCloudTeacherStudentNumOfNormal());
+        	}
         });
         });
         return subApplyDetail;
         return subApplyDetail;
     }
     }

+ 10 - 2
mec-biz/src/main/resources/config/mybatis/StudentPaymentOrderMapper.xml

@@ -34,6 +34,7 @@
         <result column="pay_time_" property="payTime"/>
         <result column="pay_time_" property="payTime"/>
         <result column="version_" property="version"/>
         <result column="version_" property="version"/>
         <result column="receive_status_" property="receiveStatus"/>
         <result column="receive_status_" property="receiveStatus"/>
+        <result column="batch_no_" property="batchNo"/>
     </resultMap>
     </resultMap>
 
 
     <resultMap type="com.ym.mec.biz.dal.dto.StudentPaymentOrderDto" extends="StudentPaymentOrder"
     <resultMap type="com.ym.mec.biz.dal.dto.StudentPaymentOrderDto" extends="StudentPaymentOrder"
@@ -102,7 +103,7 @@
          per_amount_,
          per_amount_,
          balance_payment_amount_, remit_fee_, course_remit_fee_, trans_no_,
          balance_payment_amount_, remit_fee_, course_remit_fee_, trans_no_,
          status_, memo_, create_time_, update_time_, payment_channel_, payment_business_channel_,
          status_, memo_, create_time_, update_time_, payment_channel_, payment_business_channel_,
-         payment_account_no_, mer_nos_, order_no_, music_group_id_, class_group_id_, pay_time_)
+         payment_account_no_, mer_nos_, order_no_, music_group_id_, class_group_id_, pay_time_,batch_no_)
         VALUES (#{id}, #{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
         VALUES (#{id}, #{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
                 #{userId}, #{organId}, #{routingOrganId},
                 #{userId}, #{organId}, #{routingOrganId},
                 #{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
                 #{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
@@ -111,7 +112,7 @@
                 #{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}, #{memo}, now(), now(),
                 #{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}, #{memo}, now(), now(),
                 #{paymentChannel}, #{paymentBusinessChannel}, #{paymentAccountNo}, #{merNos}, #{orderNo},
                 #{paymentChannel}, #{paymentBusinessChannel}, #{paymentAccountNo}, #{merNos}, #{orderNo},
                 #{musicGroupId},
                 #{musicGroupId},
-                #{classGroupId}, #{payTime})
+                #{classGroupId}, #{payTime},#{batchNo})
     </insert>
     </insert>
 
 
 
 
@@ -191,6 +192,9 @@
             <if test="payTime != null">
             <if test="payTime != null">
                 pay_time_ = #{payTime},
                 pay_time_ = #{payTime},
             </if>
             </if>
+            <if test="batchNo != null">
+                batch_no_ = #{batchNo},
+            </if>
             <if test="version != null">
             <if test="version != null">
                 version_ = version_+1,
                 version_ = version_+1,
             </if>
             </if>
@@ -275,6 +279,9 @@
 	            <if test="studentPaymentOrder.payTime != null">
 	            <if test="studentPaymentOrder.payTime != null">
 	                pay_time_ = #{studentPaymentOrder.payTime},
 	                pay_time_ = #{studentPaymentOrder.payTime},
 	            </if>
 	            </if>
+	            <if test="studentPaymentOrder.batchNo != null">
+	                batch_no_ = #{studentPaymentOrder.batchNo},
+	            </if>
 	            <if test="studentPaymentOrder.version != null">
 	            <if test="studentPaymentOrder.version != null">
 	                version_ = version_+1,
 	                version_ = version_+1,
 	            </if>
 	            </if>
@@ -445,6 +452,7 @@
         FROM student_payment_order
         FROM student_payment_order
         WHERE batch_no_ = #{batchNo}
         WHERE batch_no_ = #{batchNo}
           AND status_ = #{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
           AND status_ = #{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
+          and user_id_ = #{userId}
     </select>
     </select>
 
 
     <!-- 根据订单号查询订单 -->
     <!-- 根据订单号查询订单 -->

+ 13 - 0
mec-biz/src/main/resources/config/mybatis/StudentRegistrationMapper.xml

@@ -1563,4 +1563,17 @@
             AND (MAX(cto.id_) IS NULL OR DATEDIFF(MAX(cto.end_time_),NOW()) &lt; 0)
             AND (MAX(cto.id_) IS NULL OR DATEDIFF(MAX(cto.end_time_),NOW()) &lt; 0)
         </if>
         </if>
     </select>
     </select>
+    
+    <select id="queryStudentApplyDetail" resultType="com.ym.mec.biz.dal.dto.SubjectApplyDetailDto">
+        SELECT music_group_id_ musicGroupId,actual_subject_id_ subjectId, COUNT(*) applyStudentNum,SUM(IF(payment_status_ = '2',1,0)) payNum,
+        SUM(IF(paying_status_='2',1,0)) checkNum,SUM(IF((payment_status_= '2' and has_cloud_teacher_=1),1,0)) buyCloudTeacherNum,
+        SUM(IF((music_group_status_= 'NORMAL' and paying_status_ != 2),1,0)) normalNum,
+        SUM(IF((music_group_status_= 'NORMAL' and has_cloud_teacher_ = 0),1,0)) noCloudTeacherStudentNumOfNormal,
+        SUM(IF((music_group_status_ != 'NORMAL' and payment_status_= '2'),1,0)) cloudTeacherStudentNumOfApply,
+        SUM(IF((paying_status_ = '1'),1,0)) payingNum
+        FROM student_registration
+        WHERE music_group_id_ = #{musicGroupId}
+        AND music_group_status_ != 'QUIT'
+        GROUP BY music_group_id_,actual_subject_id_
+    </select>
 </mapper>
 </mapper>