|
|
|
@ -17,7 +17,6 @@ import me.zhengjie.service.EmailService;
|
|
|
|
|
import me.zhengjie.utils.FileUtil;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
|
|
import java.io.File;
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.Map;
|
|
|
|
@ -46,22 +45,25 @@ public class StatisticsDmpServiceImpl implements StatisticsDmpService {
|
|
|
|
|
throw new BadRequestException("邮箱地址不能为空");
|
|
|
|
|
}
|
|
|
|
|
Map<String, Object> map = httpRequestRds.callBackImeiLink(conditionDto);
|
|
|
|
|
map.forEach((k, v) -> {
|
|
|
|
|
//生成文件
|
|
|
|
|
String path = buildPathUtils.buildFileDmpPath(k, conditionDto.getStartTime(), conditionDto.getEndTime());
|
|
|
|
|
ExcelWriter writer = ExcelUtil.getWriter(path + ".xlsx");
|
|
|
|
|
writer.write(getData(v), true);
|
|
|
|
|
writer.close();
|
|
|
|
|
});
|
|
|
|
|
String contentPath = buildPathUtils.buildFileDmpZipPath();
|
|
|
|
|
String zipPath = buildPathUtils.buildFilePath() + ".zip";
|
|
|
|
|
File zip = ZipUtil.zip(contentPath, zipPath);
|
|
|
|
|
List<List<String>> lists = getData(map);
|
|
|
|
|
//生成文件
|
|
|
|
|
String path = buildPathUtils.buildFilePath();
|
|
|
|
|
ExcelWriter writer = ExcelUtil.getWriter(path + ".xlsx");
|
|
|
|
|
writer.write(lists, true);
|
|
|
|
|
writer.close();
|
|
|
|
|
//压缩
|
|
|
|
|
ZipUtil.zip(path + ".xlsx");
|
|
|
|
|
//上传文件到大数据平台
|
|
|
|
|
String s = ftpRequest.ftpUpload(zipPath);
|
|
|
|
|
String s = ftpRequest.ftpUpload(path + ".zip");
|
|
|
|
|
|
|
|
|
|
//远程调用生成短链
|
|
|
|
|
String link = httpRequestRds.rdsRequest(s);
|
|
|
|
|
|
|
|
|
|
//删除临时文件
|
|
|
|
|
FileUtil.del(path);
|
|
|
|
|
FileUtil.del(path + ".xlsx");
|
|
|
|
|
FileUtil.del(path + ".zip");
|
|
|
|
|
|
|
|
|
|
//发送邮件
|
|
|
|
|
EmailVo emailVo = new EmailVo();
|
|
|
|
|
List<String> list = new ArrayList<>();
|
|
|
|
@ -70,21 +72,23 @@ public class StatisticsDmpServiceImpl implements StatisticsDmpService {
|
|
|
|
|
emailVo.setSubject("一次性短链");
|
|
|
|
|
emailVo.setContent(link);
|
|
|
|
|
emailService.send(emailVo, emailService.find());
|
|
|
|
|
System.out.println(link);
|
|
|
|
|
|
|
|
|
|
//删除临时文件
|
|
|
|
|
FileUtil.del(contentPath);
|
|
|
|
|
FileUtil.del(zip);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private List<List<String>> getData(Object v) {
|
|
|
|
|
private List<List<String>> getData(Map<String, Object> map) {
|
|
|
|
|
List<List<String>> data = new ArrayList<>();
|
|
|
|
|
List<String> list = (List<String>) v;
|
|
|
|
|
for (String info : list) {
|
|
|
|
|
List<String> rows = new ArrayList<>();
|
|
|
|
|
rows.add(info);
|
|
|
|
|
data.add(rows);
|
|
|
|
|
}
|
|
|
|
|
List<String> row0 = new ArrayList<>();
|
|
|
|
|
row0.add("imei");
|
|
|
|
|
row0.add("tag");
|
|
|
|
|
data.add(row0);
|
|
|
|
|
map.forEach((k, v) -> {
|
|
|
|
|
List<String> list = (List<String>) v;
|
|
|
|
|
for (String info : list) {
|
|
|
|
|
List<String> rows = new ArrayList<>();
|
|
|
|
|
rows.add(info);
|
|
|
|
|
rows.add(k);
|
|
|
|
|
data.add(rows);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
return data;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|