Преглед на файлове

add 添加mybatis 填充信息
add api配置信息类
add 惠融撞库api配置

GITZYY преди 7 месеца
родител
ревизия
b052d7638c
променени са 15 файла, в които са добавени 321 реда и са изтрити 19 реда
  1. 1 0
      egress-gateway-service-app/src/main/java/com/hrsk/cloud/eg/app/api/ApiServiceImpl.java
  2. 23 0
      egress-gateway-service-client/src/main/java/com/hrsk/cloud/eg/dto/data/CheckIntoParamDto.java
  3. 47 0
      egress-gateway-service-client/src/main/java/com/hrsk/cloud/eg/dto/data/egPlan/PlanDto.java
  4. 19 0
      egress-gateway-service-domain/src/main/java/com/hrsk/cloud/eg/domain/api/ApiResult.java
  5. 130 0
      egress-gateway-service-infrastructure/src/main/java/com/hrsk/cloud/eg/infrastructure/business/GenerateHttpApiConfigService.java
  6. 25 10
      egress-gateway-service-infrastructure/src/main/java/com/hrsk/cloud/eg/infrastructure/config/MyMetaObjectHandler.java
  7. 4 3
      egress-gateway-service-infrastructure/src/main/java/com/hrsk/cloud/eg/infrastructure/repository/database/entity/BaseDo.java
  8. 3 1
      egress-gateway-service-infrastructure/src/main/java/com/hrsk/cloud/eg/infrastructure/repository/database/entity/EgApiDo.java
  9. 3 1
      egress-gateway-service-infrastructure/src/main/java/com/hrsk/cloud/eg/infrastructure/repository/database/entity/EgApiEndpointDo.java
  10. 15 0
      egress-gateway-service-infrastructure/src/main/java/com/hrsk/cloud/eg/infrastructure/service/ProductBusinessApiInfoService.java
  11. 21 0
      egress-gateway-service-infrastructure/src/main/java/com/hrsk/cloud/eg/infrastructure/service/impl/ProductBusinessApiInfoServiceImpl.java
  12. 3 1
      egress-gateway-service-infrastructure/src/main/resources/mybatis-config.xml
  13. 0 3
      start/src/main/resources/application.yaml
  14. 1 0
      start/src/main/resources/logback-spring.xml
  15. 26 0
      start/src/test/java/StartTest.java

+ 1 - 0
egress-gateway-service-app/src/main/java/com/hrsk/cloud/eg/app/api/ApiServiceImpl.java

@@ -48,6 +48,7 @@ public class ApiServiceImpl {
         apiGateway.request();
         apiGateway.request();
     }
     }
 
 
