Browse Source

Merge branch 'feature-butt-joint-2024-08-26' into test

GITZYY 8 months ago
parent
commit
a544d27d4c
36 changed files with 842 additions and 20 deletions
  1. 13 7
      README.md
  2. 72 0
      db/eg.sql
  3. 6 0
      db/新增eg_api_epoint字段.sql
  4. 1 1
      egress-gateway-service-app/src/main/java/com/hrsk/cloud/eg/app/api/ApiCheckIntoServiceImpl.java
  5. 78 0
      egress-gateway-service-app/src/main/java/com/hrsk/cloud/eg/app/api/EgApiOperateServiceImpl.java
  6. 8 1
      egress-gateway-service-app/src/main/java/com/hrsk/cloud/eg/app/business/ApiRouteService.java
  7. 105 0
      egress-gateway-service-app/src/main/java/com/hrsk/cloud/eg/app/business/EgOperateBusinessService.java
  8. 45 0
      egress-gateway-service-app/src/main/java/com/hrsk/cloud/eg/app/constant/EgApiTypeEnum.java
  9. 1 0
      egress-gateway-service-app/src/main/java/com/hrsk/cloud/eg/app/constant/ServerCodeEnums.java
  10. 53 0
      egress-gateway-service-app/src/main/java/com/hrsk/cloud/eg/app/request/api/EgApiEndpointReq.java
  11. 43 0
      egress-gateway-service-app/src/main/java/com/hrsk/cloud/eg/app/request/api/EgApiLoanExtendReq.java
  12. 46 0
      egress-gateway-service-app/src/main/java/com/hrsk/cloud/eg/app/request/api/EgApiProductExtendReq.java
  13. 33 0
      egress-gateway-service-app/src/main/java/com/hrsk/cloud/eg/app/request/api/EgApiReq.java
  14. 43 0
      egress-gateway-service-app/src/main/java/com/hrsk/cloud/eg/app/threedocking/impl/PubNoCheckCreditService.java
  15. 1 0
      egress-gateway-service-infrastructure/src/main/java/com/hrsk/cloud/eg/infrastructure/config/MyMetaObjectHandler.java
  16. 7 0
      egress-gateway-service-infrastructure/src/main/java/com/hrsk/cloud/eg/infrastructure/config/redis/FastJson2RedisSerializer.java
  17. 1 1
      egress-gateway-service-infrastructure/src/main/java/com/hrsk/cloud/eg/infrastructure/config/redis/RedisKeys.java
  18. 15 0
      egress-gateway-service-infrastructure/src/main/java/com/hrsk/cloud/eg/infrastructure/repository/database/entity/EgApiEndpointDo.java
  19. 47 0
      egress-gateway-service-infrastructure/src/main/java/com/hrsk/cloud/eg/infrastructure/repository/database/entity/EgApiLoanExtendDo.java
  20. 49 0
      egress-gateway-service-infrastructure/src/main/java/com/hrsk/cloud/eg/infrastructure/repository/database/entity/EgApiProductExtendDo.java
  21. 5 3
      egress-gateway-service-infrastructure/src/main/java/com/hrsk/cloud/eg/infrastructure/repository/database/entity/ProductBusinessApiInfoDo.java
  22. 17 0
      egress-gateway-service-infrastructure/src/main/java/com/hrsk/cloud/eg/infrastructure/repository/database/mapper/EgApiLoanExtendMapper.java
  23. 17 0
      egress-gateway-service-infrastructure/src/main/java/com/hrsk/cloud/eg/infrastructure/repository/database/mapper/EgApiProductExtendMapper.java
  24. 17 0
      egress-gateway-service-infrastructure/src/main/java/com/hrsk/cloud/eg/infrastructure/service/EgApiLoanExtendService.java
  25. 17 0
      egress-gateway-service-infrastructure/src/main/java/com/hrsk/cloud/eg/infrastructure/service/EgApiProductExtendService.java
  26. 13 0
      egress-gateway-service-infrastructure/src/main/java/com/hrsk/cloud/eg/infrastructure/service/impl/EgApiLoanExtendServiceImpl.java
  27. 14 0
      egress-gateway-service-infrastructure/src/main/java/com/hrsk/cloud/eg/infrastructure/service/impl/EgApiProductExtendServiceImpl.java
  28. 3 0
      egress-gateway-service-infrastructure/src/main/resources/mapper/EgApiEndpointMapper.xml
  29. 25 0
      egress-gateway-service-infrastructure/src/main/resources/mapper/EgApiLoanExtendMapper.xml
  30. 25 0
      egress-gateway-service-infrastructure/src/main/resources/mapper/EgApiProductExtendMapper.xml
  31. 2 0
      egress-gateway-service-infrastructure/src/main/resources/mapper/ProductBusinessApiInfoMapper.xml
  32. 1 1
      egress-gateway-service-infrastructure/src/main/resources/mybatis-config.xml
  33. 14 1
      pom.xml
  34. 1 1
      start/src/main/resources/application.yaml
  35. 2 2
      start/src/main/resources/logback-spring-dev.xml
  36. 2 2
      start/src/main/resources/logback-spring-pre.xml

+ 13 - 7
README.md

@@ -2,6 +2,18 @@
 
 接出网关工程:egress-gateway-service,提供业务/数据的接出能力。
 
