Browse Source

update:回款统计

yonge 4 years ago
parent
commit
23e68c7f2c

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

@@ -8,6 +8,7 @@ import java.util.Map;
 import org.apache.ibatis.annotations.Param;
 
 import com.ym.mec.biz.dal.dto.BasicUserDto;
+import com.ym.mec.biz.dal.dto.Mapper;
 import com.ym.mec.biz.dal.dto.OrderByTypeExportDto;
 import com.ym.mec.biz.dal.dto.OrderStatisDto;
 import com.ym.mec.biz.dal.dto.SporadicChargeInfoDto;
@@ -427,4 +428,11 @@ public interface StudentPaymentOrderDao extends BaseDAO<Long, StudentPaymentOrde
      * @return
      */
     int batchUpdate(@Param("studentPaymentOrderList") List<StudentPaymentOrder> studentPaymentOrderList);
+    
+    /**
+     * 查询乐团报名的总收入
+     * @param musicGroupIds
+     * @return
+     */
+    List<Mapper> getMoneyInMusicApply(@Param("musicGroupIds") List<String> musicGroupIds);
 }

+ 3 - 3
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentPaymentOrderDetailDao.java

@@ -6,7 +6,7 @@ import java.util.Map;
 
 import org.apache.ibatis.annotations.Param;
 
-import com.ym.mec.biz.dal.dto.MusicGroupRegAndMoneyDto;
+import com.ym.mec.biz.dal.dto.Mapper;
 import com.ym.mec.biz.dal.dto.MusicalListDetailDto;
 import com.ym.mec.biz.dal.entity.StudentPaymentOrderDetail;
 import com.ym.mec.biz.dal.enums.DealStatusEnum;
@@ -148,9 +148,9 @@ public interface StudentPaymentOrderDetailDao extends BaseDAO<Long, StudentPayme
     List<StudentPaymentOrderDetail> getOrderDetailByOrderId(@Param("orderId") Long orderId);
     
     /**
-     * 查询乐团报名的回款金额和乐器购买人数
+     * 查询乐团报名的乐器购买人数
      * @param musicGroupIds
      * @return
      */
-    List<MusicGroupRegAndMoneyDto> getMoneyAndInstrumentNumInMusicApply(@Param("musicGroupIds") List<String> musicGroupIds);
+    List<Mapper> getInstrumentNumInMusicApply(@Param("musicGroupIds") List<String> musicGroupIds);
 }

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

@@ -29,10 +29,9 @@
         </collection>
     </resultMap>
     
-    <resultMap type="com.ym.mec.biz.dal.dto.MusicGroupRegAndMoneyDto" id="MusicGroupRegAndMoneyDto">
-        <result column="money_" property="money"/>
-        <result column="buyCloudTeacherNum" property="buyCloudTeacherNum"/>
-        <result column="musicGroupId" property="musicGroupId"/>
+    <resultMap type="com.ym.mec.biz.dal.dto.Mapper" id="Mapper">
+        <result column="key_" property="key"/>
+        <result column="value_" property="value"/>
     </resultMap>
 
     <!-- 根据主键查询一条记录 -->
@@ -299,13 +298,14 @@
         SELECT * FROM student_payment_order_detail WHERE payment_order_id_ = #{orderId}
     </select>
 
-    <select id="getMoneyAndInstrumentNumInMusicApply" resultMap="MusicGroupRegAndMoneyDto">
-        SELECT count(distinct spo.user_id_) buyCloudTeacherNum,sum(spo.expect_amount_) money_,spo.music_group_id_ musicGroupId FROM student_payment_order_detail spod left join student_payment_order spo on spod.payment_order_id_ = spo.id_ 
+    <select id="getInstrumentNumInMusicApply" resultMap="Mapper">
+        SELECT count(distinct spo.user_id_) value_,spo.music_group_id_ key_ 
+        FROM student_payment_order_detail spod left join student_payment_order spo on spod.payment_order_id_ = spo.id_ 
         WHERE spo.music_group_id_ IN
         <foreach collection="musicGroupIds" item="musicGroupId" open="(" close=")" separator=",">
             #{musicGroupId}
         </foreach>
-        AND spo.type_ = 'APPLY' and spo.status_ = 'SUCCESS'
+        AND spo.type_ = 'APPLY' and spo.status_ = 'SUCCESS' and spod.type_ = 'MUSICAL'
         GROUP BY spo.music_group_id_
     </select>
 </mapper>

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

@@ -74,6 +74,11 @@
         <result column="course_one_to_one_time_" property="courseOneToOneTime"/>
         <result column="course_one_to_two_time_" property="courseOneToTwoTime"/>
     </resultMap>
+    
+    <resultMap type="com.ym.mec.biz.dal.dto.Mapper" id="Mapper">
+        <result column="key_" property="key"/>
+        <result column="value_" property="value"/>
+    </resultMap>
 
     <!-- 根据主键查询一条记录 -->
     <select id="get" resultMap="StudentPaymentOrder">
@@ -971,4 +976,14 @@
     <select id="getUserReplacementIngOrder" resultMap="StudentPaymentOrder">
         SELECT * FROM student_payment_order WHERE user_id_=#{userId} AND music_group_id_ = #{replacementId} AND status_ = 'ING' LIMIT 1
     </select>
+
+    <select id="getMoneyInMusicApply" resultMap="Mapper">
+        SELECT sum(spo.expect_amount_) value_,spo.music_group_id_ key_ 
+        FROM student_payment_order spo WHERE spo.music_group_id_ IN
+        <foreach collection="musicGroupIds" item="musicGroupId" open="(" close=")" separator=",">
+            #{musicGroupId}
+        </foreach>
+        AND spo.type_ = 'APPLY' and spo.status_ = 'SUCCESS'
+        GROUP BY spo.music_group_id_
+    </select>
 </mapper>

