Browse Source

fix: 配置化大数据平台接口

master_tdsql
hxh 5 months ago
parent
commit
e0e7fc2ac9
  1. 5
      shuili-framework/src/main/java/com/shuili/common/mybaitsplus/BeanToWrapper.java
  2. 11
      shuili-system/src/main/java/com/kms/yg/sk/controller/AttResBaseController.java
  3. 3
      shuili-system/src/main/java/com/kms/yg/sk/domain/AttResBase.java
  4. 34
      shuili-system/src/main/java/com/kms/yxgh/common/enums/DataSyncBasicEnum.java
  5. 12
      shuili-system/src/main/java/com/kms/yxgh/common/enums/RelCacheEnum.java
  6. 15
      shuili-system/src/main/java/com/kms/yxgh/common/job/DataSyncJob.java

5
shuili-framework/src/main/java/com/shuili/common/mybaitsplus/BeanToWrapper.java

@ -59,6 +59,11 @@ public class BeanToWrapper<T extends BaseEntity> {
wrapper.between(CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, tv.getTimeField()), tv.getBeginTime() + " 00:00:00", tv.getEndTime() + " 23:59:59");
}
} else if (name.equals("adcd")) {
String adcd = (String) ReflectUtils.getFieldValue(t, "adcdQx");
if (StringUtils.isNotEmpty(adcd)) {
wrapper.likeRight(name, adcd);
}
} else {
if (Objects.nonNull(fieldValue) && StringUtils.isNotEmpty(fieldValue.toString())) { // 数据有值

11
shuili-system/src/main/java/com/kms/yg/sk/controller/AttResBaseController.java

@ -1,6 +1,7 @@
package com.kms.yg.sk.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.kms.yg.sk.domain.AttResBase;
import com.kms.yg.sk.service.AttResBaseService;
import com.shuili.common.annotation.Log;
@ -32,8 +33,14 @@ public class AttResBaseController extends BaseController {
@PostMapping("/list")
@ApiOperation("水库基础信息列表")
public IPage list(@RequestBody SearchParam<AttResBase> sp) {
return attResBaseService.selectPage(sp);
public AjaxResult list(@RequestBody SearchParam<AttResBase> sp) {
AttResBase body = sp.getData();
if (body == null) {
return AjaxResult.success();
}
body.setPageNum(sp.getPageNum());
body.setPageSize(sp.getPageSize());
return attResBaseService.selectPage(body);
}

3
shuili-system/src/main/java/com/kms/yg/sk/domain/AttResBase.java

@ -2,6 +2,7 @@ package com.kms.yg.sk.domain;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.kms.yxgh.common.dto.IAdcd;
import com.shuili.common.annotation.Excel;
import com.shuili.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
@ -20,7 +21,7 @@ import java.util.Date;
@TableName("att_res_base")
@Data
@ApiModel("水库基础信息")
public class AttResBase extends BaseEntity {
public class AttResBase extends BaseEntity implements IAdcd {
private static final long serialVersionUID = 1L;
/**

34
shuili-system/src/main/java/com/kms/yxgh/common/enums/DataSyncBasicEnum.java

@ -21,28 +21,26 @@ import java.util.function.Function;
@Getter
public enum DataSyncBasicEnum {
ATT_RES_BASE("/ZHSL_ZY/jck/ygtjgx/dws_att_res_base", "水库基础信息", Constants.SK_MAP),
ATT_RES_RSPP("/ZHSL_ZY/jck/ytjgx/dws_att_res_rspp", "水库主要特征", Constants.SK_MAP),
ATT_RES_RWACDR("/ZHSL_ZY/jck/ytjgx/dws_att_res_rwacdr", "水库水位、面积和库容关系表", Constants.SK_MAP),
ATT_DIKE_BASE("/ZHSL_ZY/jck/yggx/dws_att_dike_base", "堤防基础信息", Constants.DF_MAP),
ATT_DIKE_BSFST("/ZHSL_ZY/jck/ytjgx/dws_att_dike_bsfst", "堤防水文特征", Constants.DF_SWTZ_MAP),
ATT_DISC_BASE("/ZHSL_ZY/jck/yggx/dws_att_disc_base", "堤段基本信息", Constants.DF_DISC_MAP),
ATT_WAGA_BASE("/ZHSL_ZY/jck/yggx/dws_att_waga_base", "水闸基础信息", Constants.SZ_MAP),
ATT_RV_BASE("/ZHSL_ZY/jck/yggx/dws_att_rv_base", "河流基础信息", Constants.RV_MAP),
ATT_DPDS_BASE("/ZHSL_ZY/jck/yggx/dws_att_dpds_base", "险工险峻信息", Constants.DPDS_MAP),
ATT_BAS_BASE("/ZHSL_ZY/jck/yggx/dws_att_bas_base", "流域基础信息", Constants.BAS_MAP),
ATT_ST_BASE("/ZHSL_ZY/jck/dws_att_st_base", "水文水工程监测站基础信息", Constants.ST_MAP),
ATT_ST_MP("/ZHSL/jck/dws_att_st_mp", "水工程监测测点信息", Constants.ST_MP_MAP),
ATT_RES_BASE( "水库基础信息", Constants.SK_MAP),
ATT_RES_RSPP( "水库主要特征", Constants.SK_MAP),
ATT_RES_RWACDR( "水库水位、面积和库容关系表", Constants.SK_MAP),
ATT_DIKE_BASE( "堤防基础信息", Constants.DF_MAP),
ATT_DIKE_BSFST("堤防水文特征", Constants.DF_SWTZ_MAP),
ATT_DISC_BASE( "堤段基本信息", Constants.DF_DISC_MAP),
ATT_WAGA_BASE( "水闸基础信息", Constants.SZ_MAP),
ATT_RV_BASE( "河流基础信息", Constants.RV_MAP),
ATT_DPDS_BASE( "险工险峻信息", Constants.DPDS_MAP),
ATT_BAS_BASE( "流域基础信息", Constants.BAS_MAP),
ATT_ST_BASE( "水文水工程监测站基础信息", Constants.ST_MAP),
ATT_ST_MP("水工程监测测点信息", Constants.ST_MP_MAP),
;
private final String url;
private final String tableName;
private final String name;
private final Map<String, Function<JsonObjProxy, Object>> valueHandler;
DataSyncBasicEnum(String url, String tableName, Map<String, Function<JsonObjProxy, Object>> valueHandler) {
this.url = url;
this.tableName = tableName;
DataSyncBasicEnum(String name, Map<String, Function<JsonObjProxy, Object>> valueHandler) {
this.name = name;
this.valueHandler = valueHandler;
}
@ -56,7 +54,7 @@ public enum DataSyncBasicEnum {
@Override
public String toString() {
return "表[" + this.getTableName() + "](" + this.tableName + ")";
return "表[" + this.getName() + "](" + this.name + ")";
}
public static class Constants {

12
shuili-system/src/main/java/com/kms/yxgh/common/enums/RelCacheEnum.java

@ -4,17 +4,15 @@ import lombok.Getter;
@Getter
public enum RelCacheEnum {
DWS_REL_WAGA_AD("/ZHSL_ZY/jck/yggx/dws_rel_waga_ad", "waga_code", "adcd"),
DWS_REL_DIKE_AD("/ZHSL_ZY/jck/yggx/dws_rel_dike_ad", "dike_code", "adcd"),
DWS_REL_RES_DSCDNM("/ZHSL_ZY/dws_rel_res_dscdnm", "res_code", "adcd"),
DWS_REL_ST_RES("/ZHSL_ZY/jck/ytjgx/dws_rel_st_res", "stcd", "res_code"),
DWS_REL_WAGA_AD("waga_code", "adcd"),
DWS_REL_DIKE_AD("dike_code", "adcd"),
DWS_REL_RES_DSCDNM("res_code", "adcd"),
DWS_REL_ST_RES("stcd", "res_code"),
;
private final String url;
private final String key;
private final String value;
RelCacheEnum(String url, String key, String value) {
this.url = url;
RelCacheEnum(String key, String value) {
this.key = key;
this.value = value;
}

15
shuili-system/src/main/java/com/kms/yxgh/common/job/DataSyncJob.java

@ -38,6 +38,8 @@ public class DataSyncJob {
private String dataSyncUrl;
@Value("${dataSync.enabled:false}")
private Boolean dataSyncEnabled;
@Value("${dataSync.paths:}")
private Map<String, String> paths = new HashMap<>();
@Autowired
private DataCenterRestTemplateUtils dataCenterRestTemplateUtils;
@Autowired
@ -82,7 +84,7 @@ public class DataSyncJob {
});
return records.size();
};
doSync(table.name(), table.getUrl(), func);
doSync(table.name(), paths.get(table.name().toLowerCase()), func);
}
private void syncData(DataSyncBasicEnum table) {
@ -93,17 +95,17 @@ public class DataSyncJob {
String updateStr = tableInfo.getFieldList().stream()
.filter(f -> !"id".equalsIgnoreCase(f.getColumn()))
.map(f -> f.getColumn() + "=values(" + f.getColumn() + ")").collect(Collectors.joining(","));
if (!checkTableExist(table.getTableName())) {
if (!checkTableExist(table.getName())) {
log.error("--------数据同步{},表不存在--------", table);
return;
}
doSync(table.getTableName(), table.getUrl(), (records) -> {
doSync(table.getName(), paths.get(table.getTableName()), (records) -> {
//records = JSONArray.parseArray("[{\"resCode\":'123456',\"resName\":'测试',\"startDate\":'2024-02-03 00:00:00',\"watShedArea\":23.232},{\"resCode\":'a123456',\"resName\":'a测试',\"cmun\":'数元科技',\"watShedArea\":211.232}]");
// 解析数据
List<Object[]> dataList = processDataList(records, fieldStr, fieldInfoMap, table);
// 插入数据
insertData(filed, updateStr, dataList, table.getTableName());
insertData(filed, updateStr, dataList, table.getName());
return dataList.size();
});
}
@ -238,11 +240,6 @@ public class DataSyncJob {
}
}
public static void main(String[] args) {
String a = "";
System.out.printf("" + Optional.ofNullable(a).filter(StringUtils::isNotBlank).map(Integer::valueOf).orElse(2));
}
private BigDecimal convertToBigDecimal(JSONObject obj, String fieldName) {
try {
return StringUtils.isNotBlank(obj.getString(fieldName)) ? new BigDecimal(obj.getString(fieldName)) : new BigDecimal(0);

Loading…
Cancel
Save