123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148 |
- package com.malk.shanghaishiwei.controller;
- import com.alibaba.fastjson.JSON;
- import com.malk.Util.UtilFile;
- import com.malk.Util.UtilHttp;
- import com.malk.Util.UtilMap;
- import com.malk.Util.UtilServlet;
- import com.malk.server.common.FilePath;
- import com.malk.server.common.McException;
- import com.malk.server.common.McR;
- import com.malk.shanghaishiwei.service.HTClient;
- import com.malk.shanghaishiwei.service.HTService;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.*;
- import java.io.File;
- import java.util.Map;
- /**
- * 错误抛出与拦截详见CatchException
- */
- @Slf4j
- @RestController
- @RequestMapping("/shanghaishiwei")
- public class SHHWController {
- @Autowired
- private HTClient htClient;
- @Autowired
- private HTService htService;
- @PostMapping("h3yun-http")
- McR http(@RequestBody Map<String, String> data, @RequestParam("code") String code) {
- log.info("氚云http请求, code = {}, body = {}", code, JSON.toJSONString(data));
- switch (code) {
- case "approve": {
- String fileNames = htService.approveContract(data);
- return McR.success(UtilMap.map("fileNames", fileNames));
- }
- // 对象响应【氚云自定义字段,需要通过[]直接取值才有效,序列化后返回前端,仅会保留结构】
- case "types":
- return McR.success(UtilMap.map("types", JSON.toJSONString(htClient.listContractType())));
- case "delete":
- htService.deleteContract(data);
- break;
- case "file": {
- // prd: 后补盖章附件
- String fileNames = htService.addAttachments(data, null);
- return McR.success(UtilMap.map("fileNames", fileNames));
- }
- default:
- McException.exceptionAccess("code 不合法");
- break;
- }
- return McR.success();
- }
- ////// test //////
- /**
- * 采购合同类型
- */
- @PostMapping("listContractType")
- McR listContractType() {
- return McR.success(htClient.listContractType());
- }
- /**
- * 添加采购合同
- */
- @PostMapping("addPurchaseContact")
- McR test(@RequestBody Map data) {
- McException.assertParamException_Null(UtilServlet.isNull(data, "origionContractCode"));
- return McR.success(htClient.addPurchaseContact(data));
- }
- /**
- * 删除采购合同
- */
- @PostMapping("deletePurchaseContract")
- McR test2(@RequestBody Map<String, String> data) {
- McException.assertParamException_Null(UtilServlet.isNull(data, "origionContractCode"));
- return McR.success(htClient.deletePurchaseContract(data.get("origionContractCode")));
- }
- /**
- * 添加采购合同条款
- */
- @PostMapping("addTermsContract")
- McR addTermsContract(@RequestBody Map data) {
- McException.assertParamException_Null(UtilServlet.isNull(data, "origionContractCode"));
- return McR.success(htClient.addTermsContract(data));
- }
- /**
- * 删除采购合同条款
- */
- @PostMapping("deleteTermsContract")
- McR deleteTermsContract(@RequestBody Map<String, String> data) {
- McException.assertParamException_Null(UtilServlet.isNull(data, "origionContractCode", "datetime", "agreementType"));
- return McR.success(htClient.deleteTermsContract(data.get("origionContractCode"), data.get("datetime"), UtilMap.getInt(data, "agreementType")));
- }
- @Autowired
- private FilePath filePath;
- /**
- * 添加采购合同附件
- */
- @PostMapping("addAttachmentContract")
- McR addAttachmentContract(@RequestBody Map data) {
- McException.assertParamException_Null(UtilServlet.isNull(data, "origionContractCode, attachmentUrl"));
- // 拼接与氚云记录 [删除]
- String urlFile = data.get("attachmentUrl").toString();
- // String fileType = urlFile.substring(urlFile.lastIndexOf(".")).toLowerCase();
- // String fileName = data.get("origionContractCode") + fileType;
- String fileType = "xlsx";
- String fileName = "cc.xlsx";
- File file = UtilFile.mkdirIfNot(fileName, filePath.getPath().getFile());
- UtilHttp.doDownload(urlFile, file);
- data.put("fileType", fileType);
- data.put("fileName", fileName);
- data.put("contractType", 1); // 采购合同
- // data.put("Scanning", UtilFile.fileConvertToByteArray(new File("/Users/malk/Desktop/api.pdf")));
- data.put("Scanning", UtilFile.fileConvertToByteArray(file));
- return McR.success(htClient.addAttachmentContract(data));
- }
- /**
- * 删除采购合同附件
- */
- @PostMapping("deleteAttachmentContract")
- McR deleteAttachmentContract(@RequestBody Map<String, String> data) {
- McException.assertParamException_Null(UtilServlet.isNull(data, "origionContractCode"));
- String fileType = "pdf";
- String fileName = "origionContractCode.pdf";
- return McR.success(htClient.deleteAttachmentContract(data.get("origionContractCode"), fileType, fileName));
- }
- }
|