From 17cb52bf01d1ead961a72760ba5f05f7741c1856 Mon Sep 17 00:00:00 2001
From: 陈战涛 <chenzhantao7055@sina.com>
Date: 星期二, 09 五月 2023 16:54:44 +0800
Subject: [PATCH] 提交配置信息
---
src/main/java/com/fzzy/api/service/ApiTriggerService.java | 1
src/main/java/com/fzzy/api/data/PushProtocol.java | 3
src/main/java/com/fzzy/push/shjdjw2023/Shjdjw2023PushService14.java | 41 ++++
src/main/java/com/fzzy/push/shjdjw2023/Shjdjw2023HttpClientUtil.java | 98 +++++++++
src/main/java/com/fzzy/push/shjdjw2023/Shjdjw2023PushService11.java | 41 ++++
src/main/java/com/fzzy/push/shjdjw2023/ShjdjwApiCodeConstant.java | 47 ++++
src/main/java/com/fzzy/push/gd2022/GD2022PushService11.java | 3
src/main/java/com/fzzy/push/impl/ComPushService11.java | 30 +++
src/main/java/com/fzzy/push/shjdjw2023/Shjdjw2023PushService12.java | 48 ++++
src/main/java/com/fzzy/api/utils/AESUtils.java | 31 +++
src/main/java/com/fzzy/push/shjdjw2023/Shjdjw2023PushService13.java | 41 ++++
src/main/java/com/fzzy/push/shjdjw2023/ShjdjwApiRemoteService2023.java | 151 +++++++++++++++
src/main/java/com/fzzy/push/shjdjw2023/dto/ShjdjwReqDto.java | 23 ++
src/main/java/com/fzzy/api/view/repository/Api1101Rep.java | 10 +
14 files changed, 565 insertions(+), 3 deletions(-)
diff --git a/src/main/java/com/fzzy/api/data/PushProtocol.java b/src/main/java/com/fzzy/api/data/PushProtocol.java
index 4b40b15..56510dd 100644
--- a/src/main/java/com/fzzy/api/data/PushProtocol.java
+++ b/src/main/java/com/fzzy/api/data/PushProtocol.java
@@ -15,7 +15,8 @@
SB_GD_2022("SB_GD_2022", "骞夸笢鐪佸钩鍙�2022鐗�"),
SB_GD_2020("SB_GD_2020", "骞夸笢鐪佸钩鍙�2020鐗�"),
SB_HN_2022("SB_HN_2022", "娌冲崡鐪佸钩鍙�2022鐗�"),
- HB_FZZY_JG_2022("HB_FZZY_JG_2022", "椋庢鑷磋繙鐩戠2022鐗堟湰");
+ HB_FZZY_JG_2022("HB_FZZY_JG_2022", "椋庢鑷磋繙鐩戠2022鐗堟湰"),
+ SB_SHJdJW_2023("SB_SHJdJW_2023", "涓婃捣鍢夊畾绾鐩戠骞冲彴2023鐗�");
private String code;
diff --git a/src/main/java/com/fzzy/api/service/ApiTriggerService.java b/src/main/java/com/fzzy/api/service/ApiTriggerService.java
index 2d02c2c..3a0a609 100644
--- a/src/main/java/com/fzzy/api/service/ApiTriggerService.java
+++ b/src/main/java/com/fzzy/api/service/ApiTriggerService.java
@@ -179,6 +179,7 @@
list.add(new ApiTrigger(PushProtocol.SB_GD_2022.getCode(), PushProtocol.SB_GD_2022.getName()));
list.add(new ApiTrigger(PushProtocol.SB_GD_2020.getCode(), PushProtocol.SB_GD_2020.getName()));
list.add(new ApiTrigger(PushProtocol.HB_FZZY_JG_2022.getCode(), PushProtocol.HB_FZZY_JG_2022.getName()));
+ list.add(new ApiTrigger(PushProtocol.SB_SHJdJW_2023.getCode(), PushProtocol.SB_SHJdJW_2023.getName()));
return list;
}
diff --git a/src/main/java/com/fzzy/api/utils/AESUtils.java b/src/main/java/com/fzzy/api/utils/AESUtils.java
index 624c31d..ef9d6d1 100644
--- a/src/main/java/com/fzzy/api/utils/AESUtils.java
+++ b/src/main/java/com/fzzy/api/utils/AESUtils.java
@@ -1,6 +1,7 @@
package com.fzzy.api.utils;
import javax.crypto.Cipher;
+import javax.crypto.KeyGenerator;
import javax.crypto.SecretKey;
import javax.crypto.spec.SecretKeySpec;
@@ -29,6 +30,8 @@
* 鍔犺В瀵嗘柟寮�
*/
private final static String ALGORITHM = "AES";
+ private final static String ALGORITHM_ECB = "ECB";
+ private final static int KEY_SIZE_128 = 128;
/**
*鍔犲瘑妯″紡鍙婂~鍏呮柟寮�
@@ -81,5 +84,33 @@
return new String(encryptData,ENCODING);
}
+ /**
+ * AES鍔犲瘑-ECB鏂瑰紡
+ * @param plainText
+ * @param key
+ * @return
+ * @throws Exception
+ */
+ public static String encryptByEcb(String plainText, String key) throws Exception {
+ if (key == null) {
+ System.out.print("Key涓虹┖null");
+ return null;
+ }
+
+ // 鍒ゆ柇Key鏄惁涓�16浣�
+// if (key.length() != 16) {
+// System.out.print("Key闀垮害涓嶆槸16浣�");
+// return null;
+// }
+ SecretKey secretKey = new SecretKeySpec(key.getBytes(ENCODING), ALGORITHM_ECB);
+ // AES鍔犲瘑閲囩敤pkcs5padding濉厖
+ Cipher cipher = Cipher.getInstance(PATTERN);
+ //鐢ㄥ瘑鍖欏垵濮嬪寲Cipher瀵硅薄
+ cipher.init(Cipher.ENCRYPT_MODE, secretKey);
+ //鎵ц鍔犲瘑鎿嶄綔
+ byte[] encryptData = cipher.doFinal(plainText.getBytes(ENCODING));
+ return Base64.getEncoder().encodeToString(encryptData);
+ }
+
}
\ No newline at end of file
diff --git a/src/main/java/com/fzzy/api/view/repository/Api1101Rep.java b/src/main/java/com/fzzy/api/view/repository/Api1101Rep.java
index 368cfe4..9365832 100644
--- a/src/main/java/com/fzzy/api/view/repository/Api1101Rep.java
+++ b/src/main/java/com/fzzy/api/view/repository/Api1101Rep.java
@@ -3,11 +3,14 @@
import com.fzzy.api.entity.Api1101;
+import com.fzzy.api.entity.Api1111;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
public interface Api1101Rep extends JpaRepository<Api1101, String> {
@@ -24,4 +27,11 @@
@Query("update Api1101 set czbz=:czbz where dwdm=:id ")
int updateStatus(@Param("id") String id, @Param("czbz") String czbz);
+ /**
+ * 鏌ヨ鎵�鏈夌殑鐩戞帶鐐逛綅淇℃伅
+ * @param kqdm
+ * @return
+ */
+ @Query("from Api1101 where kqdm=:kqdm ")
+ List<Api1101> findPushData(@Param("kqdm") String kqdm);
}
diff --git a/src/main/java/com/fzzy/push/gd2022/GD2022PushService11.java b/src/main/java/com/fzzy/push/gd2022/GD2022PushService11.java
index 6a51a4a..8be0d24 100644
--- a/src/main/java/com/fzzy/push/gd2022/GD2022PushService11.java
+++ b/src/main/java/com/fzzy/push/gd2022/GD2022PushService11.java
@@ -3,7 +3,6 @@
import com.fzzy.api.data.ApiParam;
import com.fzzy.api.data.PushProtocol;
import com.fzzy.api.service.PushService11;
-import com.fzzy.push.gd2020.GDApiRemoteService;
import com.fzzy.push.impl.ComPushService11;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -19,7 +18,7 @@
public class GD2022PushService11 implements PushService11 {
@Autowired
- private GDApiRemoteService apiRemoteService;
+ private GD2022ApiRemoteService2022 apiRemoteService;
@Autowired
private ComPushService11 pushService;
diff --git a/src/main/java/com/fzzy/push/impl/ComPushService11.java b/src/main/java/com/fzzy/push/impl/ComPushService11.java
index 78705ed..403e048 100644
--- a/src/main/java/com/fzzy/push/impl/ComPushService11.java
+++ b/src/main/java/com/fzzy/push/impl/ComPushService11.java
@@ -3,8 +3,10 @@
import com.fzzy.api.Constant;
import com.fzzy.api.data.ApiParam;
import com.fzzy.api.dto.ResponseDto;
+import com.fzzy.api.entity.Api1101;
import com.fzzy.api.entity.Api1111;
import com.fzzy.api.service.ApiRemoteService;
+import com.fzzy.api.view.repository.Api1101Rep;
import com.fzzy.api.view.repository.Api1111Rep;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -20,9 +22,37 @@
public class ComPushService11 {
@Autowired
+ private Api1101Rep api1101Rep;
+ @Autowired
private Api1111Rep api1111Rep;
/**
+ * 1101 鍗曚綅淇℃伅
+ */
+ public void pushData1101(ApiRemoteService apiRemoteService, ApiParam param) {
+
+ List<Api1101> items = api1101Rep.findPushData(param.getKqdm());
+ if (null == items || items.isEmpty()) {
+ return;
+ }
+
+ param.setInteCategory(Constant.API_CATEGORY_11);
+ param.setInteId(Constant.API_CODE_1111);
+
+ ResponseDto responseDto;
+ for (Api1101 data : items) {
+ param.setBizId(data.getBizId());
+ responseDto = apiRemoteService.pushData(param, data);
+
+ if (responseDto.getSuccess() == 0) {
+ if (Constant.CZBZ_I.equals(data.getCzbz())) {
+ api1101Rep.updateStatus(data.getDwdm(), Constant.CZBZ_U);
+ }
+ }
+ }
+ }
+
+ /**
* 1111 搴撳尯鍥捐棰戠洃鎺ц澶囩偣浣嶆爣娉�
*/
public void pushData1111(ApiRemoteService apiRemoteService, ApiParam param) {
diff --git a/src/main/java/com/fzzy/push/shjdjw2023/Shjdjw2023HttpClientUtil.java b/src/main/java/com/fzzy/push/shjdjw2023/Shjdjw2023HttpClientUtil.java
new file mode 100644
index 0000000..bb7f07f
--- /dev/null
+++ b/src/main/java/com/fzzy/push/shjdjw2023/Shjdjw2023HttpClientUtil.java
@@ -0,0 +1,98 @@
+package com.fzzy.push.shjdjw2023;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.TypeReference;
+import com.fzzy.api.entity.ApiConfs;
+import com.fzzy.api.utils.AESUtils;
+import com.fzzy.api.utils.MyMD5Util;
+import com.fzzy.api.utils.SnowflakeIdWorker;
+import com.fzzy.push.gd2022.dto.GD2022AuthToken;
+import com.fzzy.push.gd2022.dto.GD2022ResponseDto;
+import lombok.extern.slf4j.Slf4j;
+
+import java.io.*;
+import java.lang.reflect.Type;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.util.Map;
+import java.util.UUID;
+
+/**
+ * 涓婃捣鍢夊畾绾鐩戠骞冲彴-涓婁紶鏁版嵁鏈嶅姟绫�
+ * @author czt
+ * @date 2023/5/9 14:21
+ */
+@Slf4j
+public class Shjdjw2023HttpClientUtil {
+
+ /**
+ * post formData
+ * @param url
+ * @return
+ * @throws Exception
+ */
+ @SuppressWarnings("resource")
+ public static GD2022ResponseDto postPushData(String url, String data , ApiConfs apiConfs) throws Exception {
+ log.info("---------鎺ュ彛璇锋眰鍦板潃锛�" +url+ "----------鍙傛暟锛�" + data +"---------");
+ BufferedReader in = null;
+ URL urls = new URL(url);
+ HttpURLConnection connection = null;
+ OutputStream outputStream = null;
+ String rs = "";
+ GD2022ResponseDto responseDto;
+ try {
+ String md = AESUtils.encryptByEcb(data, apiConfs.getPublicKey());
+ log.info("---------鎺ュ彛璇锋眰鍦板潃锛�" +url+ "----------瀵嗘枃鍙傛暟锛�" + md +"---------");
+ connection = (HttpURLConnection) urls.openConnection();
+ connection.setRequestProperty("Content-Type", "application/json;charset=UTF-8");
+ connection.setDoOutput(true);
+ connection.setDoInput(true);
+ connection.setRequestProperty("Accept-Language", "zh-CN,zh;q=0.8");
+ connection.setRequestProperty("Accept", "*/*");
+ connection.setRequestProperty("Range", "bytes=" + "");
+ connection.setRequestProperty("token", apiConfs.getPassword());
+ connection.setConnectTimeout(20000);
+ connection.setReadTimeout(30000);
+ connection.setRequestMethod("POST");
+ StringBuffer buffer = new StringBuffer();
+ buffer.append(md);
+ outputStream = connection.getOutputStream();
+ outputStream.write(buffer.toString().getBytes("UTF-8"));
+ try {
+ connection.connect();
+ if (connection.getResponseCode() == 200) {
+ in = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));
+ String line = "";
+ while ((line = in.readLine()) != null) {
+ rs += line;
+ }
+ }else{
+ log.error("http鐘舵�侊細" + connection.getResponseCode());
+ log.error("http娑堟伅锛�" + connection.getResponseMessage());
+ }
+
+ } catch (Exception e) {
+ System.out.println("鍙戠敓寮傚父");
+ log.error(e.getMessage(),e);
+ rs = null;
+ return new GD2022ResponseDto(99,e.getMessage());
+ }
+ log.info("---------鎺ュ彛杩斿洖锛�" + rs +"---------");
+ responseDto = JSON.parseObject(rs,GD2022ResponseDto.class);
+ if(responseDto == null ) return new GD2022ResponseDto(99,"鎺ュ彛璇锋眰鍙戠敓鏈煡閿欒");
+ return responseDto;
+ } finally {
+ try {
+ outputStream.close();
+ if (in != null){
+ in.close();
+ }
+ } catch (Exception e) {
+ }
+ outputStream = null;
+ if (connection != null)
+ connection.disconnect();
+ connection = null;
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/fzzy/push/shjdjw2023/Shjdjw2023PushService11.java b/src/main/java/com/fzzy/push/shjdjw2023/Shjdjw2023PushService11.java
new file mode 100644
index 0000000..a1eacc3
--- /dev/null
+++ b/src/main/java/com/fzzy/push/shjdjw2023/Shjdjw2023PushService11.java
@@ -0,0 +1,41 @@
+package com.fzzy.push.shjdjw2023;
+
+import com.fzzy.api.data.ApiParam;
+import com.fzzy.api.data.PushProtocol;
+import com.fzzy.api.service.PushService11;
+import com.fzzy.push.impl.ComPushService11;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+/**
+ * 涓婃捣鍢夊畾绾鐩戠骞冲彴-鍩虹鏁版嵁涓婁紶
+ * @author czt
+ * @date 2023/5/9 16:21
+ */
+@Slf4j
+@Component
+public class Shjdjw2023PushService11 implements PushService11 {
+
+ @Autowired
+ private ShjdjwApiRemoteService2023 apiRemoteService;
+
+ @Autowired
+ private ComPushService11 pushService;
+
+ @Override
+ public String getProtocol() {
+ return PushProtocol.SB_GD_2022.getCode();
+ }
+
+ @Override
+ public void pushData(ApiParam param) {
+ log.info("------->>>>鍩虹淇℃伅 鎺ュ彛妯″潡涓婃姤寮�濮�");
+
+ //TODO 鍗曚綅淇℃伅
+
+ log.info("------->>>>鍩虹淇℃伅 鎺ュ彛妯″潡涓婃姤缁撴潫");
+
+ }
+
+}
diff --git a/src/main/java/com/fzzy/push/shjdjw2023/Shjdjw2023PushService12.java b/src/main/java/com/fzzy/push/shjdjw2023/Shjdjw2023PushService12.java
new file mode 100644
index 0000000..f9022c6
--- /dev/null
+++ b/src/main/java/com/fzzy/push/shjdjw2023/Shjdjw2023PushService12.java
@@ -0,0 +1,48 @@
+package com.fzzy.push.shjdjw2023;
+
+import com.fzzy.api.data.ApiParam;
+import com.fzzy.api.data.PushProtocol;
+import com.fzzy.api.service.PushService12;
+import com.fzzy.push.impl.ComPushService12;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+/**
+ * 涓婃捣鍢夊畾绾鐩戠骞冲彴-绮璐攢鏁版嵁涓婁紶
+ * @author czt
+ * @date 2023/5/9 16:23
+ */
+@Slf4j
+@Component
+public class Shjdjw2023PushService12 implements PushService12 {
+
+ @Autowired
+ private ShjdjwApiRemoteService2023 apiRemoteService;
+
+ @Autowired
+ private ComPushService12 pushService;
+
+ @Override
+ public String getProtocol() {
+ return PushProtocol.SB_GD_2022.getCode();
+ }
+
+ @Override
+ public void pushData(ApiParam param) {
+ log.info("------->>>>绮璐攢 鎺ュ彛妯″潡涓婃姤寮�濮�");
+
+
+ //TODO 绮鍏ュ簱淇℃伅
+
+ //TODO 绮鍏ュ簱璐ㄦ淇℃伅
+
+ //TODO 绮鍑哄簱淇℃伅
+
+ //TODO 绮搴撳瓨淇℃伅
+
+ //TODO 鎹熺泭鍗曚俊鎭�
+
+ log.info("------->>>>绮璐攢 鎺ュ彛妯″潡涓婃姤缁撴潫");
+ }
+}
diff --git a/src/main/java/com/fzzy/push/shjdjw2023/Shjdjw2023PushService13.java b/src/main/java/com/fzzy/push/shjdjw2023/Shjdjw2023PushService13.java
new file mode 100644
index 0000000..0628cd2
--- /dev/null
+++ b/src/main/java/com/fzzy/push/shjdjw2023/Shjdjw2023PushService13.java
@@ -0,0 +1,41 @@
+package com.fzzy.push.shjdjw2023;
+
+import com.fzzy.api.data.ApiParam;
+import com.fzzy.api.data.PushProtocol;
+import com.fzzy.api.service.PushService13;
+import com.fzzy.push.impl.ComPushService13;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+/**
+ * 涓婃捣鍢夊畾绾鐩戠骞冲彴-绮绠$悊鏁版嵁涓婁紶
+ * @author czt
+ * @date 2023/5/9 16:25
+ */
+@Slf4j
+@Component
+public class Shjdjw2023PushService13 implements PushService13 {
+
+ @Autowired
+ private ShjdjwApiRemoteService2023 apiRemoteService;
+
+ @Autowired
+ private ComPushService13 pushService;
+
+
+ @Override
+ public String getProtocol() {
+ return PushProtocol.SB_GD_2022.getCode();
+ }
+
+ @Override
+ public void pushData(ApiParam param) {
+ log.info("------->>>>绮绠$悊 鎺ュ彛妯″潡涓婃姤寮�濮�");
+
+ //TODO 璐ㄦ淇℃伅
+
+ log.info("------->>>>绮绠$悊 鎺ュ彛妯″潡涓婃姤缁撴潫");
+ }
+
+}
diff --git a/src/main/java/com/fzzy/push/shjdjw2023/Shjdjw2023PushService14.java b/src/main/java/com/fzzy/push/shjdjw2023/Shjdjw2023PushService14.java
new file mode 100644
index 0000000..c9f3529
--- /dev/null
+++ b/src/main/java/com/fzzy/push/shjdjw2023/Shjdjw2023PushService14.java
@@ -0,0 +1,41 @@
+package com.fzzy.push.shjdjw2023;
+
+import com.fzzy.api.data.ApiParam;
+import com.fzzy.api.data.PushProtocol;
+import com.fzzy.api.service.PushService14;
+import com.fzzy.push.impl.ComPushService14;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+/**
+ * 涓婃捣鍢夊畾绾鐩戠骞冲彴-琛屾斂绠$悊鏁版嵁涓婁紶
+ * @author czt
+ * @date 2023/5/9 16:27
+ */
+@Slf4j
+@Component
+public class Shjdjw2023PushService14 implements PushService14 {
+
+ @Autowired
+ private ShjdjwApiRemoteService2023 apiRemoteService;
+ @Autowired
+ private ComPushService14 pushService;
+
+
+ @Override
+ public String getProtocol() {
+ return PushProtocol.SB_GD_2022.getCode();
+ }
+
+ @Override
+ public void pushData(ApiParam param) {
+ log.info("------->>>>琛屾斂绠$悊 鎺ュ彛妯″潡涓婃姤寮�濮�");
+
+ //TODO 杞崲璁″垝淇℃伅
+
+ //TODO 杞崲璁″垝瀹屾垚淇℃伅
+
+ log.info("------->>>>琛屾斂绠$悊 鎺ュ彛妯″潡涓婃姤缁撴潫");
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/fzzy/push/shjdjw2023/ShjdjwApiCodeConstant.java b/src/main/java/com/fzzy/push/shjdjw2023/ShjdjwApiCodeConstant.java
new file mode 100644
index 0000000..945c3e5
--- /dev/null
+++ b/src/main/java/com/fzzy/push/shjdjw2023/ShjdjwApiCodeConstant.java
@@ -0,0 +1,47 @@
+package com.fzzy.push.shjdjw2023;
+
+/**
+ * 涓婃捣鍢夊畾绾鐩戠骞冲彴-鎺ュ彛缂栫爜
+ * @author czt
+ * @date 2023/5/9 14:25
+ */
+public class ShjdjwApiCodeConstant {
+
+ /**
+ * 鎺ュ彛缂栫爜-1101 鍗曚綅淇℃伅
+ */
+ public static String API_CODE_LS1101 = "ls1101";
+ /**
+ * 鎺ュ彛缂栫爜-1201 璐ㄦ
+ */
+ public static String API_CODE_LS1201 = "ls1201";
+ /**
+ * 鎺ュ彛缂栫爜-1302 绮鍏ュ簱
+ */
+ public static String API_CODE_LS1302 = "ls1302";
+ /**
+ * 鎺ュ彛缂栫爜-1303 鍏ュ簱璐ㄦ
+ */
+ public static String API_CODE_LS1303 = "ls1303";
+ /**
+ * 鎺ュ彛缂栫爜-1306 绮鍑哄簱
+ */
+ public static String API_CODE_LS1306 = "ls1306";
+ /**
+ * 鎺ュ彛缂栫爜-1310 绮搴撳瓨
+ */
+ public static String API_CODE_LS1310 = "ls1310";
+ /**
+ * 鎺ュ彛缂栫爜-1311 鎹熺泭鍗�
+ */
+ public static String API_CODE_LS1311 = "ls1311";
+ /**
+ * 鎺ュ彛缂栫爜-101 杞崲璁″垝
+ */
+ public static String API_CODE_LS1501 = "ls1501";
+ /**
+ * 鎺ュ彛缂栫爜-1502 杞崲璁″垝瀹屾垚鎯呭喌
+ */
+ public static String API_CODE_LS1502 = "ls1502";
+
+}
diff --git a/src/main/java/com/fzzy/push/shjdjw2023/ShjdjwApiRemoteService2023.java b/src/main/java/com/fzzy/push/shjdjw2023/ShjdjwApiRemoteService2023.java
new file mode 100644
index 0000000..7a56cfa
--- /dev/null
+++ b/src/main/java/com/fzzy/push/shjdjw2023/ShjdjwApiRemoteService2023.java
@@ -0,0 +1,151 @@
+package com.fzzy.push.shjdjw2023;
+
+import com.alibaba.fastjson.JSON;
+import com.fzzy.api.Constant;
+import com.fzzy.api.data.ApiParam;
+import com.fzzy.api.data.PushProtocol;
+import com.fzzy.api.dto.ResponseDto;
+import com.fzzy.api.entity.ApiConfs;
+import com.fzzy.api.entity.ApiLog;
+import com.fzzy.api.service.ApiCommonService;
+import com.fzzy.api.service.ApiRemoteService;
+import com.fzzy.api.utils.ContextUtil;
+import com.fzzy.api.utils.RedisUtil;
+import com.fzzy.api.view.repository.ApiLogRep;
+import com.fzzy.push.gd2022.dto.*;
+import com.fzzy.push.shjdjw2023.dto.ShjdjwReqDto;
+import lombok.Data;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.*;
+
+/**
+ * 涓婃捣鍢夊畾绾鐩戠骞冲彴-涓婁紶鏁版嵁鏈嶅姟绫�
+ *
+ * @author czt
+ * @date 2023/5/9 14:09
+ */
+@Slf4j
+@Data
+@Service
+public class ShjdjwApiRemoteService2023 implements ApiRemoteService {
+
+ @Autowired
+ private RedisUtil redisUtil;
+
+ @Autowired
+ private ApiCommonService apiCommonService;
+
+ @Autowired
+ private ApiLogRep apiLogRep;
+
+
+ @Override
+ public String getProtocol() {
+ return PushProtocol.SB_SHJdJW_2023.getCode();
+ }
+
+ @Override
+ public ResponseDto pushData(ApiParam param, Object data) {
+ return pushData(param, null, data);
+ }
+
+ @Override
+ public ResponseDto pushData(ApiParam param, ApiConfs conf, Object data) {
+ String inteId = param.getInteId();
+ String kqdm = param.getKqdm();
+ String bizId = param.getBizId();
+
+ try {
+ if (null == conf) {
+ conf = apiCommonService.getConf(kqdm);
+ }
+ //娣诲姞鏃ュ織
+ ApiLog apiLog = new ApiLog();
+ apiLog.setId(ContextUtil.getUUID());
+ apiLog.setInteId(param.getInteId());
+
+ //鑾峰彇鎺ュ彛缂栫爜
+ String interfaceId = getDataId(inteId);
+
+ //鑾峰彇json鏁版嵁
+ String jsonData = getJsonData(inteId, data, interfaceId);
+
+ if (StringUtils.isEmpty(interfaceId)) {
+ ResponseDto responseDto = new ResponseDto(99, "娌℃湁鑾峰彇鍒版帴鍙�", bizId);
+ apiLog.setStatus(99);
+ apiLog.setResult("娌℃湁鑾峰彇鍒版帴鍙�");
+ apiLogRep.save(apiLog);
+ return responseDto;
+ }
+ apiLog.setData(jsonData);
+ apiLog.setKqdm(kqdm);
+ apiLog.setUploadTime(new Date());
+
+ if (conf == null) {
+ ResponseDto responseDto = new ResponseDto(99, "娌℃湁鑾峰彇鍒颁笂浼犻厤缃�", bizId);
+ apiLog.setStatus(99);
+ apiLog.setResult("娌℃湁鑾峰彇鍒颁笂浼犻厤缃�");
+ apiLogRep.save(apiLog);
+ return responseDto;
+ }
+
+ Map<String, Object> map = new HashMap<>();
+ GD2022ResponseDto responseDto = Shjdjw2023HttpClientUtil.postPushData(conf.getApiUrl() + inteId, jsonData, conf);
+ responseDto.setBizId(bizId);
+ apiLog.setStatus(responseDto.getCode() == 200 ? 0 : responseDto.getCode());
+ apiLog.setResult(responseDto.getMsg());
+ apiLogRep.save(apiLog);
+ ResponseDto resd = new ResponseDto();
+ resd.setSuccess(responseDto.getCode() == 200 ? 0 : responseDto.getCode());
+ resd.setMsg(responseDto.getMsg());
+ //updateGD2022AuthToken(responseDto,conf, token);
+ return resd;
+ } catch (Exception e) {
+ log.error(e.getMessage(), e);
+ return new ResponseDto(99, e.getMessage());
+ }
+ }
+
+ /**
+ * 璋冩暣鏁版嵁灏佽锛岃幏鍙杍son鏁版嵁
+ *
+ * @param inteId
+ * @param data
+ * @return
+ * @throws Exception
+ */
+ private String getJsonData(String inteId, Object data, String interfaceId){
+ ShjdjwReqDto<List<Object>> dto = new ShjdjwReqDto<>();
+ dto.setId(getDataId(interfaceId));
+ List<Object> list = new ArrayList<>();
+ //杞崲灏佽
+ if(Constant.API_CODE_1101.equals(inteId)){
+ list.add(data);
+ }else{
+ list.add(data);
+ }
+
+ dto.setData(list);
+ return JSON.toJSONString(dto);
+ }
+
+ /**
+ * 鑾峰彇鎺ュ彛缂栫爜
+ *
+ * @param inteId
+ * @return
+ */
+ private String getDataId(String inteId) {
+ switch (inteId) {
+ case "1101":
+ return ShjdjwApiCodeConstant.API_CODE_LS1101;
+ default:
+ return inteId;
+ }
+
+ }
+}
diff --git a/src/main/java/com/fzzy/push/shjdjw2023/dto/ShjdjwReqDto.java b/src/main/java/com/fzzy/push/shjdjw2023/dto/ShjdjwReqDto.java
new file mode 100644
index 0000000..e53fed2
--- /dev/null
+++ b/src/main/java/com/fzzy/push/shjdjw2023/dto/ShjdjwReqDto.java
@@ -0,0 +1,23 @@
+package com.fzzy.push.shjdjw2023.dto;
+
+import lombok.Data;
+import java.io.Serializable;
+
+/**
+ * 涓婃捣鍢夊畾绾鐩戠骞冲彴-鏁版嵁灏佽
+ * @author czt
+ * @date 2023/5/9 14:35
+ */
+@Data
+public class ShjdjwReqDto<T> implements Serializable {
+
+ /**
+ * 鎺ュ彛缂栫爜
+ */
+ private String id;
+
+ /**
+ * 涓婁紶鏁版嵁(闆嗗悎褰㈠紡)
+ */
+ private T data;
+}
--
Gitblit v1.9.3