|
|
@@ -1,9 +1,10 @@
|
|
|
package com.sqx.scheduler.export;
|
|
|
|
|
|
+import cn.hutool.core.util.StrUtil;
|
|
|
+import cn.hutool.json.JSONUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
|
|
-import com.sqx.common.utils.Constant;
|
|
|
-import com.sqx.common.utils.Result;
|
|
|
+import com.sqx.common.utils.PageUtils;
|
|
|
import com.sqx.common.utils.SftpUtil;
|
|
|
import com.sqx.modules.address.query.InsideAddressQuery;
|
|
|
import com.sqx.modules.address.service.InsideAddressService;
|
|
|
@@ -18,6 +19,9 @@ import com.sqx.modules.datacentre.service.DataCentreService;
|
|
|
import com.sqx.modules.exportExecl.dto.AccountEntry;
|
|
|
import com.sqx.modules.exportExecl.model.ExportJob;
|
|
|
import com.sqx.modules.exportExecl.service.ExportJobService;
|
|
|
+import com.sqx.modules.member.query.SpecialFavorStudentQuery;
|
|
|
+import com.sqx.modules.member.service.SpecialFavorStudentService;
|
|
|
+import com.sqx.modules.member.vo.SpecialFavorStudentVO;
|
|
|
import com.sqx.modules.order.dto.OrderQueryDto;
|
|
|
import com.sqx.modules.order.service.AppOrderService;
|
|
|
import com.sqx.modules.pay.controller.query.CashOutQueryDTO;
|
|
|
@@ -28,7 +32,6 @@ import com.sqx.modules.reconciliation.service.PlatformBillService;
|
|
|
import com.sqx.modules.utils.excel.ExcelData;
|
|
|
import com.sqx.modules.utils.excel.ExportExcelUtils;
|
|
|
import com.sqx.scheduler.config.SchedulerLock;
|
|
|
-import io.swagger.annotations.ApiOperation;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.jetbrains.annotations.NotNull;
|
|
|
@@ -39,21 +42,21 @@ import org.springframework.scheduling.annotation.Async;
|
|
|
import org.springframework.scheduling.annotation.Scheduled;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
import org.springframework.util.StringUtils;
|
|
|
-import org.springframework.web.bind.annotation.GetMapping;
|
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
|
|
|
import java.io.ByteArrayInputStream;
|
|
|
import java.io.ByteArrayOutputStream;
|
|
|
import java.io.InputStream;
|
|
|
import java.math.BigDecimal;
|
|
|
-import java.text.SimpleDateFormat;
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.time.ZoneId;
|
|
|
import java.time.format.DateTimeFormatter;
|
|
|
import java.util.ArrayList;
|
|
|
+import java.util.Arrays;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
import java.util.concurrent.TimeUnit;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* 优惠券定时任务
|
|
|
@@ -78,8 +81,10 @@ public class ExportScheduler {
|
|
|
private final UserMoneyDetailsService userMoneyDetailsService;
|
|
|
private final DataCentreService dataCentreService;
|
|
|
private final PlatformBillService platformBillService;
|
|
|
-
|
|
|
private final InsideAddressService insideAddressService;
|
|
|
+ private final SpecialFavorStudentService specialFavorStudentService;
|
|
|
+
|
|
|
+ DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
|
|
|
|
|
|
|
|
/**
|
|
|
@@ -123,7 +128,8 @@ public class ExportScheduler {
|
|
|
InputStream inputStream=null;
|
|
|
ByteArrayOutputStream os = new ByteArrayOutputStream();
|
|
|
try {
|
|
|
- ExcelData excelData=new ExcelData();
|
|
|
+ new ExcelData();
|
|
|
+ ExcelData excelData;
|
|
|
if("order".equals(fileType)){
|
|
|
excelData=getOrderExcelData(exportJob);
|
|
|
}else if("recharge".equals(fileType)){
|
|
|
@@ -146,6 +152,8 @@ public class ExportScheduler {
|
|
|
excelData=getPlatformBillExcelData(exportJob);
|
|
|
}else if ("shippingAddress".equals(fileType)){
|
|
|
excelData=getShippingAddressExcelData(exportJob);
|
|
|
+ } else if("specialFavorStudent".equals(fileType)){
|
|
|
+ excelData = getSpecialFavorStudentExcelData(exportJob);
|
|
|
}else{
|
|
|
continue;
|
|
|
}
|
|
|
@@ -190,8 +198,30 @@ public class ExportScheduler {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private ExcelData getSpecialFavorStudentExcelData(ExportJob exportJob) {
|
|
|
+ SpecialFavorStudentQuery query = JSONUtil.toBean(exportJob.getConditions(), SpecialFavorStudentQuery.class);
|
|
|
+ ExcelData data = new ExcelData();
|
|
|
+ data.setName("特殊照顾学生列表");
|
|
|
+ data.setTitles(Arrays.asList("姓名", "学号", "验证状态", "创建时间", "验证用户名", "验证手机号", "验证时间"));
|
|
|
+ PageUtils pages = specialFavorStudentService.pages(query);
|
|
|
+ List<List<Object>> rows = pages.getList().stream().map(e -> {
|
|
|
+ SpecialFavorStudentVO vo = (SpecialFavorStudentVO) e;
|
|
|
+ List<Object> row = new ArrayList<>();
|
|
|
+ row.add(vo.getName());
|
|
|
+ row.add(vo.getStudentNumber());
|
|
|
+ row.add(StrUtil.equals(vo.getVerifyStatus(), "0") ? "未认证" : "已认证");
|
|
|
+ row.add(vo.getCreateTime());
|
|
|
+ row.add(vo.getVerifyUserName());
|
|
|
+ row.add(vo.getVerifyUserPhone());
|
|
|
+ row.add(vo.getLastVerifyTime());
|
|
|
+ return row;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+ data.setRows(rows);
|
|
|
+
|
|
|
+ return data;
|
|
|
+ }
|
|
|
+
|
|
|
private ExcelData getShippingAddressExcelData(ExportJob exportJob) {
|
|
|
- DateTimeFormatter dateTimeFormatter1 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
|
|
String[] conditions=exportJob.getConditions().split(",",-1);
|
|
|
InsideAddressQuery query = new InsideAddressQuery();
|
|
|
query.setAddressDetail(conditions[1]);
|
|
|
@@ -200,12 +230,12 @@ public class ExportScheduler {
|
|
|
query.setStationId(Long.valueOf(conditions[3]));
|
|
|
}
|
|
|
if(!"".equals(conditions[4])){
|
|
|
- Date start = Date.from(LocalDateTime.parse(conditions[4], dateTimeFormatter1).atZone(ZoneId.systemDefault()).toInstant());
|
|
|
+ Date start = Date.from(LocalDateTime.parse(conditions[4], dateTimeFormatter).atZone(ZoneId.systemDefault()).toInstant());
|
|
|
log.info("start:"+start);
|
|
|
query.setStartTime(start);
|
|
|
}
|
|
|
if(!"".equals(conditions[5])){
|
|
|
- Date end = Date.from(LocalDateTime.parse(conditions[5], dateTimeFormatter1).atZone(ZoneId.systemDefault()).toInstant());
|
|
|
+ Date end = Date.from(LocalDateTime.parse(conditions[5], dateTimeFormatter).atZone(ZoneId.systemDefault()).toInstant());
|
|
|
query.setEndTime(end);
|
|
|
log.info("end:"+end);
|
|
|
}
|
|
|
@@ -253,7 +283,7 @@ public class ExportScheduler {
|
|
|
String start="";
|
|
|
if (ObjectUtils.isNotEmpty(createTime)) {
|
|
|
LocalDateTime localDateTime = LocalDateTime.ofInstant(createTime.toInstant(), ZoneId.systemDefault());
|
|
|
- start = localDateTime.format(dateTimeFormatter1);
|
|
|
+ start = localDateTime.format(dateTimeFormatter);
|
|
|
}
|
|
|
row.add(start);
|
|
|
rows.add(row);
|