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