Commit 307c468f authored by lcl's avatar lcl

excel文件生成上传功能模板

parent a4b6e2e6
......@@ -77,5 +77,10 @@ public interface Constants {
*/
Long TOP_PARENT_ID = 0L;
String SUFFIX_XLSX = ".xlsx";
String CONTENT_TYPE_XLSX = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
}
......@@ -28,6 +28,16 @@
<artifactId>dsk-sms</artifactId>
</dependency>
<dependency>
<groupId>com.dsk</groupId>
<artifactId>dsk-oss</artifactId>
</dependency>
<dependency>
<groupId>com.dsk</groupId>
<artifactId>dsk-system</artifactId>
</dependency>
<!-- 短信 用哪个导入哪个依赖 -->
<!-- <dependency>-->
<!-- <groupId>com.aliyun</groupId>-->
......
......@@ -310,6 +310,21 @@ public class ExcelUtils<T> {
exportExcel(response);
}
public ByteArrayOutputStream exportExcel( List<T> list, String sheetName, String title, boolean dateStatus) {
ByteArrayOutputStream ba= new ByteArrayOutputStream();
this.init(list, sheetName, title, Excel.Type.EXPORT, dateStatus);
try {
writeSheet();
wb.write(ba);
} catch (Exception e) {
log.error("导出Excel异常{}", e.getMessage());
} finally {
IOUtils.closeQuietly(wb);
}
return ba;
}
private static final String FILE_PATH = "D://";
/**
......
......@@ -2,16 +2,23 @@ package com.dsk.jsk.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.dsk.biz.utils.ExcelUtils;
import com.dsk.common.constant.Constants;
import com.dsk.common.core.controller.BaseController;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.core.domain.R;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.common.core.service.OssService;
import com.dsk.jsk.domain.JskCombineBidPageDto;
import com.dsk.jsk.domain.JskCombineCertificateDto;
import com.dsk.jsk.domain.JskCombineSearchDto;
import com.dsk.jsk.domain.vo.JskCombineBidProjectExportVo;
import com.dsk.jsk.domain.vo.JskCombineWinBidProjectExportVo;
import com.dsk.jsk.service.JskCombineInfoService;
import com.dsk.oss.core.OssClient;
import com.dsk.oss.entity.UploadResult;
import com.dsk.oss.factory.OssFactory;
import com.dsk.system.domain.vo.SysOssVo;
import com.dsk.system.service.ISysOssService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
......@@ -20,6 +27,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletResponse;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.util.List;
import java.util.Map;
......@@ -36,6 +45,8 @@ public class JskCombineInfoController extends BaseController {
@Autowired
private JskCombineInfoService baseService;
@Autowired
private ISysOssService ossService;
/**
* 集团成员列表
......@@ -89,7 +100,7 @@ public class JskCombineInfoController extends BaseController {
* 集团户搜索
*/
@PostMapping("/index")
public AjaxResult index(@RequestBody Map<String,Object> object) {
public AjaxResult index(@RequestBody Map<String, Object> object) {
return baseService.index(object);
}
......@@ -113,7 +124,7 @@ public class JskCombineInfoController extends BaseController {
* 查央企子公司 翻页
*/
@PostMapping("/centralEnterprse/child/page")
public AjaxResult centralEnterprseChildPage(@RequestBody Map<String,Object> object) {
public AjaxResult centralEnterprseChildPage(@RequestBody Map<String, Object> object) {
return baseService.centralEnterprseChildPage(object);
}
......@@ -121,7 +132,7 @@ public class JskCombineInfoController extends BaseController {
* 查地方国企
*/
@PostMapping("/centralEnterprse/local")
public AjaxResult centralEnterprseLocal(@RequestBody Map<String,Object> object) {
public AjaxResult centralEnterprseLocal(@RequestBody Map<String, Object> object) {
return baseService.centralEnterprseLocal(object);
}
......@@ -129,7 +140,7 @@ public class JskCombineInfoController extends BaseController {
* 查地方国企 翻页
*/
@PostMapping("/centralEnterprse/local/page")
public AjaxResult centralEnterprseLocalPage(@RequestBody Map<String,Object> object) {
public AjaxResult centralEnterprseLocalPage(@RequestBody Map<String, Object> object) {
return baseService.centralEnterprseLocalPage(object);
}
......@@ -145,7 +156,7 @@ public class JskCombineInfoController extends BaseController {
* 民营企业 翻页
*/
@PostMapping("/centralEnterprse/social/page")
public AjaxResult centralEnterprseSocialPage(@RequestBody Map<String,Object> object) {
public AjaxResult centralEnterprseSocialPage(@RequestBody Map<String, Object> object) {
return baseService.centralEnterprseSocialPage(object);
}
......@@ -175,10 +186,28 @@ public class JskCombineInfoController extends BaseController {
/**
* 集团招标分页列表
* 集团招标分页列表
*/
@PostMapping("/bidPage")
public TableDataInfo bidPage(@RequestBody JskCombineBidPageDto dto) throws Exception {
return baseService.bidPage(dto);
}
/**
* 导出上传oss测试
*/
@PostMapping("/export/upload")
public R<SysOssVo> exportuUpload(@RequestBody JskCombineSearchDto dto) {
List<JskCombineWinBidProjectExportVo> list = baseService.exportWinBid(dto);
String title = dto.getCombineName().concat("中标业绩清单");
ExcelUtils<JskCombineWinBidProjectExportVo> util = new ExcelUtils<>(JskCombineWinBidProjectExportVo.class);
ByteArrayOutputStream ba = util.exportExcel(list, "集团中标", title, true);
ByteArrayInputStream bio = new ByteArrayInputStream(ba.toByteArray());
OssClient client = OssFactory.instance();
UploadResult uploadResult = client.uploadSuffix(bio, Constants.SUFFIX_XLSX, Constants.CONTENT_TYPE_XLSX);
//总文件记录
SysOssVo sysOssVo = ossService.buildResultEntity(title.concat(Constants.SUFFIX_XLSX), Constants.SUFFIX_XLSX, client.getConfigKey(), uploadResult);
return R.ok(sysOssVo);
}
}
package com.dsk.system.service;
import com.dsk.oss.entity.UploadResult;
import com.dsk.system.domain.bo.SysOssBo;
import com.dsk.system.domain.vo.SysOssVo;
import com.dsk.common.core.domain.PageQuery;
......@@ -29,6 +30,8 @@ public interface ISysOssService {
SysOssVo upload(File file);
SysOssVo buildResultEntity(String originalfileName, String suffix, String configKey, UploadResult uploadResult);
void download(Long ossId, HttpServletResponse response) throws IOException;
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
......
......@@ -147,7 +147,8 @@ public class SysOssServiceImpl implements ISysOssService, OssService {
return buildResultEntity(originalfileName, suffix, storage.getConfigKey(), uploadResult);
}
private SysOssVo buildResultEntity(String originalfileName, String suffix, String configKey, UploadResult uploadResult) {
@Override
public SysOssVo buildResultEntity(String originalfileName, String suffix, String configKey, UploadResult uploadResult) {
SysOss oss = new SysOss();
oss.setUrl(uploadResult.getUrl());
oss.setFileSuffix(suffix);
......
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