浏览代码

fix es

tags/B.1.2.2.6_20230901_base^2
yk 2 年前
父节点
当前提交
3efac293b7
共有 7 个文件被更改,包括 86 次插入3 次删除
  1. +13
    -0
      xueyi-common/xueyi-common-core/pom.xml
  2. +9
    -1
      xueyi-common/xueyi-common-core/src/main/java/com/xueyi/common/core/utils/DateUtil.java
  3. +13
    -1
      xueyi-common/xueyi-common-core/src/main/java/com/xueyi/common/core/web/entity/base/BaseEntity.java
  4. +2
    -1
      xueyi-common/xueyi-common-core/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
  5. +5
    -0
      xueyi-common/xueyi-common-web/pom.xml
  6. +4
    -0
      xueyi-common/xueyi-common-web/src/main/java/com/xueyi/common/web/entity/service/IBaseService.java
  7. +40
    -0
      xueyi-common/xueyi-common-web/src/main/java/com/xueyi/common/web/entity/service/impl/BaseServiceImpl.java

+ 13
- 0
xueyi-common/xueyi-common-core/pom.xml 查看文件

@@ -77,6 +77,12 @@
<artifactId>jackson-databind</artifactId>
</dependency>

<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-jsr310</artifactId>
<version>2.13.0</version>
</dependency>

<!-- Alibaba Fastjson -->
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
@@ -149,6 +155,13 @@
<artifactId>hutool-crypto</artifactId>
</dependency>

<dependency>
<groupId>co.elastic.clients</groupId>
<artifactId>elasticsearch-java</artifactId>
<version>8.3.3</version>
</dependency>


</dependencies>

</project>

+ 9
- 1
xueyi-common/xueyi-common-core/src/main/java/com/xueyi/common/core/utils/DateUtil.java 查看文件

@@ -5,7 +5,12 @@ import org.apache.commons.lang3.time.DateFormatUtils;
import java.lang.management.ManagementFactory;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.*;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Date;

/**
@@ -25,11 +30,14 @@ public class DateUtil extends org.apache.commons.lang3.time.DateUtils {

public static final String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss";


private static final String[] parsePatterns = {
"yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", "yyyy-MM",
"yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm", "yyyy/MM",
"yyyy.MM.dd", "yyyy.MM.dd HH:mm:ss", "yyyy.MM.dd HH:mm", "yyyy.MM"};

public static final DateTimeFormatter DEFAULT_DATETIME_PATTERN = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");

/**
* 获取当前Date型日期
*


+ 13
- 1
xueyi-common/xueyi-common-core/src/main/java/com/xueyi/common/core/web/entity/base/BaseEntity.java 查看文件

@@ -1,8 +1,16 @@
package com.xueyi.common.core.web.entity.base;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.OrderBy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.xueyi.common.core.utils.time.LocalDateTimeSerializer;
import com.xueyi.common.core.utils.time.LocalDatetimeDeserializer;
import lombok.Data;
import lombok.EqualsAndHashCode;

@@ -46,6 +54,8 @@ public class BaseEntity extends BasisEntity {
@OrderBy(sort = 20)
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@TableField(insertStrategy = FieldStrategy.NEVER, updateStrategy = FieldStrategy.NEVER)
@JsonDeserialize(using = LocalDatetimeDeserializer.class) // 反序列化
@JsonSerialize(using = LocalDateTimeSerializer.class)
protected LocalDateTime createTime;

/** 更新者Id */
@@ -55,6 +65,8 @@ public class BaseEntity extends BasisEntity {
/** 更新时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@TableField(insertStrategy = FieldStrategy.NEVER, updateStrategy = FieldStrategy.NEVER)
@JsonDeserialize(using = LocalDatetimeDeserializer.class) // 反序列化
@JsonSerialize(using = LocalDateTimeSerializer.class)
protected LocalDateTime updateTime;

/** 删除标志 */


+ 2
- 1
xueyi-common/xueyi-common-core/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports 查看文件

@@ -1,2 +1,3 @@
com.xueyi.common.core.utils.core.SpringUtil
com.xueyi.common.core.utils.core.SpringUtils
com.xueyi.common.core.utils.core.SpringUtils
com.xueyi.common.core.utils.sql.EsClient

+ 5
- 0
xueyi-common/xueyi-common-web/pom.xml 查看文件

@@ -40,6 +40,11 @@
<artifactId>xueyi-common-datasource</artifactId>
</dependency>

<dependency>
<groupId>com.xueyi</groupId>
<artifactId>xueyi-common-core</artifactId>
</dependency>

<!-- XueYi Common DataSource -->
<dependency>
<groupId>com.xueyi</groupId>


+ 4
- 0
xueyi-common/xueyi-common-web/src/main/java/com/xueyi/common/web/entity/service/IBaseService.java 查看文件

@@ -123,4 +123,8 @@ public interface IBaseService<Q extends BaseEntity, D extends BaseEntity> {
* 更新缓存数据
*/
void refreshCache();

void createEsIndex(D dto);

void saveToEs(D dto);
}

+ 40
- 0
xueyi-common/xueyi-common-web/src/main/java/com/xueyi/common/web/entity/service/impl/BaseServiceImpl.java 查看文件

@@ -1,5 +1,7 @@
package com.xueyi.common.web.entity.service.impl;

import co.elastic.clients.elasticsearch.ElasticsearchClient;
import co.elastic.clients.elasticsearch.indices.CreateIndexResponse;
import com.baomidou.dynamic.datasource.annotation.DSTransactional;
import com.xueyi.common.core.constant.basic.BaseConstants;
import com.xueyi.common.core.constant.basic.OperateConstants;
@@ -11,7 +13,11 @@ import com.xueyi.common.redis.constant.RedisConstants;
import com.xueyi.common.web.entity.manager.IBaseManager;
import com.xueyi.common.web.entity.service.IBaseService;
import com.xueyi.common.web.entity.service.impl.handle.BaseHandleServiceImpl;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;

import java.io.IOException;
import java.io.Serializable;
import java.util.Collection;
import java.util.List;
@@ -27,6 +33,7 @@ import java.util.stream.Collectors;
*/
public class BaseServiceImpl<Q extends BaseEntity, D extends BaseEntity, IDG extends IBaseManager<Q, D>> extends BaseHandleServiceImpl<Q, D, IDG> implements IBaseService<Q, D> {

private Logger log = LoggerFactory.getLogger(BaseServiceImpl.class);
/**
* 查询数据对象列表
*
@@ -214,4 +221,37 @@ public class BaseServiceImpl<Q extends BaseEntity, D extends BaseEntity, IDG ext
throw new UtilException("未正常配置缓存,无法使用!");
refreshCache(null, RedisConstants.OperateType.REFRESH_ALL, null, null);
}

@Autowired
private ElasticsearchClient client;
@Override
public void createEsIndex(D dto) {
boolean exists = false;
try {
exists = client.indices().exists(query -> query.index(dto.getClass().getSimpleName())).value();
System.out.println(exists);
if (exists) {
log.info("索引已存在");
} else {
final CreateIndexResponse products = client.indices().create(builder -> builder.index(dto.getClass().getSimpleName()));
log.info(products.acknowledged()?"索引创建成功" : "索引创建失败");
}
} catch (IOException e) {
throw new RuntimeException(e);
}
}


@Override
public void saveToEs(BaseEntity dto) {
try {
createEsIndex((D)dto);
client.index(i -> i
.index(dto.getClass().getSimpleName())
.id(dto.getId().toString())
.document(dto));
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}

正在加载...
取消
保存