NatOrderController.java 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. package com.ywt.mg.web.controllers;
  2. import com.ywt.mg.core.MGRight;
  3. import com.ywt.mg.core.utils.Checker;
  4. import com.ywt.mg.core.utils.serializers.JsonSerializer;
  5. import com.ywt.mg.domain.models.ConstantDef;
  6. import com.ywt.mg.params.natOrder.NatOrderListRequest;
  7. import com.ywt.mg.services.AuthService;
  8. import com.ywt.mg.services.DownloadRecordService;
  9. import com.ywt.mg.services.IdGenerator;
  10. import com.ywt.mg.services.NatOrderService;
  11. import com.ywt.mg.web.BaseResponse;
  12. import org.slf4j.Logger;
  13. import org.slf4j.LoggerFactory;
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.web.bind.annotation.RequestBody;
  16. import org.springframework.web.bind.annotation.RequestMapping;
  17. import org.springframework.web.bind.annotation.RestController;
  18. @RestController("/natOrder")
  19. @RequestMapping({"/natOrder"})
  20. @MGRight
  21. public class NatOrderController {
  22. private static Logger logger = LoggerFactory.getLogger(NatOrderController.class);
  23. @Autowired
  24. private IdGenerator idGenerator;
  25. @Autowired
  26. private DownloadRecordService downloadRecordService;
  27. @Autowired
  28. private AuthService authService;
  29. @Autowired
  30. private NatOrderService natOrderService;
  31. @RequestMapping({"/downloadNatOrderList"})
  32. public BaseResponse downloadNatOrderList(@RequestBody NatOrderListRequest request) {
  33. int currentAdminId = Checker.getIntegerValue(authService.getCurrentAdminId());
  34. // request.setCurrentAdminId(currentAdminId);
  35. // 插入记录
  36. int downloadRecordId = idGenerator.genDownloadRecordId();
  37. String name = "核酸检测缴费";
  38. String fileName = "核酸检测缴费";
  39. String excelSuffixFormat = ConstantDef.EXCEL_SUFFIX_FORMAT;
  40. String paramUrl = "/natOrder/downloadNatOrderList";
  41. String paramJson = JsonSerializer.toJson(request);
  42. downloadRecordService.getOrInsertDownloadRecord(downloadRecordId, name, fileName + excelSuffixFormat, paramUrl, paramJson);
  43. Thread t = new Thread() {
  44. @Override
  45. public void run() {
  46. natOrderService.downloadNatOrderList(downloadRecordId, fileName, request);
  47. //
  48. }
  49. };
  50. t.start();
  51. return new BaseResponse().succeed("后台下载中...");
  52. }
  53. }