+ 34 - 22
mec-web/src/main/java/com/ym/mec/web/controller/education/EduRegisterController.java

@@ -3,6 +3,7 @@ package com.ym.mec.web.controller.education;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 
+import java.math.BigDecimal;
 import java.util.Arrays;
 import java.util.List;
 import java.util.stream.Collectors;
@@ -19,9 +20,11 @@ import com.ym.mec.auth.api.entity.SysUserRole;
 import com.ym.mec.biz.dal.dao.CooperationOrganDao;
 import com.ym.mec.biz.dal.dao.EmployeeDao;
 import com.ym.mec.biz.dal.dao.MusicGroupDao;
+import com.ym.mec.biz.dal.dao.StudentPaymentOrderDao;
 import com.ym.mec.biz.dal.dao.StudentPaymentOrderDetailDao;
 import com.ym.mec.biz.dal.dao.StudentPreRegistrationDao;
 import com.ym.mec.biz.dal.dao.StudentRegistrationDao;
+import com.ym.mec.biz.dal.dto.Mapper;
 import com.ym.mec.biz.dal.dto.MusicGroupRegAndMoneyDto;
 import com.ym.mec.biz.dal.entity.CooperationOrgan;
 import com.ym.mec.biz.dal.entity.Employee;
@@ -47,6 +50,8 @@ public class EduRegisterController extends BaseController {
     @Autowired
     private StudentPaymentOrderDetailDao studentPaymentOrderDetailDao;
     @Autowired
+    private StudentPaymentOrderDao studentPaymentOrderDao;
+    @Autowired
     private EmployeeDao employeeDao;
     @Autowired
     private CooperationOrganDao cooperationOrganDao;
@@ -92,32 +97,39 @@ public class EduRegisterController extends BaseController {
         //预报名人数
         List<MusicGroupRegAndMoneyDto> preRegisters = studentPreRegistrationDao.getPreRegisterNum(musicGroupIds);
         List<MusicGroupRegAndMoneyDto> registers = studentRegistrationDao.getRegisters(musicGroupIds);
-        List<MusicGroupRegAndMoneyDto> applyMoneyAndStudents = studentPaymentOrderDetailDao.getMoneyAndInstrumentNumInMusicApply(musicGroupIds);
+        List<Mapper> instrumentNumList = studentPaymentOrderDetailDao.getInstrumentNumInMusicApply(musicGroupIds);
+        List<Mapper> moneyList = studentPaymentOrderDao.getMoneyInMusicApply(musicGroupIds);
+
+		for (MusicGroupRegAndMoneyDto musicGroup : musicGroups) {
 
-        for (MusicGroupRegAndMoneyDto musicGroup : musicGroups) {
-            
-			for (MusicGroupRegAndMoneyDto dto : applyMoneyAndStudents) {
-				if (!musicGroup.getMusicGroupId().equals(dto.getMusicGroupId()))
+			for (Mapper mapper : instrumentNumList) {
+				if (!musicGroup.getMusicGroupId().equals(mapper.getKey()))
+					continue;
+				musicGroup.setBuyInstrumentNum((Integer) mapper.getValue());
+			}
+			for (Mapper mapper : moneyList) {
+				if (!musicGroup.getMusicGroupId().equals(mapper.getKey()))
 					continue;
-				musicGroup.setBuyInstrumentNum(dto.getBuyInstrumentNum());
-				musicGroup.setMoney(dto.getMoney());
+				musicGroup.setMoney((BigDecimal) mapper.getValue());
 			}
 
-            for (MusicGroupRegAndMoneyDto preRegister : preRegisters) {
-                if (!musicGroup.getMusicGroupId().equals(preRegister.getMusicGroupId())) continue;
-                musicGroup.setPreRegNum(preRegister.getPreRegNum());
-            }
-            for (MusicGroupRegAndMoneyDto register : registers) {
-                if (!musicGroup.getMusicGroupId().equals(register.getMusicGroupId())) continue;
-                musicGroup.setRegNum(register.getRegNum());
-                musicGroup.setPayNum(register.getPayNum());
-                musicGroup.setCheckNum(register.getCheckNum());
-                musicGroup.setBuyCloudTeacherNum(register.getBuyCloudTeacherNum());
-                musicGroup.setStudentNumOfNormal(register.getStudentNumOfNormal());
-                musicGroup.setNoCloudTeacherStudentNumOfNormal(register.getNoCloudTeacherStudentNumOfNormal());
-                musicGroup.setCloudTeacherStudentNumOfApply(register.getCloudTeacherStudentNumOfApply());
-            }
-        }
+			for (MusicGroupRegAndMoneyDto preRegister : preRegisters) {
+				if (!musicGroup.getMusicGroupId().equals(preRegister.getMusicGroupId()))
+					continue;
+				musicGroup.setPreRegNum(preRegister.getPreRegNum());
+			}
+			for (MusicGroupRegAndMoneyDto register : registers) {
+				if (!musicGroup.getMusicGroupId().equals(register.getMusicGroupId()))
+					continue;
+				musicGroup.setRegNum(register.getRegNum());
+				musicGroup.setPayNum(register.getPayNum());
+				musicGroup.setCheckNum(register.getCheckNum());
+				musicGroup.setBuyCloudTeacherNum(register.getBuyCloudTeacherNum());
+				musicGroup.setStudentNumOfNormal(register.getStudentNumOfNormal());
+				musicGroup.setNoCloudTeacherStudentNumOfNormal(register.getNoCloudTeacherStudentNumOfNormal());
+				musicGroup.setCloudTeacherStudentNumOfApply(register.getCloudTeacherStudentNumOfApply());
+			}
+		}
         return succeed(musicGroups);
     }
 }