Browse Source

云教练导出接口

zouxuan 1 year ago
parent
commit
1884a711a3

+ 4 - 0
mec-application/src/main/resources/exportColumnMapper.ini

@@ -357,3 +357,7 @@ fieldColumns = ["organName","studentGuidanceIncome","cloudCoachIncome","coursePu
 [课程收入明细导出]
 headColumns = ["分部","课程编号","课程收入"]
 fieldColumns = ["organName","courseId","amount"]
+
+[云教练激活明细]
+headColumns = ["分部","学员编号","学员姓名","激活时间","激活月份","金额"]
+fieldColumns = ["organName","studentId","studentName","createTime","time","amount"]

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

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.dal.dao;
 
+import com.ym.mec.biz.dal.dto.CloudCoachActivationDetailsDto;
 import com.ym.mec.biz.dal.dto.CloudTeacherActiveTargetDetailDto;
 import com.ym.mec.biz.dal.dto.CloudTeacherOrderDto;
 import com.ym.mec.biz.dal.dto.Mapper;
@@ -125,4 +126,6 @@ public interface CloudTeacherOrderDao extends BaseDAO<Long, CloudTeacherOrder> {
                                    @Param("tenantId") Integer tenantId);
 
     List<CloudTeacherOrder> queryCloudTeacherOrderByIds(@Param("ids") List<Integer> ids);
+
+    List<CloudCoachActivationDetailsDto> exportCloudCoachActivationDetails(@Param("month") String month, @Param("organId") String organId);
 }

+ 20 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/CloudCoachActivationDetailsDto.java

@@ -0,0 +1,20 @@
+package com.ym.mec.biz.dal.dto;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class CloudCoachActivationDetailsDto {
+    private String organName;
+
+    private String studentName;
+
+    private String studentId;
+
+    private String createTime;
+
+    private String time;
+
+    private BigDecimal amount;
+}

+ 1 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/ExportEnum.java

