UploadOrderController.java 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. package com.ydtech.modules.console.controller;
  2. import com.alibaba.excel.EasyExcel;
  3. import com.ydtech.constants.enums.dict.InsOrderStatusAllEnum;
  4. import com.ydtech.core.page.HttpResult;
  5. import com.ydtech.modules.base.controller.BaseController;
  6. import com.ydtech.modules.console.dto.BigOrderUploadDto;
  7. import com.ydtech.modules.console.service.UpLoadOrderService;
  8. import com.ydtech.modules.console.vo.BigOrderUploadVo;
  9. import com.ydtech.modules.fnc.service.InsExcelTaskAsyncService;
  10. import com.ydtech.modules.inv.utils.excel.CustomMultiFieldMergeStrategy;
  11. import io.swagger.annotations.Api;
  12. import io.swagger.annotations.ApiOperation;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.beans.factory.annotation.Value;
  15. import org.springframework.web.bind.annotation.PostMapping;
  16. import org.springframework.web.bind.annotation.RequestBody;
  17. import org.springframework.web.bind.annotation.RequestMapping;
  18. import org.springframework.web.bind.annotation.RestController;
  19. import java.io.IOException;
  20. import java.nio.file.Files;
  21. import java.nio.file.Path;
  22. import java.nio.file.Paths;
  23. import java.util.List;
  24. import java.util.stream.Collectors;
  25. import java.util.stream.Stream;
  26. /**
  27. * @version
  28. * @author: hxl
  29. * @Date: 2025/1/9 11:27
  30. * @Description: 大订单的导出功能
  31. */
  32. @Api(tags = "控制台导出功能")
  33. @RestController
  34. @RequestMapping("/upload")
  35. public class UploadOrderController {
  36. @Autowired
  37. private UpLoadOrderService upLoadOrderService;
  38. @Value("${upload.file.path}")
  39. private String uploadPath;
  40. @Value("${upload.file.url}")
  41. private String uploadUrl;
  42. @Autowired
  43. private InsExcelTaskAsyncService insExcelTaskAsyncService;
  44. @PostMapping("/bigOrderCountUpload")
  45. @ApiOperation(value = "大订单导出导出明细功能")
  46. public HttpResult bigOrderCountUpload(@RequestBody BigOrderUploadVo bigOrderUploadVo) {
  47. String userId = BaseController.getUserId();
  48. List<BigOrderUploadDto> list = upLoadOrderService.uploadExcelData(bigOrderUploadVo);
  49. insExcelTaskAsyncService.importasyncBigOrder(list,userId);
  50. // if(list!=null && !list.isEmpty()){
  51. // for (BigOrderUploadDto bigOrderUploadDto : list) {
  52. // String orderStatus="";
  53. // if(InsOrderStatusAllEnum.matchKey(bigOrderUploadDto.getOrderStatus())!=null){
  54. // orderStatus=InsOrderStatusAllEnum.matchKey(bigOrderUploadDto.getOrderStatus()).getDesc();
  55. // }
  56. // String subOrderStatus="";
  57. // if(InsOrderStatusAllEnum.matchKey(bigOrderUploadDto.getSubOrderStatus())!=null){
  58. // subOrderStatus=InsOrderStatusAllEnum.matchKey(bigOrderUploadDto.getSubOrderStatus()).getDesc();
  59. // }
  60. // bigOrderUploadDto.setOrderStatus(orderStatus);
  61. // bigOrderUploadDto.setSubOrderStatus(subOrderStatus);
  62. // }
  63. // }
  64. // String uploadPath = this.uploadPath + "/excel/";
  65. // Path path = Paths.get(uploadPath);
  66. // if (!Files.exists(path)) {
  67. // try {
  68. // Files.createDirectories(path);
  69. // } catch (IOException e) {
  70. // e.printStackTrace();
  71. // }
  72. // }
  73. //
  74. // String file = "大订单导出数据" + System.currentTimeMillis() + ".xlsx";
  75. // String filePath = uploadPath + file;
  76. // List<Integer> mergeAllColIndexList = Stream.of(0, 1, 2, 3, 4, 5, 6).collect(Collectors.toList());
  77. // EasyExcel.write(filePath, BigOrderUploadDto.class)
  78. // .sheet("1")
  79. // .registerWriteHandler(new CustomMultiFieldMergeStrategy(mergeAllColIndexList))
  80. // .doWrite(list);
  81. // return HttpResult.ok("", uploadUrl + "excel/" + file);
  82. return HttpResult.ok();
  83. }
  84. }