Commit 0496e8a7 by guojuxing

下载组件

parent 345c76fe
......@@ -137,6 +137,11 @@
<artifactId>gic-goods-api</artifactId>
<version>${gic-goods-api}</version>
</dependency>
<dependency>
<groupId>com.gic</groupId>
<artifactId>gic-enterprise-download</artifactId>
<version>4.0-SNAPSHOT</version>
</dependency>
</dependencies>
<build>
......
package com.gic.auth.web.controller;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import com.gic.auth.web.vo.CollaboratorDetailVO;
import javax.servlet.http.HttpServletRequest;
import com.gic.commons.util.DateUtil;
import com.gic.download.utils.DataDownloadUtils;
import com.gic.download.utils.DownloadReport;
import com.gic.download.utils.ExecutorPoolSingleton;
import com.gic.enterprise.utils.UserDetail;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.auth.constant.MenuLevelConstants;
import com.gic.auth.constant.MenuProjectConstants;
import com.gic.auth.dto.CollaboratorListDTO;
import com.gic.auth.dto.MenuDTO;
import com.gic.auth.qo.CollaboratorListQO;
import com.gic.auth.qo.MenuListQO;
import com.gic.auth.service.CollaboratorApiService;
import com.gic.auth.service.MenuApiService;
import com.gic.auth.web.vo.CollaboratorDetailVO;
import com.gic.commons.webapi.reponse.RestResponse;
import com.gic.download.utils.BaseUtils;
import com.gic.enterprise.response.EnterpriseRestResponse;
import com.gic.enterprise.utils.ResultControllerUtils;
import com.gic.enterprise.utils.UserDetailUtils;
@RestController
@RequestMapping("/collaborator")
public class CollaboratorController {
public class CollaboratorController extends BaseUtils{
private static final Logger LOGGER = LogManager.getLogger(CollaboratorController.class);
@Autowired
......@@ -47,6 +54,56 @@ public class CollaboratorController {
.commonResult(collaboratorApiService.listApp(UserDetailUtils.getUserDetail().getEnterpriseId()));
}
@RequestMapping("/download-test")
public RestResponse downloadTest(CollaboratorListQO params, HttpServletRequest request, int fileType) throws Exception {
UserDetail userDetail = UserDetailUtils.getUserDetail();
params.setEnterpriseId(userDetail.getEnterpriseId());
//查询totalCount
ServiceResponse<Page<CollaboratorListDTO>> result = collaboratorApiService.page(params);
String fileName = "北丐测试";
String suffix;
if (fileType == 1) {
suffix = ".csv";
} else {
suffix = ".xlsx";
}
//生成报表中心记录
DownloadReport report = new DownloadReport();
report.setApplyUserId(userDetail.getUserInfo().getUserId());
report.setDataContent("北丐-测试");
report.setDataCount(result.getResult().getTotalCount());
report.setDataType(1);
report.setDataUrl("www.baidu.com");
report.setEnterpriseId(userDetail.getEnterpriseId());
report.setFileName(fileName);
report.setReportEndTime(DateUtil.strToDate("2019-01-01 00:00:00", "yyyy-MM-dd HH:mm:ss"));
report.setReportStartTime(DateUtil.strToDate("2018-01-01 00:00:00", "yyyy-MM-dd HH:mm:ss"));
Integer reportId = DataDownloadUtils.createDownloadReport(report);
//异步生成文件并上传到腾讯云
ExecutorPoolSingleton.getInstance().executeTask(new Runnable() {
@Override
public void run() {
DownloadDataLoader<CollaboratorListDTO> loader = new DownloadDataLoader<CollaboratorListDTO>() {
@Override
protected List<CollaboratorListDTO> getDownloadData(Integer pageNum) throws Exception {
params.setCurrentPage(pageNum);
ServiceResponse<Page<CollaboratorListDTO>> result = collaboratorApiService.page(params);
return result.getResult().getResult();
}
};
String[] hearders = new String[] {"协作人名称", "手机号"};
String[] fields = new String[] { "collaboratorName", "phone" };
String path = request.getSession().getServletContext().getRealPath("/excel/csv/collaborator/file/");
try {
download(path, reportId, fileName + suffix, Arrays.asList(hearders), null, loader, Arrays.asList(fields));
} catch (Exception e) {
LOGGER.warn(e);
}
}
});
return RestResponse.success(reportId);
}
@RequestMapping("/list-sub-app")
public RestResponse listSubApp(String appId) {
return ResultControllerUtils.commonResult(
......
......@@ -59,4 +59,6 @@
<dubbo:reference interface="com.gic.auth.service.AccountGroupApiService" id="accountGroupApiService" timeout="6000" />
<!--协作人-->
<dubbo:reference interface="com.gic.auth.service.CollaboratorApiService" id="collaboratorApiService" timeout="6000" />
<dubbo:reference interface="com.gic.enterprise.service.DownloadReportApiService" id="downloadReportApiService" timeout="6000"/>
</beans>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment