Ver código fonte

同步ETA指标目录

kobe6258 4 meses atrás
pai
commit
5ac50b23cf
42 arquivos alterados com 1080 adições e 29 exclusões
  1. 82 0
      .idea/easyCodeTableSetting.xml
  2. 75 0
      qhtx-eta-integrator/qhtx-integrator-application/src/main/java/com/qhtx/eta/Advice/IntegratorControllerAdvice.java
  3. 13 2
      qhtx-eta-integrator/qhtx-integrator-application/src/main/java/com/qhtx/eta/controller/ETAController.java
  4. 32 0
      qhtx-eta-integrator/qhtx-integrator-application/src/main/java/com/qhtx/eta/enums/ResponseCode.java
  5. 59 0
      qhtx-eta-integrator/qhtx-integrator-application/src/main/java/com/qhtx/eta/vo/Result.java
  6. 6 0
      qhtx-eta-integrator/qhtx-integrator-common/pom.xml
  7. 10 0
      qhtx-eta-integrator/qhtx-integrator-common/src/main/java/com/qhtx/eta/common/annotation/Facade.java
  8. 1 0
      qhtx-eta-integrator/qhtx-integrator-common/src/main/java/com/qhtx/eta/common/eunms/ErrorEnum.java
  9. 12 0
      qhtx-eta-integrator/qhtx-integrator-domain/src/main/java/com/qhtx/eta/domain/annotation/DomainTransDataSource.java
  10. 25 0
      qhtx-eta-integrator/qhtx-integrator-domain/src/main/java/com/qhtx/eta/domain/api/http/request/ETAPushIndexRequest.java
  11. 1 0
      qhtx-eta-integrator/qhtx-integrator-domain/src/main/java/com/qhtx/eta/domain/api/http/response/eta/ETAHttpResponse.java
  12. 21 0
      qhtx-eta-integrator/qhtx-integrator-domain/src/main/java/com/qhtx/eta/domain/api/http/response/eta/ETAPushData.java
  13. 14 0
      qhtx-eta-integrator/qhtx-integrator-domain/src/main/java/com/qhtx/eta/domain/api/http/response/eta/ETAPushDataResponse.java
  14. 42 0
      qhtx-eta-integrator/qhtx-integrator-domain/src/main/java/com/qhtx/eta/domain/aspect/DomainTransDataSourceAspect.java
  15. 17 0
      qhtx-eta-integrator/qhtx-integrator-domain/src/main/java/com/qhtx/eta/domain/convert/DWIndexDTOConverter.java
  16. 19 0
      qhtx-eta-integrator/qhtx-integrator-domain/src/main/java/com/qhtx/eta/domain/entity/DWIndexDTO.java
  17. 14 0
      qhtx-eta-integrator/qhtx-integrator-domain/src/main/java/com/qhtx/eta/domain/entity/DWIndexDataDTO.java
  18. 17 0
      qhtx-eta-integrator/qhtx-integrator-domain/src/main/java/com/qhtx/eta/domain/entity/ETAPushIndexDTO.java
  19. 4 5
      qhtx-eta-integrator/qhtx-integrator-domain/src/main/java/com/qhtx/eta/domain/enums/ETAInterfaceEnum.java
  20. 9 0
      qhtx-eta-integrator/qhtx-integrator-domain/src/main/java/com/qhtx/eta/domain/facade/ETAFacadeService.java
  21. 31 0
      qhtx-eta-integrator/qhtx-integrator-domain/src/main/java/com/qhtx/eta/domain/facade/impl/ETAFacadeServiceImpl.java
  22. 8 0
      qhtx-eta-integrator/qhtx-integrator-domain/src/main/java/com/qhtx/eta/domain/service/DWIndexFrameService.java
  23. 24 2
      qhtx-eta-integrator/qhtx-integrator-domain/src/main/java/com/qhtx/eta/domain/service/impl/DWIndexFrameServiceImpl.java
  24. 11 11
      qhtx-eta-integrator/qhtx-integrator-infra/pom.xml
  25. 1 1
      qhtx-eta-integrator/qhtx-integrator-infra/src/main/java/com/qhtx/eta/infra/annotation/UseDataSource.java
  26. 2 0
      qhtx-eta-integrator/qhtx-integrator-infra/src/main/java/com/qhtx/eta/infra/aspect/DataSourceSwitchAspect.java
  27. 1 1
      qhtx-eta-integrator/qhtx-integrator-infra/src/main/java/com/qhtx/eta/infra/config/InfraConfig.java
  28. 14 0
      qhtx-eta-integrator/qhtx-integrator-infra/src/main/java/com/qhtx/eta/infra/entity/dw/DWIndex.java
  29. 82 0
      qhtx-eta-integrator/qhtx-integrator-infra/src/main/java/com/qhtx/eta/infra/entity/dw/TDampDwIndexData.java
  30. 42 0
      qhtx-eta-integrator/qhtx-integrator-infra/src/main/java/com/qhtx/eta/infra/entity/dw/TEtaIndexPushTask.java
  31. 8 0
      qhtx-eta-integrator/qhtx-integrator-infra/src/main/java/com/qhtx/eta/infra/mapper/DWIndexDao.java
  32. 38 0
      qhtx-eta-integrator/qhtx-integrator-infra/src/main/java/com/qhtx/eta/infra/mapper/TDampDwIndexDataDao.java
  33. 40 0
      qhtx-eta-integrator/qhtx-integrator-infra/src/main/java/com/qhtx/eta/infra/mapper/TEtaIndexPushTaskDao.java
  34. 3 0
      qhtx-eta-integrator/qhtx-integrator-infra/src/main/java/com/qhtx/eta/infra/service/IndexFrameService.java
  35. 25 0
      qhtx-eta-integrator/qhtx-integrator-infra/src/main/java/com/qhtx/eta/infra/service/TDampDwIndexDataService.java
  36. 33 0
      qhtx-eta-integrator/qhtx-integrator-infra/src/main/java/com/qhtx/eta/infra/service/TEtaIndexPushTaskService.java
  37. 11 7
      qhtx-eta-integrator/qhtx-integrator-infra/src/main/java/com/qhtx/eta/infra/service/impl/IndexFrameServiceImpl.java
  38. 33 0
      qhtx-eta-integrator/qhtx-integrator-infra/src/main/java/com/qhtx/eta/infra/service/impl/TDampDwIndexDataServiceImpl.java
  39. 46 0
      qhtx-eta-integrator/qhtx-integrator-infra/src/main/java/com/qhtx/eta/infra/service/impl/TEtaIndexPushTaskServiceImpl.java
  40. 18 0
      qhtx-eta-integrator/qhtx-integrator-infra/src/main/resources/mapper/DWIndexDao.xml
  41. 33 0
      qhtx-eta-integrator/qhtx-integrator-infra/src/main/resources/mapper/TDampDwIndexDataDao.xml
  42. 103 0
      qhtx-eta-integrator/qhtx-integrator-infra/src/main/resources/mapper/TEtaIndexPushTaskDao.xml

+ 82 - 0
.idea/easyCodeTableSetting.xml

@@ -3,6 +3,88 @@
   <component name="EasyCodeTableSetting">
     <option name="tableInfoMap">
       <map>
