QysHuiDaoController.java 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. package com.malk.ruisi.controller;
  2. import com.malk.ruisi.service.RsQysService;
  3. import com.malk.server.aliwork.YDConf;
  4. import com.malk.server.common.McR;
  5. import org.springframework.core.io.Resource;
  6. import org.springframework.core.io.UrlResource;
  7. import com.malk.server.dingtalk.DDConf;
  8. import com.malk.service.aliwork.YDClient;
  9. import lombok.extern.slf4j.Slf4j;
  10. import org.springframework.beans.factory.annotation.Autowired;
  11. import org.springframework.http.HttpHeaders;
  12. import org.springframework.http.MediaType;
  13. import org.springframework.http.ResponseEntity;
  14. import org.springframework.web.bind.annotation.*;
  15. import java.io.File;
  16. import java.io.IOException;
  17. import java.net.MalformedURLException;
  18. import java.nio.file.Path;
  19. import java.nio.file.Paths;
  20. import java.util.Map;
  21. @RestController
  22. @Slf4j
  23. @RequestMapping("/qys")
  24. public class QysHuiDaoController {
  25. @Autowired
  26. private RsQysService qysService;
  27. @Autowired
  28. private YDClient ydClient;
  29. @Autowired
  30. private YDConf ydConf;
  31. @Autowired
  32. private DDConf ddConf;
  33. /***
  34. * 第三步
  35. * 契约锁签署完成回调、保存文件
  36. * @return
  37. */
  38. @PostMapping("/callback")
  39. public McR callback(@RequestParam Map<String, String> param) throws Exception {
  40. log.info("callback:{}", param);
  41. //
  42. //1.content解析为json字符 并获得contractId
  43. //2.根据contractId 获取附件到本地获得一个本地地址 接口:/contract/download zip保存到本地 并解压zip
  44. //3.根据contractId查询对应的数据实例ID,根据实例ID把本地地址对的文件传到对应的 附件签署后
  45. //("attachmentField_ltsbweit",文件)
  46. return qysService.callback(param);
  47. }
  48. private static final String FILE_DIRECTORY = "C:\\Users\\Administrator\\Desktop\\";
  49. @GetMapping("/download/{sn}/{fileName}")
  50. public ResponseEntity<Resource> downloadFile(@PathVariable String fileName,@PathVariable String sn) {
  51. Path filePath = Paths.get(FILE_DIRECTORY.concat(sn.concat("\\"))).resolve(fileName).normalize();
  52. try {
  53. Resource resource = new UrlResource(filePath.toUri());
  54. if (resource.exists()) {
  55. HttpHeaders headers = new HttpHeaders();
  56. headers.add(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=" + resource.getFilename());
  57. return ResponseEntity.ok()
  58. .headers(headers)
  59. .contentType(MediaType.parseMediaType("application/octet-stream"))
  60. .body(resource);
  61. } else {
  62. return ResponseEntity.notFound().build();
  63. }
  64. } catch (MalformedURLException e) {
  65. return ResponseEntity.notFound().build();
  66. } catch (IOException e) {
  67. return ResponseEntity.notFound().build();
  68. }
  69. }
  70. }