SHHWController.java 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. package com.malk.shanghaishiwei.controller;
  2. import com.alibaba.fastjson.JSON;
  3. import com.malk.Util.UtilFile;
  4. import com.malk.Util.UtilHttp;
  5. import com.malk.Util.UtilMap;
  6. import com.malk.Util.UtilServlet;
  7. import com.malk.server.common.FilePath;
  8. import com.malk.server.common.McException;
  9. import com.malk.server.common.McR;
  10. import com.malk.shanghaishiwei.service.HTClient;
  11. import com.malk.shanghaishiwei.service.HTService;
  12. import lombok.extern.slf4j.Slf4j;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.web.bind.annotation.*;
  15. import java.io.File;
  16. import java.util.Map;
  17. /**
  18. * 错误抛出与拦截详见CatchException
  19. */
  20. @Slf4j
  21. @RestController
  22. @RequestMapping("/shanghaishiwei")
  23. public class SHHWController {
  24. @Autowired
  25. private HTClient htClient;
  26. @Autowired
  27. private HTService htService;
  28. @PostMapping("h3yun-http")
  29. McR http(@RequestBody Map<String, String> data, @RequestParam("code") String code) {
  30. log.info("氚云http请求, code = {}, body = {}", code, JSON.toJSONString(data));
  31. switch (code) {
  32. case "approve": {
  33. String fileNames = htService.approveContract(data);
  34. return McR.success(UtilMap.map("fileNames", fileNames));
  35. }
  36. // 对象响应【氚云自定义字段,需要通过[]直接取值才有效,序列化后返回前端,仅会保留结构】
  37. case "types":
  38. return McR.success(UtilMap.map("types", JSON.toJSONString(htClient.listContractType())));
  39. case "delete":
  40. htService.deleteContract(data);
  41. break;
  42. case "file": {
  43. // prd: 后补盖章附件
  44. String fileNames = htService.addAttachments(data, null);
  45. return McR.success(UtilMap.map("fileNames", fileNames));
  46. }
  47. default:
  48. McException.exceptionAccess("code 不合法");
  49. break;
  50. }
  51. return McR.success();
  52. }
  53. ////// test //////
  54. /**
  55. * 采购合同类型
  56. */
  57. @PostMapping("listContractType")
  58. McR listContractType() {
  59. return McR.success(htClient.listContractType());
  60. }
  61. /**
  62. * 添加采购合同
  63. */
  64. @PostMapping("addPurchaseContact")
  65. McR test(@RequestBody Map data) {
  66. McException.assertParamException_Null(UtilServlet.isNull(data, "origionContractCode"));
  67. return McR.success(htClient.addPurchaseContact(data));
  68. }
  69. /**
  70. * 删除采购合同
  71. */
  72. @PostMapping("deletePurchaseContract")
  73. McR test2(@RequestBody Map<String, String> data) {
  74. McException.assertParamException_Null(UtilServlet.isNull(data, "origionContractCode"));
  75. return McR.success(htClient.deletePurchaseContract(data.get("origionContractCode")));
  76. }
  77. /**
  78. * 添加采购合同条款
  79. */
  80. @PostMapping("addTermsContract")
  81. McR addTermsContract(@RequestBody Map data) {
  82. McException.assertParamException_Null(UtilServlet.isNull(data, "origionContractCode"));
  83. return McR.success(htClient.addTermsContract(data));
  84. }
  85. /**
  86. * 删除采购合同条款
  87. */
  88. @PostMapping("deleteTermsContract")
  89. McR deleteTermsContract(@RequestBody Map<String, String> data) {
  90. McException.assertParamException_Null(UtilServlet.isNull(data, "origionContractCode", "datetime", "agreementType"));
  91. return McR.success(htClient.deleteTermsContract(data.get("origionContractCode"), data.get("datetime"), UtilMap.getInt(data, "agreementType")));
  92. }
  93. @Autowired
  94. private FilePath filePath;
  95. /**
  96. * 添加采购合同附件
  97. */
  98. @PostMapping("addAttachmentContract")
  99. McR addAttachmentContract(@RequestBody Map data) {
  100. McException.assertParamException_Null(UtilServlet.isNull(data, "origionContractCode, attachmentUrl"));
  101. // 拼接与氚云记录 [删除]
  102. String urlFile = data.get("attachmentUrl").toString();
  103. // String fileType = urlFile.substring(urlFile.lastIndexOf(".")).toLowerCase();
  104. // String fileName = data.get("origionContractCode") + fileType;
  105. String fileType = "xlsx";
  106. String fileName = "cc.xlsx";
  107. File file = UtilFile.mkdirIfNot(fileName, filePath.getPath().getFile());
  108. UtilHttp.doDownload(urlFile, file);
  109. data.put("fileType", fileType);
  110. data.put("fileName", fileName);
  111. data.put("contractType", 1); // 采购合同
  112. // data.put("Scanning", UtilFile.fileConvertToByteArray(new File("/Users/malk/Desktop/api.pdf")));
  113. data.put("Scanning", UtilFile.fileConvertToByteArray(file));
  114. return McR.success(htClient.addAttachmentContract(data));
  115. }
  116. /**
  117. * 删除采购合同附件
  118. */
  119. @PostMapping("deleteAttachmentContract")
  120. McR deleteAttachmentContract(@RequestBody Map<String, String> data) {
  121. McException.assertParamException_Null(UtilServlet.isNull(data, "origionContractCode"));
  122. String fileType = "pdf";
  123. String fileName = "origionContractCode.pdf";
  124. return McR.success(htClient.deleteAttachmentContract(data.get("origionContractCode"), fileType, fileName));
  125. }
  126. }