@@ -92,6 +92,7 @@ public enum ExportEnum implements BaseEnum<String, ExportEnum> {
     EXPORT_OA_SUMMARY_EXPENSES_DETAIL("EXPORT_OA_SUMMARY_EXPENSES_DETAIL","oa费用明细"),
     EXPORT_OPERATING_SUMMARY_INCOME("EXPORT_OPERATING_SUMMARY_INCOME","经营报表收入汇总"),
     EXPORT_COURSE_INCOME("EXPORT_COURSE_INCOME","课程收入明细导出"),
+    CLOUD_COACH_ACTIVATION_DETAILS("CLOUD_COACH_ACTIVATION_DETAILS","云教练激活明细"),
     ;
 
     private String code;

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/ExportTypeEnum.java

@@ -30,6 +30,8 @@ public enum ExportTypeEnum implements BaseEnum<Integer, ExportTypeEnum> {
 	EXPORT_OA_SUMMARY_EXPENSES(24,"oa费用汇总"),
 	EXPORT_OA_SUMMARY_EXPENSES_DETAIL(25,"oa费用明细"),
 	EXPORT_OPERATING_SUMMARY_INCOME(26,"经营报表收入汇总"),
+
+	CLOUD_COACH_ACTIVATION_DETAILS(27,"云教练激活明细"),
 	;
 
 	private Integer code;

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ExportServiceImpl.java

@@ -183,6 +183,8 @@ public class ExportServiceImpl implements ExportService {
     @Autowired
     private TeacherCloudCourseReportService teacherCloudCourseReportService;
     @Autowired
+    private CloudTeacherOrderDao cloudTeacherOrderDao;
+    @Autowired
     private OssPluginContext ossPluginContext;
 
     private static final ExecutorService exportExecutorService = Executors.newFixedThreadPool(10);
@@ -351,6 +353,7 @@ public class ExportServiceImpl implements ExportService {
         exportFuncMap.put(ExportEnum.EXPORT_OPERATING_REPORT_NEW, (info) -> exportOperatingNew(info));
         exportFuncMap.put(ExportEnum.EXPORT_INDEX_COOP, (info) -> exportIndexCoop(info));
         exportFuncMap.put(ExportEnum.EXPORT_COURSE_INCOME, (info) -> exportCourseIncome(getQueryInfo(info, ExportCourseIncomeQueryInfo.class, false)));
+        exportFuncMap.put(ExportEnum.CLOUD_COACH_ACTIVATION_DETAILS, info -> exportCloudCoachActivationDetails(info));
 
 
         //导出到报表中心
@@ -381,6 +384,7 @@ public class ExportServiceImpl implements ExportService {
         exportManageFuncMap.put(ExportEnum.EXPORT_OA_SUMMARY_EXPENSES, info -> exportOaSummaryExpenses(info));
         exportManageFuncMap.put(ExportEnum.EXPORT_OA_SUMMARY_EXPENSES_DETAIL, info -> exportOaSummaryExpensesDetail(info));
         exportManageFuncMap.put(ExportEnum.EXPORT_OPERATING_SUMMARY_INCOME, info -> exportOperatingSummaryIncome(info));
+
     }
 
     private HttpResponseResult exportOaSummaryExpenses(Map<String, Object> info) {
@@ -417,6 +421,7 @@ public class ExportServiceImpl implements ExportService {
                 managerDownload.getName());
     }
 
+
     private List<StudentServeExportDto> exportStudentServeInfo(Map<String, Object> info) {
         String monday = getParam(info, "monday", String.class);
         String sunday = getParam(info, "sunday", String.class);
@@ -447,6 +452,12 @@ public class ExportServiceImpl implements ExportService {
         return operatingReportNewService.queryPage(queryInfo).getRows();
     }
 
+    private List<CloudCoachActivationDetailsDto> exportCloudCoachActivationDetails(Map<String, Object> info) {
+        String month = getParam(info, "month", String.class);
+        String organId = getParam(info, "organId", String.class);
+        return cloudTeacherOrderDao.exportCloudCoachActivationDetails(month,organId);
+    }
+
     private List<DecimalMapDto> exportIndexCoop(Map<String, Object> info){
         String startTime = getParam(info, "startTime", String.class);
         String endTime = getParam(info, "endTime", String.class);

+ 19 - 0
mec-biz/src/main/resources/config/mybatis/CloudTeacherOrderMapper.xml

@@ -566,4 +566,23 @@
                 #{item}
             </foreach>
     </select>
+    <select id="exportCloudCoachActivationDetails" resultType="com.ym.mec.biz.dal.dto.CloudCoachActivationDetailsDto">
+        select o.name_ organName,cto.amount_ amount,cto.student_id_ studentId,cto.create_time_ createTime,su.username_ studentName
+        CASE WHEN cto.type_ = 'MONTH' THEN CONCAT(cto.time_,'月')
+        WHEN cto.type_ = 'YEAR' THEN CONCAT(cto.time_ * 12,'月')
+        WHEN cto.type_ = 'YEAR_HALF' THEN CONCAT(cto.time_ * 6,'月')
+        WHEN cto.type_ = 'QUARTERLY' THEN CONCAT(cto.time_ * 3,'月')
+        ELSE CONCAT(cto.time_,'天') END AS time
+        from cloud_teacher_order cto
+        left join organization o ON o.id_ = cto.organ_id_
+        left join sys_user su ON su.id_ = cto.student_id_
+        where cto.status_ = 2
+        <if test="organId != null and organId != ''">
+            AND FIND_IN_SET(cto.organ_id_,#{organId})
+        </if>
+        <if test="month != null and month != ''">
+            AND DATE_FORMAT(cto.create_time_,'%Y-%m') = #{month}
+        </if>
+        ORDER BY o.id_ DESC,cto.create_time_ DESC
+    </select>
 </mapper>