+        <entry key="DW.T_ETA_INDEX_PUSH_TASK">
+          <value>
+            <TableInfoDTO>
+              <option name="fullColumn">
+                <list>
+                  <ColumnInfoDTO>
+                    <option name="custom" value="false" />
+                    <option name="ext" value="{}" />
+                    <option name="name" value="id" />
+                    <option name="type" value="java.lang.Integer" />
+                  </ColumnInfoDTO>
+                  <ColumnInfoDTO>
+                    <option name="custom" value="false" />
+                    <option name="ext" value="{}" />
+                    <option name="name" value="indexCode" />
+                    <option name="type" value="java.lang.String" />
+                  </ColumnInfoDTO>
+                  <ColumnInfoDTO>
+                    <option name="custom" value="false" />
+                    <option name="ext" value="{}" />
+                    <option name="name" value="createTime" />
+                    <option name="type" value="java.util.Date" />
+                  </ColumnInfoDTO>
+                  <ColumnInfoDTO>
+                    <option name="custom" value="false" />
+                    <option name="ext" value="{}" />
+                    <option name="name" value="updateTime" />
+                    <option name="type" value="java.util.Date" />
+                  </ColumnInfoDTO>
+                  <ColumnInfoDTO>
+                    <option name="custom" value="false" />
+                    <option name="ext" value="{}" />
+                    <option name="name" value="startDate" />
+                    <option name="type" value="java.util.Date" />
+                  </ColumnInfoDTO>
+                  <ColumnInfoDTO>
+                    <option name="custom" value="false" />
+                    <option name="ext" value="{}" />
+                    <option name="name" value="endDate" />
+                    <option name="type" value="java.util.Date" />
+                  </ColumnInfoDTO>
+                  <ColumnInfoDTO>
+                    <option name="custom" value="false" />
+                    <option name="ext" value="{}" />
+                    <option name="name" value="indexName" />
+                    <option name="type" value="java.lang.String" />
+                  </ColumnInfoDTO>
+                  <ColumnInfoDTO>
+                    <option name="custom" value="false" />
+                    <option name="ext" value="{}" />
+                    <option name="name" value="unit" />
+                    <option name="type" value="java.lang.String" />
+                  </ColumnInfoDTO>
+                  <ColumnInfoDTO>
+                    <option name="custom" value="false" />
+                    <option name="ext" value="{}" />
+                    <option name="name" value="sourceName" />
+                    <option name="type" value="java.lang.String" />
+                  </ColumnInfoDTO>
+                  <ColumnInfoDTO>
+                    <option name="custom" value="false" />
+                    <option name="ext" value="{}" />
+                    <option name="name" value="lastPushTime" />
+                    <option name="type" value="java.util.Date" />
+                  </ColumnInfoDTO>
+                  <ColumnInfoDTO>
+                    <option name="custom" value="false" />
+                    <option name="ext" value="{}" />
+                    <option name="name" value="dataCount" />
+                    <option name="type" value="java.lang.String" />
+                  </ColumnInfoDTO>
+                </list>
+              </option>
+              <option name="name" value="TEtaIndexPushTask" />
+              <option name="preName" value="" />
+              <option name="saveModelName" value="qhtx-integrator-domain" />
+              <option name="savePackageName" value="" />
+              <option name="savePath" value="./qhtx-eta-integrator/qhtx-integrator-domain/src/main/java" />
+              <option name="templateGroupName" value="Default" />
+            </TableInfoDTO>
+          </value>
+        </entry>
         <entry key="QHTX.ETA_API_QUOTA_DATA">
           <value>
             <TableInfoDTO>

+ 75 - 0
qhtx-eta-integrator/qhtx-integrator-application/src/main/java/com/qhtx/eta/Advice/IntegratorControllerAdvice.java

@@ -0,0 +1,75 @@
+package com.qhtx.eta.Advice;
+
+import com.google.common.collect.Maps;
+import com.qhtx.eta.common.exception.ETAException;
+import com.qhtx.eta.vo.Result;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.http.HttpStatus;
+import org.springframework.validation.FieldError;
+import org.springframework.web.bind.MethodArgumentNotValidException;
+import org.springframework.web.bind.annotation.ExceptionHandler;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.ResponseStatus;
+import org.springframework.web.bind.annotation.RestControllerAdvice;
+
+import java.util.Map;
+
+@RestControllerAdvice
+public class IntegratorControllerAdvice {
+    private static final Logger LOGGER = LoggerFactory.getLogger(IntegratorControllerAdvice.class);
+
+    /**
+     * 自定义方法参数校验异常处理器
+     *
+     * @param ex
+     * @return
+     */
+    @ExceptionHandler(MethodArgumentNotValidException.class)
+    @ResponseStatus(HttpStatus.BAD_REQUEST)
+    @ResponseBody
+    public Map<String, String> handleValidationExceptions(MethodArgumentNotValidException ex) {
+        Map<String, String> errors = Maps.newHashMapWithExpectedSize(1);
+        ex.getBindingResult().getAllErrors().forEach((error) -> {
+            String fieldName = ((FieldError) error).getField();
+            String errorMessage = error.getDefaultMessage();
+            errors.put(fieldName, errorMessage);
+        });
+        return errors;
+    }
+
+    /**
+     * 自定义业务异常处理器
+     *
+     * @param etaException
+     * @return
+     */
+    @ExceptionHandler(ETAException.class)
+    @ResponseStatus(HttpStatus.OK)
+    @ResponseBody
+    public Result exceptionHandler(ETAException etaException) {
+        Result result = new Result();
+        result.setCode(etaException.getErrorCode());
+        result.setMessage(etaException.getErrorMessage());
+        result.setSuccess(false);
+        return result;
+    }
+
+    /**
+     * 处理所有未捕获的异常
+     *
+     * @param ex
+     * @return
+     */
+    @ExceptionHandler(Exception.class)
+    @ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
+    public Result handleAllExceptions(Exception ex) {
+        LOGGER.error("Exception:", ex);
+        Result result = new Result();
+        result.setCode("10000");
+        result.setMessage("未知异常");
+        result.setSuccess(false);
+        return result;
+    }
+
+}

+ 13 - 2
qhtx-eta-integrator/qhtx-integrator-application/src/main/java/com/qhtx/eta/controller/ETAController.java

@@ -1,14 +1,25 @@
 package com.qhtx.eta.controller;
 
+import com.alibaba.fastjson.JSON;
 import com.qhtx.eta.controller.request.ETAIndexPushRequest;
+import com.qhtx.eta.domain.facade.ETAFacadeService;
+import com.qhtx.eta.domain.service.DWIndexFrameService;
+import com.qhtx.eta.infra.entity.dw.DWIndex;
 import org.springframework.web.bind.annotation.*;
 
+import javax.annotation.Resource;
+
 @RestController
 @RequestMapping("/htapi/v1/index")
 public class ETAController {
+
+    @Resource
+    private ETAFacadeService etaFacadeService;
+
+
     @PostMapping("/push")
     public String getIndex(@RequestBody ETAIndexPushRequest etaIndexPushRequest) {
-        System.out.println(etaIndexPushRequest.getIndexCode());
-        return "获取指标成功";
+        etaFacadeService.pushIndex(etaIndexPushRequest.getIndexCode());
+        return "";
     }
 }

+ 32 - 0
qhtx-eta-integrator/qhtx-integrator-application/src/main/java/com/qhtx/eta/enums/ResponseCode.java

@@ -0,0 +1,32 @@
+package com.qhtx.eta.enums;
+
+/**
+ * @author Hollis
+ */
+public enum ResponseCode {
+
+    /**
+     * 成功
+     */
+    SUCCESS,
+
+    /**
+     * 重复
+     */
+    DUPLICATED,
+
+    /**
+     * 非法参数
+     */
+    ILLEGAL_ARGUMENT,
+
+    /**
+     * 系统错误
+     */
+    SYSTEM_ERROR,
+
+    /**
+     * 业务错误
+     */
+    BIZ_ERROR;
+}