+
     private HttpApiConfig createBean(){
     private HttpApiConfig createBean(){
         FunctionObject md5 = new FunctionObject();
         FunctionObject md5 = new FunctionObject();
         md5.setCode("md5");
         md5.setCode("md5");

+ 23 - 0
egress-gateway-service-client/src/main/java/com/hrsk/cloud/eg/dto/data/CheckIntoParamDto.java

@@ -0,0 +1,23 @@
+package com.hrsk.cloud.eg.dto.data;
+
+import com.hrsk.cloud.eg.dto.data.egPlan.PlanDto;
+import com.hrsk.cloud.eg.dto.data.user.UserInBaseInfoDto;
+import lombok.Data;
+
+/**
+ * @author zhangyy
+ * @version 1.0
+ * @description: CheckIntoParamDto
+ * @date 2024/8/30 09:52
+ */
+@Data
+public class CheckIntoParamDto {
+    /**
+     * 用户信息
+     * */
+    private UserInBaseInfoDto user;
+    /**
+     * 推广计划信息
+     * */
+    private PlanDto plan;
+}

+ 47 - 0
egress-gateway-service-client/src/main/java/com/hrsk/cloud/eg/dto/data/egPlan/PlanDto.java

@@ -0,0 +1,47 @@
+package com.hrsk.cloud.eg.dto.data.egPlan;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+
+/**
+ * @author zhangyy
+ * @version 1.0
+ * @description: PlanDto 对外的推广计划Dto
+ * @date 2024/8/29 17:48
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+public class PlanDto  implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * apiId
+     *
+     * */
+    private Integer apiId;
+    /**
+     * 推广计划id
+     * */
+    private Long planId;
+
+
+    /**
+     * 推广计划名称
+     * */
+    private String planName;
+
+
+    /**
+     * 商户信息
+     * */
+    private String bid;
+
+    /**
+     * 主账号
+     * */
+    private String accountName;
+}

+ 19 - 0
egress-gateway-service-domain/src/main/java/com/hrsk/cloud/eg/domain/api/ApiResult.java

@@ -0,0 +1,19 @@
+package com.hrsk.cloud.eg.domain.api;
+
+import lombok.Getter;
+import lombok.experimental.Accessors;
+
+/**
+ * @author zhangyy
+ * @version 1.0
+ * @description: ApiResult
+ * @date 2024/8/30 10:54
+ */
+@Getter
+@Accessors(chain = true)
+public class ApiResult {
+
+    private String output;
+
+
+}

+ 130 - 0
egress-gateway-service-infrastructure/src/main/java/com/hrsk/cloud/eg/infrastructure/business/GenerateHttpApiConfigService.java

@@ -0,0 +1,130 @@
+package com.hrsk.cloud.eg.infrastructure.business;
+
+import com.alibaba.fastjson2.JSONObject;
+import com.google.common.collect.Lists;
+import com.hrsk.cloud.eg.constant.BusinessPrefixEnum;
+import com.hrsk.cloud.eg.domain.api.FunctionObject;
+import com.hrsk.cloud.eg.domain.api.HttpApiConfig;
+import com.hrsk.cloud.eg.domain.api.KeyValueObject;
+import com.hrsk.cloud.eg.domain.api.ValueObject;
+import com.hrsk.cloud.eg.domain.api.common.ApiPayloadTypeEnum;
+import com.hrsk.cloud.eg.domain.common.utils.GsonUtils;
+import com.hrsk.cloud.eg.domain.common.utils.SnowflakeIdWorker;
+import com.hrsk.cloud.eg.infrastructure.config.client.HessianUtils;
+import com.hrsk.cloud.eg.infrastructure.repository.database.entity.EgApiDo;
+import com.hrsk.cloud.eg.infrastructure.repository.database.entity.EgApiEndpointDo;
+import com.hrsk.cloud.eg.infrastructure.service.EgApiEndpointService;
+import com.hrsk.cloud.eg.infrastructure.service.EgApiService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * @author zhangyy
+ * @version 1.0
+ * @description: GenerateHttpApiConfig 迁移api配置的处理类
+ * @date 2024/8/29 17:54
+ */
+@Slf4j
+@Service
+public class GenerateHttpApiConfigService {
+
+    @Resource
+    private EgApiService egApiService;
+
+    @Resource
+    private EgApiEndpointService egApiEndpointService;
+
+    /**
+     * @description:  原始惠融对接api转化
+     * @param:
+     * @return:
+     * @author zhangyy
+     * @date: 2024/8/29 17:58
+     */
+    public void  generateHuiRonHuiRonApiConfig(String huiRonApiConfig){
+        EgApiDo egApiDo=new EgApiDo();
+        egApiDo.setApiCode("EG:"+BusinessPrefixEnum.CHECK_INTO_PREFIX.getCode()+":HUIRONG_CRM");
+        egApiDo.setApiName(BusinessPrefixEnum.CHECK_INTO_PREFIX.getMsg());
+        egApiService.save(egApiDo);
+        EgApiEndpointDo egApiEndpointDo=new EgApiEndpointDo();
+        egApiEndpointDo.setApiCode(egApiDo.getApiCode());
+        egApiEndpointDo.setApiId(egApiDo.getId());
+        egApiEndpointDo.setApiConfig(HessianUtils.serialize(createCheckIntoBean(huiRonApiConfig)));
+        egApiEndpointService.save(egApiEndpointDo);
+    }
+
+    /**
+     * @description: 创建撞库httpApi信息
+     * @param:
+     * @return:
+     * @author zhangyy
+     * @date: 2024/8/30 09:31
+     */
+    public HttpApiConfig createCheckIntoBean(String param){
+        JSONObject jsonObject=JSONObject.parseObject(param);
+        HttpApiConfig httpApiConfig = new HttpApiConfig();
+        httpApiConfig.setUrl(jsonObject.getString("checkUrl"));
+        httpApiConfig.setMethod("post");
+        httpApiConfig.setContentType(ApiPayloadTypeEnum.APPLICATION_JSON.getCode());
+        List<KeyValueObject> header = Lists.newArrayList();
+        httpApiConfig.setHeader(header);
+        JSONObject body=new  JSONObject();
+        KeyValueObject attackPhone=new KeyValueObject();
+        attackPhone.setType("spel");
+        attackPhone.setValue("#param.user.phoneMd5");
+        KeyValueObject merchantNo=new KeyValueObject();
+        merchantNo.setType("spel");
+        merchantNo.setValue("#param.user.merchantNo");
+        body.put("attackPhone",JSONObject.toJSONString(attackPhone));
+        body.put("merchantNo",JSONObject.toJSONString(merchantNo));
+        //主体
+        httpApiConfig.setContent(JSONObject.toJSONString(body));
+        String jsonString = JSONObject.toJSONString(httpApiConfig);
+        log.info("json input data {}",jsonString);
+         return httpApiConfig;
+    }
+
+//
+//        FunctionObject md5 = new FunctionObject();
+//        md5.setCode("md5");
+//        HttpApiConfig hac = new HttpApiConfig()
+//                .setUrl("https://baidu.com");
+//        hac.setContentType(ApiPayloadTypeEnum.APPLICATION_JSON.getCode());
+//        hac.setType("http");
+//        List<KeyValueObject> h = Lists.newArrayList();
+//        KeyValueObject h1 = new KeyValueObject();
+//        h1.setKey("secretKey");
+//        h1.setType("text");
+//        h1.setValue("Khw99%$l%-2gF7P4jXglp_-jQqQirtYnOY5D");
+//        h.add(h1);
+//        KeyValueObject h2 = new KeyValueObject();
+//        h2.setKey("merchantNo");
+//        h2.setType("spel");
+//        h2.setValue("#param.realName");
+//        h.add(h2);
+//        List<ValueObject> p = Lists.newArrayList();
+//        ValueObject p1 = new ValueObject();
+//        p1.setType("text");
+//        p1.setValue("123");
+//        ValueObject p2 = new ValueObject();
+//        p2.setType("text");
+//        p2.setValue("456");
+//        p2.getFunctions().add(md5);
+//        p.add(p1);
+//        p.add(p2);
+//        List<KeyValueObject> s = Lists.newArrayList();
+//        KeyValueObject s1 = new KeyValueObject();
+//        s1.setKey("username");
+//        s1.setType("spel");
+//        s1.setValue("#param.username");
+//        KeyValueObject s2 = new KeyValueObject();
+//        s2.setKey("channel");
+//        s2.setType("spel");
+//        s2.setValue("#param.channel");
+//        s.add(s2);
+//        hac.setPath(p).setSearch(s).setHeader(h).setMethod("GET");
+//        hac.setContent("{\"merchant\":\"xxxxxxfffff\",\"phone\":\"{\\\"value\\\":\\\"#param.userMobile\\\",\\\"type\\\": \\\"spel\\\",\\\"functions\\\":[ {\\\"code\\\": \\\"md5\\\"}]}\"}");
+}

+ 25 - 10
egress-gateway-service-infrastructure/src/main/java/com/hrsk/cloud/eg/infrastructure/config/MyMetaObjectHandler.java

@@ -3,8 +3,11 @@ package com.hrsk.cloud.eg.infrastructure.config;
 import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
 import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
 import com.hrsk.cloud.eg.constant.GlobalDataStatusEnum;
 import com.hrsk.cloud.eg.constant.GlobalDataStatusEnum;
 import com.hrsk.cloud.eg.domain.common.utils.SnowflakeIdWorker;
 import com.hrsk.cloud.eg.domain.common.utils.SnowflakeIdWorker;
+import com.hrsk.cloud.eg.infrastructure.repository.database.entity.BaseDo;
 import org.apache.ibatis.reflection.MetaObject;
 import org.apache.ibatis.reflection.MetaObject;
+import org.springframework.context.annotation.ComponentScan;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.stereotype.Component;
 
 
 import java.util.Date;
 import java.util.Date;
 /**
 /**
@@ -12,24 +15,36 @@ import java.util.Date;
  * @author zhangyy
  * @author zhangyy
  * @date: 2024/8/28 14:30
  * @date: 2024/8/28 14:30
  */
  */
-@Configuration
+@Component
 public class MyMetaObjectHandler implements MetaObjectHandler {
 public class MyMetaObjectHandler implements MetaObjectHandler {
     @Override
     @Override
     public void insertFill(MetaObject metaObject) {
     public void insertFill(MetaObject metaObject) {
-        // 插入操作时的自动填充逻辑
-        this.setFieldValByName("id", SnowflakeIdWorker.nextId(), metaObject);
-        this.setFieldValByName("status", GlobalDataStatusEnum.YES.getCode(), metaObject);
-        //暂时不填充
-        this.setFieldValByName("create_uid", "", metaObject);
-        this.setFieldValByName("create_username", "", metaObject);
+//        注释的这种方式只是填充了id和状态
+     //this.strictInsertFill(metaObject,"create_uid",String.class, String.valueOf(SnowflakeIdWorker.nextId()));
+        try {
+            BaseDo baseDO = (BaseDo) metaObject.getOriginalObject();
+            // 插入操作时的自动填充逻辑
+            baseDO.setId(SnowflakeIdWorker.nextId());
+            baseDO.setStatus(GlobalDataStatusEnum.YES.getCode());
+            baseDO.setGmtModify(new Date());
+            baseDO.setGmtCreate(new Date());
+            baseDO.setModifyUsername("");
+            baseDO.setCreateUsername("");
+//            baseDO.setCreateUid(String.valueOf(baseDO.getId()));
+        } catch (Exception e) {
+            //不处理
+        }
     }
     }
 
 
     @Override
     @Override
     public void updateFill(MetaObject metaObject) {
     public void updateFill(MetaObject metaObject) {
         // 更新操作时的自动填充逻辑
         // 更新操作时的自动填充逻辑
-        this.setFieldValByName("modify_uid", "", metaObject);
-        this.setFieldValByName("modify_username", "", metaObject);
-        this.setFieldValByName("gmt_modify", new Date(), metaObject);
+        try {
+            BaseDo baseDo = (BaseDo) metaObject.getOriginalObject();
+            baseDo.setGmtModify(new Date());
+        } catch (Exception e) {
+            //不处理
+        }
     }
     }
 
 
 }
 }

+ 4 - 3
egress-gateway-service-infrastructure/src/main/java/com/hrsk/cloud/eg/infrastructure/repository/database/entity/BaseDo.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableId;
 import lombok.Data;
 import lombok.Data;
 
 
+import java.io.Serializable;
 import java.util.Date;
 import java.util.Date;
 
 
 /**
 /**
@@ -13,7 +14,7 @@ import java.util.Date;
  * @description: DO基础类,公共字段
  * @description: DO基础类,公共字段
  **/
  **/
 @Data
 @Data
-public class BaseDo {
+public class BaseDo implements Serializable {
     /**
     /**
      * 主键
      * 主键
      */
      */
@@ -31,7 +32,7 @@ public class BaseDo {
     /**
     /**
      * 创建时间
      * 创建时间
      */
      */
-    @TableField(fill = FieldFill.INSERT)
+    @TableField(value ="gmt_create",fill = FieldFill.INSERT)
     private Date gmtCreate;
     private Date gmtCreate;
     /**
     /**
      * 修改人ID
      * 修改人ID
@@ -46,7 +47,7 @@ public class BaseDo {
     /**
     /**
      * 修改时间
      * 修改时间
      */
      */
-    @TableField(fill = FieldFill.INSERT_UPDATE)
+    @TableField(value ="gmt_modify" , fill = FieldFill.INSERT_UPDATE)
     private Date gmtModify;
     private Date gmtModify;
     /**
     /**
      * 状态 有效(Y 有效 N 无效)
      * 状态 有效(Y 有效 N 无效)

+ 3 - 1
egress-gateway-service-infrastructure/src/main/java/com/hrsk/cloud/eg/infrastructure/repository/database/entity/EgApiDo.java

@@ -1,5 +1,6 @@
 package com.hrsk.cloud.eg.infrastructure.repository.database.entity;
 package com.hrsk.cloud.eg.infrastructure.repository.database.entity;
 
 
+import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.EqualsAndHashCode;
 
 
@@ -12,7 +13,8 @@ import java.io.Serializable;
  **/
  **/
 @EqualsAndHashCode(callSuper = true)
 @EqualsAndHashCode(callSuper = true)
 @Data
 @Data
-public class EgApiDo extends BaseDo  {
+@TableName("eg_api")
+public class EgApiDo extends BaseDo implements Serializable  {
     /**
     /**
      * API名称
      * API名称
      */
      */

+ 3 - 1
egress-gateway-service-infrastructure/src/main/java/com/hrsk/cloud/eg/infrastructure/repository/database/entity/EgApiEndpointDo.java

@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.EqualsAndHashCode;
 
 
+import java.io.Serializable;
+
 /**
 /**
  * @author: bianlanzhou
  * @author: bianlanzhou
  * @create: 2024-08-01 18:34
  * @create: 2024-08-01 18:34
@@ -12,7 +14,7 @@ import lombok.EqualsAndHashCode;
 @EqualsAndHashCode(callSuper = true)
 @EqualsAndHashCode(callSuper = true)
 @Data
 @Data
 @TableName("eg_api_endpoint")
 @TableName("eg_api_endpoint")
-public class EgApiEndpointDo extends BaseDo {
+public class EgApiEndpointDo extends BaseDo implements Serializable {
     /**
     /**
      * 数据API主键
      * 数据API主键
      */
      */

+ 15 - 0
egress-gateway-service-infrastructure/src/main/java/com/hrsk/cloud/eg/infrastructure/service/ProductBusinessApiInfoService.java

@@ -0,0 +1,15 @@
+package com.hrsk.cloud.eg.infrastructure.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.hrsk.cloud.eg.infrastructure.repository.database.entity.ProductBusinessApiInfoDo;
+
+/**
+ * 商户对接配置信息表业务层
+ *
+ * @author Mybatis Plus Generator
+ * @date 2023.05.09 10:11
+ */
+public interface ProductBusinessApiInfoService extends IService<ProductBusinessApiInfoDo> {
+
+
+}

+ 21 - 0
egress-gateway-service-infrastructure/src/main/java/com/hrsk/cloud/eg/infrastructure/service/impl/ProductBusinessApiInfoServiceImpl.java

@@ -0,0 +1,21 @@
+package com.hrsk.cloud.eg.infrastructure.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.hrsk.cloud.eg.infrastructure.repository.database.entity.ProductBusinessApiInfoDo;
+import com.hrsk.cloud.eg.infrastructure.repository.database.mapper.ProductBusinessApiInfoMapper;
+import com.hrsk.cloud.eg.infrastructure.service.ProductBusinessApiInfoService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+/**
+ * 商户对接配置信息表业务层
+ *
+ * @author Mybatis Plus Generator
+ * @date 2023.05.09 10:11
+ */
+@Slf4j
+@Service
+public class ProductBusinessApiInfoServiceImpl extends ServiceImpl<ProductBusinessApiInfoMapper, ProductBusinessApiInfoDo> implements ProductBusinessApiInfoService {
+
+
+}

+ 3 - 1
egress-gateway-service-infrastructure/src/main/resources/mybatis-config.xml

@@ -7,6 +7,7 @@
     <!-- 开启驼峰映射 ,否则查询结果不能转成resultType-->
     <!-- 开启驼峰映射 ,否则查询结果不能转成resultType-->
     <settings>
     <settings>
         <setting name="mapUnderscoreToCamelCase" value="true"/>
         <setting name="mapUnderscoreToCamelCase" value="true"/>
+        <setting name="logImpl" value="STDOUT_LOGGING"/>
     </settings>
     </settings>
     <typeAliases>
     <typeAliases>
         <!--项目DataObject对应的包名-->
         <!--项目DataObject对应的包名-->
@@ -15,4 +16,5 @@
     <mappers>
     <mappers>
 <!--        <mapper resource="mapper/*.xml"/>-->
 <!--        <mapper resource="mapper/*.xml"/>-->
     </mappers>
     </mappers>
-</configuration>
+
+</configuration>

+ 0 - 3
start/src/main/resources/application.yaml

@@ -12,9 +12,6 @@ spring:
 #mybatis
 #mybatis
 mybatis-plus:
 mybatis-plus:
   mapper-locations: classpath*:mapper/**/*.xml
   mapper-locations: classpath*:mapper/**/*.xml
-  config-location: classpath:mybatis-config.xml
-  configurationProperties:
-    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
 
 
 #pageHelper
 #pageHelper
 pagehelper:
 pagehelper:

+ 1 - 0
start/src/main/resources/logback-spring.xml

@@ -77,4 +77,5 @@
         <appender-ref ref="errorFile" />
         <appender-ref ref="errorFile" />
         <appender-ref ref="warnFile" />
         <appender-ref ref="warnFile" />
     </root>
     </root>
+    <logger name="com.hrsk.cloud" level="debug"/>
 </configuration>
 </configuration>

+ 26 - 0
start/src/test/java/StartTest.java

@@ -1,8 +1,15 @@
 import com.hrsk.cloud.eg.Application;
 import com.hrsk.cloud.eg.Application;
+import com.hrsk.cloud.eg.infrastructure.business.GenerateHttpApiConfigService;
+import com.hrsk.cloud.eg.infrastructure.repository.database.entity.ProductBusinessApiInfoDo;
+import com.hrsk.cloud.eg.infrastructure.repository.database.mapper.ProductBusinessApiInfoMapper;
+import com.hrsk.cloud.eg.infrastructure.service.ProductBusinessApiInfoService;
+import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runner.RunWith;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.test.context.junit4.SpringRunner;
 import org.springframework.test.context.junit4.SpringRunner;
 
 
+import javax.annotation.Resource;
+
 /**
 /**
  * @author zhangyy
  * @author zhangyy
  * @version 1.0
  * @version 1.0
@@ -13,6 +20,25 @@ import org.springframework.test.context.junit4.SpringRunner;
 @SpringBootTest(classes = Application.class)
 @SpringBootTest(classes = Application.class)
 public class StartTest {
 public class StartTest {
 
 
+    @Resource
+    private GenerateHttpApiConfigService generateHttpApiConfigService;
+
+    @Resource
+    private ProductBusinessApiInfoService productBusinessApiInfoService  ;
+    @Test
+  public void createApiTest(){
+        String input="{\"priviteKey\":\"MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAIIftRt0MixH4UKwHEYD2TT9LblcgXaZYOMsBqW8zDnDfTuu6-LZz7EaRR4E4xRYsHHpL_lzhytnYd3MxAMt8kQYkrQHDGiZuw9CO5DxQdy4ysS6e6yKiGJC-1rubYicLAko322nV9f9xZ3aWl9xyjzVkQCeyxkU83UDe9SBBpbLAgMBAAECgYANTQZrLv5t7k8FTREmyv_p3bNNzjnhkJ4JupdXW6wYf3YOoruz7YXAWaoU_nTjwIkQq8BepEN92Ux0qpiippCr5ekXUnF4ya8TAKxc9J93jEXW_0grMbut3FOxQM6q2a4IWb0ahVNq7_6wbUNQavfR5HoBShhD798V89q9UWBO6QJBAL8JUqQseATgDkUjPunBUS2OhENqerDKfOmLAGa4o60b49nUG0Hr3WLm47qNM8-Hnozs-lqvnKWFyKntsin9ds8CQQCuX6Qgdy8_X-NhxtKfRkynCnKi5J5E8FEJvXyi_rMqQxWwDcu_4NRMUKD7FkmLjTf4xqfpBUg6k6CLNTO5JZ9FAkBUS1LR6mVTEWJ6k2DRWGHvjjFCZhuZIuAXVSRqLxLZ8bKKjZMxdVgMqgDWcjPoYNlPKcoWdeLTDsNKZ_3zlUn1AkEAjaLwHNLSlOadOoGV-XvPrWsGHJwYlqShHolEoNzDyRM-nYdHNa84olhnuiurR2hIy5EJOHRq6_GX2Rs4zS3rBQJACI2mG2n9L3y4J6bEs40KvURo4x4iu8c9nuUsLZppkfQNiy4VaZBJqXeXfWV0nRyvd0qWR7D_S91EI90FY_tBWQ\",\"secretKey\":\"3A4093B3E9A46A59A441E0B728260939\",\"applyUrl\":\"http://loan-crm-api.pre.jiebide.xin/crm/custom/add\",\"publicKey\":\"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCCH7UbdDIsR-FCsBxGA9k0_S25XIF2mWDjLAalvMw5w307ruvi2c-xGkUeBOMUWLBx6S_5c4crZ2HdzMQDLfJEGJK0BwxombsPQjuQ8UHcuMrEunusiohiQvta7m2InCwJKN9tp1fX_cWd2lpfcco81ZEAnssZFPN1A3vUgQaWywIDAQAB\",\"checkUrl\":\"http://loan-crm-api.pre.jiebide.xin/crm/custom/checkAttackData\",\"channelCode\":\"CHANEL240717000000005\"}";
+        generateHttpApiConfigService.generateHuiRonHuiRonApiConfig(input);
+  }
+
+    @Test
+    public void apiTest(){
+        ProductBusinessApiInfoDo productBusinessApiInfoDo = new ProductBusinessApiInfoDo();
+        productBusinessApiInfoDo.setCreater("1");
+        productBusinessApiInfoService.save(productBusinessApiInfoDo);
+//        String input="{\"priviteKey\":\"MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAIIftRt0MixH4UKwHEYD2TT9LblcgXaZYOMsBqW8zDnDfTuu6-LZz7EaRR4E4xRYsHHpL_lzhytnYd3MxAMt8kQYkrQHDGiZuw9CO5DxQdy4ysS6e6yKiGJC-1rubYicLAko322nV9f9xZ3aWl9xyjzVkQCeyxkU83UDe9SBBpbLAgMBAAECgYANTQZrLv5t7k8FTREmyv_p3bNNzjnhkJ4JupdXW6wYf3YOoruz7YXAWaoU_nTjwIkQq8BepEN92Ux0qpiippCr5ekXUnF4ya8TAKxc9J93jEXW_0grMbut3FOxQM6q2a4IWb0ahVNq7_6wbUNQavfR5HoBShhD798V89q9UWBO6QJBAL8JUqQseATgDkUjPunBUS2OhENqerDKfOmLAGa4o60b49nUG0Hr3WLm47qNM8-Hnozs-lqvnKWFyKntsin9ds8CQQCuX6Qgdy8_X-NhxtKfRkynCnKi5J5E8FEJvXyi_rMqQxWwDcu_4NRMUKD7FkmLjTf4xqfpBUg6k6CLNTO5JZ9FAkBUS1LR6mVTEWJ6k2DRWGHvjjFCZhuZIuAXVSRqLxLZ8bKKjZMxdVgMqgDWcjPoYNlPKcoWdeLTDsNKZ_3zlUn1AkEAjaLwHNLSlOadOoGV-XvPrWsGHJwYlqShHolEoNzDyRM-nYdHNa84olhnuiurR2hIy5EJOHRq6_GX2Rs4zS3rBQJACI2mG2n9L3y4J6bEs40KvURo4x4iu8c9nuUsLZppkfQNiy4VaZBJqXeXfWV0nRyvd0qWR7D_S91EI90FY_tBWQ\",\"secretKey\":\"3A4093B3E9A46A59A441E0B728260939\",\"applyUrl\":\"http://loan-crm-api.pre.jiebide.xin/crm/custom/add\",\"publicKey\":\"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCCH7UbdDIsR-FCsBxGA9k0_S25XIF2mWDjLAalvMw5w307ruvi2c-xGkUeBOMUWLBx6S_5c4crZ2HdzMQDLfJEGJK0BwxombsPQjuQ8UHcuMrEunusiohiQvta7m2InCwJKN9tp1fX_cWd2lpfcco81ZEAnssZFPN1A3vUgQaWywIDAQAB\",\"checkUrl\":\"http://loan-crm-api.pre.jiebide.xin/crm/custom/checkAttackData\",\"channelCode\":\"CHANEL240717000000005\"}";
+//        generateHttpApiConfigService.generateHuiRonHuiRonApiConfig(input);
+    }
 
 
 
 
 }
 }