|
@@ -1,6 +1,9 @@
|
|
|
package com.yonge.cooleshow.teacher.controller;
|
|
|
|
|
|
+import com.alibaba.excel.EasyExcel;
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
+import com.microsvc.toolkit.middleware.oss.OssPluginContext;
|
|
|
+import com.microsvc.toolkit.middleware.oss.impl.TencentOssPlugin;
|
|
|
import com.yonge.cooleshow.biz.dal.service.*;
|
|
|
import com.yonge.cooleshow.biz.dal.vo.PianoRoomTimeVo;
|
|
|
import com.yonge.cooleshow.biz.dal.vo.TeacherHomeStatisticalVo;
|
|
@@ -10,13 +13,21 @@ import com.yonge.cooleshow.common.controller.BaseController;
|
|
|
import com.yonge.cooleshow.common.entity.HttpResponseResult;
|
|
|
import com.yonge.toolset.base.page.PageInfo;
|
|
|
import com.yonge.toolset.mybatis.support.PageUtil;
|
|
|
+import com.yonge.toolset.utils.date.DateUtil;
|
|
|
import com.yonge.toolset.utils.easyexcel.ExcelUtils;
|
|
|
import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
+import lombok.Data;
|
|
|
+import org.apache.commons.io.FileUtils;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
+import java.io.File;
|
|
|
import java.math.BigDecimal;
|
|
|
+import java.text.DateFormat;
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
+import java.time.LocalDateTime;
|
|
|
+import java.util.Date;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
@@ -42,6 +53,8 @@ public class TeacherHomeController extends BaseController {
|
|
|
private UserAccountRecordService userAccountRecordService;
|
|
|
@Resource
|
|
|
private HomeService homeService;
|
|
|
+ @Resource
|
|
|
+ private OssPluginContext ossPluginContext;
|
|
|
|
|
|
@ApiOperation(value = "首页统计数据")
|
|
|
@GetMapping(value="/count")
|
|
@@ -142,14 +155,24 @@ public class TeacherHomeController extends BaseController {
|
|
|
|
|
|
@PostMapping("/exportStudentPractice")
|
|
|
@ApiOperation(value = "查询导出首页练习数据学员列表")
|
|
|
- public void exportExcel(@RequestBody TeacherIndexWrapper.StudentSearch studentSearch) {
|
|
|
+ public HttpResponseResult<String> exportExcel(@RequestBody TeacherIndexWrapper.StudentSearch studentSearch) {
|
|
|
studentSearch.setTeacherId(sysUserService.getUserId());
|
|
|
studentSearch.setLimit(10000);
|
|
|
List<TeacherIndexWrapper.StudentPracticeSummaryDto> teacherHomeStudent = homeService.getTeacherHomeStudent(studentSearch);
|
|
|
List<TeacherIndexWrapper.StudentPracticeSummaryExportDto> list =
|
|
|
JSON.parseArray(JSON.toJSONString(teacherHomeStudent), TeacherIndexWrapper.StudentPracticeSummaryExportDto.class);
|
|
|
- ExcelUtils.exportExcel(list, "学员练习统计" + System.currentTimeMillis(),
|
|
|
- "列表数据");
|
|
|
+ DateFormat dateFormat1 = new SimpleDateFormat("yyMMddHHmmss");
|
|
|
+ Date date = new Date();
|
|
|
+ String filePath = "/tmp/klx/studentPractice/" + dateFormat1.format(date) + "/" + studentSearch.getTeacherId() + "_" + LocalDateTime.now().getSecond() + ".xlsx";
|
|
|
+ File srcFile = new File(filePath);
|
|
|
+ EasyExcel.write(filePath,TeacherIndexWrapper.StudentPracticeSummaryExportDto.class).sheet("学员练习统计").doWrite(list);
|
|
|
+ //上传到oss
|
|
|
+ DateFormat dateFormatOss = new SimpleDateFormat("yyyy/MM/dd");
|
|
|
+ String dateStrOss = dateFormatOss.format(date);
|
|
|
+ dateStrOss = "klx/studentPractice/" + dateStrOss + "/" + DateUtil.getHour(date);
|
|
|
+ String excelFilePath = ossPluginContext.getPluginService(TencentOssPlugin.PLUGIN_NAME).uploadFile(dateStrOss, srcFile);
|
|
|
+ FileUtils.deleteQuietly(srcFile);
|
|
|
+ return HttpResponseResult.succeed(excelFilePath);
|
|
|
}
|
|
|
|
|
|
}
|