import cn.hutool.core.date.DateUtil; import cn.hutool.core.io.FileUtil; import com.alibaba.excel.EasyExcelFactory; import com.qunzhixinxi.hnqz.admin.api.feign.RemoteScorePackageService; import com.qunzhixinxi.hnqz.admin.api.model.WmScorePackageSettleExcelModel; import com.qunzhixinxi.hnqz.common.core.constant.SecurityConstants; import com.qunzhixinxi.hnqz.daemon.quartz.HnqzDaemonQuartzApplication; import com.qunzhixinxi.hnqz.daemon.quartz.config.LocalDateTimeConverter; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.nio.file.Files; import java.time.LocalDate; import java.time.LocalDateTime; import java.util.HashMap; import java.util.List; import java.util.Map; /** * @author lixuesong * @date 2024/02/23 */ @RunWith(SpringJUnit4ClassRunner.class) @SpringBootTest(classes = HnqzDaemonQuartzApplication.class) public class RemoteScorePackageServiceTest { @Autowired private RemoteScorePackageService remoteScorePackageService; // @Test public void exportPackageSettleTest() { Map reqParams = new HashMap<>(); reqParams.put("sendPackageDeptId", 1611890565); LocalDateTime startOfDay = LocalDate.now().minusDays(100L).atStartOfDay(); LocalDateTime endOfDay = startOfDay.plusDays(100L); reqParams.put("notifyTime", new LocalDateTime[]{startOfDay, endOfDay}); List excelModels = remoteScorePackageService.exportPackageSettle(reqParams, SecurityConstants.FROM_IN); ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); EasyExcelFactory.write(byteArrayOutputStream, WmScorePackageSettleExcelModel.class) .registerConverter(new LocalDateTimeConverter()) .autoCloseStream(false).sheet("本企业结算成功数据") .doWrite(excelModels); File file = new File("D:\\li312\\Desktop\\tmp\\" + DateUtil.today() + ".xlsx"); try { byteArrayOutputStream.writeTo(Files.newOutputStream(file.toPath())); } catch (IOException e) { throw new RuntimeException(e); } } }