Browse Source

报名中、缴费中人数统计新增分部收费金额

zouxuan 3 years ago
parent
commit
c3951e657c

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

@@ -723,4 +723,13 @@ public interface StudentRegistrationDao extends BaseDAO<Long, StudentRegistratio
     * @date 2021/11/10 17:55
     */
     List<MusicGroup> countInstrument(@Param("musicGroupIds") List<String> musicGroupIds);
+
+    /**
+    * @description: 获取分部缴费总金额
+     * @param musicGroupId
+    * @return java.util.List<java.util.Map<java.lang.Integer,java.math.BigDecimal>>
+    * @author zx
+    * @date 2021/11/16 10:26
+    */
+    List<Map<Long,BigDecimal>> querySubjectAmount(String musicGroupId);
 }

+ 12 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/SubjectApplyDetailDto.java

@@ -2,6 +2,8 @@ package com.ym.mec.biz.dal.dto;
 
 import io.swagger.annotations.ApiModelProperty;
 
+import java.math.BigDecimal;
+
 /**
  * 乐团声部报名详情
  */
@@ -46,6 +48,16 @@ public class SubjectApplyDetailDto {
     @ApiModelProperty(value = "没买云教练入团人数", required = false)
     private Integer noCloudTeacherStudentNumOfNormal = 0;
 
+    private BigDecimal totalAmount;
+
+    public BigDecimal getTotalAmount() {
+        return totalAmount;
+    }
+
+    public void setTotalAmount(BigDecimal totalAmount) {
+        this.totalAmount = totalAmount;
+    }
+
     public Integer getMusicGroupSubjectPlanId() {
         return musicGroupSubjectPlanId;
     }

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

@@ -86,13 +86,15 @@ public class SubjectServiceImpl extends BaseServiceImpl<Integer, Subject> implem
         List<SubjectApplyDetailDto> registers = studentRegistrationDao.queryStudentApplyDetail(musicGroupId);
         
         Map<Integer,SubjectApplyDetailDto> map = registers.stream().collect(Collectors.toMap(SubjectApplyDetailDto :: getSubjectId, t -> t));
-        
+
+        Map<Long,BigDecimal> maps = MapUtil.convertIntegerMap(studentRegistrationDao.querySubjectAmount(musicGroupId));
         subApplyDetail.forEach(detail -> {
         	SubjectApplyDetailDto dto = new SubjectApplyDetailDto();
         	if(map.containsKey(detail.getSubjectId())){
         		dto = map.get(detail.getSubjectId());
         	}
-    		detail.setPayNum(dto.getPayNum());
+        	detail.setTotalAmount(maps.get(detail.getSubjectId().longValue()));
+            detail.setPayNum(dto.getPayNum());
             detail.setApplyStudentNum(dto.getApplyStudentNum());
             detail.setPayingNum(dto.getPayingNum());
             detail.setCheckNum(dto.getCheckNum());

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

@@ -1846,4 +1846,11 @@
         </foreach>
         GROUP BY sr.music_group_id_
     </select>
+    <select id="querySubjectAmount" resultType="java.util.Map">
+        SELECT sr.actual_subject_id_ 'key',SUM(spo.expect_amount_) 'value' FROM student_payment_order spo
+        LEFT JOIN student_registration sr ON sr.user_id_ = spo.user_id_
+        WHERE spo.group_type_ = 'MUSIC' AND spo.type_ = 'APPLY' AND spo.music_group_id_ = #{musicGroupId}
+        AND spo.status_ = 'SUCCESS' AND sr.music_group_id_ = spo.music_group_id_
+        GROUP BY sr.actual_subject_id_
+    </select>
 </mapper>