|
@@ -1,8 +1,11 @@
|
|
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.OperatingReportCloudDao;
|
|
import com.ym.mec.biz.dal.dao.OperatingReportCloudDao;
|
|
import com.ym.mec.biz.dal.dao.OperatingReportNewDao;
|
|
import com.ym.mec.biz.dal.dao.OperatingReportNewDao;
|
|
|
|
+import com.ym.mec.biz.dal.dao.SysConfigDao;
|
|
import com.ym.mec.biz.dal.dao.VipGroupCategoryDao;
|
|
import com.ym.mec.biz.dal.dao.VipGroupCategoryDao;
|
|
|
|
+import com.ym.mec.biz.dal.dto.OperatingReportNewDto1;
|
|
import com.ym.mec.biz.dal.entity.OperatingReportNew;
|
|
import com.ym.mec.biz.dal.entity.OperatingReportNew;
|
|
import com.ym.mec.biz.dal.entity.VipGroupCategory;
|
|
import com.ym.mec.biz.dal.entity.VipGroupCategory;
|
|
import com.ym.mec.biz.service.OperatingReportNewService;
|
|
import com.ym.mec.biz.service.OperatingReportNewService;
|
|
@@ -15,10 +18,7 @@ import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
-import java.util.Date;
|
|
|
|
-import java.util.List;
|
|
|
|
-import java.util.Map;
|
|
|
|
-import java.util.Objects;
|
|
|
|
|
|
+import java.util.*;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
@Service
|
|
@Service
|
|
@@ -30,6 +30,8 @@ public class OperatingReportNewServiceImpl extends BaseServiceImpl<Integer, Oper
|
|
private VipGroupCategoryDao vipGroupCategoryDao;
|
|
private VipGroupCategoryDao vipGroupCategoryDao;
|
|
@Autowired
|
|
@Autowired
|
|
private OperatingReportCloudDao operatingReportCloudDao;
|
|
private OperatingReportCloudDao operatingReportCloudDao;
|
|
|
|
+ @Autowired
|
|
|
|
+ private SysConfigDao sysConfigDao;
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public BaseDAO<Integer, OperatingReportNew> getDAO() {
|
|
public BaseDAO<Integer, OperatingReportNew> getDAO() {
|
|
@@ -62,6 +64,20 @@ public class OperatingReportNewServiceImpl extends BaseServiceImpl<Integer, Oper
|
|
//导入的服务收入 (全部记录为课程收入)
|
|
//导入的服务收入 (全部记录为课程收入)
|
|
Map<Integer, BigDecimal> collect24 = MapUtil.convertIntegerMap(operatingReportNewDao.sumImportServerOrderAmount(currentMonth));
|
|
Map<Integer, BigDecimal> collect24 = MapUtil.convertIntegerMap(operatingReportNewDao.sumImportServerOrderAmount(currentMonth));
|
|
//获取当月有课的学员和乐团列表
|
|
//获取当月有课的学员和乐团列表
|
|
|
|
+ List<OperatingReportNewDto1> overDtos = operatingReportNewDao.queryMusicGroupIds(currentMonth);
|
|
|
|
+ List<Integer> userIdList = overDtos.stream().map(e -> e.getUserId()).distinct().collect(Collectors.toList());
|
|
|
|
+ List<String> musicGroupIdList = overDtos.stream().map(e -> e.getMusicGroupId()).distinct().collect(Collectors.toList());
|
|
|
|
+ //获取当月有课的学员所有未开始的课程类型以及时长
|
|
|
|
+ String operatingReportCourseConfig = sysConfigDao.findConfigValue("operating_report_course_config");
|
|
|
|
+ Map<String,BigDecimal> operatingReportCourseMap = JSONObject.parseObject(operatingReportCourseConfig, HashMap.class);
|
|
|
|
+ //获取关联学员的所有未开始、以及本月课程
|
|
|
|
+ List<OperatingReportNewDto1> notStartDtos = operatingReportNewDao.queryNotStartMusicGroupIds(currentMonth,userIdList,musicGroupIdList);
|
|
|
|
+ //课程实际收入 = 学员总课程时长(包含未开始、未排课、当月已完成)* 课程单价
|
|
|
|
+ //处理导出逻辑
|
|
|
|
+ //记录学员在乐团每种课程类型总时长
|
|
|
|
+ //
|
|
|
|
+
|
|
|
|
+
|
|
|
|
|
|
//云教练赠送课程实际收入
|
|
//云教练赠送课程实际收入
|
|
Map<Integer, BigDecimal> collect1 = MapUtil.convertIntegerMap(operatingReportNewDao.sumCloudCourseAmount(firstDayOfMonth,lastDayOfMonth));
|
|
Map<Integer, BigDecimal> collect1 = MapUtil.convertIntegerMap(operatingReportNewDao.sumCloudCourseAmount(firstDayOfMonth,lastDayOfMonth));
|