From fa12edbdcfdb5e9e63d7e19d21906b3f83df6499 Mon Sep 17 00:00:00 2001 From: litao Date: Fri, 19 May 2023 19:00:33 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AC=AC=E4=B8=89=E6=96=B9=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/WorkOrderController.java | 77 +++++++++++ .../entity/InsertTodealByPollCode.java | 122 ++++++++++++++++++ .../workorder/util/RestTemplateConfig.java | 35 +++++ 3 files changed, 234 insertions(+) create mode 100644 lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/workorder/entity/InsertTodealByPollCode.java create mode 100644 lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/workorder/util/RestTemplateConfig.java diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/workorder/controller/WorkOrderController.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/workorder/controller/WorkOrderController.java index 3cc3581..d9510d1 100644 --- a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/workorder/controller/WorkOrderController.java +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/workorder/controller/WorkOrderController.java @@ -1,6 +1,7 @@ package org.springblade.plugin.operation.workorder.controller; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; @@ -14,6 +15,7 @@ import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; import org.springblade.plugin.operation.task.entity.TaskInfo; import org.springblade.plugin.operation.task.service.ITaskInfoService; +import org.springblade.plugin.operation.workorder.entity.InsertTodealByPollCode; import org.springblade.plugin.operation.workorder.entity.WorkOrder; import org.springblade.plugin.operation.workorder.service.IWorkOrderService; import org.springblade.system.cache.DictBizCache; @@ -22,7 +24,14 @@ import org.springblade.system.entity.DictBiz; import org.springblade.system.feign.ISysClient; import org.springblade.system.user.entity.User; import org.springblade.system.user.feign.IUserClient; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpEntity; +import org.springframework.http.HttpHeaders; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; +import org.springframework.web.client.RestClientException; +import org.springframework.web.client.RestTemplate; import javax.servlet.http.HttpServletResponse; import java.text.ParseException; @@ -46,6 +55,9 @@ public class WorkOrderController extends BladeController { private final ISysClient sysClient; private final IUserClient userClient; + private RestTemplate restTemplate; +// private RestTemplateToInterface restTemplateToInterface; + /** * 流程中心 */ @@ -118,6 +130,71 @@ public class WorkOrderController extends BladeController { */ @GetMapping("/workOrderRecord") public R> workOrderRecord(WorkOrder workOrder, Query query) { + InsertTodealByPollCode code = new InsertTodealByPollCode(); + code.setTodealGuid("{20180407-1554-0306-6507-00FF718FC7C2}"); + code.setFileGuid("{20180407-1554-0306-6507-00FF718FC7C2}"); +// code.setFlowGuid(""); + code.setTitle("测试标题"); + code.setDocType("2"); + code.setReceiveLocalPerson("qdsn.dsjyyk"); + code.setReceiveLocalPersonGuid("{9DEEE6C9-1419-47FF-B76D-4BF3753CC00A}"); + code.setSendperson("qdsn.dsjyyk"); + code.setSendpersonGuid("{9DEEE6C9-1419-47FF-B76D-4BF3753CC00A}"); + code.setTypeName("其他"); +// code.setKeyNumber("20"); + code.setIsout("0"); +// code.setUrl(""); + code.setOpenFlag("1"); + code.setIsReply("0"); + code.setIsTop("0"); + code.setFromExchangeCode("00020000000000000001"); + code.setToExchangeCode("00020000000000000001"); + code.setPollCode("000000"); + + + // String s = restTemplateToInterface.doPostWith1("http://15.72.158.155/jhoa200/OAReceiver/OuterSystemOAReceiver.asmx", code); + + HttpHeaders headers = new HttpHeaders(); + MediaType type = MediaType.parseMediaType("application/json; charset=UTF-8"); + headers.setContentType(type); + headers.add("Accept", MediaType.APPLICATION_JSON.toString()); + + JSONObject param = new JSONObject(); + param.put("todealGuid", code.getTodealGuid()); + param.put("fileGuid", code.getFileGuid()); +// param.put("flowGuid", code.getTodealGuid()); + param.put("title", code.getTitle()); + param.put("docType", code.getDocType()); + param.put("receiveLocalPerson", code.getReceiveLocalPerson()); + param.put("receiveLocalPersonGuid", code.getReceiveLocalPersonGuid()); + param.put("sendperson", code.getSendperson()); + param.put("sendpersonGuid", code.getSendpersonGuid()); + param.put("typeName", code.getTypeName()); +// param.put("keyNumber", code.getTodealGuid()); + param.put("isout", code.getIsout()); +// param.put("url", code.getTodealGuid()); + param.put("openFlag", code.getOpenFlag()); + param.put("isReply", code.getIsReply()); + param.put("isTop", code.getIsTop()); + param.put("fromExchangeCode", code.getFromExchangeCode()); + param.put("toExchangeCode", code.getToExchangeCode()); + param.put("pollCode", code.getPollCode()); + // 2.设置请求体的参数 +// HttpEntity formEntity = new HttpEntity<>(code, headers); + HttpEntity formEntity = new HttpEntity(param.toString(), headers); + + System.out.println("============================================="); + System.out.println(code); + String url = "http://15.72.158.155/jhoa200/OAReceiver/OuterSystemOAReceiver.asmx"; + ResponseEntity responseEntity = null; + try { + responseEntity = restTemplate.postForEntity(url, formEntity, String.class); + } catch (RestClientException e) { + System.out.println(e.toString()); + } + System.out.println("结果:" + responseEntity.getBody()); + System.out.println("============================================="); + return R.data(workOrderService.myPage(workOrder, query)); } diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/workorder/entity/InsertTodealByPollCode.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/workorder/entity/InsertTodealByPollCode.java new file mode 100644 index 0000000..e2ee34a --- /dev/null +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/workorder/entity/InsertTodealByPollCode.java @@ -0,0 +1,122 @@ +package org.springblade.plugin.operation.workorder.entity; + +import lombok.Data; + +@Data +public class InsertTodealByPollCode { + + /** + * 待办GUID唯一标识(38 位字符串) + * 是 + */ + private String todealGuid; + + /** + * 文件 GUID(38位字符串) + * 是 + */ + private String fileGuid; + + /** + * 流程唯一标示(38位字符串) + * 否 + */ + private String flowGuid; + + /** + * 文件标题 + * 是 + */ + private String title; + + /** + * 栏目号(可默认2) + * 是 + */ + private String docType; + + /** + * 接收人用户 之间用';'分割 + * 是 + */ + private String receiveLocalPerson; + + /** + * 接收人Guid 之间用';'分割 + * 是 + */ + private String receiveLocalPersonGuid; + + /** + * 发送人名 + * 是 + */ + private String sendperson; + + /** + * 发送人 GUID((36位字符串)) + * 是 + */ + private String sendpersonGuid; + + /** + * 栏目名(可默认其他) + * 是 + */ + private String typeName; + + /** + * 字号 + * 否 + */ + private String keyNumber; + + /** + * 是否是外链,0 无外链;1:外链 + * 是 + */ + private String isout; + + /** + * 外链地址 + * 否 + */ + private String url; + + /** + * 打开方式 1 新开 0进入 + * 是 + */ + private String openFlag; + + /** + * 是否是回复件 0不是 1 是 主要用于便笺 + * 是 + */ + private String isReply; + + /** + * 是否置顶 1 置顶;0 不置顶 + * 是 + */ + private String isTop; + + /** + * 来源信息交换码(人员中获取) + * 是 + */ + private String fromExchangeCode; + + /** + * 目的地信息交换码(人员中获取) + * 是 + */ + private String toExchangeCode; + + /** + * 注册码 + * 是 + */ + private String pollCode; + +} diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/workorder/util/RestTemplateConfig.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/workorder/util/RestTemplateConfig.java new file mode 100644 index 0000000..1018c5a --- /dev/null +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/workorder/util/RestTemplateConfig.java @@ -0,0 +1,35 @@ +package org.springblade.plugin.operation.workorder.util; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.http.client.ClientHttpRequestFactory; +import org.springframework.http.client.SimpleClientHttpRequestFactory; +import org.springframework.web.client.RestTemplate; + +@Configuration +public class RestTemplateConfig { + +// @Bean +// public RestTemplate restTemplate(){ +// // RestTemplate restTemplate = new RestTemplate(); +// //设置中文乱码问题方式一 +// // restTemplate.getMessageConverters().add(1,new StringHttpMessageConverter(Charset.forName("UTF-8"))); +// // 设置中文乱码问题方式二 +// // restTemplate.getMessageConverters().set(1,new StringHttpMessageConverter(StandardCharsets.UTF_8)); // 支持中文编码 +// return new RestTemplate(); +// } + + @Bean + public RestTemplate restTemplate(ClientHttpRequestFactory factory){ + return new RestTemplate(factory); + } + + @Bean + public ClientHttpRequestFactory simpleClientHttpRequestFactory(){ + SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory(); + factory.setConnectTimeout(20000); + factory.setReadTimeout(30000); + return factory; + } + +}