package com.ydtech.modules.console.controller; import com.alibaba.excel.EasyExcel; import com.ydtech.constants.enums.dict.InsOrderStatusAllEnum; import com.ydtech.core.page.HttpResult; import com.ydtech.modules.base.controller.BaseController; import com.ydtech.modules.console.dto.BigOrderUploadDto; import com.ydtech.modules.console.service.UpLoadOrderService; import com.ydtech.modules.console.vo.BigOrderUploadVo; import com.ydtech.modules.fnc.service.InsExcelTaskAsyncService; import com.ydtech.modules.inv.utils.excel.CustomMultiFieldMergeStrategy; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.util.List; import java.util.stream.Collectors; import java.util.stream.Stream; /** * @version * @author: hxl * @Date: 2025/1/9 11:27 * @Description: 大订单的导出功能 */ @Api(tags = "控制台导出功能") @RestController @RequestMapping("/upload") public class UploadOrderController { @Autowired private UpLoadOrderService upLoadOrderService; @Value("${upload.file.path}") private String uploadPath; @Value("${upload.file.url}") private String uploadUrl; @Autowired private InsExcelTaskAsyncService insExcelTaskAsyncService; @PostMapping("/bigOrderCountUpload") @ApiOperation(value = "大订单导出导出明细功能") public HttpResult bigOrderCountUpload(@RequestBody BigOrderUploadVo bigOrderUploadVo) { String userId = BaseController.getUserId(); List list = upLoadOrderService.uploadExcelData(bigOrderUploadVo); insExcelTaskAsyncService.importasyncBigOrder(list,userId); // if(list!=null && !list.isEmpty()){ // for (BigOrderUploadDto bigOrderUploadDto : list) { // String orderStatus=""; // if(InsOrderStatusAllEnum.matchKey(bigOrderUploadDto.getOrderStatus())!=null){ // orderStatus=InsOrderStatusAllEnum.matchKey(bigOrderUploadDto.getOrderStatus()).getDesc(); // } // String subOrderStatus=""; // if(InsOrderStatusAllEnum.matchKey(bigOrderUploadDto.getSubOrderStatus())!=null){ // subOrderStatus=InsOrderStatusAllEnum.matchKey(bigOrderUploadDto.getSubOrderStatus()).getDesc(); // } // bigOrderUploadDto.setOrderStatus(orderStatus); // bigOrderUploadDto.setSubOrderStatus(subOrderStatus); // } // } // String uploadPath = this.uploadPath + "/excel/"; // Path path = Paths.get(uploadPath); // if (!Files.exists(path)) { // try { // Files.createDirectories(path); // } catch (IOException e) { // e.printStackTrace(); // } // } // // String file = "大订单导出数据" + System.currentTimeMillis() + ".xlsx"; // String filePath = uploadPath + file; // List mergeAllColIndexList = Stream.of(0, 1, 2, 3, 4, 5, 6).collect(Collectors.toList()); // EasyExcel.write(filePath, BigOrderUploadDto.class) // .sheet("1") // .registerWriteHandler(new CustomMultiFieldMergeStrategy(mergeAllColIndexList)) // .doWrite(list); // return HttpResult.ok("", uploadUrl + "excel/" + file); return HttpResult.ok(); } }