+# 统一返回的信息封装
+1 http/https 统一返回信息实体DataVo
+2 spel 表达式接受并且转化所有的信息为map,map解析的结果用#root “#root” 为map 的根
+
+# eg eg_api
+1 redis key code 编码信息 eg+前缀+'历史loan-web-api对接code值'
+
+# mybatis plus meta handler 
+1 使用 BaseDo 进行填充
+2 BaseDo 添加了    @TableField(fill = FieldFill.INSERT)     @TableField(fill = FieldFill.UPDATE) 注解
+
+
 # http 加载信息 初始化 参考
 ```
  JSONObject jsonObject=JSONObject.parseObject(param);
@@ -74,10 +86,4 @@
 //        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\\\"}]}\"}");
-```
-# 统一返回的信息封装
-1 http/https 统一返回信息实体DataVo
-2 spel 表达式接受并且转化所有的信息为map,map解析的结果用#root “#root” 为map 的根
-
-# eg eg_api
-1 code 编码信息 eg+前缀+'历史loan-web-api对接code值'
+```

+ 72 - 0
db/eg.sql

@@ -0,0 +1,72 @@
+DROP TABLE IF EXISTS eg_api_loan_extend;
+CREATE TABLE eg_api_loan_extend(
+                                   `id` bigint(64) NOT NULL   COMMENT 'id' ,
+                                   `create_uid` VARCHAR(64)    COMMENT '创建人id' ,
+                                   `create_username` VARCHAR(64)    COMMENT '创建人' ,
+                                   `gmt_create` DATETIME    COMMENT '创建时间' ,
+                                   `modify_uid` VARCHAR(32)    COMMENT '更新人' ,
+                                   `modify_username` VARCHAR(64)    COMMENT '修改人' ,
+                                   `gmt_modify` DATETIME    COMMENT '修改时间' ,
+                                   `status` VARCHAR(10)    COMMENT '有效(Y 有效 N 无效)' ,
+                                   `api_id` bigint(64)    COMMENT 'eg_api主键' ,
+                                   `share_range` VARCHAR(255)    COMMENT '共享范围' ,
+                                   `protocol` VARCHAR(255)    COMMENT '协议范围' ,
+                                   `share_purpose` VARCHAR(255)    COMMENT '共享目的' ,
+                                   `need_check` INT(4)    COMMENT '是否需要撞库0:不需要;1:需要' ,
+                                   `share_type` VARCHAR(255)    COMMENT '共享方式' ,
+                                   PRIMARY KEY (id)
+)  COMMENT = '接出助贷api的扩展表';
+
+DROP TABLE IF EXISTS eg_api_product_extend;
+CREATE TABLE eg_api_product_extend(
+                                      `id` bigint(64) NOT NULL   COMMENT 'id' ,
+                                      `create_uid` VARCHAR(64)    COMMENT '创建人id' ,
+                                      `create_username` VARCHAR(64)    COMMENT '创建人' ,
+                                      `gmt_create` DATETIME    COMMENT '创建时间' ,
+                                      `modify_uid` VARCHAR(32)    COMMENT '更新人' ,
+                                      `modify_username` VARCHAR(64)    COMMENT '修改人' ,
+                                      `gmt_modify` DATETIME    COMMENT '修改时间' ,
+                                      `status` VARCHAR(10)    COMMENT '有效(Y 有效 N 无效)' ,
+                                      `api_id` bigint(64)    COMMENT 'eg_api主键' ,
+                                      `share_range` VARCHAR(255)    COMMENT '共享范围' ,
+                                      `protocol` VARCHAR(255)    COMMENT '协议范围' ,
+                                      `share_purpose` VARCHAR(255)    COMMENT '共享目的' ,
+                                      `share_type` VARCHAR(255)    COMMENT '共享方式' ,
+                                      `need_check` INT(4)    COMMENT '是否需要撞库0:不需要;1:需要' ,
+                                      PRIMARY KEY (id)
+)  COMMENT = '接出产品api扩展表';
+
+CREATE TABLE `eg_api` (
+                          `id` bigint(64) NOT NULL COMMENT 'id',
+                          `create_uid` varchar(64) DEFAULT NULL COMMENT '创建人id',
+                          `create_username` varchar(64) DEFAULT NULL COMMENT '创建人',
+                          `gmt_create` datetime DEFAULT NULL COMMENT '创建时间',
+                          `modify_uid` varchar(32) DEFAULT NULL COMMENT '更新人',
+                          `modify_username` varchar(64) DEFAULT NULL COMMENT '修改人',
+                          `gmt_modify` datetime DEFAULT NULL COMMENT '修改时间',
+                          `status` varchar(10) DEFAULT NULL COMMENT '有效(Y 有效 N 无效)',
+                          `api_code` varchar(64) DEFAULT NULL COMMENT '业务编码',
+                          `api_name` varchar(64) DEFAULT NULL COMMENT '名称',
+                          `api_type` varchar(20) DEFAULT NULL COMMENT 'api类型',
+                          PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='api信息表';
+
+CREATE TABLE `eg_api_endpoint` (
+                                   `id` bigint(64) NOT NULL,
+                                   `create_uid` varchar(64) DEFAULT NULL COMMENT '乐观锁',
+                                   `create_username` varchar(64) DEFAULT NULL COMMENT '创建人',
+                                   `gmt_create` datetime DEFAULT NULL COMMENT '创建时间',
+                                   `modify_uid` varchar(64) DEFAULT NULL COMMENT '更新人',
+                                   `modify_username` varchar(64) DEFAULT NULL COMMENT '更新人',
+                                   `status` varchar(32) DEFAULT NULL COMMENT '有效(Y 有效 N 无效)',
+                                   `api_config` blob COMMENT '配置',
+                                   `api_code` varchar(32) DEFAULT NULL COMMENT 'code配置',
+                                   `desc` varchar(255) DEFAULT NULL COMMENT '描述',
+                                   `api_id` bigint(64) DEFAULT NULL COMMENT 'apiId',
+                                   `gmt_modify` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
+                                   `api_name` varchar(255) DEFAULT NULL COMMENT 'api名称',
+                                   `request_config` varchar(255) DEFAULT NULL COMMENT '请求配置',
+                                   `response_config` varchar(255) DEFAULT NULL COMMENT '响应设置',
+                                   `memo` varchar(255) DEFAULT NULL COMMENT '备注',
+                                   PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='api通道表';

+ 6 - 0
db/新增eg_api_epoint字段.sql

@@ -0,0 +1,6 @@
+ALTER TABLE `loan_online`.`eg_api_endpoint`
+    ADD COLUMN `request_config` varchar(255) NULL COMMENT '请求配置' AFTER `api_name`,
+ADD COLUMN `response_config` varchar(255) NULL COMMENT '响应设置' AFTER `request_config`;
+
+ALTER TABLE `loan_online`.`eg_api_endpoint`
+    ADD COLUMN `endpoint_type` varchar(20) NULL COMMENT '对接类型';

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

@@ -23,7 +23,7 @@ public class ApiCheckIntoServiceImpl {
 
 
     /**
-     * @description:  撞库接口
+     * @description:  助贷撞库接口
      * @param:
      * @return:
      * @author zhangyy

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

@@ -0,0 +1,78 @@
+package com.hrsk.cloud.eg.app.api;
+
+import com.hrsk.cloud.eg.app.business.EgOperateBusinessService;
+import com.hrsk.cloud.eg.app.request.api.EgApiEndpointReq;
+import com.hrsk.cloud.eg.app.request.api.EgApiLoanExtendReq;
+import com.hrsk.cloud.eg.app.request.api.EgApiProductExtendReq;
+import com.hrsk.cloud.eg.app.request.api.EgApiReq;
+import com.hrsk.cloud.eg.vo.response.DefaultResponseVo;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+
+/**
+ * @author zhangyy
+ * @version 1.0
+ * @description: EgApiOperateServiceImpl
+ * @date 2024/9/23 11:25
+ */
+@RequestMapping
+@RestController("eg")
+public class EgApiOperateServiceImpl {
+
+    @Resource
+    private EgOperateBusinessService egOperateBusinessService;
+
+
+    /**
+     * @description: 创建助贷api扩展
+     * @author zhangyy
+     * @date 2024/9/23 13:40
+     * @version 1.0
+     */
+    @RequestMapping("saveLoanApiExtend")
+    public DefaultResponseVo saveLoanApiExtend(@RequestBody EgApiLoanExtendReq req) {
+        egOperateBusinessService.saveLoanApiExtend(req);
+        return DefaultResponseVo.success();
+    }
+
+    /**
+     * @description: 创建助贷api扩展
+     * @author zhangyy
+     * @date 2024/9/23 13:40
+     * @version 1.0
+     */
+    @RequestMapping("saveInterbankApiExtend")
+    public DefaultResponseVo saveInterbankApiExtend(@RequestBody EgApiProductExtendReq req) {
+        egOperateBusinessService.saveInterbankApiExtend(req);
+        return DefaultResponseVo.success();
+    }
+
+    /**
+     * @description: 保存信息api配置信息
+     * @author zhangyy
+     * @date 2024/9/23 13:46
+     * @version 1.0
+     */
+    @RequestMapping("saveApiConfig")
+    public DefaultResponseVo saveApiConfig(@RequestBody EgApiEndpointReq req){
+
+        Long id = egOperateBusinessService.saveApiConfig(req);
+        return DefaultResponseVo.success(id);
+    }
+
+    /**
+     * @description: 保存信息api
+     * @author zhangyy
+     * @date 2024/9/23 13:46
+     * @version 1.0
+     */
+    @RequestMapping("saveApiInfo")
+    public DefaultResponseVo saveApiInfo(@RequestBody EgApiReq req){
+        Long id = egOperateBusinessService.saveApiInfo(req);
+        return DefaultResponseVo.success(id);
+    }
+
+}

+ 8 - 1
egress-gateway-service-app/src/main/java/com/hrsk/cloud/eg/app/business/ApiRouteService.java

@@ -12,6 +12,7 @@ import com.hrsk.cloud.eg.vo.response.DataVo;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 import javax.annotation.Resource;
+import java.util.Objects;
 
 /**
  * @author zhangyy
@@ -62,6 +63,9 @@ public class ApiRouteService {
     @Resource
     private QingyuV3CreditService qingyuV3CreditService;
 
+    @Resource
+    private PubNoCheckCreditService pubNoCheckCreditService;
+
 
     /**
      * API 路由
@@ -73,8 +77,11 @@ public class ApiRouteService {
         if (null == xdProduct.getApiId()) return null;
         ProductBusinessApiInfoDo apiInfo = apiInfoService.getApiInfoByRedis(xdProduct.getApiId());
         LoanDockingApi apiService = null;
+        if (Objects.isNull(apiInfo)&&apiInfo.getNeedCheck()==0){
+             apiService= pubNoCheckCreditService;
+             return apiService;
+        }
         JoinMethodEnums method = JoinMethodEnums.getByCode(apiInfo.getJoinMethod());
-
         if (null == method) return null;
         switch (method) {
             case CRM_QY:

+ 105 - 0
egress-gateway-service-app/src/main/java/com/hrsk/cloud/eg/app/business/EgOperateBusinessService.java

@@ -0,0 +1,105 @@
+package com.hrsk.cloud.eg.app.business;
+
+import com.alibaba.cola.exception.BizException;
+import com.hrsk.cloud.eg.app.request.api.EgApiEndpointReq;
+import com.hrsk.cloud.eg.app.request.api.EgApiLoanExtendReq;
+import com.hrsk.cloud.eg.app.request.api.EgApiProductExtendReq;
+import com.hrsk.cloud.eg.app.request.api.EgApiReq;
+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.repository.database.entity.EgApiLoanExtendDo;
+import com.hrsk.cloud.eg.infrastructure.repository.database.entity.EgApiProductExtendDo;
+import com.hrsk.cloud.eg.infrastructure.service.EgApiEndpointService;
+import com.hrsk.cloud.eg.infrastructure.service.EgApiLoanExtendService;
+import com.hrsk.cloud.eg.infrastructure.service.EgApiProductExtendService;
+import com.hrsk.cloud.eg.infrastructure.service.EgApiService;
+import com.hrsk.cloud.eg.infrastructure.utils.BeanCopyUtils;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.util.Objects;
+
+/**
+ * @author zhangyy
+ * @version 1.0
+ * @description: EgOperateBusinessService eg接出操作类
+ * @date 2024/9/23 13:49
+ */
+@Service
+public class EgOperateBusinessService {
+    @Resource
+    private EgApiService egApiService;
+
+    @Resource
+    private EgApiEndpointService egApiEndpointService;
+    @Resource
+    private EgApiProductExtendService egApiProductExtendService;
+
+    @Resource
+    private EgApiLoanExtendService egApiLoanExtendService;
+
+    /**
+     * @description:  保存接出api
+     * @author zhangyy
+     * @date 2024/9/23 14:08
+     * @version 1.0
+     */
+    @Transactional(rollbackFor = Exception.class)
+    public Long saveApiInfo(EgApiReq req) {
+        EgApiDo copy = BeanCopyUtils.copy(req, EgApiDo.class);
+        egApiService.save(copy);
+        return copy.getId();
+
+    }
+
+    /**
+     * @description:  保存api的配置
+     * @author zhangyy
+     * @date 2024/9/23 14:18
+     * @version 1.0
+     */
+    @Transactional(rollbackFor = Exception.class)
+    public Long saveApiConfig(EgApiEndpointReq req) {
+        EgApiEndpointDo copy = BeanCopyUtils.copy(req, EgApiEndpointDo.class);
+        EgApiDo apiDo = egApiService.getById(req.getApiId());
+        if (Objects.isNull(apiDo)) {
+           throw new BizException("主api信息为空");
+        }
+        copy.setApiName(apiDo.getApiName());
+        copy.setApiCode(apiDo.getApiCode());
+        egApiEndpointService.save(copy);
+        return copy.getId();
+    }
+
+    /** 
+     * @description: 保存api扩展信息
+     * @param:  
+     * @return:  
+     * @author zhangyy
+     * @date: 2024/9/23 14:26
+     */ 
+    @Transactional(rollbackFor = Exception.class)
+    public void saveLoanApiExtend(EgApiLoanExtendReq req) {
+        if (Objects.isNull(req)){
+            throw new BizException("信息不能为空");
+        }
+        EgApiLoanExtendDo copy = BeanCopyUtils.copy(req, EgApiLoanExtendDo.class);
+        egApiLoanExtendService.save(copy);
+    }
+    /**
+     * @description: 保存api扩展信息
+     * @param:
+     * @return:
+     * @author zhangyy
+     * @date: 2024/9/23 14:26
+     */
+    public void saveInterbankApiExtend(EgApiProductExtendReq req) {
+        if (Objects.isNull(req)){
+            throw new BizException("信息不能为空");
+        }
+        EgApiProductExtendDo copy = BeanCopyUtils.copy(req, EgApiProductExtendDo.class);
+        egApiProductExtendService.save(copy);
+    }
+
+}

+ 45 - 0
egress-gateway-service-app/src/main/java/com/hrsk/cloud/eg/app/constant/EgApiTypeEnum.java

@@ -0,0 +1,45 @@
+package com.hrsk.cloud.eg.app.constant;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @author zhangyy
+ * @version 1.0
+ * @description: EgApiTypeEnum
+ * @date 2024/9/23 13:58
+ */
+@Getter
+@AllArgsConstructor
+public enum EgApiTypeEnum {
+    LOAN_API("LOAN_API","助贷api"),
+    INTERBANK_API("INTERBANK_API","同业api"),
+    FAST_LOAN("FAST_LOAN","极速贷api")
+
+    ;
+    static Map<String, EgApiTypeEnum> map = new HashMap();
+
+    static {
+        for (EgApiTypeEnum value : EgApiTypeEnum.values()) {
+            map.put(value.code, value);
+        }
+    }
+
+    public static EgApiTypeEnum getByCode(String code) {
+        return map.get(code);
+    }
+    private String code;
+
+    private String msg;
+
+    public String getCode() {
+        return code;
+    }
+
+    public String getMsg() {
+        return msg;
+    }
+}

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

@@ -164,6 +164,7 @@ public enum ServerCodeEnums {
         HUIRONG_CRM("9", "惠融易客CRM"),
         CRM_QY_V3("11", "三方CRM(庆鱼3.0)"),
         CRM_JDV3("12", "三方CRM(锦蝶V3)"),
+        NoCheck("NoCheck","不撞库通用"),
         OPEN_API_AES("13", "我方通用AES模式");
         ;
 

+ 53 - 0
egress-gateway-service-app/src/main/java/com/hrsk/cloud/eg/app/request/api/EgApiEndpointReq.java

@@ -0,0 +1,53 @@
+package com.hrsk.cloud.eg.app.request.api;
+
+import com.hrsk.cloud.eg.infrastructure.repository.database.entity.BaseDo;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+
+/**
+ * @author: bianlanzhou
+ * @create: 2024-08-01 18:34
+ * @description: API通道数据对象
+ **/
+@Data
+public class EgApiEndpointReq extends BaseDo implements Serializable {
+    /**
+     * 数据API主键
+     */
+    @NotNull(message = "apiId不能为空")
+    private Long apiId;
+    /**
+     * 通道类型
+     */
+    private String apiCode;
+
+    /**
+     * api名称
+     */
+    private String apiName;
+    /**
+     * 通道配置
+     */
+    @NotBlank(message = "通道配置信息不能为空")
+    private byte[] apiConfig;
+
+    /**
+     * 请求配置
+     */
+    @NotBlank(message = "请求配置信息不能为空")
+    private String requestConfig;
+
+    /**
+     * 响应配置
+     */
+    @NotBlank(message = "响应配置信息不能为空")
+    private String responseConfig;
+
+    /**
+     * 备注
+     */
+    private String memo;
+}

+ 43 - 0
egress-gateway-service-app/src/main/java/com/hrsk/cloud/eg/app/request/api/EgApiLoanExtendReq.java

@@ -0,0 +1,43 @@
+package com.hrsk.cloud.eg.app.request.api;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 接出助贷api的详细描述
+ * 
+ * @author zhangyy
+ * @email @gmail.com
+ * @date 2024-09-23 11:07:01
+ */
+@Data
+public class EgApiLoanExtendReq  implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * eg_api主键
+	 */
+	private Long apiId;
+	/**
+	 * 共享范围
+	 */
+	private String shareRange;
+	/**
+	 * 协议范围
+	 */
+	private String protocol;
+	/**
+	 * 共享目的
+	 */
+	private String sharePurpose;
+	/**
+	 * 是否需要撞库0:不需要;1:需要
+	 */
+	private Integer needCheck;
+	/**
+	 * 共享方式
+	 */
+	private String shareType;
+
+}

+ 46 - 0
egress-gateway-service-app/src/main/java/com/hrsk/cloud/eg/app/request/api/EgApiProductExtendReq.java

@@ -0,0 +1,46 @@
+package com.hrsk.cloud.eg.app.request.api;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+
+/**
+ * 接出产品api扩展表
+ * 
+ * @author zhangyy
+ * @email
+ * @date 2024-09-23 11:07:01
+ */
+@Data
+public class EgApiProductExtendReq  implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+
+	/**
+	 * eg_api主键
+	 */
+	@NotNull(message = "apiId信息不能为空")
+	private Long apiId;
+	/**
+	 * 共享范围
+	 */
+	private String shareRange;
+	/**
+	 * 协议范围
+	 */
+	private String protocol;
+	/**
+	 * 共享目的
+	 */
+	private String sharePurpose;
+	/**
+	 * 共享方式
+	 */
+	private String shareType;
+	/**
+	 * 是否需要撞库0:不需要;1:需要
+	 */
+	private Integer needCheck;
+
+}

+ 33 - 0
egress-gateway-service-app/src/main/java/com/hrsk/cloud/eg/app/request/api/EgApiReq.java

@@ -0,0 +1,33 @@
+package com.hrsk.cloud.eg.app.request.api;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import java.io.Serializable;
+
+/**
+ * @author: bianlanzhou
+ * @create: 2024-08-02 08:14
+ * @description: 接出网关API表
+ **/
+@Data
+public class EgApiReq implements Serializable  {
+    /**
+     * API名称
+     */
+    @NotBlank(message = "API名称不能为空")
+    private String apiName;
+
+    /**
+     * API类型
+     */
+    @NotBlank(message = "API类型不能为空")
+    private String apiType;
+
+    /**
+     * APICode
+     */
+    @NotBlank(message = "API编码不能为空")
+    private String apiCode;
+
+}

+ 43 - 0
egress-gateway-service-app/src/main/java/com/hrsk/cloud/eg/app/threedocking/impl/PubNoCheckCreditService.java

@@ -0,0 +1,43 @@
+package com.hrsk.cloud.eg.app.threedocking.impl;
+
+import com.hrsk.cloud.eg.app.constant.ServerCodeEnums;
+import com.hrsk.cloud.eg.app.threedocking.LoanDockingApi;
+import com.hrsk.cloud.eg.dto.data.egPlan.PlanDto;
+import com.hrsk.cloud.eg.dto.data.user.UserBaseInfoDto;
+import com.hrsk.cloud.eg.vo.response.DataVo;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.stereotype.Component;
+
+/**
+ * @Author zhangyy
+ * @Date 2023 11 08.
+ * 用于处理所有不撞库的助贷相关逻辑
+ **/
+@Component
+@Slf4j
+public class PubNoCheckCreditService implements LoanDockingApi {
+
+
+
+    @Override
+    public ServerCodeEnums getType() {
+        return ServerCodeEnums.NoCheck;
+    }
+    /**
+     * 撞库 虚假的撞库   暂时直接返回成功,后续需要兼容排重包等功能
+     *
+     * @param userInfo
+     * @param product
+     * @return
+     */
+    @Override
+    public DataVo qualityCheck(UserBaseInfoDto userInfo, PlanDto product) {
+        log.info("虚假的助贷撞库请求参数 userInfo:{}  product:{}", userInfo, product);
+        String productName = "";
+        if (null != product && StringUtils.isNotBlank(product.getPlanName())){
+            productName = product.getPlanName();
+        }
+        return DataVo.success(0, productName+"撞库成功", product.getPlanId());
+    }
+}

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

@@ -20,6 +20,7 @@ public class MyMetaObjectHandler implements MetaObjectHandler {
 //        注释的这种方式只是填充了id和状态
      //this.strictInsertFill(metaObject,"create_uid",String.class, String.valueOf(SnowflakeIdWorker.nextId()));
         try {
+            //时间格式的时候不能填充所以使用了这种方式。
             BaseDo baseDO = (BaseDo) metaObject.getOriginalObject();
             // 插入操作时的自动填充逻辑
             baseDO.setId(SnowflakeIdWorker.nextId());

+ 7 - 0
egress-gateway-service-infrastructure/src/main/java/com/hrsk/cloud/eg/infrastructure/config/redis/FastJson2RedisSerializer.java

@@ -11,6 +11,13 @@ import org.springframework.data.redis.serializer.SerializationException;
 
 import java.util.Objects;
 
+/**
+ * @description:  fast2 json 格式化默认和web-api 保持一致
+ * @param:
+ * @return:
+ * @author zhangyy
+ * @date: 2024/9/19 14:09
+ */
 @Slf4j
 public class FastJson2RedisSerializer<T> implements RedisSerializer<T> {
 

+ 1 - 1
egress-gateway-service-infrastructure/src/main/java/com/hrsk/cloud/eg/infrastructure/config/redis/RedisKeys.java

@@ -8,7 +8,7 @@ package com.hrsk.cloud.eg.infrastructure.config.redis;
  */
 public class RedisKeys {
     /**
-     * 前缀
+     * 默认工程都加eg 直接使用业务key即可默认或自定添加到key 前缀
      */
     public static String getPrefixKey(){
         return "eg:";

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

@@ -32,4 +32,19 @@ public class EgApiEndpointDo extends BaseDo implements Serializable {
      * 通道配置
      */
     private byte[] apiConfig;
+
+    /**
+     * 请求配置
+     */
+    private String requestConfig;
+
+    /**
+     * 响应配置
+     */
+    private String responseConfig;
+
+    /**
+     * 备注
+     */
+    private String memo;
 }

+ 47 - 0
egress-gateway-service-infrastructure/src/main/java/com/hrsk/cloud/eg/infrastructure/repository/database/entity/EgApiLoanExtendDo.java

@@ -0,0 +1,47 @@
+package com.hrsk.cloud.eg.infrastructure.repository.database.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 接出助贷api的详细描述
+ * 
+ * @author zhangyy
+ * @email @gmail.com
+ * @date 2024-09-23 11:07:01
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("eg_api_loan_extend")
+public class EgApiLoanExtendDo  extends  BaseDo implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * eg_api主键
+	 */
+	private Long apiId;
+	/**
+	 * 共享范围
+	 */
+	private String shareRange;
+	/**
+	 * 协议范围
+	 */
+	private String protocol;
+	/**
+	 * 共享目的
+	 */
+	private String sharePurpose;
+	/**
+	 * 是否需要撞库0:不需要;1:需要
+	 */
+	private Integer needCheck;
+	/**
+	 * 共享方式
+	 */
+	private String shareType;
+
+}

+ 49 - 0
egress-gateway-service-infrastructure/src/main/java/com/hrsk/cloud/eg/infrastructure/repository/database/entity/EgApiProductExtendDo.java

@@ -0,0 +1,49 @@
+package com.hrsk.cloud.eg.infrastructure.repository.database.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 接出产品api扩展表
+ * 
+ * @author zhangyy
+ * @email
+ * @date 2024-09-23 11:07:01
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("eg_api_product_extend")
+public class EgApiProductExtendDo extends BaseDo implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+
+	/**
+	 * eg_api主键
+	 */
+	private Long apiId;
+	/**
+	 * 共享范围
+	 */
+	private String shareRange;
+	/**
+	 * 协议范围
+	 */
+	private String protocol;
+	/**
+	 * 共享目的
+	 */
+	private String sharePurpose;
+	/**
+	 * 共享方式
+	 */
+	private String shareType;
+	/**
+	 * 是否需要撞库0:不需要;1:需要
+	 */
+	private Integer needCheck;
+
+}

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

@@ -1,6 +1,5 @@
 package com.hrsk.cloud.eg.infrastructure.repository.database.entity;
 
-import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
 import lombok.experimental.Accessors;
@@ -10,7 +9,7 @@ import java.util.Date;
 /**
  * 商户对接配置信息表
  *
- * @author Mybatis Plus Generator
+ * @author zhangyy
  * @date 2023.05.09 10:11
  */
 @Data
@@ -131,7 +130,10 @@ public class ProductBusinessApiInfoDo implements Serializable {
      * */
     private String maintenance;
 
-
+    /**
+     * 是否是需要撞库
+     */
+    private Integer needCheck;
 
 
 }

+ 17 - 0
egress-gateway-service-infrastructure/src/main/java/com/hrsk/cloud/eg/infrastructure/repository/database/mapper/EgApiLoanExtendMapper.java

@@ -0,0 +1,17 @@
+package com.hrsk.cloud.eg.infrastructure.repository.database.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.hrsk.cloud.eg.infrastructure.repository.database.entity.EgApiLoanExtendDo;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 接出助贷api的详细描述
+ * 
+ * @author chenshun
+ * @email sunlightcs@gmail.com
+ * @date 2024-09-23 11:07:01
+ */
+@Mapper
+public interface EgApiLoanExtendMapper extends BaseMapper<EgApiLoanExtendDo> {
+	
+}

+ 17 - 0
egress-gateway-service-infrastructure/src/main/java/com/hrsk/cloud/eg/infrastructure/repository/database/mapper/EgApiProductExtendMapper.java

@@ -0,0 +1,17 @@
+package com.hrsk.cloud.eg.infrastructure.repository.database.mapper;
+
+import com.hrsk.cloud.eg.infrastructure.repository.database.entity.EgApiProductExtendDo;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 接出产品api扩展表
+ * 
+ * @author chenshun
+ * @email sunlightcs@gmail.com
+ * @date 2024-09-23 11:07:01
+ */
+@Mapper
+public interface EgApiProductExtendMapper extends BaseMapper<EgApiProductExtendDo> {
+	
+}

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

@@ -0,0 +1,17 @@
+package com.hrsk.cloud.eg.infrastructure.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.hrsk.cloud.eg.infrastructure.repository.database.entity.EgApiLoanExtendDo;
+
+
+/**
+ * 接出助贷api的详细描述
+ *
+ * @author zhangyy
+ * @email @gmail.com
+ * @date 2024-09-23 11:07:01
+ */
+public interface EgApiLoanExtendService extends IService<EgApiLoanExtendDo> {
+
+}
+

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

@@ -0,0 +1,17 @@
+package com.hrsk.cloud.eg.infrastructure.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.hrsk.cloud.eg.infrastructure.repository.database.entity.EgApiProductExtendDo;
+
+
+/**
+ * 接出产品api扩展表
+ *
+ * @author chenshun
+ * @email sunlightcs@gmail.com
+ * @date 2024-09-23 11:07:01
+ */
+public interface EgApiProductExtendService extends IService<EgApiProductExtendDo> {
+
+}
+

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

@@ -0,0 +1,13 @@
+package com.hrsk.cloud.eg.infrastructure.service.impl;
+
+import com.hrsk.cloud.eg.infrastructure.repository.database.entity.EgApiLoanExtendDo;
+import com.hrsk.cloud.eg.infrastructure.repository.database.mapper.EgApiLoanExtendMapper;
+import com.hrsk.cloud.eg.infrastructure.service.EgApiLoanExtendService;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+
+@Service
+public class EgApiLoanExtendServiceImpl extends ServiceImpl<EgApiLoanExtendMapper, EgApiLoanExtendDo> implements EgApiLoanExtendService {
+
+}

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

@@ -0,0 +1,14 @@
+package com.hrsk.cloud.eg.infrastructure.service.impl;
+
+import com.hrsk.cloud.eg.infrastructure.repository.database.entity.EgApiProductExtendDo;
+import com.hrsk.cloud.eg.infrastructure.repository.database.mapper.EgApiProductExtendMapper;
+import com.hrsk.cloud.eg.infrastructure.service.EgApiProductExtendService;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+
+@Service
+public class EgApiProductExtendServiceImpl extends ServiceImpl<EgApiProductExtendMapper, EgApiProductExtendDo> implements EgApiProductExtendService {
+
+
+}

+ 3 - 0
egress-gateway-service-infrastructure/src/main/resources/mapper/EgApiEndpointMapper.xml

@@ -15,6 +15,9 @@
         <result column="api_code" property="apiCode"/>
         <result column="api_id" property="apiId"/>
         <result column="api_name" property="apiName"/>
+        <result column="request_config" property="requestConfig"/>
+        <result column="response_config" property="responseConfig"/>
+        <result column="memo" property="memo"/>
 
     </resultMap>
 

+ 25 - 0
egress-gateway-service-infrastructure/src/main/resources/mapper/EgApiLoanExtendMapper.xml

@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+
+<mapper namespace="com.hrsk.cloud.eg.infrastructure.repository.database.mapper.EgApiLoanExtendMapper">
+
+	<!-- 可根据自己的需求,是否要使用 -->
+    <resultMap type="com.hrsk.cloud.eg.infrastructure.repository.database.entity.EgApiLoanExtendDo" id="egApiLoanExtendMap">
+        <result property="id" column="id"/>
+        <result property="createUid" column="create_uid"/>
+        <result property="createUsername" column="create_username"/>
+        <result property="gmtCreate" column="gmt_create"/>
+        <result property="modifyUid" column="modify_uid"/>
+        <result property="modifyUsername" column="modify_username"/>
+        <result property="gmtModify" column="gmt_modify"/>
+        <result property="status" column="status"/>
+        <result property="apiId" column="api_id"/>
+        <result property="shareRange" column="share_range"/>
+        <result property="protocol" column="protocol"/>
+        <result property="sharePurpose" column="share_purpose"/>
+        <result property="needCheck" column="need_check"/>
+        <result property="shareType" column="share_type"/>
+    </resultMap>
+
+
+</mapper>

+ 25 - 0
egress-gateway-service-infrastructure/src/main/resources/mapper/EgApiProductExtendMapper.xml

@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+
+<mapper namespace="com.hrsk.cloud.eg.infrastructure.repository.database.mapper.EgApiProductExtendMapper">
+
+	<!-- 可根据自己的需求,是否要使用 -->
+    <resultMap type="com.hrsk.cloud.eg.infrastructure.repository.database.entity.EgApiProductExtendDo" id="egApiProductExtendMap">
+        <result property="id" column="id"/>
+        <result property="createUid" column="create_uid"/>
+        <result property="createUsername" column="create_username"/>
+        <result property="gmtCreate" column="gmt_create"/>
+        <result property="modifyUid" column="modify_uid"/>
+        <result property="modifyUsername" column="modify_username"/>
+        <result property="gmtModify" column="gmt_modify"/>
+        <result property="status" column="status"/>
+        <result property="apiId" column="api_id"/>
+        <result property="shareRange" column="share_range"/>
+        <result property="protocol" column="protocol"/>
+        <result property="sharePurpose" column="share_purpose"/>
+        <result property="shareType" column="share_type"/>
+        <result property="needCheck" column="need_check"/>
+    </resultMap>
+
+
+</mapper>

+ 2 - 0
egress-gateway-service-infrastructure/src/main/resources/mapper/ProductBusinessApiInfoMapper.xml

@@ -6,6 +6,7 @@
     <resultMap id="BaseResultMap" type="com.hrsk.cloud.eg.infrastructure.repository.database.entity.ProductBusinessApiInfoDo">
         <id column="id" property="id"/>
         <result column="busi_id" property="busiId"/>
+        <result column="api_id" property="apiId"/>
         <result column="join_kind" property="joinKind"/>
         <result column="join_method" property="joinMethod"/>
         <result column="joint_type" property="jointType"/>
@@ -23,6 +24,7 @@
         <result column="operation_id" property="operationId"/>
         <result column="contract_signaturer_id" property="contractSignaturerId"/>
         <result column="contract_signaturer" property="contractSignaturer"/>
+        <result column="need_check" property="needCheck"/>
     </resultMap>
 
     <!-- 通用查询结果列 -->

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

@@ -7,7 +7,7 @@
     <!-- 开启驼峰映射 ,否则查询结果不能转成resultType-->
     <settings>
         <setting name="mapUnderscoreToCamelCase" value="true"/>
-        <setting name="logImpl" value="STDOUT_LOGGING"/>
+<!--        <setting name="logImpl" value="STDOUT_LOGGING"/>-->
     </settings>
     <typeAliases>
         <!--项目DataObject对应的包名-->

+ 14 - 1
pom.xml

@@ -153,7 +153,6 @@
             </dependency>
         </dependencies>
     </dependencyManagement>
-
 <modules>  <module>start</module>
     <module>egress-gateway-service-app</module>
     <module>egress-gateway-service-adapter</module>
@@ -223,4 +222,18 @@
             </plugins>
         </pluginManagement>
     </build>
+
+    <!-- 本地nexus私有库-->
+    <distributionManagement>
+        <snapshotRepository>
+            <id>rdc-snapshots</id>
+            <name>snapshots</name>
+            <url>http://192.168.1.169:8000/repository/maven-snapshots/</url>
+        </snapshotRepository>
+        <repository>
+            <id>rdc-releases</id>
+            <name>release</name>
+            <url>http://192.168.1.169:8000/repository/maven-releases/</url>
+        </repository>
+    </distributionManagement>
 </project>

+ 1 - 1
start/src/main/resources/application.yaml

@@ -8,7 +8,7 @@ spring:
   application:
     name: eg-server
   profiles:
-    active: dev
+    active: pre
 #mybatis
 mybatis-plus:
   mapper-locations: classpath*:mapper/**/*.xml

+ 2 - 2
start/src/main/resources/logback-spring-dev.xml

@@ -2,7 +2,7 @@
 <configuration>
     <property name="PROJECT_NAME" value="eg-server"/>
     <!-- 日志存放路径 -->
-    <property name="LOG_HOME"  value="./start/log/"/>
+    <property name="LOG_HOME"  value="../start/log/"/>
     <!-- 日志输出格式 -->
     <property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" />
     <!-- 控制台输出 -->
@@ -84,5 +84,5 @@
         <appender-ref ref="errorFile" />
         <appender-ref ref="warnFile" />
     </root>
-    <logger name="com.hrsk.cloud" level="debug"/>
+    <logger name="com.hrsk.cloud" level="info"/>
 </configuration>

+ 2 - 2
start/src/main/resources/logback-spring-pre.xml

@@ -2,7 +2,7 @@
 <configuration>
     <property name="PROJECT_NAME" value="eg-server"/>
     <!-- 日志存放路径 -->
-    <property name="LOG_HOME"  value="/start/log/"/>
+    <property name="LOG_HOME"  value="../start/log/"/>
     <!-- 日志输出格式 -->
     <property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" />
     <!-- 控制台输出 -->
@@ -85,5 +85,5 @@
         <appender-ref ref="errorFile" />
         <appender-ref ref="warnFile" />
     </root>
-    <logger name="com.hrsk.cloud" level="debug"/>
+    <logger name="com.hrsk.cloud" level="info"/>
 </configuration>