浏览代码

自有数据对接

kobe6258 2 月之前
父节点
当前提交
7e3f635eb1
共有 48 个文件被更改,包括 761 次插入69 次删除
  1. 34 0
      .idea/easyCodeTableSetting.xml
  2. 16 7
      qhtx-eta-integrator/qhtx-integrator-application/src/main/java/com/qhtx/eta/controller/ETAController.java
  3. 14 0
      qhtx-eta-integrator/qhtx-integrator-application/src/main/java/com/qhtx/eta/controller/request/ETADeleteTaskRequest.java
  4. 0 1
      qhtx-eta-integrator/qhtx-integrator-application/src/main/java/com/qhtx/eta/controller/request/ETAIndexPushRequest.java
  5. 5 0
      qhtx-eta-integrator/qhtx-integrator-application/src/main/java/com/qhtx/eta/vo/Result.java
  6. 2 2
      qhtx-eta-integrator/qhtx-integrator-common/src/main/java/com/qhtx/eta/common/constant/ETAConstants.java
  7. 1 0
      qhtx-eta-integrator/qhtx-integrator-common/src/main/java/com/qhtx/eta/common/eunms/ErrorEnum.java
  8. 20 0
      qhtx-eta-integrator/qhtx-integrator-common/src/main/java/com/qhtx/eta/common/utils/SignatureUtil.java
  9. 8 1
      qhtx-eta-integrator/qhtx-integrator-domain/src/main/java/com/qhtx/eta/domain/api/http/response/eta/ETAPushIndex.java
  10. 2 1
      qhtx-eta-integrator/qhtx-integrator-domain/src/main/java/com/qhtx/eta/domain/api/http/response/eta/QuotaInfoResponse.java
  11. 15 0
      qhtx-eta-integrator/qhtx-integrator-domain/src/main/java/com/qhtx/eta/domain/convert/DWIndexDTOConverter.java
  12. 2 0
      qhtx-eta-integrator/qhtx-integrator-domain/src/main/java/com/qhtx/eta/domain/convert/DWIndexWithLinkCodeDTOConverter.java
  13. 2 0
      qhtx-eta-integrator/qhtx-integrator-domain/src/main/java/com/qhtx/eta/domain/entity/DWIndexDTO.java
  14. 2 0
      qhtx-eta-integrator/qhtx-integrator-domain/src/main/java/com/qhtx/eta/domain/entity/DWIndexWithLinkCodeDTO.java
  15. 2 0
      qhtx-eta-integrator/qhtx-integrator-domain/src/main/java/com/qhtx/eta/domain/entity/QuotaInfoDTO.java
  16. 5 1
      qhtx-eta-integrator/qhtx-integrator-domain/src/main/java/com/qhtx/eta/domain/facade/ETAFacadeService.java
  17. 41 8
      qhtx-eta-integrator/qhtx-integrator-domain/src/main/java/com/qhtx/eta/domain/facade/impl/ETAFacadeServiceImpl.java
  18. 31 28
      qhtx-eta-integrator/qhtx-integrator-domain/src/main/java/com/qhtx/eta/domain/job/ETASyncJob.java
  19. 7 0
      qhtx-eta-integrator/qhtx-integrator-domain/src/main/java/com/qhtx/eta/domain/service/DWIndexFrameService.java
  20. 7 0
      qhtx-eta-integrator/qhtx-integrator-domain/src/main/java/com/qhtx/eta/domain/service/ETAIndexService.java
  21. 46 2
      qhtx-eta-integrator/qhtx-integrator-domain/src/main/java/com/qhtx/eta/domain/service/impl/DWIndexFrameServiceImpl.java
  22. 15 0
      qhtx-eta-integrator/qhtx-integrator-domain/src/main/java/com/qhtx/eta/domain/service/impl/ETAIndexServiceImpl.java
  23. 2 2
      qhtx-eta-integrator/qhtx-integrator-domain/src/main/java/com/qhtx/eta/domain/service/impl/ETAQuotaServiceImpl.java
  24. 6 2
      qhtx-eta-integrator/qhtx-integrator-domain/src/main/java/com/qhtx/eta/domain/service/impl/TDampLinkService.java
  25. 1 1
      qhtx-eta-integrator/qhtx-integrator-domain/src/main/java/com/qhtx/eta/domain/task/SchedulingRunnable.java
  26. 25 0
      qhtx-eta-integrator/qhtx-integrator-infra/src/main/java/com/qhtx/eta/infra/entity/TEtaIndexMapping.java
  27. 30 0
      qhtx-eta-integrator/qhtx-integrator-infra/src/main/java/com/qhtx/eta/infra/entity/dw/TDampDwIndexDataDate.java
  28. 2 0
      qhtx-eta-integrator/qhtx-integrator-infra/src/main/java/com/qhtx/eta/infra/mapper/TDampDwIndexDao.java
  29. 6 0
      qhtx-eta-integrator/qhtx-integrator-infra/src/main/java/com/qhtx/eta/infra/mapper/TDampDwIndexDataDao.java
  30. 2 0
      qhtx-eta-integrator/qhtx-integrator-infra/src/main/java/com/qhtx/eta/infra/mapper/TDampDwIndexLinkDao.java
  31. 58 0
      qhtx-eta-integrator/qhtx-integrator-infra/src/main/java/com/qhtx/eta/infra/mapper/TEtaIndexMappingDao.java
  32. 2 0
      qhtx-eta-integrator/qhtx-integrator-infra/src/main/java/com/qhtx/eta/infra/mapper/TEtaIndexPushTaskDao.java
  33. 5 1
      qhtx-eta-integrator/qhtx-integrator-infra/src/main/java/com/qhtx/eta/infra/service/TDampDwIndexDataService.java
  34. 2 0
      qhtx-eta-integrator/qhtx-integrator-infra/src/main/java/com/qhtx/eta/infra/service/TDampDwIndexLinkService.java
  35. 2 0
      qhtx-eta-integrator/qhtx-integrator-infra/src/main/java/com/qhtx/eta/infra/service/TDampDwIndexService.java
  36. 47 0
      qhtx-eta-integrator/qhtx-integrator-infra/src/main/java/com/qhtx/eta/infra/service/TEtaIndexMappingService.java
  37. 2 0
      qhtx-eta-integrator/qhtx-integrator-infra/src/main/java/com/qhtx/eta/infra/service/TEtaIndexPushTaskService.java
  38. 11 0
      qhtx-eta-integrator/qhtx-integrator-infra/src/main/java/com/qhtx/eta/infra/service/impl/TDampDwIndexDataServiceImpl.java
  39. 5 0
      qhtx-eta-integrator/qhtx-integrator-infra/src/main/java/com/qhtx/eta/infra/service/impl/TDampDwIndexLinkServiceImpl.java
  40. 5 0
      qhtx-eta-integrator/qhtx-integrator-infra/src/main/java/com/qhtx/eta/infra/service/impl/TDampDwIndexServiceImpl.java
  41. 67 0
      qhtx-eta-integrator/qhtx-integrator-infra/src/main/java/com/qhtx/eta/infra/service/impl/TEtaIndexMappingServiceImpl.java
  42. 5 0
      qhtx-eta-integrator/qhtx-integrator-infra/src/main/java/com/qhtx/eta/infra/service/impl/TEtaIndexPushTaskServiceImpl.java
  43. 3 1
      qhtx-eta-integrator/qhtx-integrator-infra/src/main/resources/mapper/EtaApiQuotaInfoDao.xml
  44. 26 9
      qhtx-eta-integrator/qhtx-integrator-infra/src/main/resources/mapper/TDampDwIndexDao.xml
  45. 60 1
      qhtx-eta-integrator/qhtx-integrator-infra/src/main/resources/mapper/TDampDwIndexDataDao.xml
  46. 5 1
      qhtx-eta-integrator/qhtx-integrator-infra/src/main/resources/mapper/TDampDwIndexLinkDao.xml
  47. 98 0
      qhtx-eta-integrator/qhtx-integrator-infra/src/main/resources/mapper/TEtaIndexMappingDao.xml
  48. 7 0
      qhtx-eta-integrator/qhtx-integrator-infra/src/main/resources/mapper/TEtaIndexPushTaskDao.xml

+ 34 - 0
.idea/easyCodeTableSetting.xml

@@ -778,6 +778,40 @@
             </TableInfoDTO>
           </value>
         </entry>
+        <entry key="DW.T_ETA_INDEX_MAPPING">
+          <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="etaEdbCode" />
+                    <option name="type" value="java.lang.String" />
+                  </ColumnInfoDTO>
+                </list>
+              </option>
+              <option name="name" value="TEtaIndexMapping" />
+              <option name="preName" value="" />
+              <option name="saveModelName" value="qhtx-integrator-infra" />
+              <option name="savePackageName" value="" />
+              <option name="savePath" value="./qhtx-eta-integrator/qhtx-integrator-infra/src/main/java" />
+              <option name="templateGroupName" value="Default" />
+            </TableInfoDTO>
+          </value>
+        </entry>
         <entry key="DW.T_ETA_INDEX_PUSH_TASK">
           <value>
             <TableInfoDTO>

+ 16 - 7
qhtx-eta-integrator/qhtx-integrator-application/src/main/java/com/qhtx/eta/controller/ETAController.java

@@ -1,16 +1,16 @@
 package com.qhtx.eta.controller;
 
-import com.alibaba.fastjson.JSON;
 import com.qhtx.eta.controller.request.ETAIndexPushRequest;
-import com.qhtx.eta.domain.entity.DWIndexDTO;
+import com.qhtx.eta.controller.request.ETADeleteTaskRequest;
+import com.qhtx.eta.domain.api.http.response.eta.ETAPushIndex;
 import com.qhtx.eta.domain.facade.ETAFacadeService;
-import com.qhtx.eta.domain.service.DWIndexFrameService;
-import com.qhtx.eta.infra.entity.dw.DWIndex;
 import com.qhtx.eta.vo.Result;
 import org.springframework.web.bind.annotation.*;
+import com.qhtx.eta.common.eunms.ErrorEnum;
 
 import javax.annotation.Resource;
 
