zouxuan 1 年之前
父節點
當前提交
c4924e78dd

+ 4 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MultiDataSourceHomeStatsDao.java

@@ -13,4 +13,8 @@ public interface MultiDataSourceHomeStatsDao {
     List<MultiDataSourceHomeStatsWrapper.IncomeByDate> gytSummerIncome(@Param("queryDto") MultiDataSourceHomeStatsWrapper.QueryDto queryDto);
 
     List<MultiDataSourceHomeStatsWrapper.IncomeByDate> gymSummerIncome(@Param("queryDto") MultiDataSourceHomeStatsWrapper.QueryDto queryDto);
+
+    List<MultiDataSourceHomeStatsWrapper.IncomeByDate> ktSummerIncome(@Param("queryDto") MultiDataSourceHomeStatsWrapper.QueryDto queryDto);
+
+    List<MultiDataSourceHomeStatsWrapper.IncomeByDate> clsOrgSummerIncome(@Param("queryDto") MultiDataSourceHomeStatsWrapper.QueryDto queryDto);
 }

+ 18 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MultiDataSourceHomeStatsServiceImpl.java

@@ -42,6 +42,10 @@ public class MultiDataSourceHomeStatsServiceImpl implements MultiDataSourceHomeS
         List<MultiDataSourceHomeStatsWrapper.IncomeByDate> gytIncomeDateList = multiDataSourceHomeStatsDao.gytSummerIncome(queryDto);
         //获取管乐迷收入
         List<MultiDataSourceHomeStatsWrapper.IncomeByDate> gymIncomeDateList = multiDataSourceHomeStatsDao.gymSummerIncome(queryDto);
+        //获取课堂乐器收入
+        List<MultiDataSourceHomeStatsWrapper.IncomeByDate> ktIncomeDateList = multiDataSourceHomeStatsDao.ktSummerIncome(queryDto);
+        //获取酷乐秀机构版收入
+        List<MultiDataSourceHomeStatsWrapper.IncomeByDate> clsOrgIncomeDateList = multiDataSourceHomeStatsDao.clsOrgSummerIncome(queryDto);
 
         Map<String, MultiDataSourceHomeStatsWrapper.IncomeByDate> clsMap = clsIncomeDateList.stream().
                 collect(Collectors.groupingBy(e -> e.getDate(), Collectors.collectingAndThen(Collectors.toList(), v -> v.get(0))));
@@ -58,16 +62,30 @@ public class MultiDataSourceHomeStatsServiceImpl implements MultiDataSourceHomeS
         Set<String> gymKeySet = gymMap.keySet();
         List<MultiDataSourceHomeStatsWrapper.IncomeByDate> gymList = new ArrayList<>();
 
+        Map<String, MultiDataSourceHomeStatsWrapper.IncomeByDate> ktMap = ktIncomeDateList.stream().
+                collect(Collectors.groupingBy(e -> e.getDate(), Collectors.collectingAndThen(Collectors.toList(), v -> v.get(0))));
+        Set<String> ktKeySet = ktMap.keySet();
+        List<MultiDataSourceHomeStatsWrapper.IncomeByDate> ktList = new ArrayList<>();
+
+        Map<String, MultiDataSourceHomeStatsWrapper.IncomeByDate> clsOrgMap = clsOrgIncomeDateList.stream().
+                collect(Collectors.groupingBy(e -> e.getDate(), Collectors.collectingAndThen(Collectors.toList(), v -> v.get(0))));
+        Set<String> clsOrgKeySet = clsOrgMap.keySet();
+        List<MultiDataSourceHomeStatsWrapper.IncomeByDate> clsOrgList = new ArrayList<>();
+
         // 遍历日期列表,补全数据并添加到结果集中
         for (String date : dates) {
             this.addItem(clsKeySet,clsList,date,clsMap);
             this.addItem(gytKeySet,gytList,date,gytMap);
             this.addItem(gymKeySet,gymList,date,gymMap);
+            this.addItem(ktKeySet,ktList,date,ktMap);
+            this.addItem(clsOrgKeySet,clsOrgList,date,clsOrgMap);
         }
         List<MultiDataSourceHomeStatsWrapper.summerIncome> result = new ArrayList<>();
         result.add(this.init("cls",clsList));
         result.add(this.init("gyt",gytList));
         result.add(this.init("gym",gymList));
+        result.add(this.init("kt",ktList));
+        result.add(this.init("clsOrg",clsOrgList));
         return result;
     }
 

+ 14 - 0
mec-biz/src/main/resources/config/mybatis/MultiDataSourceHomeStatsMapper.xml

@@ -31,4 +31,18 @@
         </if>
         GROUP BY DATE_FORMAT(pay_time_,#{queryDto.groupBy})
     </select>
+    <select id="clsOrgSummerIncome"
+            resultType="com.ym.mec.biz.dal.wrapper.MultiDataSourceHomeStatsWrapper$IncomeByDate">
+        select DATE_FORMAT(create_time_,#{queryDto.format}) `date`,SUM(trans_amount_) totalAmount
+        from cooleshow_pro.tenant_account_record where in_or_out_ = 'IN' AND post_status_ = 'RECORDED'
+        AND DATE_FORMAT(create_time_,'%Y-%m-%d') BETWEEN #{queryDto.startTime} AND #{queryDto.endTime}
+        group by DATE_FORMAT(create_time_,#{queryDto.groupBy})
+    </select>
+    <select id="ktSummerIncome"
+            resultType="com.ym.mec.biz.dal.wrapper.MultiDataSourceHomeStatsWrapper$IncomeByDate">
+        select DATE_FORMAT(create_time_,#{queryDto.format}) `date`,SUM(payment_cash_amount_) totalAmount
+        from cooleshow_edu_pro.user_payment_order where status_ = 'PAID'
+        AND DATE_FORMAT(create_time_,'%Y-%m-%d') BETWEEN #{queryDto.startTime} AND #{queryDto.endTime}
+        group by DATE_FORMAT(create_time_,#{queryDto.groupBy})
+    </select>
 </mapper>