+ 59 - 0
qhtx-eta-integrator/qhtx-integrator-application/src/main/java/com/qhtx/eta/vo/Result.java

@@ -0,0 +1,59 @@
+package com.qhtx.eta.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import static com.qhtx.eta.enums.ResponseCode.SUCCESS;
+
+
+/**
+ * @author Hollis
+ */
+@Getter
+@Setter
+public class Result<T> {
+    /**
+     * 状态吗
+     */
+    private String code;
+
+    /**
+     * 是否成功
+     */
+    private Boolean success;
+
+    /**
+     * 消息描述
+     */
+    private String message;
+
+    /**
+     * 数据,可以是任何类型的VO
+     */
+    private T data;
+
+    public Result() {
+    }
+
+    public Result(Boolean success, String message, T data) {
+        this.success = success;
+        this.message = message;
+        this.data = data;
+    }
+
+    public Result(Boolean success, String code, String message, T data) {
+        this.success = success;
+        this.message = message;
+        this.data = data;
+        this.code = code;
+    }
+
+
+    public static <T> Result<T> success(T data) {
+        return new Result<>(true, SUCCESS.name(), SUCCESS.name(), data);
+    }
+
+    public static <T> Result<T> error(String errorCode, String errorMsg) {
+        return new Result<>(false, errorCode, errorMsg, null);
+    }
+}

+ 6 - 0
qhtx-eta-integrator/qhtx-integrator-common/pom.xml

@@ -97,5 +97,11 @@
             <artifactId>spring-core</artifactId>
         </dependency>
 
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-validation</artifactId>
+            <version>2.4.2</version>
+        </dependency>
+
     </dependencies>
 </project>

+ 10 - 0
qhtx-eta-integrator/qhtx-integrator-common/src/main/java/com/qhtx/eta/common/annotation/Facade.java

@@ -0,0 +1,10 @@
+package com.qhtx.eta.common.annotation;
+
+import java.lang.annotation.*;
+
+@Target(ElementType.TYPE)
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface Facade {
+    String value() default "";
+}

+ 1 - 0
qhtx-eta-integrator/qhtx-integrator-common/src/main/java/com/qhtx/eta/common/eunms/ErrorEnum.java