+
 @RestController
 @RequestMapping("/htApi/v1/index")
 public class ETAController {
@@ -25,9 +25,18 @@ public class ETAController {
         return Result.success("同步成功");
     }
 
+    @PostMapping("/deleteTask")
+    public Result<String> deleteTask(@RequestBody ETADeleteTaskRequest etadeleteTaskRequest) {
+        etaFacadeService.deleteTask(etadeleteTaskRequest.getIndexCode());
+        return Result.success("同步成功");
+    }
+
     @GetMapping("/getIndexInfo")
-    public Result<DWIndexDTO> getIndexInfo(@RequestBody ETAIndexPushRequest etaIndexPushRequest) {
-        DWIndexDTO dto = etaFacadeService.getIndexInfo(etaIndexPushRequest.getIndexCode());
-        return Result.success(dto);
+    public Result<ETAPushIndex> getIndexInfo(ETAIndexPushRequest etaIndexPushRequest) {
+        ETAPushIndex pushIndex = etaFacadeService.getIndexInfo(etaIndexPushRequest.getIndexCode());
+        if (pushIndex == null) {
+            return Result.error(ErrorEnum.DW_INDEX_NOT_FOUND);
+        }
+        return Result.success(pushIndex);
     }
 }

+ 14 - 0
qhtx-eta-integrator/qhtx-integrator-application/src/main/java/com/qhtx/eta/controller/request/ETADeleteTaskRequest.java

@@ -0,0 +1,14 @@
+package com.qhtx.eta.controller.request;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+@Data
+public class ETADeleteTaskRequest implements Serializable {
+
+
+    private static final long serialVersionUID = 5605121731300961450L;
+    private List<String> indexCode;
+}

+ 0 - 1
qhtx-eta-integrator/qhtx-integrator-application/src/main/java/com/qhtx/eta/controller/request/ETAIndexPushRequest.java

@@ -8,6 +8,5 @@ import java.io.Serializable;
 public class ETAIndexPushRequest implements Serializable {
 
     private static final long serialVersionUID = 3224850869872082122L;
-    
     private String indexCode;
 }

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

@@ -1,5 +1,6 @@
 package com.qhtx.eta.vo;
 
+import com.qhtx.eta.common.eunms.ErrorEnum;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -56,4 +57,8 @@ public class Result<T> {
     public static <T> Result<T> error(String errorCode, String errorMsg) {
         return new Result<>(false, errorCode, errorMsg, null);
     }
+
+    public static <T> Result<T> error(ErrorEnum errorEnum) {
+        return new Result<>(false, errorEnum.getCode(), errorEnum.getMsg(), null);
+    }
 }

+ 2 - 2
qhtx-eta-integrator/qhtx-integrator-common/src/main/java/com/qhtx/eta/common/constant/ETAConstants.java

@@ -46,8 +46,8 @@ public class ETAConstants {
 
     public static final int INDEX_FRAME_CREATE_UPDATE_USER_ID = 0;
 
-    public static final int ETA_PUSH_DATA_LIMIT = 1000;
-    public static final int ETA_PUSH_DATA_CHUNK = 100;
+    public static final int ETA_PUSH_DATA_LIMIT = 2000;
+    public static final int ETA_PUSH_DATA_CHUNK = 500;
 
 
     public static final String ETA_LINK_PREFIX = "ETA";

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

@@ -44,6 +44,7 @@ public enum ErrorEnum {
     INDEX_UPDATE_ERROR("20013", "更新指标出错,指标异常"),
     PUSH_TO_ETA_ERROR("20014", "ETA数据推送失败"),
     INDEX_DEAL_LOCK_FAIL("20015", "指标更新锁获取失败"),
+
     ;
     private String code;
     private String msg;

+ 20 - 0
qhtx-eta-integrator/qhtx-integrator-common/src/main/java/com/qhtx/eta/common/utils/SignatureUtil.java

@@ -1,6 +1,7 @@
 package com.qhtx.eta.common.utils;
 
 import com.qhtx.eta.common.entity.SignatureParam;
+import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.RandomStringUtils;
 import org.apache.commons.lang3.StringUtils;
@@ -50,4 +51,23 @@ public class SignatureUtil {
 
         return StringUtils.replaceEach(Base64.getEncoder().encodeToString(sign), new String[]{"+", "/"}, new String[]{"-", "_"});
     }
+
+    public static void main(String[] args) {
+        String privateKey = "MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBANdkudmt9+FZF/XoTngWgxlw7XzQAAsp4aPSejgpTFIMBKCuM086yV1lzjEesv7rjkEUa2rkCz6yo5d4upNWl2v9qXvMXEJAGmAl2j1WKzA9ypoFhtQjjnow4UBIAKY0BaH1v7g8IJppjgr+LkNg99QgG/s5gja3d/lHtUReuJ5dAgMBAAECgYB1FOORV+duLye/G8/LpzEMGz58ofPkHZfxnO+ip5A86Rt63DY30xSyGCzEtpNFznU9GwRozhzur9wM8is4+9DCey6jD2m4aWZdmhjrEIAYmEX/vXDwmIb4eOIQLVlaUkudSc22lFB85IjuSIgMHtpKxDy8ARa9V2NGwKGOabVtYQJBAPfmWTN7EYtYoI/EIyQD1bebopk4mBzVyTEt0uE4YgeMTGQ0PCIbKpApK7bhUnH6WtG9tMUeW9t21r5kOb4RhYMCQQDebndLATaMLZsFDSeF81FhdTfmwMRwGj5dvDcxeosIJ9E/JB2/QJWy1ZaosxD2iFs/8SiiIcDjPl/ZdFjKIeafAkEAixIg7K6YExJvUPf5ttSn6s9XEpobS+HrcrmAWnUlGZLtsDFVotSWtjVCnuAdPm/yz0ObzBHR+nba1gioFCcEPQJBAKCcLzNPiu2pOJhrKTDFwuuWUmkipDU2HfZdI5VsoNugtKzdDUW+AtoA9CqYMhVx3EHNhsObj8YGkftY0YwS8o0CQD2xHrEFINA+UhhZlchH3MdRbm8epk1dSCTiHtU/js93fsN36VOXQ6W7UAF94Rxg1htpktpUtpdKfqcczjJi6S0=";
+        TestSignatureParam ss = new TestSignatureParam();
+        ss.setCompanyNum("10013");
+        ss.setNoteStr("DPTXbrmYpK");
+        ss.setTimeStamp("1736411383");
+        //SignatureUtil.sign(ss.toString(),privateKey);
+    }
+
+    @Data
+    public static class TestSignatureParam {
+        private String companyNum;
+        private String noteStr;
+        private String timeStamp;
+        public String toString() {
+            return "{companyNum:" + companyNum + ",noteStr:" + noteStr + ",&timeStamp:" + timeStamp+"}";
+        }
+    }
 }

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

@@ -1,9 +1,11 @@
 package com.qhtx.eta.domain.api.http.response.eta;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
+import com.qhtx.eta.domain.api.http.request.ETAPushData;
 import lombok.Data;
 
 import java.io.Serializable;
+import java.util.List;
 
 @Data
 public class ETAPushIndex implements Serializable {
@@ -14,9 +16,14 @@ public class ETAPushIndex implements Serializable {
     private String indexName;
     @JsonProperty("Unit")
     private String unit;
+    @JsonProperty("StartDate")
+    private String startDate;
+    @JsonProperty("EndDate")
+    private String endDate;
     @JsonProperty("Frequency")
     private String frequency;
     @JsonProperty("SourceName")
     private String sourceName;
-
+    @JsonProperty("DataList")
+    private List<ETAPushData> dataList;
 }

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

@@ -26,6 +26,7 @@ public class QuotaInfoResponse extends ETAHttpResponse<ETAQuota, QuotaInfoDTO> {
             QuotaInfoDTO result = new QuotaInfoDTO();
             result.setEdbName(item.getEdbName());
             result.setUniqueCode(item.getUniqueCode());
+            result.setEdbInfoType(item.getEdbInfoType());
             result.setFrequency(item.getFrequency());
             result.setClassifyId(item.getClassifyId());
             result.setEdbCode(item.getEdbCode());
@@ -38,7 +39,7 @@ public class QuotaInfoResponse extends ETAHttpResponse<ETAQuota, QuotaInfoDTO> {
             result.setNoUpdate(item.getNoUpdate());
             result.setEdbSourceName(item.getSourceName());
             return result;
-        }).filter(item -> item.getLatestDate() != null && item.getEndDate() != null && item.getStartDate() != null).collect(Collectors.toList());
+        }).filter(item -> item.getLatestDate() != null && item.getEndDate() != null && item.getStartDate() != null && item.getEdbInfoType() == 0).collect(Collectors.toList());
     }
 
     private void printf(String str) {

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

@@ -1,13 +1,18 @@
 package com.qhtx.eta.domain.convert;
 
+import com.qhtx.eta.domain.api.http.request.ETAPushData;
 import com.qhtx.eta.domain.api.http.response.eta.ETAPushIndex;
 import com.qhtx.eta.domain.entity.DWIndexDTO;
+import com.qhtx.eta.domain.entity.DWIndexDataDTO;
 import com.qhtx.eta.infra.entity.dw.DWIndex;
 import com.qhtx.eta.infra.entity.dw.TEtaIndexPushTask;
 import org.mapstruct.Mapper;
 import org.mapstruct.Mapping;
+import org.mapstruct.Named;
 import org.mapstruct.factory.Mappers;
 
+import java.text.SimpleDateFormat;
+import java.util.Date;
 import java.util.List;
 
 
@@ -25,12 +30,22 @@ public interface DWIndexDTOConverter {
 
     List<TEtaIndexPushTask> convertToTEtaIndexPushTaskList(List<DWIndexDTO> dwIndexDTO);
 
+
     DWIndexDTO convertToDTO(TEtaIndexPushTask tEtaIndexPushTask);
 
     List<DWIndexDTO> convertToDTOList(List<TEtaIndexPushTask> tEtaIndexPushTaskList);
 
+    @Named("dataListConvert")
+    default List<ETAPushData> dataListConvert(List<DWIndexDataDTO> dataList) {
+        return DWIndexDataDTOConverter.INSTANCE.convertToETAPushDataList(dataList);
+    }
+
+    @Mapping(source = "dataList", target = "dataList", qualifiedByName = "dataListConvert")
+    ETAPushIndex convertToETAPushDTO(DWIndexDTO dwIndexDTO);
+
 
     DWIndexDTO convertToResDTO(ETAPushIndex etaPushIndex);
 
     List<DWIndexDTO> convertToResDTOList(List<ETAPushIndex> etaPushIndexList);
+
 }

+ 2 - 0
qhtx-eta-integrator/qhtx-integrator-domain/src/main/java/com/qhtx/eta/domain/convert/DWIndexWithLinkCodeDTOConverter.java

@@ -1,6 +1,7 @@
 package com.qhtx.eta.domain.convert;
 
 import com.qhtx.eta.domain.entity.DWIndexWithLinkCodeDTO;
+import com.qhtx.eta.infra.entity.TEtaIndexMapping;
 import com.qhtx.eta.infra.entity.dw.DWIndex;
 import com.qhtx.eta.infra.entity.dw.TDampDwIndex;
 import com.qhtx.eta.infra.entity.dw.TDampDwIndexLink;
@@ -17,4 +18,5 @@ public interface DWIndexWithLinkCodeDTOConverter {
 
     TDampDwIndexLink convertDTOToLinkEntity(DWIndexWithLinkCodeDTO dto);
     // TDampDwLinkData
+    TEtaIndexMapping convertDTOToMappingEntity(DWIndexWithLinkCodeDTO dto);
 }

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

@@ -17,6 +17,8 @@ public class DWIndexDTO implements Serializable {
     private String sourceName;
     private String latestDataDate;
     private Date lastPushTime;
+    private String startDate;
+    private String endDate;
     private String remark;
     private String unit;
     private List<DWIndexDataDTO> dataList;

+ 2 - 0
qhtx-eta-integrator/qhtx-integrator-domain/src/main/java/com/qhtx/eta/domain/entity/DWIndexWithLinkCodeDTO.java

@@ -9,6 +9,8 @@ import java.util.List;
 public class DWIndexWithLinkCodeDTO {
     private String id;
     private String indexCnName;
+    //ETA的指标CODE, 用于关联数据
+    private String edbCode;
     private String cnSignature;
     private String indexShortName;
     private String sourceName;

+ 2 - 0
qhtx-eta-integrator/qhtx-integrator-domain/src/main/java/com/qhtx/eta/domain/entity/QuotaInfoDTO.java

@@ -18,6 +18,7 @@ public class QuotaInfoDTO implements Serializable {
     private static final long serialVersionUID = 2737918141640942407L;
 
     private Integer edbInfoId;
+    private Integer edbInfoType;
 
     private String uniqueCode;
 
@@ -42,6 +43,7 @@ public class QuotaInfoDTO implements Serializable {
     private String edbSourceName;
 
     private Integer noUpdate;
+
     private String elementVal;
 
 }

+ 5 - 1
qhtx-eta-integrator/qhtx-integrator-domain/src/main/java/com/qhtx/eta/domain/facade/ETAFacadeService.java

@@ -1,8 +1,10 @@
 package com.qhtx.eta.domain.facade;
 
 import com.qhtx.eta.common.annotation.Facade;
+import com.qhtx.eta.domain.api.http.response.eta.ETAPushIndex;
 import com.qhtx.eta.domain.entity.DWIndexDTO;
 
+import java.util.List;
 import java.util.concurrent.ExecutionException;
 
 
@@ -10,5 +12,7 @@ public interface ETAFacadeService {
 
     void pushIndex(String indexCode, boolean init);
 
-    DWIndexDTO getIndexInfo(String indexCode);
+    ETAPushIndex getIndexInfo(String indexCode);
+
+    void deleteTask(List<String> indexCodes);
 }

+ 41 - 8
qhtx-eta-integrator/qhtx-integrator-domain/src/main/java/com/qhtx/eta/domain/facade/impl/ETAFacadeServiceImpl.java

@@ -8,6 +8,8 @@ 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.api.ApiServiceHolder;
+import com.qhtx.eta.domain.api.http.response.eta.ETAPushIndex;
+import com.qhtx.eta.domain.convert.DWIndexDTOConverter;
 import com.qhtx.eta.domain.entity.DWIndexDTO;
 import com.qhtx.eta.domain.entity.DWIndexDataDTO;
 import com.qhtx.eta.domain.enums.ETAInterfaceEnum;
@@ -19,6 +21,7 @@ import lombok.extern.slf4j.Slf4j;
 import org.redisson.api.RLock;
 import org.redisson.api.RedissonClient;
 import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
 
 import javax.annotation.Resource;
 import java.text.SimpleDateFormat;
@@ -54,12 +57,28 @@ public class ETAFacadeServiceImpl implements ETAFacadeService {
         RLock lock = redissonClient.getLock(indexCode);
         if (init) {
             dwIndexDTO = dwIndexFrameService.addSyncIndex(indexCode);
-
+            List<DWIndexDataDTO> initData = dwIndexFrameService.getIndexData(indexCode, 10);
+            DWIndexDTO initialDTO = new DWIndexDTO();
+            initialDTO.setIndexCode(dwIndexDTO.getIndexCode());
+            initialDTO.setFrequency(dwIndexDTO.getFrequency());
+            initialDTO.setIndexName(dwIndexDTO.getIndexName());
+            initialDTO.setRemark(dwIndexDTO.getRemark());
+            initialDTO.setSourceName(dwIndexDTO.getSourceName());
+            initialDTO.setUnit(dwIndexDTO.getUnit());
+            initialDTO.setDataList(initData);
+            List<?> result = apiServiceHolder.runApi(ETAInterfaceEnum.PUSH_ETA_INDEX, initialDTO);
+            if (result == null) {
+                log.error("调用ETA接口失败,停止更新");
+                throw new ETAException(ErrorEnum.PUSH_TO_ETA_ERROR);
+            }
+            // 将 initData 的 id 收集到一个 Set 中
+            Set<Date> initIds = initData.stream().map(DWIndexDataDTO::getDate).collect(Collectors.toSet());
             CompletableFuture<Void> future = CompletableFuture.runAsync(() -> {
                 if (lock.tryLock()) {
                     List<DWIndexDataDTO> dataList = dwIndexFrameService.getIndexData(indexCode);
-                    dataList.sort(Comparator.comparingLong(o -> o.getDate().getTime()));
-                    dwIndexDTO.setDataList(dataList);
+                    dataList.sort(Comparator.comparing(DWIndexDataDTO::getDate));
+                    List<DWIndexDataDTO> filteredData = dataList.stream().filter(data -> !initIds.contains(data.getDate())).collect(Collectors.toList());
+                    dwIndexDTO.setDataList(filteredData);
                     //api数据发送
                     if (dwIndexDTO.getDataList().size() > ETAConstants.ETA_PUSH_DATA_LIMIT) {
                         log.info("数据量超过限制,分批推送");
@@ -74,13 +93,13 @@ public class ETAFacadeServiceImpl implements ETAFacadeService {
                             dataDTO.setSourceName(dwIndexDTO.getSourceName());
                             dataDTO.setUnit(dwIndexDTO.getUnit());
                             dataDTO.setDataList(list);
-                            List<?> result = apiServiceHolder.runApi(ETAInterfaceEnum.PUSH_ETA_INDEX, dataDTO);
-                            if (result == null) {
+                            List<?> initResult = apiServiceHolder.runApi(ETAInterfaceEnum.PUSH_ETA_INDEX, dataDTO);
+                            if (initResult == null) {
                                 log.error("调用ETA接口失败,停止更新");
                                 throw new ETAException(ErrorEnum.PUSH_TO_ETA_ERROR);
                             }
                             try {
-                                Thread.sleep(1000);
+                                Thread.sleep(200);
                             } catch (InterruptedException e) {
                                 log.warn("线程中断异常");
                             }
@@ -205,7 +224,21 @@ public class ETAFacadeServiceImpl implements ETAFacadeService {
 
     @Override
     @DomainTransDataSource(dataSourceType = DataSourceType.DW)
-    public DWIndexDTO getIndexInfo(String indexCode) {
-        return dwIndexFrameService.getIndex(indexCode);
+    public ETAPushIndex getIndexInfo(String indexCode) {
+        DWIndexDTO dwIndexDTO = dwIndexFrameService.getIndex(indexCode);
+        if (dwIndexDTO != null) {
+            //获取最新的10天指标数据
+            List<DWIndexDataDTO> dataList = dwIndexFrameService.getIndexData(indexCode, 10);
+            dwIndexDTO.setDataList(dataList);
+        }
+        return DWIndexDTOConverter.INSTANCE.convertToETAPushDTO(dwIndexDTO);
+    }
+
+    @Override
+    public void deleteTask(List<String> indexCodes) {
+        if (CollectionUtils.isEmpty(indexCodes)) {
+            log.info("删除指标任务为空,无需删除");
+        }
+        dwIndexFrameService.deleteSyncTask(indexCodes);
     }
 }

+ 31 - 28
qhtx-eta-integrator/qhtx-integrator-domain/src/main/java/com/qhtx/eta/domain/job/ETASyncJob.java

@@ -2,12 +2,10 @@ package com.qhtx.eta.domain.job;
 
 import com.alibaba.nacos.api.utils.StringUtils;
 import com.google.common.collect.Lists;
-import com.google.common.hash.Hashing;
 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.common.utils.MD5Utils;
-import com.qhtx.eta.domain.config.RedisConfig;
 import com.qhtx.eta.domain.config.ScheduleConfig;
 import com.qhtx.eta.domain.config.ScheduleTaskConfig;
 import com.qhtx.eta.domain.convert.ClassifyMappingDTOConverter;
@@ -18,10 +16,7 @@ import com.qhtx.eta.domain.enums.ETAInterfaceEnum;
 import com.qhtx.eta.domain.enums.ETATaskEnum;
 import com.qhtx.eta.domain.enums.ExcludedQuotaSource;
 import com.qhtx.eta.domain.facade.ETAFacadeService;
-import com.qhtx.eta.domain.service.DWIndexFrameService;
-import com.qhtx.eta.domain.service.ETAClassifyService;
-import com.qhtx.eta.domain.service.ETAPushDataService;
-import com.qhtx.eta.domain.service.ETAQuotaService;
+import com.qhtx.eta.domain.service.*;
 import com.qhtx.eta.domain.api.ApiServiceHolder;
 import com.qhtx.eta.domain.api.http.request.ETADataHttpRequest;
 import com.qhtx.eta.common.constant.ETAConstants;
@@ -30,6 +25,7 @@ import com.qhtx.eta.domain.task.FixedDelayTaskRegistrar;
 import com.qhtx.eta.domain.task.SchedulingRunnable;
 import com.qhtx.eta.domain.utils.RedisUtils;
 import com.qhtx.eta.infra.datasource.DataSourceContextHolder;
+import com.qhtx.eta.infra.entity.TEtaIndexMapping;
 import com.qhtx.eta.infra.entity.dw.*;
 import com.qhtx.eta.infra.enums.Frequency;
 import lombok.extern.slf4j.Slf4j;
@@ -46,8 +42,6 @@ import org.springframework.transaction.support.TransactionTemplate;
 import org.springframework.util.CollectionUtils;
 
 import javax.annotation.Resource;
-import java.math.BigDecimal;
-import java.nio.charset.StandardCharsets;
 import java.text.SimpleDateFormat;
 import java.time.DayOfWeek;
 import java.time.LocalDate;
@@ -101,6 +95,8 @@ public class ETASyncJob implements CommandLineRunner {
     @Resource
     private ETAPushDataService etaPushDataService;
 
+    @Resource
+    private ETAIndexService etaIndexService;
     @Resource
     private TransactionTemplate transactionTemplate;
     @Resource
@@ -221,7 +217,7 @@ public class ETASyncJob implements CommandLineRunner {
     public void syncETAInfo() {
         List<?> dataList = apiServiceHolder.runApi(ETAInterfaceEnum.GET_EDB_LIST);
         if (dataList != null) {
-            List<QuotaInfoDTO> etaQuotaList = dataList.stream().filter(item -> item instanceof QuotaInfoDTO && Arrays.stream(ExcludedQuotaSource.values()).noneMatch(excludedSource -> ((QuotaInfoDTO) item).getEdbSource().equals(excludedSource.getSourceId()))).map(item -> (QuotaInfoDTO) item).collect(Collectors.toList());
+            List<QuotaInfoDTO> etaQuotaList = dataList.stream().filter(item -> item instanceof QuotaInfoDTO && ((QuotaInfoDTO) item).getEdbInfoType().equals(0) && Arrays.stream(ExcludedQuotaSource.values()).noneMatch(excludedSource -> ((QuotaInfoDTO) item).getEdbSource().equals(excludedSource.getSourceId()))).map(item -> (QuotaInfoDTO) item).collect(Collectors.toList());
             log.info("================================ 开始同步接口指标列表 ================================ ");
             log.info("================================ 指标接口列表数量:{}条================================ ", etaQuotaList.size());
             etaQuotaService.syncQuota(etaQuotaList);
@@ -260,6 +256,7 @@ public class ETASyncJob implements CommandLineRunner {
                     List<QuotaInfoDTO> etaApiQuotaInfoList = QuotaInfoFutures.get();
                     List<LinkDataDTO> linkDataList = linkDataFutures.get();
                     List<ClassifyMappingDTO> classiyfList = classifyFutures.get();
+                    log.info("对接码数量:{}", linkDataList.size());
                     if (CollectionUtils.isEmpty(classifyList)) {
                         log.info("指标目录未同步,停止同步指标信息");
                         return;
@@ -273,7 +270,6 @@ public class ETASyncJob implements CommandLineRunner {
                             QuotaInfoDTO dimensionData = quotaInfoDTO;
                             dimensionDataMap.put(elementVal, dimensionData);
                         }
-
                         // 创建哈希表存储 frameId 和 classify
                         Map<Integer, ClassifyMappingDTO> classifyMap = new HashMap<>();
                         for (ClassifyMappingDTO classifyMappingDTO : classiyfList) {
@@ -282,6 +278,7 @@ public class ETASyncJob implements CommandLineRunner {
                             classifyMap.put(classifyId, classify);
                         }
                         for (LinkDataDTO linkDataDTO : linkDataList) {
+                            log.info("开始处理指标信息:{}", linkDataDTO.getLinkCode());
                             String dateFrom = "1970-01-02";
                             long startDate = new SimpleDateFormat(ETAConstants.DATE_PATTERN).parse(dateFrom).getTime();
                             long createTime = new Date().getTime();
@@ -325,15 +322,17 @@ public class ETASyncJob implements CommandLineRunner {
                             dwIndexWithLinkCodeDTO.setFrameId(classify.getIndexFrameId());
                             dwIndexWithLinkCodeList.add(dwIndexWithLinkCodeDTO);
                         }
+                        log.info("开始处理指标信息,当前指标数量为{}", dwIndexWithLinkCodeList.size());
                         //开始处理指标
                         for (DWIndexWithLinkCodeDTO dwIndexWithLinkCodeDTO : dwIndexWithLinkCodeList) {
                             TDampDwIndex dwIndex = DWIndexWithLinkCodeDTOConverter.INSTANCE.convertDTOToEntity(dwIndexWithLinkCodeDTO);
                             TDampDwIndexLink tDampDwIndexLink = DWIndexWithLinkCodeDTOConverter.INSTANCE.convertDTOToLinkEntity(dwIndexWithLinkCodeDTO);
+                            TEtaIndexMapping etaIndexMapping = DWIndexWithLinkCodeDTOConverter.INSTANCE.convertDTOToMappingEntity(dwIndexWithLinkCodeDTO);
                             //获取对接码数据
                             List<TDampDwIndexData> dwLinkDetailList = dwIndexFrameService.getlinkDataList(dwIndexWithLinkCodeDTO.getLinkCode()).stream().map(linkData -> {
                                 TDampDwIndexData dwIndexData = new TDampDwIndexData();
                                 dwIndexData.setId(UUID.randomUUID().toString().replace("-", ""));
-                                dwIndexData.setDataDate(convertDateByFrequency(linkData.getDataDate(), Frequency.getFrequencyByDesc(String.format("%s度",dwIndex.getFrequency()))));
+                                dwIndexData.setDataDate(convertDateByFrequency(linkData.getDataDate(), Frequency.getFrequencyByDesc(String.format("%s度", dwIndex.getFrequency()))));
                                 dwIndexData.setDataValue(linkData.getDataValue());
                                 dwIndexData.setDataValueChar(linkData.getDataValueChar());
                                 dwIndexData.setIndexId(dwIndex.getId());
@@ -358,24 +357,28 @@ public class ETASyncJob implements CommandLineRunner {
                             int uniqueId = Integer.parseInt(dwIndexWithLinkCodeDTO.getLinkCode().substring(dwIndexWithLinkCodeDTO.getLinkCode().indexOf("ETA") + 3));
                             if (redisUtils.getBit(redisUtils.indexSyncKey(), uniqueId)) {
                                 log.warn("对应指标数据:{},已同步,不在进行同步处理", dwIndexWithLinkCodeDTO.getLinkCode());
-                                continue;
+                                //执行更新指标信息的操作
+                                dwIndexFrameService.updateIndexInfo(dwIndexWithLinkCodeDTO);
+                            } else {
+                                log.warn("对应指标数据:{},同步指标", dwIndexWithLinkCodeDTO.getLinkCode());
+                                DataSourceContextHolder.setDataSourceType(DataSourceType.DW);
+                                transactionTemplate.execute(new TransactionCallbackWithoutResult() {
+                                    @Override
+                                    @Transactional(rollbackFor = Exception.class)
+                                    protected void doInTransactionWithoutResult(@NotNull TransactionStatus status) {
+
+                                        //将指标写入映射表
+                                        etaIndexService.insert(etaIndexMapping);
+                                        //现插入指标
+                                        dwIndexFrameService.insertIndex(dwIndex);
+                                        //更新指标对接码
+                                        dwIndexFrameService.insertIndexLink(tDampDwIndexLink);
+                                        //添加指标数据
+                                        dwIndexFrameService.batchInsertIndexData(dwLinkDetailList);
+                                    }
+                                });
+                                redisUtils.setBit(redisUtils.indexSyncKey(), uniqueId, true);
                             }
-                            log.warn("对应指标数据:{},同步指标", dwIndexWithLinkCodeDTO.getLinkCode());
-                            DataSourceContextHolder.setDataSourceType(DataSourceType.DW);
-                            transactionTemplate.execute(new TransactionCallbackWithoutResult() {
-                                @Override
-                                @Transactional(rollbackFor = Exception.class)
-                                protected void doInTransactionWithoutResult(@NotNull TransactionStatus status) {
-                                    //现插入指标
-                                    dwIndexFrameService.insertIndex(dwIndex);
-                                    //更新指标对接码
-                                    dwIndexFrameService.insertIndexLink(tDampDwIndexLink);
-                                    //添加指标数据
-                                    dwIndexFrameService.batchInsertIndexData(dwLinkDetailList);
-                                }
-                            });
-
-                            redisUtils.setBit(redisUtils.indexSyncKey(), uniqueId, true);
                         }
                     }
                 } catch (Exception e) {

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

@@ -3,6 +3,7 @@ package com.qhtx.eta.domain.service;
 import com.qhtx.eta.domain.entity.DWIndexDTO;
 import com.qhtx.eta.domain.entity.DWIndexDataDTO;
 import com.qhtx.eta.domain.entity.DWIndexFrameDTO;
+import com.qhtx.eta.domain.entity.DWIndexWithLinkCodeDTO;
 import com.qhtx.eta.infra.entity.dw.TDampDwLinkDetail;
 import com.qhtx.eta.infra.entity.dw.DWIndex;
 import com.qhtx.eta.infra.entity.dw.TDampDwIndex;
@@ -23,10 +24,14 @@ public interface DWIndexFrameService {
 
     DWIndexDTO addSyncIndex(String indexCode);
 
+    void deleteSyncTask(List<String> indexCodes);
+
     DWIndexDTO getIndex(String indexCode);
 
     List<DWIndexDataDTO> getIndexData(String indexCode);
 
+    List<DWIndexDataDTO> getIndexData(String indexCode, int limit);
+
     void insertIndex(TDampDwIndex dwIndex);
 
     List<Long> getIndexSeq(int nums);
@@ -36,4 +41,6 @@ public interface DWIndexFrameService {
     List<TDampDwLinkDetail> getlinkDataList(String linkCode);
 
     void batchInsertIndexData(List<TDampDwIndexData> dwLinkDetailList);
+
+    void updateIndexInfo(DWIndexWithLinkCodeDTO dwIndex);
 }

+ 7 - 0
qhtx-eta-integrator/qhtx-integrator-domain/src/main/java/com/qhtx/eta/domain/service/ETAIndexService.java

@@ -0,0 +1,7 @@
+package com.qhtx.eta.domain.service;
+
+import com.qhtx.eta.infra.entity.TEtaIndexMapping;
+
+public interface ETAIndexService {
+    void insert(TEtaIndexMapping etaIndexMapping);
+}

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

@@ -11,6 +11,7 @@ import com.qhtx.eta.domain.convert.DWIndexFrameDTOConverter;
 import com.qhtx.eta.domain.entity.DWIndexDTO;
 import com.qhtx.eta.domain.entity.DWIndexDataDTO;
 import com.qhtx.eta.domain.entity.DWIndexFrameDTO;
+import com.qhtx.eta.domain.entity.DWIndexWithLinkCodeDTO;
 import com.qhtx.eta.domain.service.DWIndexFrameService;
 import com.qhtx.eta.domain.utils.RedisUtils;
 import com.qhtx.eta.infra.annotation.UseDataSource;
@@ -29,6 +30,7 @@ import org.springframework.transaction.support.TransactionTemplate;
 import org.springframework.util.CollectionUtils;
 
 import javax.annotation.Resource;
+import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.ThreadPoolExecutor;
@@ -153,6 +155,11 @@ public class DWIndexFrameServiceImpl implements DWIndexFrameService {
         return dwIndexDTO;
     }
 
+    @Override
+    public void deleteSyncTask(List<String> indexCodes) {
+        etaIndexPushTaskService.deleteTask(indexCodes);
+    }
+
     @Override
     public DWIndexDTO getIndex(String indexCode) {
         DWIndex dwIndex = indexFrameService.getIndexByIndexCode(indexCode);
@@ -161,10 +168,14 @@ public class DWIndexFrameServiceImpl implements DWIndexFrameService {
             throw new ETAException(ErrorEnum.DW_INDEX_NOT_FOUND);
         }
         if (StringUtils.isEmpty(dwIndex.getSourceName())) {
-            dwIndex.setSourceName("钢联");
+            dwIndex.setSourceName("未知分类");
         }
+        dwIndex.setSourceName(String.format("%s-%s", "一期", dwIndex.getSourceName()));
         DWIndexDTO dwIndexDTO = DWIndexDTOConverter.INSTANCE.convertToDTO(dwIndex);
         dwIndexDTO.setRemark("");
+        TDampDwIndexDataDate dataDate = tDampDwIndexDataService.queryBeginEndDate(indexCode);
+        dwIndexDTO.setStartDate(new SimpleDateFormat("yyyy-MM-dd").format(dataDate.getStartDate()));
+        dwIndexDTO.setEndDate(new SimpleDateFormat("yyyy-MM-dd").format(dataDate.getEndDate()));
         return dwIndexDTO;
     }
 
@@ -196,6 +207,12 @@ public class DWIndexFrameServiceImpl implements DWIndexFrameService {
         return allResults.stream().map(DWIndexDataDTOConverter.INSTANCE::convertToDTO).collect(Collectors.toList());
     }
 
+    @Override
+    public List<DWIndexDataDTO> getIndexData(String indexCode, int limit) {
+        List<TDampDwIndexData> allResults = tDampDwIndexDataService.queryLatestDateData(indexCode, limit);
+        return allResults.stream().map(DWIndexDataDTOConverter.INSTANCE::convertToDTO).collect(Collectors.toList());
+    }
+
     @Override
     public void insertIndex(TDampDwIndex dwIndex) {
         tDampDwIndexService.insert(dwIndex);
@@ -221,6 +238,33 @@ public class DWIndexFrameServiceImpl implements DWIndexFrameService {
         tDampDwIndexDataService.batchInsertIndexData(dwLinkDetailList);
     }
 
+    @Override
+    public void updateIndexInfo(DWIndexWithLinkCodeDTO dwIndex) {
+        if (dwIndex == null) {
+            log.warn("dwIndex为空,不更新指标信息");
+            return;
+        }
+        if (StringUtils.isEmpty(dwIndex.getIndexCode())) {
+            log.warn("指标Id为空,不更新指标信息");
+            return;
+        }
+        if (StringUtils.isEmpty(dwIndex.getFrameId())) {
+            log.warn("指标目录为空,不更新指标信息");
+            return;
+        }
+        //获取对接码的指标信息
+        List<TDampDwIndexLink> linkInfoList = tDampDwIndexLinkService.getLinkInfoByCode(dwIndex.getLinkCode());
+        if (linkInfoList == null || linkInfoList.isEmpty()) {
+            log.warn("对接码信息不存在,linkCode:{}", dwIndex.getLinkCode());
+            return;
+        }
+        //根据指标名称过滤指标
+        TDampDwIndex updateDwIndex = new TDampDwIndex();
+//        updateDwIndex.setIndexCode(linkInfo.getIndexCode());
+//        updateDwIndex.setFrameId(dwIndex.getFrameId());
+        tDampDwIndexService.updateIndexInfo(updateDwIndex);
+    }
+
     private List<DWIndexFrameDTO> parseList(FrameNode node) {
         if (node == null) {
             return null;
@@ -255,7 +299,7 @@ public class DWIndexFrameServiceImpl implements DWIndexFrameService {
         }
         for (DWIndexFrameDTO dto : list) {
             if (Objects.equals(dto.getParentId(), node.getClassifyId())) {
-                String path = StringUtils.isEmpty(node.getPath().trim()) ? node.getName()  : node.getPath() + "|" + node.getName();
+                String path = StringUtils.isEmpty(node.getPath().trim()) ? node.getName() : node.getPath() + "|" + node.getName();
                 String id = (dto.getId() == null || dto.getId().trim().isEmpty()) ? UUID.randomUUID().toString().replaceAll("-", "") : dto.getId();
                 String idPath = StringUtils.isEmpty(node.getPath().trim()) ? node.getId() : node.getIdPath() + "|" + node.getId();
                 FrameNode temp = new FrameNode();

+ 15 - 0
qhtx-eta-integrator/qhtx-integrator-domain/src/main/java/com/qhtx/eta/domain/service/impl/ETAIndexServiceImpl.java

@@ -0,0 +1,15 @@
+package com.qhtx.eta.domain.service.impl;
+
+import com.qhtx.eta.domain.service.ETAIndexService;
+import com.qhtx.eta.infra.entity.TEtaIndexMapping;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+@Service
+@Slf4j
+public class ETAIndexServiceImpl implements ETAIndexService {
+    @Override
+    public void insert(TEtaIndexMapping etaIndexMapping) {
+
+    }
+}

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

@@ -97,7 +97,7 @@ public class ETAQuotaServiceImpl implements ETAQuotaService {
         EtaApiQuotaInfo etaApiQuotaInfo = EtaApiQuotaInfoConverter.INSTANCE.convertEntityToBo(quotaInfo);
         //一次性获取所有的指标的最新数据,减少数据库请求开销
         List<EtaApiQuotaData> dataList = etaApiQuotaDataService.getAllLatestDataByUniqueCode();
-        List<EtaApiQuotaInfo> quotaInfoList = etaApiQuotaInfoService.queryQuotaList(etaApiQuotaInfo).stream().filter(info -> info.getLatestDate() != null && info.getUniqueCode() != null).collect(Collectors.toList());
+        List<EtaApiQuotaInfo> quotaInfoList = etaApiQuotaInfoService.queryQuotaList(etaApiQuotaInfo).stream().filter(info -> info.getEndDate() != null && info.getUniqueCode() != null).collect(Collectors.toList());
         List<List<QuotaDataUpdateBO>> allResults;
         List<CompletableFuture<List<QuotaDataUpdateBO>>> completableFutureList = Lists.partition(quotaInfoList, dataSourceProperties.getData().getChunkSize()).stream().map(subList -> CompletableFuture.supplyAsync(() -> dataUpdate(subList, dataList), etaInfoThreadPool)).collect(Collectors.toList());
         try {
@@ -182,7 +182,7 @@ public class ETAQuotaServiceImpl implements ETAQuotaService {
                 return quotaDataUpdateBO;
             }
             quotaDataUpdateBO.setCurrentDate(new SimpleDateFormat(ETAConstants.DATE_PATTERN).format(etaApiQuotaDataList.get(0).getDataTime()));
-            if (compareDate(etaApiQuotaDataList.get(0).getDataTime(), info.getLatestDate())) {
+            if (compareDate(etaApiQuotaDataList.get(0).getDataTime(), info.getEndDate())) {
                 quotaDataUpdateBO.setStatus(ETADataStatus.UPDATE);
                 return quotaDataUpdateBO;
             }

+ 6 - 2
qhtx-eta-integrator/qhtx-integrator-domain/src/main/java/com/qhtx/eta/domain/service/impl/TDampLinkService.java

@@ -93,10 +93,14 @@ public class TDampLinkService {
                 futures.add(future);
             }
             List<LinkDataDTO> list = futures.stream().map(CompletableFuture::join).flatMap(List::stream).collect(Collectors.toList());
-            return list.stream().filter(linkDataDTO -> !redisUtils.getBit(redisUtils.indexSyncKey(), Integer.parseInt(linkDataDTO.getLinkCode().substring(linkDataDTO.getLinkCode().indexOf("ETA") + 3)))).collect(Collectors.toList());
+            log.info("并发获取,当前获取到ETA对接码数量为{}", list.size());
+            //return list.stream().filter(linkDataDTO -> !redisUtils.getBit(redisUtils.indexSyncKey(), Integer.parseInt(linkDataDTO.getLinkCode().substring(linkDataDTO.getLinkCode().indexOf("ETA") + 3)))).collect(Collectors.toList());
+            return list;
         } else {
             List<LinkDataDTO> list = LinkDataDTOConverter.INSTANCE.convertEntityToDTOList(tdampDwLinkDataService.queryAll());
-            return list.stream().filter(linkDataDTO -> !redisUtils.getBit(redisUtils.indexSyncKey(), Integer.parseInt(linkDataDTO.getLinkCode().substring(linkDataDTO.getLinkCode().indexOf("ETA") + 3)))).collect(Collectors.toList());
+            log.info("单线程获取,当前获取到ETA对接码数量为{}", list.size());
+            //  return list.stream().filter(linkDataDTO -> !redisUtils.getBit(redisUtils.indexSyncKey(), Integer.parseInt(linkDataDTO.getLinkCode().substring(linkDataDTO.getLinkCode().indexOf("ETA") + 3)))).collect(Collectors.toList());
+            return list;
         }
     }
 

+ 1 - 1
qhtx-eta-integrator/qhtx-integrator-domain/src/main/java/com/qhtx/eta/domain/task/SchedulingRunnable.java

@@ -39,7 +39,7 @@ public class SchedulingRunnable implements Runnable {
             method.invoke(target);
         } catch (Exception ex) {
             logger.error(String.format("定时任务执行异常 - bean:%s,方法:%s", beanName, methodName), ex);
-        }
+         }
         long times = System.currentTimeMillis() - startTime;
         logger.info("定时任务执行结束 - bean:{},方法:{},耗时:{} 毫秒", beanName, methodName, times);
     }

+ 25 - 0
qhtx-eta-integrator/qhtx-integrator-infra/src/main/java/com/qhtx/eta/infra/entity/TEtaIndexMapping.java

@@ -0,0 +1,25 @@
+package com.qhtx.eta.infra.entity;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * (TEtaIndexMapping)实体类
+ *
+ * @author makejava
+ * @since 2025-01-14 10:32:24
+ */
+@Data
+public class TEtaIndexMapping implements Serializable {
+    private static final long serialVersionUID = 645472649937080427L;
+
+    private Integer id;
+
+    private String indexCode;
+
+    private String linkCode;
+
+
+}
+

+ 30 - 0
qhtx-eta-integrator/qhtx-integrator-infra/src/main/java/com/qhtx/eta/infra/entity/dw/TDampDwIndexDataDate.java

@@ -0,0 +1,30 @@
+package com.qhtx.eta.infra.entity.dw;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 指标数据表(TDampDwIndexData)实体类
+ *
+ * @author makejava
+ * @since 2024-09-29 17:37:17
+ */
+@Data
+public class TDampDwIndexDataDate {
+    /**
+     * 开始时间
+     */
+    private Date startDate;
+    /**
+     * 指标编码
+     */
+    private String indexCode;
+    /**
+     * 结束时间
+     */
+    private Date endDate;
+
+}
+

+ 2 - 0
qhtx-eta-integrator/qhtx-integrator-infra/src/main/java/com/qhtx/eta/infra/mapper/TDampDwIndexDao.java

@@ -41,5 +41,7 @@ public interface TDampDwIndexDao {
 
 
     List<Long> getIndexSeq(@Param("nums") Integer nums);
+
+    void updateIndexInfo(@Param("entity")TDampDwIndex dwIndex);
 }
 

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

@@ -1,6 +1,7 @@
 package com.qhtx.eta.infra.mapper;
 
 import com.qhtx.eta.infra.entity.dw.TDampDwIndexData;
+import com.qhtx.eta.infra.entity.dw.TDampDwIndexDataDate;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.Date;
@@ -21,6 +22,7 @@ public interface TDampDwIndexDataDao {
      */
     List<TDampDwIndexData> queryAllByLimit(@Param("indexCode") String indexCode, @Param("offset") int offset, @Param("limit") int limit);
 
+
     int countByIndexCode(String indexCode);
 
 
@@ -37,5 +39,9 @@ public interface TDampDwIndexDataDao {
     List<TDampDwIndexData> queryByDate(@Param("indexCode") String indexCode, @Param("begin") Date beginDate, @Param("offset") int offset, @Param("limit") int limit);
 
     int countByIndexCodeWithDate(@Param("indexCode") String indexCode, @Param("begin") Date begin);
+
+    TDampDwIndexDataDate queryBeginEndDate(@Param("indexCode") String indexCode);
+
+    List<TDampDwIndexData> queryLatestDateData(@Param("indexCode")String indexCode,  @Param("limit")int limit);
 }
 

+ 2 - 0
qhtx-eta-integrator/qhtx-integrator-infra/src/main/java/com/qhtx/eta/infra/mapper/TDampDwIndexLinkDao.java

@@ -30,5 +30,7 @@ public interface TDampDwIndexLinkDao {
 
 
     List<TDampDwIndexLink> queryAll(@Param("prefix") String prefix);
+
+    List<TDampDwIndexLink> getLinkInfoByCode(@Param("linkCode") String linkCode);
 }
 

+ 58 - 0
qhtx-eta-integrator/qhtx-integrator-infra/src/main/java/com/qhtx/eta/infra/mapper/TEtaIndexMappingDao.java

@@ -0,0 +1,58 @@
+package com.qhtx.eta.infra.mapper;
+
+import com.qhtx.eta.infra.entity.TEtaIndexMapping;
+
+/**
+ * (TEtaIndexMapping)表数据库访问层
+ *
+ * @author makejava
+ * @since 2025-01-14 10:32:19
+ */
+public interface TEtaIndexMappingDao {
+
+    /**
+     * 通过ID查询单条数据
+     *
+     * @param id 主键
+     * @return 实例对象
+     */
+    TEtaIndexMapping queryById(Integer id);
+
+
+
+    /**
+     * 统计总行数
+     *
+     * @param tEtaIndexMapping 查询条件
+     * @return 总行数
+     */
+    long count(TEtaIndexMapping tEtaIndexMapping);
+
+    /**
+     * 新增数据
+     *
+     * @param tEtaIndexMapping 实例对象
+     * @return 影响行数
+     */
+    int insert(TEtaIndexMapping tEtaIndexMapping);
+
+
+
+    /**
+     * 修改数据
+     *
+     * @param tEtaIndexMapping 实例对象
+     * @return 影响行数
+     */
+    int update(TEtaIndexMapping tEtaIndexMapping);
+
+    /**
+     * 通过主键删除数据
+     *
+     * @param id 主键
+     * @return 影响行数
+     */
+    int deleteById(Integer id);
+
+}
+

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

@@ -35,5 +35,7 @@ public interface TEtaIndexPushTaskDao {
     List<TEtaIndexPushTask> getAllTask();
 
     TEtaIndexPushTask getByIndexCode(@Param("indexCode") String indexCode);
+
+    void deleteTask(@Param("indexCodes") List<String> indexCodes);
 }
 

+ 5 - 1
qhtx-eta-integrator/qhtx-integrator-infra/src/main/java/com/qhtx/eta/infra/service/TDampDwIndexDataService.java

@@ -2,6 +2,7 @@ package com.qhtx.eta.infra.service;
 
 
 import com.qhtx.eta.infra.entity.dw.TDampDwIndexData;
+import com.qhtx.eta.infra.entity.dw.TDampDwIndexDataDate;
 
 import java.util.List;
 
@@ -12,9 +13,12 @@ import java.util.List;
  * @since 2024-09-29 17:37:18
  */
 public interface TDampDwIndexDataService {
-
     List<TDampDwIndexData> queryAllByLimit(String indexCode, int offset, int limit);
 
+    List<TDampDwIndexData> queryLatestDateData(String indexCode, int limit);
+
+    TDampDwIndexDataDate queryBeginEndDate(String indexCode);
+
     int countByIndexCode(String indexCode);
 
     List<TDampDwIndexData> queryByDate(String indexCode, String beginDate, int offset, int limit);

+ 2 - 0
qhtx-eta-integrator/qhtx-integrator-infra/src/main/java/com/qhtx/eta/infra/service/TDampDwIndexLinkService.java

@@ -22,4 +22,6 @@ public interface TDampDwIndexLinkService {
 
 
     List<TDampDwIndexLink> queryAll(String perfix);
+
+    List<TDampDwIndexLink> getLinkInfoByCode(String linkCode);
 }

+ 2 - 0
qhtx-eta-integrator/qhtx-integrator-infra/src/main/java/com/qhtx/eta/infra/service/TDampDwIndexService.java

@@ -23,4 +23,6 @@ public interface TDampDwIndexService {
 
 
     List<Long> getIndexSeq(int num);
+
+    void updateIndexInfo(TDampDwIndex dwIndex);
 }

+ 47 - 0
qhtx-eta-integrator/qhtx-integrator-infra/src/main/java/com/qhtx/eta/infra/service/TEtaIndexMappingService.java

@@ -0,0 +1,47 @@
+package com.qhtx.eta.infra.service;
+
+import com.qhtx.eta.infra.entity.TEtaIndexMapping;
+
+/**
+ * (TEtaIndexMapping)表服务接口
+ *
+ * @author makejava
+ * @since 2025-01-14 10:32:25
+ */
+public interface TEtaIndexMappingService {
+
+    /**
+     * 通过ID查询单条数据
+     *
+     * @param id 主键
+     * @return 实例对象
+     */
+    TEtaIndexMapping queryById(Integer id);
+
+
+
+    /**
+     * 新增数据
+     *
+     * @param tEtaIndexMapping 实例对象
+     * @return 实例对象
+     */
+    TEtaIndexMapping insert(TEtaIndexMapping tEtaIndexMapping);
+
+    /**
+     * 修改数据
+     *
+     * @param tEtaIndexMapping 实例对象
+     * @return 实例对象
+     */
+    TEtaIndexMapping update(TEtaIndexMapping tEtaIndexMapping);
+
+    /**
+     * 通过主键删除数据
+     *
+     * @param id 主键
+     * @return 是否成功
+     */
+    boolean deleteById(Integer id);
+
+}

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

@@ -34,4 +34,6 @@ public interface TEtaIndexPushTaskService {
     List<TEtaIndexPushTask> getAllTask();
 
     TEtaIndexPushTask getByIndexCode(String indexCode);
+
+    void deleteTask(List<String> indexCodes);
 }

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

@@ -6,6 +6,7 @@ import com.qhtx.eta.common.eunms.ErrorEnum;
 import com.qhtx.eta.common.exception.ETAException;
 import com.qhtx.eta.infra.annotation.UseDataSource;
 import com.qhtx.eta.infra.entity.dw.TDampDwIndexData;
+import com.qhtx.eta.infra.entity.dw.TDampDwIndexDataDate;
 import com.qhtx.eta.infra.mapper.TDampDwIndexDataDao;
 import com.qhtx.eta.infra.service.TDampDwIndexDataService;
 import lombok.extern.slf4j.Slf4j;
@@ -50,6 +51,16 @@ public class TDampDwIndexDataServiceImpl implements TDampDwIndexDataService {
         return tDampDwIndexDataDao.queryAllByLimit(indexCode, offset, limit);
     }
 
+    @Override
+    public List<TDampDwIndexData> queryLatestDateData(String indexCode, int limit) {
+        return tDampDwIndexDataDao.queryLatestDateData(indexCode, limit);
+    }
+
+    @Override
+    public TDampDwIndexDataDate queryBeginEndDate(String indexCode) {
+        return tDampDwIndexDataDao.queryBeginEndDate(indexCode);
+    }
+
     @Override
     public int countByIndexCode(String indexCode) {
         return tDampDwIndexDataDao.countByIndexCode(indexCode);

+ 5 - 0
qhtx-eta-integrator/qhtx-integrator-infra/src/main/java/com/qhtx/eta/infra/service/impl/TDampDwIndexLinkServiceImpl.java

@@ -39,4 +39,9 @@ public class TDampDwIndexLinkServiceImpl implements TDampDwIndexLinkService {
         return tDampDwIndexLinkDao.queryAll(prefix);
     }
 
+    @Override
+    public List<TDampDwIndexLink> getLinkInfoByCode(String linkCode) {
+        return tDampDwIndexLinkDao.getLinkInfoByCode(linkCode);
+    }
+
 }

+ 5 - 0
qhtx-eta-integrator/qhtx-integrator-infra/src/main/java/com/qhtx/eta/infra/service/impl/TDampDwIndexServiceImpl.java

@@ -40,5 +40,10 @@ public class TDampDwIndexServiceImpl implements TDampDwIndexService {
         return tDampDwIndexDao.getIndexSeq(nums);
     }
 
+    @Override
+    public void updateIndexInfo(TDampDwIndex dwIndex) {
+        tDampDwIndexDao.updateIndexInfo(dwIndex);
+    }
+
 
 }

+ 67 - 0
qhtx-eta-integrator/qhtx-integrator-infra/src/main/java/com/qhtx/eta/infra/service/impl/TEtaIndexMappingServiceImpl.java

@@ -0,0 +1,67 @@
+package com.qhtx.eta.infra.service.impl;
+
+import com.qhtx.eta.infra.mapper.TEtaIndexMappingDao;
+import com.qhtx.eta.infra.entity.TEtaIndexMapping;
+import com.qhtx.eta.infra.service.TEtaIndexMappingService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+
+/**
+ * (TEtaIndexMapping)表服务实现类
+ *
+ * @author makejava
+ * @since 2025-01-14 10:32:26
+ */
+@Service("tEtaIndexMappingService")
+public class TEtaIndexMappingServiceImpl implements TEtaIndexMappingService {
+    @Resource
+    private TEtaIndexMappingDao tEtaIndexMappingDao;
+
+    /**
+     * 通过ID查询单条数据
+     *
+     * @param id 主键
+     * @return 实例对象
+     */
+    @Override
+    public TEtaIndexMapping queryById(Integer id) {
+        return this.tEtaIndexMappingDao.queryById(id);
+    }
+
+
+    /**
+     * 新增数据
+     *
+     * @param tEtaIndexMapping 实例对象
+     * @return 实例对象
+     */
+    @Override
+    public TEtaIndexMapping insert(TEtaIndexMapping tEtaIndexMapping) {
+        this.tEtaIndexMappingDao.insert(tEtaIndexMapping);
+        return tEtaIndexMapping;
+    }
+
+    /**
+     * 修改数据
+     *
+     * @param tEtaIndexMapping 实例对象
+     * @return 实例对象
+     */
+    @Override
+    public TEtaIndexMapping update(TEtaIndexMapping tEtaIndexMapping) {
+        this.tEtaIndexMappingDao.update(tEtaIndexMapping);
+        return this.queryById(tEtaIndexMapping.getId());
+    }
+
+    /**
+     * 通过主键删除数据
+     *
+     * @param id 主键
+     * @return 是否成功
+     */
+    @Override
+    public boolean deleteById(Integer id) {
+        return this.tEtaIndexMappingDao.deleteById(id) > 0;
+    }
+}

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

@@ -79,6 +79,11 @@ public class TEtaIndexPushTaskServiceImpl implements TEtaIndexPushTaskService {
         return tEtaIndexPushTaskDao.getByIndexCode(indexCode);
     }
 
+    @Override
+    public void deleteTask(List<String> indexCodes) {
+        tEtaIndexPushTaskDao.deleteTask(indexCodes);
+    }
+
     private boolean needPush(Date lastPushTime) {
         if (lastPushTime == null) {
             return true;

+ 3 - 1
qhtx-eta-integrator/qhtx-integrator-infra/src/main/resources/mapper/EtaApiQuotaInfoDao.xml

@@ -50,6 +50,8 @@
         WHEN MATCHED THEN
         UPDATE SET
         t.latest_date = s.latest_date,
+        t.edb_name=s.edb_name,
+        t.classify_id = s.classify_id,
         t.NO_UPDATE = s.NO_UPDATE
         WHEN NOT MATCHED THEN
         INSERT
@@ -85,7 +87,7 @@
     <select id="queryQuotaListPage" resultMap="EtaApiQuotaInfoMap">
         select *
         from (select *
-              from (select rownum NO, EDB_INFO_ID, EDB_CODE, UNIQUE_CODE, EDB_NAME, CLASSIFY_ID, EDB_SOURCE_NAME,unique_code,frequency,unit
+              from (select rownum  NO, EDB_INFO_ID, EDB_CODE, UNIQUE_CODE, EDB_NAME, CLASSIFY_ID, EDB_SOURCE_NAME,frequency,unit
                     from T_ETA_API_QUOTA_INFO
                     where is_delete = 0
                     ORDER BY NO ASC)

+ 26 - 9
qhtx-eta-integrator/qhtx-integrator-infra/src/main/resources/mapper/TDampDwIndexDao.xml

@@ -49,24 +49,41 @@
                                     DATA_TABLE_ID, DATA_TABLE_NAME, DATA_TABLE_ES_NAME, UNITS, EN_REMARKS, CN_REMARKS,
                                     CREATE_TIME, UPDATE_TIME, CREATE_USER_ID, CREATE_USER_NAME, UPDATE_USER_ID,
                                     UPDATE_USER_NAME, DATA_NAME, DATA_CLASSIFY_CODE, VALUE_NAME, VALUE_CODE)
-        values (#{entity.id,jdbcType=VARCHAR}, #{entity.indexCnName,jdbcType=VARCHAR}, #{entity.cnSignature,jdbcType=VARCHAR}, #{entity.indexShortName,jdbcType=VARCHAR},
-                #{entity.indexEnName,jdbcType=VARCHAR}, #{entity.indexCode,jdbcType=VARCHAR}, #{entity.sourceName,jdbcType=VARCHAR},
-                #{entity.frequency,jdbcType=VARCHAR}, #{entity.places,jdbcType=VARCHAR}, #{entity.status,jdbcType=INTEGER}, #{entity.maintainType,jdbcType=INTEGER}, #{entity.isForeign,jdbcType=INTEGER},
+        values (#{entity.id,jdbcType=VARCHAR}, #{entity.indexCnName,jdbcType=VARCHAR},
+                #{entity.cnSignature,jdbcType=VARCHAR}, #{entity.indexShortName,jdbcType=VARCHAR},
+                #{entity.indexEnName,jdbcType=VARCHAR}, #{entity.indexCode,jdbcType=VARCHAR},
+                #{entity.sourceName,jdbcType=VARCHAR},
+                #{entity.frequency,jdbcType=VARCHAR}, #{entity.places,jdbcType=VARCHAR},
+                #{entity.status,jdbcType=INTEGER}, #{entity.maintainType,jdbcType=INTEGER},
+                #{entity.isForeign,jdbcType=INTEGER},
                 #{entity.deriveFormula,jdbcType=VARCHAR}, #{entity.isDelete,jdbcType=INTEGER},
-                #{entity.isEnable,jdbcType=INTEGER}, #{entity.frameId,jdbcType=VARCHAR}, #{entity.infoTableId,jdbcType=VARCHAR}, #{entity.infoTableName,jdbcType=VARCHAR},
+                #{entity.isEnable,jdbcType=INTEGER}, #{entity.frameId,jdbcType=VARCHAR},
+                #{entity.infoTableId,jdbcType=VARCHAR}, #{entity.infoTableName,jdbcType=VARCHAR},
                 #{entity.infoTableEsName,jdbcType=VARCHAR}, #{entity.dataTableId,jdbcType=VARCHAR},
-                #{entity.dataTableName,jdbcType=VARCHAR}, #{entity.dataTableEsName,jdbcType=VARCHAR}, #{entity.units,jdbcType=VARCHAR}, #{entity.enRemarks,jdbcType=VARCHAR},
+                #{entity.dataTableName,jdbcType=VARCHAR}, #{entity.dataTableEsName,jdbcType=VARCHAR},
+                #{entity.units,jdbcType=VARCHAR}, #{entity.enRemarks,jdbcType=VARCHAR},
                 #{entity.cnRemarks,jdbcType=VARCHAR}, #{entity.createTime,jdbcType=VARCHAR},
-                #{entity.updateTime,jdbcType=VARCHAR}, #{entity.createUserId,jdbcType=VARCHAR}, #{entity.createUserName,jdbcType=VARCHAR}, #{entity.updateUserId,jdbcType=VARCHAR},
+                #{entity.updateTime,jdbcType=VARCHAR}, #{entity.createUserId,jdbcType=VARCHAR},
+                #{entity.createUserName,jdbcType=VARCHAR}, #{entity.updateUserId,jdbcType=VARCHAR},
                 #{entity.updateUserName,jdbcType=VARCHAR}, #{entity.dataName,jdbcType=VARCHAR},
-                #{entity.dataClassifyCode,jdbcType=VARCHAR}, #{entity.valueName,jdbcType=VARCHAR}, #{entity.valueCode,jdbcType=VARCHAR})
+                #{entity.dataClassifyCode,jdbcType=VARCHAR}, #{entity.valueName,jdbcType=VARCHAR},
+                #{entity.valueCode,jdbcType=VARCHAR})
     </insert>
 
 
     <select id="getIndexSeq" resultType="java.lang.Long">
-        select SEQ_ON_INDEX_CODE.nextval num from (select 1 from all_objects where rownum <![CDATA[<=]]> ${nums})
+        select SEQ_ON_INDEX_CODE.nextval num
+        from (select 1 from all_objects where rownum <![CDATA[<=]]> ${nums})
     </select>
 
-
+    <update id="updateIndexInfo">
+        update T_DAMP_DW_INDEX
+        <set>
+            <if test="entity.frameId != null and entity.frameId != '' and ">
+                FRAME_ID = #{entity.frameId,jdbcType=VARCHAR}
+            </if>
+        </set>
+        where INDEX_CODE = #{entity.indexCode,jdbcType=VARCHAR}
+    </update>
 </mapper>
 

+ 60 - 1
qhtx-eta-integrator/qhtx-integrator-infra/src/main/resources/mapper/TDampDwIndexDataDao.xml

@@ -21,6 +21,12 @@
         <result property="preDataDate" column="PRE_DATA_DATE" jdbcType="TIMESTAMP"/>
     </resultMap>
 
+    <resultMap type="com.qhtx.eta.infra.entity.dw.TDampDwIndexDataDate" id="TDampDwIndexDataDateMap">
+        <result property="indexCode" column="INDEX_CODE" jdbcType="VARCHAR"/>
+        <result property="endDate" column="END_DATE" jdbcType="TIMESTAMP"/>
+        <result property="startDate" column="START_DATE" jdbcType="TIMESTAMP"/>
+    </resultMap>
+
 
     <select id="countByIndexCode" resultType="int">
         select count(1)
@@ -81,5 +87,58 @@
                 #{entity.updateUserName,jdbcType=VARCHAR},
                 #{entity.preDataDate,jdbcType=TIMESTAMP})
     </insert>
-</mapper>
 
+    <!--查询指定行数据-->
+    <select id="queryAllByLimit" resultMap="TDampDwIndexDataMap">
+        select *
+        from (select *
+              from (select rownum NO,
+                           ID, INDEX_ID, INDEX_CODE, DATA_DATE, PUBLISH_TIME,
+                           DATA_VALUE, DATA_VALUE_CHAR, REMARK, IS_DELETE,
+                           CREATE_TIME, UPDATE_TIME, CREATE_USER_ID, CREATE_USER_NAME,
+                           UPDATE_USER_ID, UPDATE_USER_NAME, PRE_DATA_DATE
+                    from T_DAMP_DW_INDEX_DATA where INDEX_CODE=#{indexCode}
+                    ORDER BY NO)
+              where NO <![CDATA[>]]> #{offset})
+        where ROWNUM
+         <![CDATA[<=]]> #{limit}
+    </select>
+    <select id="queryLatestDateData" resultMap="TDampDwIndexDataMap">
+
+       SELECT * FROM (select rownum ,
+                           ID, INDEX_ID, INDEX_CODE, DATA_DATE, PUBLISH_TIME,
+                           DATA_VALUE, DATA_VALUE_CHAR, REMARK, IS_DELETE,
+                           CREATE_TIME, UPDATE_TIME, CREATE_USER_ID, CREATE_USER_NAME,
+                           UPDATE_USER_ID, UPDATE_USER_NAME, PRE_DATA_DATE
+                    from T_DAMP_DW_INDEX_DATA where INDEX_CODE=#{indexCode}
+                    ORDER BY DATA_DATE desc)
+        where ROWNUM
+         <![CDATA[<=]]> #{limit}
+    </select>
+
+    <!--查询指定行数据-->
+    <select id="countByIndexCodeWithDate" resultType="int">
+            select count(*) count
+                    from T_DAMP_DW_INDEX_DATA where INDEX_CODE=#{indexCode} and DATA_DATE >= #{begin}
+    </select>
+    <!--查询指定行数据-->
+    <select id="queryByDate" resultMap="TDampDwIndexDataMap">
+        select *
+        from (select *
+              from (select rownum NO,
+                           ID, INDEX_ID, INDEX_CODE, DATA_DATE, PUBLISH_TIME,
+                           DATA_VALUE, DATA_VALUE_CHAR, REMARK, IS_DELETE,
+                           CREATE_TIME, UPDATE_TIME, CREATE_USER_ID, CREATE_USER_NAME,
+                           UPDATE_USER_ID, UPDATE_USER_NAME, PRE_DATA_DATE
+                    from T_DAMP_DW_INDEX_DATA where INDEX_CODE=#{indexCode} and DATA_DATE >= #{begin}
+                    ORDER BY DATA_DATE desc)
+              where NO <![CDATA[>]]> #{offset})
+        where ROWNUM
+         <![CDATA[<=]]> #{limit}
+    </select>
+    <select id="queryBeginEndDate" resultMap="TDampDwIndexDataDateMap">
+        select max(DATA_DATE) as end_date , min(DATA_DATE) as start_date
+        from T_DAMP_DW_INDEX_DATA
+        where INDEX_CODE = #{indexCode}
+    </select>
+</mapper>

+ 5 - 1
qhtx-eta-integrator/qhtx-integrator-infra/src/main/resources/mapper/TDampDwIndexLinkDao.xml

@@ -27,7 +27,11 @@
         select count(1)
         from T_DAMP_DW_INDEX_LINK
     </select>
-
+    <select id="getLinkInfoByCode" resultMap="TDampDwIndexLinkMap">
+        select *
+        from T_DAMP_DW_INDEX_LINK
+        where LINK_CODE = #{linkCode}
+    </select>
     <!--新增所有列-->
     <insert id="insert" keyProperty="" useGeneratedKeys="true">
         insert into T_DAMP_DW_INDEX_LINK(ID, INDEX_ID, INDEX_CODE, LINK_DATA_ID, LINK_CODE, DATE_FROM, DATE_TO,

+ 98 - 0
qhtx-eta-integrator/qhtx-integrator-infra/src/main/resources/mapper/TEtaIndexMappingDao.xml

@@ -0,0 +1,98 @@
+<?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.TEtaIndexMappingDao">
+
+    <resultMap type="com.qhtx.eta.infra.entity.TEtaIndexMapping" id="TEtaIndexMappingMap">
+        <result property="id" column="ID" jdbcType="INTEGER"/>
+        <result property="indexCode" column="INDEX_CODE" jdbcType="VARCHAR"/>
+        <result property="etaEdbCode" column="ETA_EDB_CODE" jdbcType="VARCHAR"/>
+    </resultMap>
+
+    <!--查询单个-->
+    <select id="queryById" resultMap="TEtaIndexMappingMap">
+        select IDINDEX_CODEETA_EDB_CODE
+        from T_ETA_INDEX_MAPPING
+        where ID = #{id}
+    </select>
+
+    <!--查询指定行数据-->
+    <select id="queryAllByLimit" resultMap="TEtaIndexMappingMap">
+        select
+        IDINDEX_CODEETA_EDB_CODE
+        from T_ETA_INDEX_MAPPING
+        <where>
+            <if test="id != null">
+                and ID = #{id}
+            </if>
+            <if test="indexCode != null and indexCode != ''">
+                and INDEX_CODE = #{indexCode}
+            </if>
+            <if test="etaEdbCode != null and etaEdbCode != ''">
+                and ETA_EDB_CODE = #{etaEdbCode}
+            </if>
+        </where>
+        limit #{pageable.offset}, #{pageable.pageSize}
+    </select>
+
+    <!--统计总行数-->
+    <select id="count" resultType="java.lang.Long">
+        select count(1)
+        from T_ETA_INDEX_MAPPING
+        <where>
+            <if test="id != null">
+                and ID = #{id}
+            </if>
+            <if test="indexCode != null and indexCode != ''">
+                and INDEX_CODE = #{indexCode}
+            </if>
+            <if test="etaEdbCode != null and etaEdbCode != ''">
+                and ETA_EDB_CODE = #{etaEdbCode}
+            </if>
+        </where>
+    </select>
+
+    <!--新增所有列-->
+    <insert id="insert" keyProperty="id" useGeneratedKeys="true">
+        insert into T_ETA_INDEX_MAPPING(INDEX_CODEETA_EDB_CODE)
+        values (#{indexCode}#{etaEdbCode})
+    </insert>
+
+    <insert id="insertBatch" keyProperty="id" useGeneratedKeys="true">
+        insert into T_ETA_INDEX_MAPPING(INDEX_CODEETA_EDB_CODE)
+        values
+        <foreach collection="entities" item="entity" separator=",">
+        (#{entity.indexCode}#{entity.etaEdbCode})
+        </foreach>
+    </insert>
+
+    <insert id="insertOrUpdateBatch" keyProperty="id" useGeneratedKeys="true">
+        insert into T_ETA_INDEX_MAPPING(INDEX_CODEETA_EDB_CODE)
+        values
+        <foreach collection="entities" item="entity" separator=",">
+            (#{entity.indexCode}#{entity.etaEdbCode})
+        </foreach>
+        on duplicate key update
+INDEX_CODE = values(INDEX_CODE)ETA_EDB_CODE = values(ETA_EDB_CODE)
+    </insert>
+
+    <!--通过主键修改数据-->
+    <update id="update">
+        update T_ETA_INDEX_MAPPING
+        <set>
+            <if test="indexCode != null and indexCode != ''">
+                INDEX_CODE = #{indexCode},
+            </if>
+            <if test="etaEdbCode != null and etaEdbCode != ''">
+                ETA_EDB_CODE = #{etaEdbCode},
+            </if>
+        </set>
+        where ID = #{id}
+    </update>
+
+    <!--通过主键删除-->
+    <delete id="deleteById">
+        delete from T_ETA_INDEX_MAPPING where ID = #{id}
+    </delete>
+
+</mapper>
+

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

@@ -51,5 +51,12 @@
     <select id="getAllTask" resultMap="TEtaIndexPushTaskMap">
         SELECT * from T_ETA_INDEX_PUSH_TASK
     </select>
+
+    <update id="deleteTask">
+        delete from T_ETA_INDEX_PUSH_TASK where INDEX_CODE in
+        <foreach collection="indexCodes" item="indexCode" open="(" separator="," close=")">
+            #{indexCode}
+        </foreach>
+    </update>
 </mapper>