|
|
@ -1,12 +1,18 @@ |
|
|
|
package com.qs.serve.modules.bir.controller; |
|
|
|
|
|
|
|
import com.alibaba.excel.EasyExcel; |
|
|
|
import com.alibaba.excel.ExcelWriter; |
|
|
|
import com.alibaba.excel.write.metadata.WriteSheet; |
|
|
|
import com.aliyun.oss.OSS; |
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|
|
|
import com.qs.serve.common.config.properties.AliYunOssProperties; |
|
|
|
import com.qs.serve.common.model.annotation.SysLog; |
|
|
|
import com.qs.serve.common.model.dto.PageVo; |
|
|
|
import com.qs.serve.common.model.dto.R; |
|
|
|
import com.qs.serve.common.model.enums.BizType; |
|
|
|
import com.qs.serve.common.model.enums.SystemModule; |
|
|
|
import com.qs.serve.common.util.CollectionUtil; |
|
|
|
import com.qs.serve.common.util.IdUtil; |
|
|
|
import com.qs.serve.common.util.PageUtil; |
|
|
|
import com.qs.serve.common.util.StringUtils; |
|
|
|
import com.qs.serve.modules.bir.entity.BirActivityCenterGoods; |
|
|
@ -23,6 +29,7 @@ import com.qs.serve.modules.bms.service.BmsChannelPointService; |
|
|
|
import com.qs.serve.modules.bms.service.BmsChannelService; |
|
|
|
import com.qs.serve.modules.bms.service.BmsSupplierChannelService; |
|
|
|
import com.qs.serve.modules.his.service.HisUserChannelPointService; |
|
|
|
import com.qs.serve.modules.oss.service.OssService; |
|
|
|
import com.qs.serve.modules.tbs.entity.TbsActivityChannel; |
|
|
|
import com.qs.serve.modules.tbs.service.TbsActivityChannelService; |
|
|
|
import lombok.AllArgsConstructor; |
|
|
@ -31,7 +38,10 @@ import org.springframework.security.access.prepost.PreAuthorize; |
|
|
|
import org.springframework.web.bind.annotation.*; |
|
|
|
|
|
|
|
import javax.validation.Valid; |
|
|
|
import java.io.*; |
|
|
|
import java.text.SimpleDateFormat; |
|
|
|
import java.util.Arrays; |
|
|
|
import java.util.Date; |
|
|
|
import java.util.List; |
|
|
|
import java.util.stream.Collectors; |
|
|
|
|
|
|
@ -46,6 +56,8 @@ import java.util.stream.Collectors; |
|
|
|
@RequestMapping("bir/centerGoods") |
|
|
|
public class BirActivityCenterGoodsController { |
|
|
|
|
|
|
|
private OssService ossService; |
|
|
|
private AliYunOssProperties aliYunOSSProperties; |
|
|
|
private BirActivityCenterGoodsService centerGoodsService; |
|
|
|
|
|
|
|
/** |
|
|
@ -77,7 +89,7 @@ public class BirActivityCenterGoodsController { |
|
|
|
*/ |
|
|
|
@GetMapping("/export") |
|
|
|
@PreAuthorize("hasRole('bms:channel:query')") |
|
|
|
public R<List<BirActivityCenterGoods>> export(BirActivityCenterGoods param){ |
|
|
|
public R<?> export(BirActivityCenterGoods param){ |
|
|
|
LambdaQueryWrapper<BirActivityCenterGoods> channelWrapper = new LambdaQueryWrapper<>(param); |
|
|
|
if(param.getKeyNumStart()!=null){ |
|
|
|
Integer keyNumStart = Integer.parseInt(param.getKeyNumStart().replace("-","")); |
|
|
@ -88,7 +100,36 @@ public class BirActivityCenterGoodsController { |
|
|
|
channelWrapper.le(BirActivityCenterGoods::getKeyNum,keyNumEnd); |
|
|
|
} |
|
|
|
List<BirActivityCenterGoods> list = centerGoodsService.list(channelWrapper); |
|
|
|
return R.ok(list); |
|
|
|
|
|
|
|
String templateFileName = "tempFiles"; |
|
|
|
InputStream inputStream = null; |
|
|
|
try { |
|
|
|
ByteArrayOutputStream os = new ByteArrayOutputStream(); |
|
|
|
ExcelWriter excelWriter = EasyExcel.write().withTemplate(templateFileName).file(os).build(); |
|
|
|
WriteSheet writeSheet = EasyExcel.writerSheet().build(); |
|
|
|
excelWriter.fill(list, writeSheet); |
|
|
|
excelWriter.finish(); |
|
|
|
byte[] buffer = os.toByteArray(); |
|
|
|
inputStream = new ByteArrayInputStream(buffer); |
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMM/dd"); |
|
|
|
String prefix = aliYunOSSProperties.getPrefix(); |
|
|
|
String dir = prefix + "/" + sdf.format(new Date())+"/"; |
|
|
|
String fileName = dir + IdUtil.getSnowflakeNextId() + ".xlsx"; |
|
|
|
OSS oss = ossService.getOSSClient(); |
|
|
|
oss.putObject(aliYunOSSProperties.getBucket(),fileName,inputStream); |
|
|
|
return R.ok(fileName,"ok"); |
|
|
|
} catch (Exception e) { |
|
|
|
e.printStackTrace(); |
|
|
|
} finally { |
|
|
|
try { |
|
|
|
if(inputStream!=null){ |
|
|
|
inputStream.close(); |
|
|
|
} |
|
|
|
} catch (IOException e) { |
|
|
|
e.printStackTrace(); |
|
|
|
} |
|
|
|
} |
|
|
|
return R.error(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|