@@ -37,6 +37,7 @@ public enum ErrorEnum {
 
     DW_INDEX_TABLE_CODE_GET_ERROR("20010", "获取指标框架table_code失败"),
     DW_HZ_ROOT_PATH_NOT_EXIST("20011", "弘则研究指标根目录不存在"),
+    DW_INDEX_NOT_FOUND("20012", "DW指标信息不存在"),
     ;
     private String code;
     private String msg;

+ 12 - 0
qhtx-eta-integrator/qhtx-integrator-domain/src/main/java/com/qhtx/eta/domain/annotation/DomainTransDataSource.java

@@ -0,0 +1,12 @@
+package com.qhtx.eta.domain.annotation;
+
+import com.qhtx.eta.common.eunms.DataSourceType;
+
+import java.lang.annotation.*;
+
+@Documented
+@Retention(RetentionPolicy.RUNTIME)
+@Target({ElementType.METHOD})
+public @interface DomainTransDataSource {
+    DataSourceType dataSourceType() default DataSourceType.ODS;
+}

+ 25 - 0
qhtx-eta-integrator/qhtx-integrator-domain/src/main/java/com/qhtx/eta/domain/api/http/request/ETAPushIndexRequest.java

@@ -0,0 +1,25 @@
+package com.qhtx.eta.domain.api.http.request;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class ETAPushIndexRequest implements Serializable {
+
+    private static final long serialVersionUID = 8383366423275313479L;
+    @JsonProperty("IndexCode")
+    private String indexCode;
+    @JsonProperty("IndexName")
+    private String indexName;
+    @JsonProperty("Unit")
+    private String unit;
+    @JsonProperty("Frequency")
+    private String frequency;
+    @JsonProperty("SourceName")
+    private String sourceName;
+
+    
+}
+

+ 1 - 0
qhtx-eta-integrator/qhtx-integrator-domain/src/main/java/com/qhtx/eta/domain/api/http/response/eta/ETAHttpResponse.java

@@ -15,4 +15,5 @@ public abstract class ETAHttpResponse<T, R> implements Serializable {
     private List<T> Data;
 
     public abstract List<R> convertDataToDTO();
+
 }

+ 21 - 0
qhtx-eta-integrator/qhtx-integrator-domain/src/main/java/com/qhtx/eta/domain/api/http/response/eta/ETAPushData.java

@@ -0,0 +1,21 @@
+package com.qhtx.eta.domain.api.http.response.eta;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class ETAPushData implements Serializable {
+    private static final long serialVersionUID = 4376692558237866233L;
+    @JsonProperty("IndexCode")
+    private String indexCode;
+    @JsonProperty("IndexName")
+    private String indexName;
+    @JsonProperty("Unit")
+    private String unit;
+    @JsonProperty("Frequency")
+    private String frequency;
+    @JsonProperty("SourceName")
+    private String sourceName;
+}

+ 14 - 0
qhtx-eta-integrator/qhtx-integrator-domain/src/main/java/com/qhtx/eta/domain/api/http/response/eta/ETAPushDataResponse.java

@@ -0,0 +1,14 @@
+package com.qhtx.eta.domain.api.http.response.eta;
+
+import com.qhtx.eta.domain.entity.ETAPushIndexDTO;
+
+import java.util.List;
+
+public class ETAPushDataResponse extends ETAHttpResponse<ETAPushData, ETAPushIndexDTO> {
+    private static final long serialVersionUID = 3157981069870661780L;
+
+    @Override
+    public List<ETAPushIndexDTO> convertDataToDTO() {
+        return null;
+    }
+}

+ 42 - 0
qhtx-eta-integrator/qhtx-integrator-domain/src/main/java/com/qhtx/eta/domain/aspect/DomainTransDataSourceAspect.java

@@ -0,0 +1,42 @@
+package com.qhtx.eta.domain.aspect;
+
+import com.qhtx.eta.common.eunms.DataSourceType;
+import com.qhtx.eta.common.eunms.ErrorEnum;
+import com.qhtx.eta.common.exception.ETAException;
+import com.qhtx.eta.domain.annotation.DomainTransDataSource;
+import com.qhtx.eta.infra.annotation.UseDataSource;
+import com.qhtx.eta.infra.datasource.DataSourceContextHolder;
+import org.aspectj.lang.ProceedingJoinPoint;
+import org.aspectj.lang.annotation.Around;
+import org.aspectj.lang.annotation.Aspect;
+import org.aspectj.lang.reflect.MethodSignature;
+import org.springframework.stereotype.Component;
+
+import java.util.Optional;
+
+@Component
+@Aspect
+public class DomainTransDataSourceAspect {
+
+
+   @Around("@annotation(com.qhtx.eta.domain.annotation.DomainTransDataSource)")
+    public Object switchDataSource(ProceedingJoinPoint joinPoint) throws Throwable {
+        MethodSignature signature = (MethodSignature) joinPoint.getSignature();
+       DomainTransDataSource dataSource = Optional.ofNullable(signature.getMethod().getAnnotation(DomainTransDataSource.class)).orElseGet(() -> signature.getMethod().getDeclaringClass().getAnnotation(DomainTransDataSource.class));
+        DataSourceType dataSourceType = dataSource != null ? dataSource.dataSourceType() : DataSourceType.ODS;
+        if (dataSourceType == null) {
+            throw new ETAException(ErrorEnum.UNKNOWN_DATASOURCE_ERROR);
+        }
+        // 切换数据源
+        DataSourceContextHolder.setDataSourceType(dataSourceType);
+
+        try {
+            // 执行目标方法
+            Object obj = joinPoint.proceed();
+            return obj;
+        } finally {
+            // 清理ThreadLocal中的数据源信息
+            DataSourceContextHolder.clearDataSourceType();
+        }
+    }
+}

+ 17 - 0
qhtx-eta-integrator/qhtx-integrator-domain/src/main/java/com/qhtx/eta/domain/convert/DWIndexDTOConverter.java

@@ -0,0 +1,17 @@
+package com.qhtx.eta.domain.convert;
+
+import com.qhtx.eta.domain.entity.DWIndexDTO;
+import com.qhtx.eta.infra.entity.dw.DWIndex;
+import com.qhtx.eta.infra.entity.dw.TEtaIndexPushTask;
+import org.mapstruct.Mapper;
+import org.mapstruct.factory.Mappers;
+
+@Mapper
+public interface DWIndexDTOConverter {
+
+    DWIndexDTOConverter INSTANCE = Mappers.getMapper(DWIndexDTOConverter.class);
+
+    DWIndexDTO convertToDTO(DWIndex dwIndex);
+
+    TEtaIndexPushTask convertToTEtaIndexPushTask(DWIndexDTO dwIndexDTO);
+}

+ 19 - 0
qhtx-eta-integrator/qhtx-integrator-domain/src/main/java/com/qhtx/eta/domain/entity/DWIndexDTO.java

@@ -0,0 +1,19 @@
+package com.qhtx.eta.domain.entity;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+@Data
+public class DWIndexDTO implements Serializable {
+
+    private static final long serialVersionUID = -2209989045090549430L;
+    
+    private String indexCode;
+    private String indexName;
+    private String frequency;
+    private String sourceName;
+    private String remark;
+    private List<DWIndexDataDTO> dataList;
+}

+ 14 - 0
qhtx-eta-integrator/qhtx-integrator-domain/src/main/java/com/qhtx/eta/domain/entity/DWIndexDataDTO.java

@@ -0,0 +1,14 @@
+package com.qhtx.eta.domain.entity;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+@Data
+public class DWIndexDataDTO implements Serializable {
+
+    private static final long serialVersionUID = -2967752044467244518L;
+    private String date;
+    private BigDecimal value;
+}

+ 17 - 0
qhtx-eta-integrator/qhtx-integrator-domain/src/main/java/com/qhtx/eta/domain/entity/ETAPushIndexDTO.java

@@ -0,0 +1,17 @@
+package com.qhtx.eta.domain.entity;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class ETAPushIndexDTO implements Serializable {
+    private static final long serialVersionUID = -5650101144913878139L;
+    private String indexCode;
+    private String indexName;
+    private String unit;
+    private String frequency;
+    private String sourceName;
+}
+

+ 4 - 5
qhtx-eta-integrator/qhtx-integrator-domain/src/main/java/com/qhtx/eta/domain/enums/ETAInterfaceEnum.java

@@ -1,9 +1,6 @@
 package com.qhtx.eta.domain.enums;
 
-import com.qhtx.eta.domain.api.http.response.eta.ClassifyDataResponse;
-import com.qhtx.eta.domain.api.http.response.eta.ETAHttpResponse;
-import com.qhtx.eta.domain.api.http.response.eta.QuotaDataResponse;
-import com.qhtx.eta.domain.api.http.response.eta.QuotaInfoResponse;
+import com.qhtx.eta.domain.api.http.response.eta.*;
 import com.qhtx.eta.domain.api.proxy.ApiParameterProxy;
 import com.qhtx.eta.domain.api.proxy.impl.ETADataParameterProxy;
 import com.qhtx.eta.common.eunms.HttpMethod;
@@ -20,7 +17,9 @@ public enum ETAInterfaceEnum {
     GET_EDB_LIST("getEdbList", "/v1/edb/list", HttpMethod.GET, "指标列表", null, true, QuotaInfoResponse.class), // 获取用户信息
     // GET_EDB_DETAIL("getEdbDetail", "/v1/edb/detail", HttpMethod.GET, "指标详情", EdbDetailProxy.class, false),
     GET_EDB_DATA("getEdbData", "/v1/edb/data", HttpMethod.GET, "指标数据", ETADataParameterProxy.class, true, QuotaDataResponse.class),
-    GET_CLASSIFY_LIST("get", "/v1/edb/classify/list", HttpMethod.GET, "指标分类列表", null, true, ClassifyDataResponse.class),
+    GET_CLASSIFY_LIST("getClassifyList", "/v1/edb/classify/list", HttpMethod.GET, "指标分类列表", null, true, ClassifyDataResponse.class),
+    PUSH_ETA_INDEX("pushEtaIndex", "/v1/edb/push", HttpMethod.POST, "外部数据写入ETA数据源(自由数据)", null, true, ETAPushDataResponse.class),
+
     ;
 
     /**

+ 9 - 0
qhtx-eta-integrator/qhtx-integrator-domain/src/main/java/com/qhtx/eta/domain/facade/ETAFacadeService.java

@@ -0,0 +1,9 @@
+package com.qhtx.eta.domain.facade;
+
+import com.qhtx.eta.common.annotation.Facade;
+
+
+public interface ETAFacadeService {
+
+    void pushIndex(String indexCode);
+}

+ 31 - 0
qhtx-eta-integrator/qhtx-integrator-domain/src/main/java/com/qhtx/eta/domain/facade/impl/ETAFacadeServiceImpl.java

@@ -0,0 +1,31 @@
+package com.qhtx.eta.domain.facade.impl;
+
+import com.qhtx.eta.common.annotation.Facade;
+import com.qhtx.eta.common.eunms.DataSourceType;
+import com.qhtx.eta.common.eunms.ErrorEnum;
+import com.qhtx.eta.common.exception.ETAException;
+import com.qhtx.eta.domain.annotation.DomainTransDataSource;
+import com.qhtx.eta.domain.entity.DWIndexDTO;
+import com.qhtx.eta.domain.facade.ETAFacadeService;
+import com.qhtx.eta.domain.service.DWIndexFrameService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+
+@Service
+@Facade
+public class ETAFacadeServiceImpl implements ETAFacadeService {
+
+    @Resource
+    private DWIndexFrameService dwIndexFrameService;
+
+
+    @Override
+    @DomainTransDataSource(dataSourceType = DataSourceType.DW)
+    public void pushIndex(String indexCode) {
+        DWIndexDTO dwIndexDTO = dwIndexFrameService.pushIndexToEta(indexCode);
+        if (dwIndexDTO == null) {
+            throw new ETAException(ErrorEnum.DW_INDEX_NOT_FOUND);
+        }
+    }
+}

+ 8 - 0
qhtx-eta-integrator/qhtx-integrator-domain/src/main/java/com/qhtx/eta/domain/service/DWIndexFrameService.java

@@ -1,6 +1,8 @@
 package com.qhtx.eta.domain.service;
 
+import com.qhtx.eta.domain.entity.DWIndexDTO;
 import com.qhtx.eta.domain.entity.DWIndexFrameDTO;
+import com.qhtx.eta.infra.entity.dw.DWIndex;
 
 import java.util.List;
 
@@ -10,4 +12,10 @@ public interface DWIndexFrameService {
     String generateTableCode();
 
     void processing(List<DWIndexFrameDTO> processList);
+
+
+    DWIndex getIndexByIndexCode(String indexCode);
+
+    DWIndexDTO pushIndexToEta(String indexCode);
+
 }

+ 24 - 2
qhtx-eta-integrator/qhtx-integrator-domain/src/main/java/com/qhtx/eta/domain/service/impl/DWIndexFrameServiceImpl.java

@@ -5,21 +5,27 @@ import com.alibaba.druid.util.StringUtils;
 import com.qhtx.eta.common.constant.ETAConstants;
 import com.qhtx.eta.common.eunms.ErrorEnum;
 import com.qhtx.eta.common.exception.ETAException;
+import com.qhtx.eta.domain.annotation.DomainTransDataSource;
+import com.qhtx.eta.domain.convert.DWIndexDTOConverter;
 import com.qhtx.eta.domain.convert.DWIndexFrameDTOConverter;
+import com.qhtx.eta.domain.entity.DWIndexDTO;
 import com.qhtx.eta.domain.entity.DWIndexFrameDTO;
 import com.qhtx.eta.domain.service.DWIndexFrameService;
 import com.qhtx.eta.domain.utils.RedisUtils;
-import com.qhtx.eta.infra.annotation.UseDataSource;
 import com.qhtx.eta.infra.datasource.DataSourceContextHolder;
+import com.qhtx.eta.infra.entity.dw.DWIndex;
 import com.qhtx.eta.infra.entity.dw.DWIndexFrame;
 import com.qhtx.eta.infra.entity.dw.ETAClassifyIndexFrameMapping;
+import com.qhtx.eta.infra.entity.dw.TEtaIndexPushTask;
 import com.qhtx.eta.infra.service.EtaApiClassifyService;
 import com.qhtx.eta.infra.service.IndexFrameService;
+import com.qhtx.eta.infra.service.TEtaIndexPushTaskService;
 import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
 import org.jetbrains.annotations.NotNull;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.TransactionStatus;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.support.TransactionCallbackWithoutResult;
 import org.springframework.transaction.support.TransactionTemplate;
 import org.springframework.util.CollectionUtils;
@@ -34,7 +40,6 @@ import com.qhtx.eta.common.eunms.DataSourceType;
 
 @Service
 @Slf4j
-@UseDataSource(dataSourceType = DataSourceType.DW)
 public class DWIndexFrameServiceImpl implements DWIndexFrameService {
 
     @Resource
@@ -49,6 +54,8 @@ public class DWIndexFrameServiceImpl implements DWIndexFrameService {
     @Resource
     private EtaApiClassifyService etaApiClassifyService;
 
+    @Resource
+    private TEtaIndexPushTaskService etaIndexPushTaskService;
 
     @Override
     public void syncIndexFrame() {
@@ -117,6 +124,21 @@ public class DWIndexFrameServiceImpl implements DWIndexFrameService {
         }
     }
 
+    @Override
+    public DWIndex getIndexByIndexCode(String indexCode) {
+
+        return indexFrameService.getIndexByIndexCode(indexCode);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public DWIndexDTO pushIndexToEta(String indexCode) {
+        DWIndex dwIndex = indexFrameService.getIndexByIndexCode(indexCode);
+        DWIndexDTO dwIndexDTO = DWIndexDTOConverter.INSTANCE.convertToDTO(dwIndex);
+        TEtaIndexPushTask tEtaIndexPushTask = DWIndexDTOConverter.INSTANCE.convertToTEtaIndexPushTask(dwIndexDTO);
+        etaIndexPushTaskService.insert(tEtaIndexPushTask);
+        return DWIndexDTOConverter.INSTANCE.convertToDTO(dwIndex);
+    }
 
     private List<DWIndexFrameDTO> parseList(FrameNode node) {
         if (node == null) {

+ 11 - 11
qhtx-eta-integrator/qhtx-integrator-infra/pom.xml

@@ -45,22 +45,22 @@
             <version>${project.version}</version>
         </dependency>
 
-<!--        &lt;!&ndash; Spring Boot Starter for Apache Kafka &ndash;&gt;-->
-<!--        <dependency>-->
-<!--            <groupId>org.springframework.kafka</groupId>-->
-<!--            <artifactId>spring-kafka</artifactId>-->
-<!--            <version>${kafka.version}</version>-->
-<!--        </dependency>-->
+        <!--        &lt;!&ndash; Spring Boot Starter for Apache Kafka &ndash;&gt;-->
+        <!--        <dependency>-->
+        <!--            <groupId>org.springframework.kafka</groupId>-->
+        <!--            <artifactId>spring-kafka</artifactId>-->
+        <!--            <version>${kafka.version}</version>-->
+        <!--        </dependency>-->
         <dependency>
             <groupId>org.springframework.cloud</groupId>
             <artifactId>spring-cloud-starter-bootstrap</artifactId>
         </dependency>
 
-<!--        &lt;!&ndash;kafka&ndash;&gt;-->
-<!--        <dependency>-->
-<!--            <groupId>org.springframework.kafka</groupId>-->
-<!--            <artifactId>spring-kafka</artifactId>-->
-<!--        </dependency>-->
+        <!--        &lt;!&ndash;kafka&ndash;&gt;-->
+        <!--        <dependency>-->
+        <!--            <groupId>org.springframework.kafka</groupId>-->
+        <!--            <artifactId>spring-kafka</artifactId>-->
+        <!--        </dependency>-->
         <dependency>
             <groupId>com.alibaba.cloud</groupId>
             <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>

+ 1 - 1
qhtx-eta-integrator/qhtx-integrator-infra/src/main/java/com/qhtx/eta/infra/annotation/UseDataSource.java

@@ -6,7 +6,7 @@ import java.lang.annotation.*;
 
 @Documented
 @Retention(RetentionPolicy.RUNTIME)
-@Target({ElementType.TYPE, ElementType.METHOD})
+@Target({ElementType.TYPE})
 public @interface UseDataSource {
     DataSourceType dataSourceType() default DataSourceType.ODS;
 }

+ 2 - 0
qhtx-eta-integrator/qhtx-integrator-infra/src/main/java/com/qhtx/eta/infra/aspect/DataSourceSwitchAspect.java

@@ -16,7 +16,9 @@ import java.util.Optional;
 @Component
 @Aspect
 public class DataSourceSwitchAspect {
+
     @Around("execution(* com.qhtx.eta.infra.service.*.*(..))")
+    //@Around("@annotation(com.qhtx.eta.infra.annotation.UseDataSource)")
     public Object switchDataSource(ProceedingJoinPoint joinPoint) throws Throwable {
         MethodSignature signature = (MethodSignature) joinPoint.getSignature();
         UseDataSource dataSource = Optional.ofNullable(signature.getMethod().getAnnotation(UseDataSource.class)).orElseGet(() -> signature.getMethod().getDeclaringClass().getAnnotation(UseDataSource.class));

+ 1 - 1
qhtx-eta-integrator/qhtx-integrator-infra/src/main/java/com/qhtx/eta/infra/config/InfraConfig.java

@@ -43,7 +43,7 @@ public class InfraConfig {
         return dataSource;
     }
 
-    @Bean
+    @Bean(name="etaTransactionManager")
     public DataSourceTransactionManager transactionManager() {
         return new DataSourceTransactionManager(dynamicDataSource());
     }

+ 14 - 0
qhtx-eta-integrator/qhtx-integrator-infra/src/main/java/com/qhtx/eta/infra/entity/dw/DWIndex.java

@@ -0,0 +1,14 @@
+package com.qhtx.eta.infra.entity.dw;
+
+import lombok.Data;
+
+@Data
+public class DWIndex {
+    private String id;
+    private String indexCnName;
+    private String indexShortName;
+    private String sourceName;
+    private String indexCode;
+    private String frequency;
+    private String places;
+}

+ 82 - 0
qhtx-eta-integrator/qhtx-integrator-infra/src/main/java/com/qhtx/eta/infra/entity/dw/TDampDwIndexData.java

@@ -0,0 +1,82 @@
+package com.qhtx.eta.infra.entity.dw;
+
+import lombok.Data;
+import lombok.Getter;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 指标数据表(TDampDwIndexData)实体类
+ *
+ * @author makejava
+ * @since 2024-09-29 17:37:17
+ */
+@Data
+public class TDampDwIndexData {
+    /**
+     * 主键
+     */
+    private String id;
+    /**
+     * 指标id
+     */
+    private String indexId;
+    /**
+     * 指标编码
+     */
+    private String indexCode;
+    /**
+     * 数据时间
+     */
+    private Date dataDate;
+    /**
+     * 发布时间
+     */
+    private Date publishTime;
+    /**
+     * 数据值
+     */
+    private Integer dataValue;
+    /**
+     * 数据值(非数值类型)
+     */
+    private String dataValueChar;
+    /**
+     * 备注
+     */
+    private String remark;
+    /**
+     * 是否删除,1:是,0:否
+     */
+    private Integer isDelete;
+    /**
+     * 创建时间
+     */
+    private String createTime;
+    /**
+     * 更新时间
+     */
+    private String updateTime;
+    /**
+     * 创建人id
+     */
+    private String createUserId;
+    /**
+     * 创建人名称
+     */
+    private String createUserName;
+    /**
+     * 更新人
+     */
+    private String updateUserId;
+    /**
+     * 更新人名字
+     */
+    private String updateUserName;
+
+    private Date preDataDate;
+
+
+}
+

+ 42 - 0
qhtx-eta-integrator/qhtx-integrator-infra/src/main/java/com/qhtx/eta/infra/entity/dw/TEtaIndexPushTask.java

@@ -0,0 +1,42 @@
+package com.qhtx.eta.infra.entity.dw;
+
+import lombok.Data;
+
+import java.util.Date;
+import java.io.Serializable;
+
+/**
+ * (TEtaIndexPushTask)实体类
+ *
+ * @author makejava
+ * @since 2024-09-30 13:54:17
+ */
+@Data
+public class TEtaIndexPushTask implements Serializable {
+    private static final long serialVersionUID = 476162774263994345L;
+
+    private Integer id;
+
+    private String indexCode;
+
+    private Date createTime;
+
+    private Date updateTime;
+
+    private Date startDate;
+
+    private Date endDate;
+
+    private String indexName;
+
+    private String unit;
+
+    private String sourceName;
+
+    private Date lastPushTime;
+
+    private Integer dataCount;
+
+
+}
+

+ 8 - 0
qhtx-eta-integrator/qhtx-integrator-infra/src/main/java/com/qhtx/eta/infra/mapper/DWIndexDao.java

@@ -0,0 +1,8 @@
+package com.qhtx.eta.infra.mapper;
+
+import com.qhtx.eta.infra.entity.dw.DWIndex;
+public interface DWIndexDao {
+
+    DWIndex getByIndexCode(String indexCode);
+
+}

+ 38 - 0
qhtx-eta-integrator/qhtx-integrator-infra/src/main/java/com/qhtx/eta/infra/mapper/TDampDwIndexDataDao.java

@@ -0,0 +1,38 @@
+package com.qhtx.eta.infra.mapper;
+
+import com.qhtx.eta.infra.entity.dw.TDampDwIndexData;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 指标数据表(TDampDwIndexData)表数据库访问层
+ *
+ * @author makejava
+ * @since 2024-09-29 17:37:15
+ */
+public interface TDampDwIndexDataDao {
+
+    /**
+     * 通过ID查询单条数据
+     *
+     * @return 实例对象
+     */
+    TDampDwIndexData queryById( );
+
+
+
+
+
+    /**
+     * 新增数据
+     *
+     * @param tDampDwIndexData 实例对象
+     * @return 影响行数
+     */
+    int insert(TDampDwIndexData tDampDwIndexData);
+
+
+
+}
+

+ 40 - 0
qhtx-eta-integrator/qhtx-integrator-infra/src/main/java/com/qhtx/eta/infra/mapper/TEtaIndexPushTaskDao.java

@@ -0,0 +1,40 @@
+package com.qhtx.eta.infra.mapper;
+
+import com.qhtx.eta.infra.entity.dw.TEtaIndexPushTask;
+
+/**
+ * (TEtaIndexPushTask)表数据库访问层
+ *
+ * @author makejava
+ * @since 2024-09-30 13:43:25
+ */
+public interface TEtaIndexPushTaskDao {
+
+
+    /**
+     * 新增数据
+     *
+     * @param tEtaIndexPushTask 实例对象
+     * @return 影响行数
+     */
+    int insert(TEtaIndexPushTask tEtaIndexPushTask);
+
+
+    /**
+     * 修改数据
+     *
+     * @param tEtaIndexPushTask 实例对象
+     * @return 影响行数
+     */
+    int update(TEtaIndexPushTask tEtaIndexPushTask);
+
+    /**
+     * 通过主键删除数据
+     *
+     * @param id 主键
+     * @return 影响行数
+     */
+    int deleteById(Integer id);
+
+}
+

+ 3 - 0
qhtx-eta-integrator/qhtx-integrator-infra/src/main/java/com/qhtx/eta/infra/service/IndexFrameService.java

@@ -1,5 +1,6 @@
 package com.qhtx.eta.infra.service;
 
+import com.qhtx.eta.infra.entity.dw.DWIndex;
 import com.qhtx.eta.infra.entity.dw.DWIndexFrame;
 
 import java.util.List;
@@ -12,4 +13,6 @@ public interface IndexFrameService {
 
 
     void insertOrUpdate(DWIndexFrame dwIndexFrame);
+
+    DWIndex getIndexByIndexCode(String indexCode);
 }

+ 25 - 0
qhtx-eta-integrator/qhtx-integrator-infra/src/main/java/com/qhtx/eta/infra/service/TDampDwIndexDataService.java

@@ -0,0 +1,25 @@
+package com.qhtx.eta.infra.service;
+
+
+import com.qhtx.eta.infra.entity.dw.TDampDwIndexData;
+
+/**
+ * 指标数据表(TDampDwIndexData)表服务接口
+ *
+ * @author makejava
+ * @since 2024-09-29 17:37:18
+ */
+public interface TDampDwIndexDataService {
+
+    /**
+     * 通过ID查询单条数据
+     *
+     * @return 实例对象
+     */
+    TDampDwIndexData queryById( );
+
+
+
+
+
+}

+ 33 - 0
qhtx-eta-integrator/qhtx-integrator-infra/src/main/java/com/qhtx/eta/infra/service/TEtaIndexPushTaskService.java

@@ -0,0 +1,33 @@
+package com.qhtx.eta.infra.service;
+
+
+import com.qhtx.eta.infra.entity.dw.TEtaIndexPushTask;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * (TEtaIndexPushTask)表服务接口
+ *
+ * @author makejava
+ * @since 2024-09-30 13:43:27
+ */
+public interface TEtaIndexPushTaskService {
+
+
+    /**
+     * 新增数据
+     *
+     * @param tEtaIndexPushTask 实例对象
+     * @return 实例对象
+     */
+    TEtaIndexPushTask insert(@Param("entity")TEtaIndexPushTask tEtaIndexPushTask);
+
+    /**
+     * 修改数据
+     *
+     * @param tEtaIndexPushTask 实例对象
+     * @return 实例对象
+     */
+    void update(TEtaIndexPushTask tEtaIndexPushTask);
+
+
+}

+ 11 - 7
qhtx-eta-integrator/qhtx-integrator-infra/src/main/java/com/qhtx/eta/infra/service/impl/IndexFrameServiceImpl.java

@@ -1,21 +1,17 @@
 package com.qhtx.eta.infra.service.impl;
 
 import com.qhtx.eta.common.eunms.DataSourceType;
-import com.qhtx.eta.common.eunms.ErrorEnum;
 import com.qhtx.eta.infra.annotation.UseDataSource;
+import com.qhtx.eta.infra.entity.dw.DWIndex;
 import com.qhtx.eta.infra.entity.dw.DWIndexFrame;
+import com.qhtx.eta.infra.mapper.DWIndexDao;
 import com.qhtx.eta.infra.mapper.DWIndexFrameDao;
-import com.qhtx.eta.infra.service.EtaApiClassifyService;
 import com.qhtx.eta.infra.service.IndexFrameService;
 import lombok.extern.slf4j.Slf4j;
-import org.jetbrains.annotations.NotNull;
 import org.springframework.stereotype.Service;
-import org.springframework.transaction.TransactionStatus;
-import org.springframework.transaction.support.TransactionCallbackWithoutResult;
-import org.springframework.transaction.support.TransactionTemplate;
+import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
-import java.util.List;
 
 @Service("indexFrameService")
 @UseDataSource(dataSourceType = DataSourceType.DW)
@@ -24,6 +20,8 @@ public class IndexFrameServiceImpl implements IndexFrameService {
     @Resource
     private DWIndexFrameDao dwIndexFrameDao;
 
+    @Resource
+    private DWIndexDao dwIndexDao;
 
     @Override
     public long getMaxTableCode() {
@@ -40,4 +38,10 @@ public class IndexFrameServiceImpl implements IndexFrameService {
     public void insertOrUpdate(DWIndexFrame dwIndexFrame) {
         dwIndexFrameDao.insertOrUpdate(dwIndexFrame);
     }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public DWIndex getIndexByIndexCode(String indexCode) {
+        return dwIndexDao.getByIndexCode(indexCode);
+    }
 }

+ 33 - 0
qhtx-eta-integrator/qhtx-integrator-infra/src/main/java/com/qhtx/eta/infra/service/impl/TDampDwIndexDataServiceImpl.java

@@ -0,0 +1,33 @@
+package com.qhtx.eta.infra.service.impl;
+
+import com.qhtx.eta.infra.entity.dw.TDampDwIndexData;
+import com.qhtx.eta.infra.mapper.TDampDwIndexDataDao;
+import com.qhtx.eta.infra.service.TDampDwIndexDataService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+
+/**
+ * 指标数据表(TDampDwIndexData)表服务实现类
+ *
+ * @author makejava
+ * @since 2024-09-29 17:37:18
+ */
+@Service("tDampDwIndexDataService")
+public class TDampDwIndexDataServiceImpl implements TDampDwIndexDataService {
+    @Resource
+    private TDampDwIndexDataDao tDampDwIndexDataDao;
+
+    /**
+     * 通过ID查询单条数据
+     *
+     * @param  主键
+     * @return 实例对象
+     */
+    @Override
+    public TDampDwIndexData queryById( ) {
+        return this.tDampDwIndexDataDao.queryById();
+    }
+
+
+}

+ 46 - 0
qhtx-eta-integrator/qhtx-integrator-infra/src/main/java/com/qhtx/eta/infra/service/impl/TEtaIndexPushTaskServiceImpl.java

@@ -0,0 +1,46 @@
+package com.qhtx.eta.infra.service.impl;
+
+
+import com.qhtx.eta.infra.entity.dw.TEtaIndexPushTask;
+import com.qhtx.eta.infra.mapper.TEtaIndexPushTaskDao;
+import com.qhtx.eta.infra.service.TEtaIndexPushTaskService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+
+/**
+ * (TEtaIndexPushTask)表服务实现类
+ *
+ * @author makejava
+ * @since 2024-09-30 13:43:27
+ */
+@Service("tEtaIndexPushTaskService")
+public class TEtaIndexPushTaskServiceImpl implements TEtaIndexPushTaskService {
+    @Resource
+    private TEtaIndexPushTaskDao tEtaIndexPushTaskDao;
+
+    /**
+     * 新增数据
+     *
+     * @param tEtaIndexPushTask 实例对象
+     * @return 实例对象
+     */
+    @Override
+    public TEtaIndexPushTask insert(TEtaIndexPushTask tEtaIndexPushTask) {
+        this.tEtaIndexPushTaskDao.insert(tEtaIndexPushTask);
+        return tEtaIndexPushTask;
+    }
+
+    /**
+     * 修改数据
+     *
+     * @param tEtaIndexPushTask 实例对象
+     * @return 实例对象
+     */
+    @Override
+    public void update(TEtaIndexPushTask tEtaIndexPushTask) {
+        this.tEtaIndexPushTaskDao.update(tEtaIndexPushTask);
+    }
+
+
+}

+ 18 - 0
qhtx-eta-integrator/qhtx-integrator-infra/src/main/resources/mapper/DWIndexDao.xml

@@ -0,0 +1,18 @@
+<?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.qhtx.eta.infra.mapper.DWIndexDao">
+
+    <resultMap type="com.qhtx.eta.infra.entity.dw.DWIndex" id="DWIndexMap">
+        <result property="id" column="ID" jdbcType="VARCHAR"/>
+        <result property="indexCnName" column="INDEX_CN_NAME" jdbcType="VARCHAR"/>
+        <result property="indexShortName" column="INDEX_SHORT_NAME" jdbcType="VARCHAR"/>
+        <result property="sourceName" column="SOURCE_NAME" jdbcType="VARCHAR"/>
+        <result property="indexCode" column="INDEX_CODE" jdbcType="VARCHAR"/>
+        <result property="frequency" column="FREQUENCY" jdbcType="VARCHAR"/>
+        <result property="places" column="PLACES" jdbcType="VARCHAR"/>
+    </resultMap>
+
+    <select id="getByIndexCode" resultMap="DWIndexMap">
+        SELECT ID,INDEX_CN_NAME,INDEX_SHORT_NAME,SOURCE_NAME,INDEX_CODE,FREQUENCY,PLACES FROM T_DAMP_DW_INDEX WHERE INDEX_CODE = #{indexCode}
+    </select>
+</mapper>

+ 33 - 0
qhtx-eta-integrator/qhtx-integrator-infra/src/main/resources/mapper/TDampDwIndexDataDao.xml

@@ -0,0 +1,33 @@
+<?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.qhtx.eta.infra.mapper.TDampDwIndexDataDao">
+
+    <resultMap type="com.qhtx.eta.infra.entity.dw.TDampDwIndexData" id="TDampDwIndexDataMap">
+        <result property="id" column="ID" jdbcType="VARCHAR"/>
+        <result property="indexId" column="INDEX_ID" jdbcType="VARCHAR"/>
+        <result property="indexCode" column="INDEX_CODE" jdbcType="VARCHAR"/>
+        <result property="dataDate" column="DATA_DATE" jdbcType="TIMESTAMP"/>
+        <result property="publishTime" column="PUBLISH_TIME" jdbcType="TIMESTAMP"/>
+        <result property="dataValue" column="DATA_VALUE" jdbcType="INTEGER"/>
+        <result property="dataValueChar" column="DATA_VALUE_CHAR" jdbcType="VARCHAR"/>
+        <result property="remark" column="REMARK" jdbcType="VARCHAR"/>
+        <result property="isDelete" column="IS_DELETE" jdbcType="INTEGER"/>
+        <result property="createTime" column="CREATE_TIME" jdbcType="VARCHAR"/>
+        <result property="updateTime" column="UPDATE_TIME" jdbcType="VARCHAR"/>
+        <result property="createUserId" column="CREATE_USER_ID" jdbcType="VARCHAR"/>
+        <result property="createUserName" column="CREATE_USER_NAME" jdbcType="VARCHAR"/>
+        <result property="updateUserId" column="UPDATE_USER_ID" jdbcType="VARCHAR"/>
+        <result property="updateUserName" column="UPDATE_USER_NAME" jdbcType="VARCHAR"/>
+        <result property="preDataDate" column="PRE_DATA_DATE" jdbcType="TIMESTAMP"/>
+    </resultMap>
+
+    <!--查询单个-->
+    <select id="queryById" resultMap="TDampDwIndexDataMap">
+        select IDINDEX_IDINDEX_CODEDATA_DATEPUBLISH_TIMEDATA_VALUEDATA_VALUE_CHARREMARKIS_DELETECREATE_TIMEUPDATE_TIMECREATE_USER_IDCREATE_USER_NAMEUPDATE_USER_IDUPDATE_USER_NAMEPRE_DATA_DATE
+        from T_DAMP_DW_INDEX_DATA
+
+    </select>
+
+
+</mapper>
+

+ 103 - 0
qhtx-eta-integrator/qhtx-integrator-infra/src/main/resources/mapper/TEtaIndexPushTaskDao.xml

@@ -0,0 +1,103 @@
+<?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=".dao.TEtaIndexPushTaskDao">
+
+    <resultMap type="com.qhtx.eta.infra.entity.dw.TEtaIndexPushTask" id="TEtaIndexPushTaskMap">
+        <result property="id" column="ID" jdbcType="INTEGER"/>
+        <result property="indexCode" column="INDEX_CODE" jdbcType="VARCHAR"/>
+        <result property="createTime" column="CREATE_TIME" jdbcType="TIMESTAMP"/>
+        <result property="updateTime" column="UPDATE_TIME" jdbcType="TIMESTAMP"/>
+        <result property="startDate" column="START_DATE" jdbcType="TIMESTAMP"/>
+        <result property="endDate" column="END_DATE" jdbcType="TIMESTAMP"/>
+        <result property="indexName" column="INDEX_NAME" jdbcType="VARCHAR"/>
+        <result property="unit" column="UNIT" jdbcType="VARCHAR"/>
+        <result property="sourceName" column="SOURCE_NAME" jdbcType="VARCHAR"/>
+        <result property="lastPushTime" column="LAST_PUSH_TIME" jdbcType="TIMESTAMP"/>
+        <result property="dataCount" column="DATA_COUNT" jdbcType="INTEGER"/>
+    </resultMap>
+
+    <!--查询单个-->
+    <select id="queryById" resultMap="TEtaIndexPushTaskMap">
+        select ID,
+               INDEX_CODE,
+               CREATE_TIME,
+               UPDATE_TIME,
+               START_DATE,
+               END_DATE,
+               INDEX_NAME,
+               UNIT,
+               SOURCE_NAME,
+               LAST_PUSH_TIMEDATA_COUNT
+        from T_ETA_INDEX_PUSH_TASK
+        where ID = #{id}
+    </select>
+
+    <!--新增所有列-->
+    <insert id="insert" keyProperty="id" useGeneratedKeys="false">
+        insert into T_ETA_INDEX_PUSH_TASK (INDEX_CODE, CREATE_TIME, UPDATE_TIME, START_DATE, END_DATE, INDEX_NAME, UNIT,
+                                           SOURCE_NAME, LAST_PUSH_TIMEDATA_COUNT)
+        values (#{entity.indexCode}#{entity.createTime}#{entity.updateTime}#{entity.startDate}#{entity.endDate}#{entity.indexName}#{entity.unit}#{entity.sourceName}#{entity.lastPushTime}#{entity.dataCount})
+    </insert>
+
+    <insert id="insertBatch" keyProperty="id" useGeneratedKeys="true">
+        insert into
+        T_ETA_INDEX_PUSH_TASK (INDEX_CODE,CREATE_TIME,UPDATE_TIME,START_DATE,END_DATE,INDEX_NAME,UNIT,SOURCE_NAME,LAST_PUSH_TIMEDATA_COUNT)
+        values
+        <foreach collection="entities" item="entity" separator=",">
+            (#{entity.indexCode}#{entity.createTime}#{entity.updateTime}#{entity.startDate}#{entity.endDate}#{entity.indexName}#{entity.unit}#{entity.sourceName}#{entity.lastPushTime}#{entity.dataCount})
+        </foreach>
+    </insert>
+
+    <insert id="insertOrUpdateBatch" keyProperty="id" useGeneratedKeys="true">
+        insert into
+        T_ETA_INDEX_PUSH_TASK(INDEX_CODE,CREATE_TIME,UPDATE_TIME,START_DATE,END_DATE,INDEX_NAME,UNIT,SOURCE_NAME,LAST_PUSH_TIMEDATA_COUNT)
+        values
+        <foreach collection="entities" item="entity" separator=",">
+            (#{entity.indexCode}#{entity.createTime}#{entity.updateTime}#{entity.startDate}#{entity.endDate}#{entity.indexName}#{entity.unit}#{entity.sourceName}#{entity.lastPushTime}#{entity.dataCount})
+        </foreach>
+        on duplicate key update
+        INDEX_CODE = values(INDEX_CODE)CREATE_TIME = values(CREATE_TIME)UPDATE_TIME = values(UPDATE_TIME)START_DATE =
+        values(START_DATE)END_DATE = values(END_DATE)INDEX_NAME = values(INDEX_NAME)UNIT = values(UNIT)SOURCE_NAME =
+        values(SOURCE_NAME)LAST_PUSH_TIME = values(LAST_PUSH_TIME)DATA_COUNT = values(DATA_COUNT)
+    </insert>
+
+    <!--通过主键修改数据-->
+    <update id="update">
+        update T_ETA_INDEX_PUSH_TASK
+        <set>
+            <if test="indexCode != null and indexCode != ''">
+                INDEX_CODE = #{indexCode},
+            </if>
+            <if test="createTime != null">
+                CREATE_TIME = #{createTime},
+            </if>
+            <if test="updateTime != null">
+                UPDATE_TIME = #{updateTime},
+            </if>
+            <if test="startDate != null">
+                START_DATE = #{startDate},
+            </if>
+            <if test="endDate != null">
+                END_DATE = #{endDate},
+            </if>
+            <if test="indexName != null and indexName != ''">
+                INDEX_NAME = #{indexName},
+            </if>
+            <if test="unit != null and unit != ''">
+                UNIT = #{unit},
+            </if>
+            <if test="sourceName != null and sourceName != ''">
+                SOURCE_NAME = #{sourceName},
+            </if>
+            <if test="lastPushTime != null">
+                LAST_PUSH_TIME = #{lastPushTime},
+            </if>
+            <if test="dataCount != null and dataCount != ''">
+                DATA_COUNT = #{dataCount},
+            </if>
+        </set>
+        where ID = #{id}
+    </update>
+
+</mapper>
+