From 41e34712dcada0c3c4a50fe682d6f34d5f8f63b3 Mon Sep 17 00:00:00 2001 From: PoffyZhang <99775271@qq.com> Date: Mon, 14 Aug 2023 15:39:26 +0800 Subject: [PATCH] =?UTF-8?q?wps=20=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ding/controller/DingInfoPullController.java | 2 +- .../ningdatech/pmapi/irs/manage/AppIrsManage.java | 2 +- .../JoinReviewProvincialBureauServiceImpl.java | 2 +- .../pmapi/wps/controller/WpsConvertController.java | 46 ++++++++++++++++- pmapi/src/main/resources/security/auth-dev.yml | 2 + pmapi/src/main/resources/security/auth-pre.yml | 2 + pmapi/src/main/resources/security/auth-prod.yml | 2 + .../java/com/ningdatech/pmapi/irs/irsTest4.java | 60 ++++++++++++++++++++++ 8 files changed, 113 insertions(+), 5 deletions(-) create mode 100644 pmapi/src/test/java/com/ningdatech/pmapi/irs/irsTest4.java diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/ding/controller/DingInfoPullController.java b/pmapi/src/main/java/com/ningdatech/pmapi/ding/controller/DingInfoPullController.java index 177a979..056343a 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/ding/controller/DingInfoPullController.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/ding/controller/DingInfoPullController.java @@ -51,7 +51,7 @@ public class DingInfoPullController { private final ProcDefManage procDefManage; - @Resource(name = "refreshToken") + @Resource private IRefreshTokenService refreshTokenService; @Value("${irs.interface-refresh.request-token-url}") diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/irs/manage/AppIrsManage.java b/pmapi/src/main/java/com/ningdatech/pmapi/irs/manage/AppIrsManage.java index 6120d4c..89386af 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/irs/manage/AppIrsManage.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/irs/manage/AppIrsManage.java @@ -73,7 +73,7 @@ public class AppIrsManage { @Value("${irs.search-app.url}") private String searchUrl; - @Resource(name = "refreshToken") + @Resource private IRefreshTokenService refreshTokenService; @Value("${irs.interface-refresh.request-token-url}") diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/provincial/service/impl/JoinReviewProvincialBureauServiceImpl.java b/pmapi/src/main/java/com/ningdatech/pmapi/provincial/service/impl/JoinReviewProvincialBureauServiceImpl.java index a1deded..1cef45c 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/provincial/service/impl/JoinReviewProvincialBureauServiceImpl.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/provincial/service/impl/JoinReviewProvincialBureauServiceImpl.java @@ -50,7 +50,7 @@ public class JoinReviewProvincialBureauServiceImpl implements IJoinReviewProvinc @Autowired private RestTemplate restTemplate; - @Resource(name = "refreshToken") + @Resource private IRefreshTokenService refreshTokenService; @Value("${irs.interface-refresh.request-token-url}") diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/wps/controller/WpsConvertController.java b/pmapi/src/main/java/com/ningdatech/pmapi/wps/controller/WpsConvertController.java index 3f99b18..6e4fa39 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/wps/controller/WpsConvertController.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/wps/controller/WpsConvertController.java @@ -1,12 +1,22 @@ package com.ningdatech.pmapi.wps.controller; +import com.ningdatech.irs.service.IRefreshTokenService; +import com.ningdatech.pmapi.common.util.CryptUtils; +import com.ningdatech.pmapi.common.util.HttpUtil; import com.wps.manage.WpsConvertManage; import io.swagger.annotations.Api; -import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.http.HttpMethod; +import org.springframework.http.ResponseEntity; +import org.springframework.http.client.HttpComponentsClientHttpRequestFactory; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.client.RestTemplate; +import java.security.NoSuchAlgorithmException; +import java.util.Objects; /** * @Classname WpsConvertController @@ -16,13 +26,45 @@ import org.springframework.web.bind.annotation.RestController; */ @Slf4j @RestController -@AllArgsConstructor @Api(tags = "待办中心控制器") @RequestMapping("/api/v1/wps-convert") public class WpsConvertController { + @Autowired + private IRefreshTokenService refreshTokenService; + + @Value("${irs.interface-refresh.request-token-url}") + private String govRequestTokenUrl; + @Value("${irs.interface-refresh.refresh-token-url}") + private String govRefreshTokenUrl; @GetMapping("/office2pdf") public String office2pdf(){ return WpsConvertManage.offs2Pdf(); } + + @GetMapping("/test-core") + public String testCore() throws NoSuchAlgorithmException { + long timestamp = System.currentTimeMillis(); + String appSecret = "496f0f2a19994f76b4fd9dae087366c7"; + String appKey = "A331101453557202109017383"; + + String secret = refreshTokenService.refreshToken(appKey, appSecret, govRequestTokenUrl, govRefreshTokenUrl, + "Fc3re2cq7r64Qfa7", HttpMethod.POST.name()); + String sign = CryptUtils.MD5Encode(appKey + secret + timestamp); + HttpComponentsClientHttpRequestFactory factory = HttpUtil.generateHttpRequestFactory(); + RestTemplate restTemplate; + if(Objects.nonNull(factory)){ + restTemplate = new RestTemplate(factory); + }else{ + restTemplate = new RestTemplate(); + } + + String url = "https://interface.zjzwfw.gov.cn/gateway/api/001008012012001/dataSharing/Fc3re2cq7r64Qfa7.htm?" + + "dingCode=&matterName=&oid=&useState=1&limit=1000&page=1" + + "&appKey=" + appKey + "&sign=" + sign + "&requestTime=" + timestamp; + + ResponseEntity forEntity = restTemplate.getForEntity(url, String.class); + log.info(forEntity.getBody()); + return forEntity.getBody(); + } } diff --git a/pmapi/src/main/resources/security/auth-dev.yml b/pmapi/src/main/resources/security/auth-dev.yml index f878360..5c76021 100644 --- a/pmapi/src/main/resources/security/auth-dev.yml +++ b/pmapi/src/main/resources/security/auth-dev.yml @@ -36,6 +36,7 @@ security: - /file/download - /api/v1/zwdd/pull/** - /api/v1/irs/** + - /api/v1/wps-convert/** ignore-csrf-urls: - /api/v1/user/auth/** - /v2/api-docs @@ -64,6 +65,7 @@ security: - /file/download - /api/v1/zwdd/pull/** - /api/v1/irs/** + - /api/v1/wps-convert/** role-map: "engineer": "project_manager": diff --git a/pmapi/src/main/resources/security/auth-pre.yml b/pmapi/src/main/resources/security/auth-pre.yml index f878360..5c76021 100644 --- a/pmapi/src/main/resources/security/auth-pre.yml +++ b/pmapi/src/main/resources/security/auth-pre.yml @@ -36,6 +36,7 @@ security: - /file/download - /api/v1/zwdd/pull/** - /api/v1/irs/** + - /api/v1/wps-convert/** ignore-csrf-urls: - /api/v1/user/auth/** - /v2/api-docs @@ -64,6 +65,7 @@ security: - /file/download - /api/v1/zwdd/pull/** - /api/v1/irs/** + - /api/v1/wps-convert/** role-map: "engineer": "project_manager": diff --git a/pmapi/src/main/resources/security/auth-prod.yml b/pmapi/src/main/resources/security/auth-prod.yml index f878360..5c76021 100644 --- a/pmapi/src/main/resources/security/auth-prod.yml +++ b/pmapi/src/main/resources/security/auth-prod.yml @@ -36,6 +36,7 @@ security: - /file/download - /api/v1/zwdd/pull/** - /api/v1/irs/** + - /api/v1/wps-convert/** ignore-csrf-urls: - /api/v1/user/auth/** - /v2/api-docs @@ -64,6 +65,7 @@ security: - /file/download - /api/v1/zwdd/pull/** - /api/v1/irs/** + - /api/v1/wps-convert/** role-map: "engineer": "project_manager": diff --git a/pmapi/src/test/java/com/ningdatech/pmapi/irs/irsTest4.java b/pmapi/src/test/java/com/ningdatech/pmapi/irs/irsTest4.java new file mode 100644 index 0000000..9e0d31e --- /dev/null +++ b/pmapi/src/test/java/com/ningdatech/pmapi/irs/irsTest4.java @@ -0,0 +1,60 @@ +package com.ningdatech.pmapi.irs; + +import com.ningdatech.irs.service.IRefreshTokenService; +import com.ningdatech.pmapi.AppTests; +import com.ningdatech.pmapi.common.util.CryptUtils; +import com.ningdatech.pmapi.common.util.HttpUtil; +import lombok.extern.slf4j.Slf4j; +import org.junit.Test; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.http.HttpMethod; +import org.springframework.http.ResponseEntity; +import org.springframework.http.client.HttpComponentsClientHttpRequestFactory; +import org.springframework.web.client.RestTemplate; + +import javax.annotation.Resource; +import java.security.NoSuchAlgorithmException; +import java.util.Objects; + +/** + * @Classname irsTest3 + * @Description + * @Date 2023/7/25 9:52 + * @Author PoffyZhang + */ +@Slf4j +public class irsTest4 extends AppTests { + @Resource + private IRefreshTokenService refreshTokenService; + + @Value("${irs.interface-refresh.request-token-url}") + private String govRequestTokenUrl; + @Value("${irs.interface-refresh.refresh-token-url}") + private String govRefreshTokenUrl; + + @Test + public void test1() throws NoSuchAlgorithmException { + long timestamp = System.currentTimeMillis(); + String appSecret = "496f0f2a19994f76b4fd9dae087366c7"; + String appKey = "A331101453557202109017383"; + String dataName = "大数据管理局"; + + String secret = refreshTokenService.refreshToken(appKey, appSecret, govRequestTokenUrl, govRefreshTokenUrl, + "Fc3re2cq7r64Qfa7", HttpMethod.POST.name()); + String sign = CryptUtils.MD5Encode(appKey + secret + timestamp); + HttpComponentsClientHttpRequestFactory factory = HttpUtil.generateHttpRequestFactory(); + RestTemplate restTemplate; + if(Objects.nonNull(factory)){ + restTemplate = new RestTemplate(factory); + }else{ + restTemplate = new RestTemplate(); + } + + String url = "https://interface.zjzwfw.gov.cn/gateway/api/001008012012001/dataSharing/Fc3re2cq7r64Qfa7.htm?" + + "dingCode=&matterName=&oid=&useState=1&limit=1000&page=1" + + "&appKey=" + appKey + "&sign=" + sign + "&requestTime=" + timestamp; + + ResponseEntity forEntity = restTemplate.getForEntity(url, String.class); + System.out.println(forEntity.getBody()); + } +}