|
@@ -1,60 +1,101 @@
|
|
package com.szwl.service.impl;
|
|
package com.szwl.service.impl;
|
|
|
|
|
|
import cn.com.crbank.ommo.esclient.EsBaseService;
|
|
import cn.com.crbank.ommo.esclient.EsBaseService;
|
|
-import com.szwl.model.bean.ChartColumn;
|
|
|
|
-import com.szwl.model.dto.TOrderAbroadParam;
|
|
|
|
|
|
+import cn.com.crbank.ommo.exception.MyException;
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
|
+import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
|
+import com.szwl.model.query.TOrderAbroadParam;
|
|
import com.szwl.model.entity.TOrderAbroad;
|
|
import com.szwl.model.entity.TOrderAbroad;
|
|
-import com.szwl.model.query.StatisticsParam;
|
|
|
|
-import com.szwl.service.IEsService;
|
|
|
|
-import com.szwl.service.TOrderAbroadService;
|
|
|
|
|
|
+import com.szwl.service.IEsTOrderAbroadService;
|
|
|
|
+import com.szwl.service.ITOrderAbroadService;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
-import org.elasticsearch.index.query.BoolQueryBuilder;
|
|
|
|
-import org.elasticsearch.search.aggregations.bucket.histogram.DateHistogramInterval;
|
|
|
|
|
|
+import org.elasticsearch.client.RequestOptions;
|
|
|
|
+import org.elasticsearch.client.indices.GetIndexRequest;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
-import java.text.ParseException;
|
|
|
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
|
+import java.util.Date;
|
|
|
|
+import java.util.List;
|
|
|
|
|
|
@Slf4j
|
|
@Slf4j
|
|
@Service
|
|
@Service
|
|
-public class EsTOrderAbroadServiceImpl extends EsBaseService<TOrderAbroad, TOrderAbroadParam> implements IEsService {
|
|
|
|
|
|
+public class EsTOrderAbroadServiceImpl extends EsBaseService<TOrderAbroad, TOrderAbroadParam> implements IEsTOrderAbroadService {
|
|
|
|
|
|
private static boolean InitEsTableStatus = false; // 是否正常完成 es 初始化
|
|
private static boolean InitEsTableStatus = false; // 是否正常完成 es 初始化
|
|
public static final int MAX_ROW = 1000;
|
|
public static final int MAX_ROW = 1000;
|
|
|
|
|
|
- TOrderAbroadService tOrderAbroadService;
|
|
|
|
|
|
+ ITOrderAbroadService tOrderAbroadService;
|
|
|
|
|
|
- public EsTOrderAbroadServiceImpl(TOrderAbroadService tOrderAbroadService) {
|
|
|
|
|
|
+ public EsTOrderAbroadServiceImpl(ITOrderAbroadService tOrderAbroadService) {
|
|
this.tOrderAbroadService = tOrderAbroadService;
|
|
this.tOrderAbroadService = tOrderAbroadService;
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public String getTableName() {
|
|
public String getTableName() {
|
|
- return null;
|
|
|
|
|
|
+ return "es_t_order_abroad";
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public TOrderAbroad getInstanceOfEntity() {
|
|
public TOrderAbroad getInstanceOfEntity() {
|
|
- return null;
|
|
|
|
|
|
+ return new TOrderAbroad();
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public void setInitTableStatus(boolean flag) {
|
|
public void setInitTableStatus(boolean flag) {
|
|
-
|
|
|
|
|
|
+ InitEsTableStatus = flag;
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public boolean getInitTableStatus() {
|
|
public boolean getInitTableStatus() {
|
|
- return false;
|
|
|
|
|
|
+ return InitEsTableStatus;
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public void initTableFun() {
|
|
public void initTableFun() {
|
|
-
|
|
|
|
|
|
+ try {
|
|
|
|
+ String tableName = getTableName();
|
|
|
|
+ GetIndexRequest request = new GetIndexRequest(tableName);
|
|
|
|
+// DeleteIndexRequest deleteIndexRequest = new DeleteIndexRequest(this.getTableName());
|
|
|
|
+// restHighLevelClient.indices().delete(deleteIndexRequest,RequestOptions.DEFAULT);
|
|
|
|
+ boolean isExists = restHighLevelClient.indices().exists(request, RequestOptions.DEFAULT);
|
|
|
|
+ if (!isExists) {
|
|
|
|
+ log.info("es 索引 开始创建" + tableName);
|
|
|
|
+ createTable();
|
|
|
|
+ // 初始化旧流水
|
|
|
|
+ int num = 0;
|
|
|
|
+ while (true) {
|
|
|
|
+ int limit = MAX_ROW;
|
|
|
|
+ int offset = num;
|
|
|
|
+ LambdaQueryWrapper<TOrderAbroad> query = Wrappers.lambdaQuery();
|
|
|
|
+ SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
|
+ String time = "2023-04-01 00:00:00";
|
|
|
|
+ Date date = ft.parse(time);
|
|
|
|
+ query.gt(TOrderAbroad::getCreateDate, date);
|
|
|
|
+// query.eq(TOrder::getStatus,"1");
|
|
|
|
+ Page<TOrderAbroad> page = new Page<>(offset, limit, true);
|
|
|
|
+ IPage<TOrderAbroad> iPage = tOrderAbroadService.page(page, query);
|
|
|
|
+ List<TOrderAbroad> list = iPage.getRecords();
|
|
|
|
+ insertBatch(list);
|
|
|
|
+ num++;
|
|
|
|
+ if (list.size() < MAX_ROW) { // 数据小于 最大值 ,证明后面已无数据,则跳出
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ log.info("es 索引 " + tableName + " 已存在不再创建");
|
|
|
|
+ }
|
|
|
|
+ InitEsTableStatus = true;
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ log.error("ElasticsearchRunner InitEsTOrderAbroadThread 发生错误:{}", e);
|
|
|
|
+ throw new MyException("ElasticsearchRunner InitEsTOrderAbroadThread 发生错误:" + e.getMessage());
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public String getEntityPrimaryKey(TOrderAbroad tOrderAbroad) {
|
|
public String getEntityPrimaryKey(TOrderAbroad tOrderAbroad) {
|
|
- return null;
|
|
|
|
|
|
+ return String.valueOf(tOrderAbroad.getId());
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -63,33 +104,4 @@ public class EsTOrderAbroadServiceImpl extends EsBaseService<TOrderAbroad, TOrde
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
- /**
|
|
|
|
- * 根据时间 重新同步es
|
|
|
|
- * @param
|
|
|
|
- * @return
|
|
|
|
- */
|
|
|
|
- @Override
|
|
|
|
- public void updateEsByDate(String startTime, String endTime) {
|
|
|
|
-
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- @Override
|
|
|
|
- public BoolQueryBuilder getStatisticsParam2QueryBuilder(StatisticsParam param) {
|
|
|
|
- return null;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- @Override
|
|
|
|
- public ChartColumn getStatistics(StatisticsParam param) {
|
|
|
|
- return null;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- @Override
|
|
|
|
- public ChartColumn getStatistics(StatisticsParam param, String format, DateHistogramInterval interval) {
|
|
|
|
- return null;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- @Override
|
|
|
|
- public void tongbuByHour() throws ParseException {
|
|
|
|
-
|
|
|
|
- }
|
|
|
|
}
|
|
}
|