diff --git a/pom.xml b/pom.xml
index dff1967f..09f6b599 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,6 +1,6 @@
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
com.sqx
duanju
@@ -23,7 +23,7 @@
4.0
11.2.0.3
1.1.13
-
+
2.6
1.2.2
2.5
@@ -35,7 +35,7 @@
7.2.23
3.4.0
4.4
-
+
2.9.2
2.9.9
2.8.5
@@ -90,17 +90,17 @@
guava
19.0
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
cn.afterturn
easypoi-spring-boot-starter
@@ -155,11 +155,11 @@
5.5.0
-
-
-
-
-
+
+
+
+
+
com.auth0
@@ -245,6 +245,16 @@
org.springframework.boot
spring-boot-starter-web
+
+
+ org.elasticsearch.client
+ elasticsearch-rest-high-level-client
+
+
+ org.elasticsearch
+ elasticsearch
+
+
org.springframework.boot
@@ -264,9 +274,9 @@
true
-
-
-
+
+
+
com.baomidou
@@ -280,23 +290,23 @@
-
-
-
-
-
+
+
+
+
+
mysql
mysql-connector-java
${mysql.version}
-
-
-
-
-
-
+
+
+
+
+
+
org.apache.shardingsphere
@@ -314,33 +324,33 @@
org.springframework.boot
spring-boot-starter-actuator
-
+
com.microsoft.sqlserver
sqljdbc4
${mssql.version}
-
-
-
-
-
+
+
+
+
+
com.alibaba
druid-spring-boot-starter
${druid.version}
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
commons-lang
commons-lang
@@ -462,11 +472,11 @@
xstream
1.4.18
-
- com.github.binarywang
- weixin-java-pay
- 3.6.0
-
+
+ com.github.binarywang
+ weixin-java-pay
+ 3.6.0
+
com.github.pagehelper
pagehelper-spring-boot-starter
@@ -492,16 +502,26 @@
restful-sdk
1.0.0.1
-
- junit
- junit
- test
-
-
-
-
-
-
+
+ junit
+ junit
+ test
+
+
+ org.elasticsearch.client
+ elasticsearch-rest-high-level-client
+ 7.14.0
+
+
+ org.elasticsearch
+ elasticsearch
+ 7.14.0
+
+
+ org.dromara.easy-es
+ easy-es-boot-starter
+ 2.0.0
+
@@ -553,12 +573,12 @@
docker-maven-plugin
0.4.14
-
-
-
-
-
-
+
+
+
+
+
+
sqx/fast
@@ -606,4 +626,4 @@
-
+
\ No newline at end of file
diff --git a/src/main/java/com/sqx/config/ShiroConfig.java b/src/main/java/com/sqx/config/ShiroConfig.java
index 74a17164..dbf1e3da 100644
--- a/src/main/java/com/sqx/config/ShiroConfig.java
+++ b/src/main/java/com/sqx/config/ShiroConfig.java
@@ -41,6 +41,7 @@ public class ShiroConfig {
shiroFilter.setFilters(filters);
Map filterMap = new LinkedHashMap<>();
+ filterMap.put("/es/**", "anon");
filterMap.put("/uniCallBack/**", "anon");
filterMap.put("/course/synCourse", "anon");
filterMap.put("/app/**", "anon");
diff --git a/src/main/java/com/sqx/modules/app/entity/UserMoneyDetails.java b/src/main/java/com/sqx/modules/app/entity/UserMoneyDetails.java
index 354fbf59..fe341c68 100644
--- a/src/main/java/com/sqx/modules/app/entity/UserMoneyDetails.java
+++ b/src/main/java/com/sqx/modules/app/entity/UserMoneyDetails.java
@@ -11,6 +11,8 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
+import org.dromara.easyes.annotation.IndexId;
+import org.dromara.easyes.annotation.IndexName;
import java.io.Serializable;
import java.math.BigDecimal;
@@ -18,6 +20,7 @@ import java.math.BigDecimal;
@Data
@AllArgsConstructor
@TableName("user_money_details")
+@IndexName(value = "user_money_details", keepGlobalPrefix = true)
@ApiModel("钱包详情")
public class UserMoneyDetails implements Serializable {
/**
@@ -26,6 +29,7 @@ public class UserMoneyDetails implements Serializable {
@ApiModelProperty("钱包详情id")
@TableId(type = IdType.ID_WORKER)
@JsonSerialize(using = ToStringSerializer.class)
+ @IndexId(type = org.dromara.easyes.annotation.rely.IdType.CUSTOMIZE)
private Long id;
/**
* 用户id
diff --git a/src/main/java/com/sqx/modules/course/entity/CourseCollect.java b/src/main/java/com/sqx/modules/course/entity/CourseCollect.java
index 81de92f4..59748711 100644
--- a/src/main/java/com/sqx/modules/course/entity/CourseCollect.java
+++ b/src/main/java/com/sqx/modules/course/entity/CourseCollect.java
@@ -5,6 +5,8 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import lombok.experimental.Accessors;
+import org.dromara.easyes.annotation.IndexId;
+import org.dromara.easyes.annotation.IndexName;
import java.io.Serializable;
@@ -16,6 +18,7 @@ import java.io.Serializable;
@Data
@Accessors(chain = true)
@TableName("course_collect")
+@IndexName(value = "course_collect", keepGlobalPrefix = true)
public class CourseCollect implements Serializable {
private static final long serialVersionUID = 1L;
@@ -25,6 +28,7 @@ public class CourseCollect implements Serializable {
* 收藏id
*/
@TableId(type = IdType.ID_WORKER)
+ @IndexId(type= org.dromara.easyes.annotation.rely.IdType.CUSTOMIZE)
@JsonSerialize(using = ToStringSerializer.class)
private Long courseCollectId;
diff --git a/src/main/java/com/sqx/modules/course/entity/CourseUser.java b/src/main/java/com/sqx/modules/course/entity/CourseUser.java
index 8572a5fb..48cd15e2 100644
--- a/src/main/java/com/sqx/modules/course/entity/CourseUser.java
+++ b/src/main/java/com/sqx/modules/course/entity/CourseUser.java
@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
+import org.dromara.easyes.annotation.IndexId;
+import org.dromara.easyes.annotation.IndexName;
import java.io.Serializable;
@@ -14,6 +16,7 @@ import java.io.Serializable;
*/
@Data
@TableName("course_user")
+@IndexName(value = "course_user", keepGlobalPrefix = true)
public class CourseUser implements Serializable {
private static final long serialVersionUID = 1L;
@@ -23,6 +26,7 @@ public class CourseUser implements Serializable {
* 我的短剧id
*/
@TableId(type = IdType.ID_WORKER)
+ @IndexId(type= org.dromara.easyes.annotation.rely.IdType.CUSTOMIZE)
@JsonSerialize(using = ToStringSerializer.class)
private Long courseUserId;
diff --git a/src/main/java/com/sqx/modules/discSpinning/entity/DiscSpinningRecord.java b/src/main/java/com/sqx/modules/discSpinning/entity/DiscSpinningRecord.java
index 44e33539..e534a7ce 100644
--- a/src/main/java/com/sqx/modules/discSpinning/entity/DiscSpinningRecord.java
+++ b/src/main/java/com/sqx/modules/discSpinning/entity/DiscSpinningRecord.java
@@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
+import org.dromara.easyes.annotation.IndexId;
+import org.dromara.easyes.annotation.IndexName;
import java.math.BigDecimal;
@@ -16,9 +18,11 @@ import java.math.BigDecimal;
*/
@Data
@TableName("disc_spinning_record")
+@IndexName(value = "disc_spinning_record", keepGlobalPrefix = true)
public class DiscSpinningRecord extends Model {
//主键
@TableId(type = IdType.ID_WORKER)
+ @IndexId(type= org.dromara.easyes.annotation.rely.IdType.CUSTOMIZE)
@JsonSerialize(using = ToStringSerializer.class)
private Long id;
@JsonSerialize(using = ToStringSerializer.class)
diff --git a/src/main/java/com/sqx/modules/es/controller/EsCoreController.java b/src/main/java/com/sqx/modules/es/controller/EsCoreController.java
new file mode 100644
index 00000000..06a5980f
--- /dev/null
+++ b/src/main/java/com/sqx/modules/es/controller/EsCoreController.java
@@ -0,0 +1,48 @@
+package com.sqx.modules.es.controller;
+
+import cn.hutool.json.JSONUtil;
+import com.sqx.common.utils.Result;
+import com.sqx.modules.es.dao.EsPayDetailDao;
+import com.sqx.modules.es.service.EsCoreService;
+import com.sqx.modules.pay.entity.PayDetails;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+import springfox.documentation.annotations.ApiIgnore;
+
+import javax.annotation.Resource;
+import java.util.Map;
+
+/**
+ * 全量同步相关表数据到es
+ *
+ * @author tankaikai
+ * @since 2025-01-02 20:33
+ */
+@Slf4j
+@RestController
+@RequestMapping(value = "/es/core")
+public class EsCoreController {
+ @Autowired
+ private EsCoreService esCoreService;
+
+ @Resource
+ private EsPayDetailDao esPayDetailsDao;
+
+ @ApiOperation("同步")
+ @PostMapping("/sync")
+ public Result sync(@ApiIgnore @RequestParam Map params) {
+ PayDetails payDetails = esPayDetailsDao.selectByOrderId("1000001851456083");
+ System.out.println(JSONUtil.toJsonPrettyStr(payDetails));
+ PayDetails payDetails1 = esPayDetailsDao.getBaseEsMapper().selectById(3306L);
+ System.out.println(JSONUtil.toJsonPrettyStr(payDetails1));
+ PayDetails payDetails2 = esPayDetailsDao.getOriginalDao().selectById(3306L);
+ System.out.println(JSONUtil.toJsonPrettyStr(payDetails2));
+ //esCoreService.sync();
+ return Result.success();
+ }
+}
diff --git a/src/main/java/com/sqx/modules/es/dao/EsPayDetailDao.java b/src/main/java/com/sqx/modules/es/dao/EsPayDetailDao.java
new file mode 100644
index 00000000..f1635c8b
--- /dev/null
+++ b/src/main/java/com/sqx/modules/es/dao/EsPayDetailDao.java
@@ -0,0 +1,56 @@
+package com.sqx.modules.es.dao;
+
+import com.sqx.modules.es.mapper.EsPayDetailsMapper;
+import com.sqx.modules.pay.dao.PayDetailsDao;
+import com.sqx.modules.pay.entity.PayDetails;
+import org.dromara.easyes.core.conditions.select.LambdaEsQueryWrapper;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+
+/**
+ * @author tankaikai
+ * @since 2025-01-15 18:29
+ */
+@Component
+public class EsPayDetailDao {
+
+ @Resource
+ private EsPayDetailsMapper baseEsMapper;
+
+ @Resource
+ private PayDetailsDao originalDao;
+
+ public EsPayDetailsMapper getBaseEsMapper() {
+ return this.baseEsMapper;
+ }
+
+ public PayDetailsDao getOriginalDao() {
+ return this.originalDao;
+ }
+
+ public PayDetails selectByRemark(String remark) {
+ return baseEsMapper.selectOne(new LambdaEsQueryWrapper().eq(PayDetails::getRemark, remark));
+ }
+
+
+ public PayDetails selectByOrderId(String orderId) {
+ return baseEsMapper.selectOne(new LambdaEsQueryWrapper().eq(PayDetails::getOrderId, orderId));
+ }
+
+
+ public PayDetails selectOneByLimit(String orderId) {
+ return baseEsMapper.selectOne(new LambdaEsQueryWrapper().eq(PayDetails::getOrderId, orderId).orderByDesc(PayDetails::getId).limit(1));
+ }
+
+
+ public PayDetails selectByTradeNo(String tradeNo) {
+ return baseEsMapper.selectOne(new LambdaEsQueryWrapper().eq(PayDetails::getTradeNo, tradeNo));
+ }
+
+
+ public int selectPayCount(Long userId) {
+ Long count = baseEsMapper.selectCount(new LambdaEsQueryWrapper().eq(PayDetails::getState, 1).eq(PayDetails::getUserId, userId));
+ return count == null ? 0 : count.intValue();
+ }
+}
diff --git a/src/main/java/com/sqx/modules/es/dao/readme.txt b/src/main/java/com/sqx/modules/es/dao/readme.txt
new file mode 100644
index 00000000..962cbd9a
--- /dev/null
+++ b/src/main/java/com/sqx/modules/es/dao/readme.txt
@@ -0,0 +1 @@
+** Dao层实现MyBatis中ES可以实现的查询方法
\ No newline at end of file
diff --git a/src/main/java/com/sqx/modules/es/mapper/EsCashOutMapper.java b/src/main/java/com/sqx/modules/es/mapper/EsCashOutMapper.java
new file mode 100644
index 00000000..b965a2be
--- /dev/null
+++ b/src/main/java/com/sqx/modules/es/mapper/EsCashOutMapper.java
@@ -0,0 +1,11 @@
+package com.sqx.modules.es.mapper;
+
+import com.sqx.modules.pay.entity.CashOut;
+import org.dromara.easyes.core.kernel.BaseEsMapper;
+
+/**
+ * @author tankaikai
+ * @since 2025-01-06 9:40
+ */
+public interface EsCashOutMapper extends BaseEsMapper {
+}
diff --git a/src/main/java/com/sqx/modules/es/mapper/EsCourseCollectMapper.java b/src/main/java/com/sqx/modules/es/mapper/EsCourseCollectMapper.java
new file mode 100644
index 00000000..cb24b575
--- /dev/null
+++ b/src/main/java/com/sqx/modules/es/mapper/EsCourseCollectMapper.java
@@ -0,0 +1,11 @@
+package com.sqx.modules.es.mapper;
+
+import com.sqx.modules.course.entity.CourseCollect;
+import org.dromara.easyes.core.kernel.BaseEsMapper;
+
+/**
+ * @author tankaikai
+ * @since 2025-01-06 9:40
+ */
+public interface EsCourseCollectMapper extends BaseEsMapper {
+}
diff --git a/src/main/java/com/sqx/modules/es/mapper/EsCourseUserMapper.java b/src/main/java/com/sqx/modules/es/mapper/EsCourseUserMapper.java
new file mode 100644
index 00000000..19576b56
--- /dev/null
+++ b/src/main/java/com/sqx/modules/es/mapper/EsCourseUserMapper.java
@@ -0,0 +1,11 @@
+package com.sqx.modules.es.mapper;
+
+import com.sqx.modules.course.entity.CourseUser;
+import org.dromara.easyes.core.kernel.BaseEsMapper;
+
+/**
+ * @author tankaikai
+ * @since 2025-01-06 9:40
+ */
+public interface EsCourseUserMapper extends BaseEsMapper {
+}
diff --git a/src/main/java/com/sqx/modules/es/mapper/EsDiscSpinningRecordMapper.java b/src/main/java/com/sqx/modules/es/mapper/EsDiscSpinningRecordMapper.java
new file mode 100644
index 00000000..ca44b09c
--- /dev/null
+++ b/src/main/java/com/sqx/modules/es/mapper/EsDiscSpinningRecordMapper.java
@@ -0,0 +1,11 @@
+package com.sqx.modules.es.mapper;
+
+import com.sqx.modules.discSpinning.entity.DiscSpinningRecord;
+import org.dromara.easyes.core.kernel.BaseEsMapper;
+
+/**
+ * @author tankaikai
+ * @since 2025-01-06 9:40
+ */
+public interface EsDiscSpinningRecordMapper extends BaseEsMapper {
+}
diff --git a/src/main/java/com/sqx/modules/es/mapper/EsOrdersMapper.java b/src/main/java/com/sqx/modules/es/mapper/EsOrdersMapper.java
new file mode 100644
index 00000000..88845b19
--- /dev/null
+++ b/src/main/java/com/sqx/modules/es/mapper/EsOrdersMapper.java
@@ -0,0 +1,11 @@
+package com.sqx.modules.es.mapper;
+
+import com.sqx.modules.orders.entity.Orders;
+import org.dromara.easyes.core.kernel.BaseEsMapper;
+
+/**
+ * @author tankaikai
+ * @since 2025-01-02 20:24
+ */
+public interface EsOrdersMapper extends BaseEsMapper {
+}
diff --git a/src/main/java/com/sqx/modules/es/mapper/EsPayDetailsMapper.java b/src/main/java/com/sqx/modules/es/mapper/EsPayDetailsMapper.java
new file mode 100644
index 00000000..d9b5b9ba
--- /dev/null
+++ b/src/main/java/com/sqx/modules/es/mapper/EsPayDetailsMapper.java
@@ -0,0 +1,11 @@
+package com.sqx.modules.es.mapper;
+
+import com.sqx.modules.pay.entity.PayDetails;
+import org.dromara.easyes.core.kernel.BaseEsMapper;
+
+/**
+ * @author tankaikai
+ * @since 2025-01-06 9:40
+ */
+public interface EsPayDetailsMapper extends BaseEsMapper {
+}
diff --git a/src/main/java/com/sqx/modules/es/mapper/EsTaskCenterRecordMapper.java b/src/main/java/com/sqx/modules/es/mapper/EsTaskCenterRecordMapper.java
new file mode 100644
index 00000000..115cd22e
--- /dev/null
+++ b/src/main/java/com/sqx/modules/es/mapper/EsTaskCenterRecordMapper.java
@@ -0,0 +1,11 @@
+package com.sqx.modules.es.mapper;
+
+import com.sqx.modules.taskCenter.entity.TaskCenterRecord;
+import org.dromara.easyes.core.kernel.BaseEsMapper;
+
+/**
+ * @author tankaikai
+ * @since 2025-01-08 16:31
+ */
+public interface EsTaskCenterRecordMapper extends BaseEsMapper {
+}
diff --git a/src/main/java/com/sqx/modules/es/mapper/EsUserMoneyDetailsMapper.java b/src/main/java/com/sqx/modules/es/mapper/EsUserMoneyDetailsMapper.java
new file mode 100644
index 00000000..cc594f53
--- /dev/null
+++ b/src/main/java/com/sqx/modules/es/mapper/EsUserMoneyDetailsMapper.java
@@ -0,0 +1,11 @@
+package com.sqx.modules.es.mapper;
+
+import com.sqx.modules.app.entity.UserMoneyDetails;
+import org.dromara.easyes.core.kernel.BaseEsMapper;
+
+/**
+ * @author tankaikai
+ * @since 2025-01-02 20:24
+ */
+public interface EsUserMoneyDetailsMapper extends BaseEsMapper {
+}
diff --git a/src/main/java/com/sqx/modules/es/readme.txt b/src/main/java/com/sqx/modules/es/readme.txt
new file mode 100644
index 00000000..0d8a4804
--- /dev/null
+++ b/src/main/java/com/sqx/modules/es/readme.txt
@@ -0,0 +1,11 @@
+ES包下分层解释
+** Mapper层:Easy-ES对ElasticSearch的底层实现,类似与MyBatisPlus对Mapper的加持,使其拥有更方便快捷的增删改查实现
+** Dao层:实现MyBatisPlus中自行扩展的查询方法,改用ES库查询,方便替换原始的Dao层方便;
+ - 如:"Private OrdersDao ordersDao;"替换为"Private EsOrdersDao esOrdersDao;"
+ - 可通过esOrdersDao.getBaseEsMapper()拥有es mapper层的能力
+ - 可通过esOrdersDao.getOriginalDao()拥有原始Dao层(MybatisPlus Mapper/Dao)的能力
+** Service层:实现MyBatisPlus中简单、稍复杂的查询统计逻辑,改用ES库查询,方便替换原始的Service层;
+ 如:"Private OrdersService ordersService;";替换为"Private EsOrdersService esOrdersService;";
+ - 可通过esOrdersService.getBaseEsMapper()拥有es mapper层的能力
+ - 可通过esOrdersDao.getOriginalService()拥有原始Service层(MybatisPlus Service)的能力
+** Controller层:目前主要实现的数据初始化同步功能,后期如果有其他ES相关的接口,可以写到这里面;
diff --git a/src/main/java/com/sqx/modules/es/service/EsCoreService.java b/src/main/java/com/sqx/modules/es/service/EsCoreService.java
new file mode 100644
index 00000000..1610899f
--- /dev/null
+++ b/src/main/java/com/sqx/modules/es/service/EsCoreService.java
@@ -0,0 +1,10 @@
+package com.sqx.modules.es.service;
+
+/**
+ * @author tankaikai
+ * @since 2025-01-02 20:27
+ */
+public interface EsCoreService {
+
+ void sync();
+}
diff --git a/src/main/java/com/sqx/modules/es/service/EsOrdersService.java b/src/main/java/com/sqx/modules/es/service/EsOrdersService.java
new file mode 100644
index 00000000..5bedb692
--- /dev/null
+++ b/src/main/java/com/sqx/modules/es/service/EsOrdersService.java
@@ -0,0 +1,10 @@
+package com.sqx.modules.es.service;
+
+import com.sqx.modules.orders.entity.Orders;
+
+/**
+ * @author tankaikai
+ * @since 2025-01-16 9:50
+ */
+public interface EsOrdersService extends IEsService {
+}
diff --git a/src/main/java/com/sqx/modules/es/service/IEsService.java b/src/main/java/com/sqx/modules/es/service/IEsService.java
new file mode 100644
index 00000000..054bfd38
--- /dev/null
+++ b/src/main/java/com/sqx/modules/es/service/IEsService.java
@@ -0,0 +1,8 @@
+package com.sqx.modules.es.service;
+
+/**
+ * @author tankaikai
+ * @since 2025-01-16 9:45
+ */
+public interface IEsService {
+}
diff --git a/src/main/java/com/sqx/modules/es/service/impl/EsCoreServiceImpl.java b/src/main/java/com/sqx/modules/es/service/impl/EsCoreServiceImpl.java
new file mode 100644
index 00000000..d005e0ce
--- /dev/null
+++ b/src/main/java/com/sqx/modules/es/service/impl/EsCoreServiceImpl.java
@@ -0,0 +1,207 @@
+package com.sqx.modules.es.service.impl;
+
+import cn.hutool.core.collection.CollUtil;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.sqx.modules.app.dao.UserMoneyDetailsDao;
+import com.sqx.modules.app.entity.UserMoneyDetails;
+import com.sqx.modules.course.dao.CourseCollectDao;
+import com.sqx.modules.course.dao.CourseUserDao;
+import com.sqx.modules.course.entity.CourseCollect;
+import com.sqx.modules.course.entity.CourseUser;
+import com.sqx.modules.discSpinning.dao.DiscSpinningRecordDao;
+import com.sqx.modules.discSpinning.entity.DiscSpinningRecord;
+import com.sqx.modules.es.mapper.*;
+import com.sqx.modules.es.service.EsCoreService;
+import com.sqx.modules.orders.dao.OrdersDao;
+import com.sqx.modules.orders.entity.Orders;
+import com.sqx.modules.pay.dao.CashOutDao;
+import com.sqx.modules.pay.dao.PayDetailsDao;
+import com.sqx.modules.pay.entity.CashOut;
+import com.sqx.modules.pay.entity.PayDetails;
+import com.sqx.modules.taskCenter.dao.TaskCenterRecordDao;
+import com.sqx.modules.taskCenter.entity.TaskCenterRecord;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.concurrent.CompletableFuture;
+
+/**
+ * @author tankaikai
+ * @since 2025-01-02 20:27
+ */
+@Service
+@Slf4j
+public class EsCoreServiceImpl implements EsCoreService {
+
+ @Resource
+ private OrdersDao ordersDao;
+ @Resource
+ private CashOutDao cashOutDao;
+ @Resource
+ private CourseCollectDao courseCollectDao;
+ @Resource
+ private CourseUserDao courseUserDao;
+ @Resource
+ private DiscSpinningRecordDao discSpinningRecordDao;
+ @Resource
+ private PayDetailsDao payDetailsDao;
+ @Resource
+ private UserMoneyDetailsDao userMoneyDetailsDao;
+ @Resource
+ private TaskCenterRecordDao taskCenterRecordDao;
+
+ @Resource
+ private EsOrdersMapper esOrdersMapper;
+
+ @Resource
+ private EsCashOutMapper esCashOutMapper;
+
+ @Resource
+ private EsCourseCollectMapper esCourseCollectMapper;
+
+ @Resource
+ private EsCourseUserMapper esCourseUserMapper;
+ @Resource
+ private EsDiscSpinningRecordMapper esDiscSpinningRecordMapper;
+ @Resource
+ private EsPayDetailsMapper esPayDetailsMapper;
+
+ @Resource
+ private EsUserMoneyDetailsMapper esUserMoneyDetailsMapper;
+ @Resource
+ private EsTaskCenterRecordMapper esTaskCenterRecordMapper;
+
+ @Override
+ public void sync() {
+ List list = new ArrayList<>();
+ for (int i = 0; i < 10; i++) {
+ list.add(i + "");
+ }
+ CompletableFuture future1 = CompletableFuture.runAsync(() -> {
+ // 执行方法1的代码
+ System.out.println("方法1正在执行...");
+ syncUserMoneyDetails(list);
+ });
+ CompletableFuture future2 = CompletableFuture.runAsync(() -> {
+ // 执行方法2的代码
+ System.out.println("方法2正在执行...");
+ syncOrders(list);
+ });
+ CompletableFuture future3 = CompletableFuture.runAsync(() -> {
+ // 执行方法3的代码
+ System.out.println("方法3正在执行...");
+ syncPayDetails(list);
+ });
+ CompletableFuture future4 = CompletableFuture.runAsync(() -> {
+ // 执行方法4的代码
+ System.out.println("方法4正在执行...");
+ syncDiscSpinningRecord(list);
+ });
+ CompletableFuture future5 = CompletableFuture.runAsync(() -> {
+ // 执行方法6的代码
+ System.out.println("方法5正在执行...");
+ syncCashOut(list);
+ });
+ CompletableFuture future6 = CompletableFuture.runAsync(() -> {
+ // 执行方法6的代码
+ System.out.println("方法6正在执行...");
+ syncCourseCollect(list);
+ });
+ CompletableFuture future7 = CompletableFuture.runAsync(() -> {
+ // 执行方法7的代码
+ System.out.println("方法7正在执行...");
+ syncCourseUser(list);
+ });
+ CompletableFuture future8 = CompletableFuture.runAsync(() -> {
+ // 执行方法8的代码
+ System.out.println("方法8正在执行...");
+ syncTaskCenterRecord(list);
+ });
+ // 等待多个任务完成
+ CompletableFuture.allOf(future1, future2, future3, future4, future5, future6, future7, future8).join();
+ System.out.println("所有方法已并行执行完毕。");
+ /*
+ syncUserMoneyDetails(list);
+ syncOrders(list);
+ syncCourseCollect(list);
+ syncPayDetails(list);
+ syncDiscSpinningRecord(list);
+ syncCashOut(list);
+ syncCourseUser(list);
+ syncTaskCenterRecord(list);
+
+ System.out.println("所有方法已并行执行完毕。");
+ */
+ }
+
+ private void syncOrders(List list) {
+ list.parallelStream().forEach(i -> {
+ System.out.println("同步订单数据:" + i);
+ List batchList = ordersDao.selectList(Wrappers.lambdaQuery().likeLeft(Orders::getOrdersId, i));
+ esOrdersMapper.insertBatch(batchList);
+ });
+ }
+
+ private void syncCashOut(List list) {
+ list.parallelStream().forEach(i -> {
+ System.out.println("同步提现数据:" + i);
+ List batchList = cashOutDao.selectList(Wrappers.lambdaQuery().likeLeft(CashOut::getId, i));
+ if (CollUtil.isNotEmpty(batchList)) {
+ esCashOutMapper.insertBatch(batchList);
+ }
+ });
+ }
+
+
+ private void syncCourseCollect(List list) {
+ list.parallelStream().forEach(i -> {
+ System.out.println("同步短剧收藏数据:" + i);
+ List batchList = courseCollectDao.selectList(Wrappers.lambdaQuery().likeLeft(CourseCollect::getCourseCollectId, i));
+ esCourseCollectMapper.insertBatch(batchList);
+ });
+ }
+
+ private void syncCourseUser(List list) {
+ list.parallelStream().forEach(i -> {
+ System.out.println("同步短剧用户数据:" + i);
+ List batchList = courseUserDao.selectList(Wrappers.lambdaQuery().likeLeft(CourseUser::getCourseUserId, i));
+ esCourseUserMapper.insertBatch(batchList);
+ });
+ }
+
+ private void syncTaskCenterRecord(List list) {
+ list.parallelStream().forEach(i -> {
+ System.out.println("同步任务中心数据:" + i);
+ List batchList = taskCenterRecordDao.selectList(Wrappers.lambdaQuery().likeLeft(TaskCenterRecord::getId, i));
+ esTaskCenterRecordMapper.insertBatch(batchList);
+ });
+ }
+
+ private void syncDiscSpinningRecord(List list) {
+ list.parallelStream().forEach(i -> {
+ System.out.println("同步抽奖记录数据:" + i);
+ List batchList = discSpinningRecordDao.selectList(Wrappers.lambdaQuery().likeLeft(DiscSpinningRecord::getId, i));
+ esDiscSpinningRecordMapper.insertBatch(batchList);
+ });
+ }
+
+ private void syncPayDetails(List list) {
+ list.parallelStream().forEach(i -> {
+ System.out.println("同步支付详情数据:" + i);
+ List batchList = payDetailsDao.selectList(Wrappers.lambdaQuery().likeLeft(PayDetails::getId, i));
+ esPayDetailsMapper.insertBatch(batchList);
+ });
+ }
+
+ private void syncUserMoneyDetails(List list) {
+ list.parallelStream().forEach(i -> {
+ System.out.println("同步用户资金明细数据:" + i);
+ List batchList = userMoneyDetailsDao.selectList(Wrappers.lambdaQuery().likeLeft(UserMoneyDetails::getId, i));
+ esUserMoneyDetailsMapper.insertBatch(batchList);
+ });
+ }
+
+}
diff --git a/src/main/java/com/sqx/modules/es/service/impl/EsOrdersServiceImpl.java b/src/main/java/com/sqx/modules/es/service/impl/EsOrdersServiceImpl.java
new file mode 100644
index 00000000..345d03fc
--- /dev/null
+++ b/src/main/java/com/sqx/modules/es/service/impl/EsOrdersServiceImpl.java
@@ -0,0 +1,23 @@
+package com.sqx.modules.es.service.impl;
+
+import com.sqx.modules.es.mapper.EsOrdersMapper;
+import com.sqx.modules.es.service.EsOrdersService;
+import com.sqx.modules.orders.entity.Orders;
+import com.sqx.modules.orders.service.OrdersService;
+
+import javax.annotation.Resource;
+
+/**
+ * @author tankaikai
+ * @since 2025-01-16 9:51
+ */
+public class EsOrdersServiceImpl extends EsServiceImpl implements EsOrdersService {
+
+ @Resource
+ private OrdersService ordersService;
+
+ public OrdersService getOriginalService() {
+ return ordersService;
+ }
+
+}
diff --git a/src/main/java/com/sqx/modules/es/service/impl/EsServiceImpl.java b/src/main/java/com/sqx/modules/es/service/impl/EsServiceImpl.java
new file mode 100644
index 00000000..63d07fd2
--- /dev/null
+++ b/src/main/java/com/sqx/modules/es/service/impl/EsServiceImpl.java
@@ -0,0 +1,26 @@
+package com.sqx.modules.es.service.impl;
+
+import com.sqx.modules.es.service.IEsService;
+import org.apache.ibatis.logging.Log;
+import org.apache.ibatis.logging.LogFactory;
+import org.dromara.easyes.core.kernel.BaseEsMapper;
+
+import javax.annotation.Resource;
+
+/**
+ * @author tankaikai
+ * @since 2025-01-16 9:45
+ */
+public class EsServiceImpl, T> implements IEsService {
+ protected Log log = LogFactory.getLog(this.getClass());
+ @Resource
+ protected M baseEsMapper;
+
+ public EsServiceImpl() {
+ }
+
+ public M getBaseEsMapper() {
+ return this.baseEsMapper;
+ }
+
+}
\ No newline at end of file
diff --git a/src/main/java/com/sqx/modules/orders/entity/Orders.java b/src/main/java/com/sqx/modules/orders/entity/Orders.java
index 5405caa0..6056e7ce 100644
--- a/src/main/java/com/sqx/modules/orders/entity/Orders.java
+++ b/src/main/java/com/sqx/modules/orders/entity/Orders.java
@@ -5,6 +5,8 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.sqx.modules.course.entity.Course;
import lombok.Data;
+import org.dromara.easyes.annotation.IndexId;
+import org.dromara.easyes.annotation.IndexName;
import java.io.Serializable;
import java.math.BigDecimal;
@@ -16,6 +18,7 @@ import java.math.BigDecimal;
*/
@Data
@TableName("orders")
+@IndexName(value = "orders",keepGlobalPrefix = true)
public class Orders implements Serializable {
private static final long serialVersionUID = 1L;
@@ -25,6 +28,7 @@ public class Orders implements Serializable {
*/
@TableId(type = IdType.ID_WORKER)
@JsonSerialize(using = ToStringSerializer.class)
+ @IndexId(type= org.dromara.easyes.annotation.rely.IdType.CUSTOMIZE)
private Long ordersId;
/**
diff --git a/src/main/java/com/sqx/modules/pay/entity/CashOut.java b/src/main/java/com/sqx/modules/pay/entity/CashOut.java
index 28da45a0..db1eb8b7 100644
--- a/src/main/java/com/sqx/modules/pay/entity/CashOut.java
+++ b/src/main/java/com/sqx/modules/pay/entity/CashOut.java
@@ -8,6 +8,8 @@ import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
+import org.dromara.easyes.annotation.IndexId;
+import org.dromara.easyes.annotation.IndexName;
import java.io.Serializable;
import java.math.BigDecimal;
@@ -19,6 +21,7 @@ import java.math.BigDecimal;
*/
@Data
@TableName("cash_out")
+@IndexName(value = "cash_out", keepGlobalPrefix = true)
public class CashOut implements Serializable {
private static final long serialVersionUID = 1L;
@@ -27,8 +30,9 @@ public class CashOut implements Serializable {
* 申请提现id
*/
@TableId(type = IdType.ID_WORKER)
+ @IndexId(type = org.dromara.easyes.annotation.rely.IdType.CUSTOMIZE)
@JsonSerialize(using = ToStringSerializer.class)
- private long id;
+ private Long id;
/**
* 申请时间
diff --git a/src/main/java/com/sqx/modules/pay/entity/PayDetails.java b/src/main/java/com/sqx/modules/pay/entity/PayDetails.java
index e179af95..ff7e417f 100644
--- a/src/main/java/com/sqx/modules/pay/entity/PayDetails.java
+++ b/src/main/java/com/sqx/modules/pay/entity/PayDetails.java
@@ -7,6 +7,8 @@ import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
+import org.dromara.easyes.annotation.IndexId;
+import org.dromara.easyes.annotation.IndexName;
import java.io.Serializable;
import java.math.BigDecimal;
@@ -17,6 +19,7 @@ import java.math.BigDecimal;
*/
@Data
@TableName("pay_details")
+@IndexName(value = "pay_details", keepGlobalPrefix = true)
public class PayDetails implements Serializable {
private static final long serialVersionUID = 1L;
@@ -25,6 +28,7 @@ public class PayDetails implements Serializable {
* 充值记录id
*/
@TableId(type = IdType.ID_WORKER)
+ @IndexId(type = org.dromara.easyes.annotation.rely.IdType.CUSTOMIZE)
@JsonSerialize(using = ToStringSerializer.class)
private Long id;
diff --git a/src/main/java/com/sqx/modules/taskCenter/entity/TaskCenterRecord.java b/src/main/java/com/sqx/modules/taskCenter/entity/TaskCenterRecord.java
index a179d469..2442f467 100644
--- a/src/main/java/com/sqx/modules/taskCenter/entity/TaskCenterRecord.java
+++ b/src/main/java/com/sqx/modules/taskCenter/entity/TaskCenterRecord.java
@@ -9,6 +9,8 @@ import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
+import org.dromara.easyes.annotation.IndexId;
+import org.dromara.easyes.annotation.IndexName;
/**
* 任务领取记录(TaskCenterRecord)表实体类
@@ -18,9 +20,11 @@ import lombok.Data;
*/
@Data
@TableName("task_center_record")
+@IndexName(value = "task_center_record", keepGlobalPrefix = true)
@ApiModel(value = "任务领取记录 实体类")
public class TaskCenterRecord extends Model {
@TableId(type = IdType.ID_WORKER)
+ @IndexId(type= org.dromara.easyes.annotation.rely.IdType.CUSTOMIZE)
@ApiModelProperty(value = "id",hidden = true)
@JsonSerialize(using = ToStringSerializer.class)
private Long id;
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 930d7734..eb5a2825 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -28,12 +28,12 @@ spring:
mvc:
throw-exception-if-no-handler-found: true
-# pathmatch:
-# matching-strategy: ant_path_matcher
+ # pathmatch:
+ # matching-strategy: ant_path_matcher
shardingsphere:
#广播表
-# broadcast-tables:
-# - course
+ # broadcast-tables:
+ # - course
# 短剧集表 通过course_id 分
course-details:
- course_details
@@ -159,3 +159,21 @@ sqx:
header: token
uni:
adSecret: 122e4ff1edc66dcf8761f7f7ffc81e0f8773cbfafb58aed29c72fbd092c77315
+
+easy-es:
+ banner: false
+ address: 47.122.74.162:9200
+ username: elastic #es用户名,若无则删去此行配置
+ password: rer8cpBAvEWs #es密码,若无则删去此行配置
+ keep-alive-millis: 30000 # 心跳策略时间 单位:ms
+ connect-timeout: 15000 # 连接超时时间 单位:ms
+ socket-timeout: 600000 # 通信超时时间 单位:ms
+ request-timeout: 15000 # 请求超时时间 单位:ms
+ connection-request-timeout: 15000 # 连接请求超时时间 单位:ms
+ global-config:
+ process-index-mode: manual #索引处理模式,smoothly:平滑模式, not_smoothly:非平滑模式, manual:手动模式,,默认开启此模式
+ print-dsl: true
+ async-process-index-blocking: true # 异步处理索引是否阻塞主线程 默认阻塞 数据量过大时调整为非阻塞异步进行 项目启动更快
+ db-config:
+ map-underscore-to-camel-case: true # 是否开启下划线转驼峰 默认为false
+ index-prefix: ${spring.profiles.active}_ # 索引前缀,可用于区分环境 默认为空 用法和MP的tablePrefix一样的作用和用法
\ No newline at end of file
diff --git a/src/main/resources/rebel.xml b/src/main/resources/rebel.xml
new file mode 100644
index 00000000..94615c88
--- /dev/null
+++ b/src/main/resources/rebel.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+ duanju
+
+
+
+
+
+
+
diff --git a/src/test/java/com/sqx/es/SyncDataToEsScriptGenTest.java b/src/test/java/com/sqx/es/SyncDataToEsScriptGenTest.java
new file mode 100644
index 00000000..e9842f6e
--- /dev/null
+++ b/src/test/java/com/sqx/es/SyncDataToEsScriptGenTest.java
@@ -0,0 +1,57 @@
+package com.sqx.es;
+
+import cn.hutool.core.convert.Convert;
+import cn.hutool.core.io.FileUtil;
+import cn.hutool.core.util.StrUtil;
+import cn.hutool.json.JSONArray;
+import cn.hutool.json.JSONObject;
+import cn.hutool.json.JSONUtil;
+
+import java.io.File;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+import java.util.stream.Collectors;
+
+/**
+ * @author tankaikai
+ * @since 2025-01-08 13:33
+ */
+public class SyncDataToEsScriptGenTest {
+
+ public static void main(String[] args) {
+ build("dev");
+ }
+
+ private static void build(String env) {
+ String absolutePath = FileUtil.getAbsolutePath("", SyncDataToEsScriptGenTest.class);
+ String basePath = FileUtil.getParent(absolutePath, 5) + "/src/test/java/com/sqx/es";
+ String configPath = basePath + "/" + env + "-config-data.json";
+ String config = FileUtil.readUtf8String(configPath);
+ System.out.println(config);
+ String outPath = basePath + "/" + "out";
+ FileUtil.del(outPath);
+ FileUtil.mkdir(outPath);
+ String templatePath = basePath + "/" + "template.yml";
+ String template = FileUtil.readUtf8String(templatePath);
+ JSONObject data = JSONUtil.parseObj(config);
+
+ JSONArray dbList = data.getJSONArray("dbList");
+ JSONArray tableList = data.getJSONArray("tableList");
+ Set dbSet = dbList.stream().map(obj -> Convert.toStr(obj)).collect(Collectors.toSet());
+ for (String dbName : dbSet) {
+ for (int i = 0; i < tableList.size(); i++) {
+ Map params = new HashMap();
+ params.put("env", data.getStr("env"));
+ params.put("dbName", dbName);
+ JSONObject table = tableList.getJSONObject(i);
+ String tableName = table.getStr("tableName");
+ params.put("tableName", tableName);
+ params.put("mappingSql", table.getStr("mappingSql"));
+ String content = StrUtil.format(template, params);
+ String fileName = tableName + "@" + env + "." + dbName + ".yml";
+ FileUtil.writeUtf8String(content, new File(outPath + "/" + fileName));
+ }
+ }
+ }
+}
diff --git a/src/test/java/com/sqx/es/dev-config-data.json b/src/test/java/com/sqx/es/dev-config-data.json
new file mode 100644
index 00000000..cab53733
--- /dev/null
+++ b/src/test/java/com/sqx/es/dev-config-data.json
@@ -0,0 +1,44 @@
+{
+ "env": "dev",
+ "dbList": [
+ "duanju-0",
+ "duanju-1",
+ "duanju-2",
+ "duanju-3",
+ "duanju-4"
+ ],
+ "tableList": [
+ {
+ "tableName": "user_money_details",
+ "mappingSql": "select a.id as _id, a.user_id, a.sys_user_id, a.by_user_id, a.title, a.classify, a.type, a.state, a.money, a.content, a.money_type, a.create_time, a.source_id from user_money_details a"
+ },
+ {
+ "tableName": "orders",
+ "mappingSql": "select a.orders_id as _id, a.orders_no, a.trade_no, a.user_id, a.course_id, a.pay_money, a.pay_way, a.status, a.create_time, a.refund_content, a.orders_type, a.vip_name_type, a.course_details_id, a.course_details_ids, a.qd_money, a.sys_user_id, a.one_money, a.one_user_id, a.two_money, a.two_user_id, a.pay_time, a.pay_diamond, a.diamond from orders a"
+ },
+ {
+ "tableName": "course_collect",
+ "mappingSql": "select a.course_collect_id as _id, a.course_id, a.user_id, a.create_time, a.course_details_id, a.classify, a.update_time from course_collect a"
+ },
+ {
+ "tableName": "pay_details",
+ "mappingSql": "select a.id as _id, a.classify, a.trade_no, a.money, a.user_id, a.state, a.create_time, a.pay_time, a.type, a.remark, a.order_id, a.product_id, a.pay_diamond, a.diamond, a.third_order_no from pay_details a"
+ },
+ {
+ "tableName": "disc_spinning_record",
+ "mappingSql": "select a.id as _id, a.user_id, a.source_id, a.img_url, a.name, a.type, a.number, a.target, a.target_id, a.draw_day, a.create_time, a.source from disc_spinning_record a"
+ },
+ {
+ "tableName": "cash_out",
+ "mappingSql": "select a.id as _id, a.create_at, a.is_out, a.money, a.out_at, a.relation_id, a.user_id, a.zhifubao, a.zhifubao_name, a.order_number, a.state, a.refund, a.rate, a.sys_user_id, a.user_type, a.withdraw_type from cash_out a"
+ },
+ {
+ "tableName": "course_user",
+ "mappingSql": "select a.course_user_id as _id, a.course_id, a.order_id, a.user_id, a.create_time, a.update_time, a.course_details_id, a.classify from course_user a"
+ },
+ {
+ "tableName": "task_center_record",
+ "mappingSql": "select a.id as _id, a.user_id, a.task_id, a.source_id, a.name, a.type, a.target_id, a.number, a.create_time, a.update_time from task_center_record a"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/test/java/com/sqx/es/out/cash_out@dev.duanju-0.yml b/src/test/java/com/sqx/es/out/cash_out@dev.duanju-0.yml
new file mode 100644
index 00000000..460382b2
--- /dev/null
+++ b/src/test/java/com/sqx/es/out/cash_out@dev.duanju-0.yml
@@ -0,0 +1,16 @@
+dataSourceKey: dev_duanju-0
+outerAdapterKey: esKey1
+destination: dev_sync_data_to_es
+groupId: g1
+esMapping:
+ _index: dev_cash_out
+ # _type: doc
+ _id: _id
+ upsert: true
+ # pk: "orders_id"
+ sql: "select a.id as _id, a.create_at, a.is_out, a.money, a.out_at, a.relation_id, a.user_id, a.zhifubao, a.zhifubao_name, a.order_number, a.state, a.refund, a.rate, a.sys_user_id, a.user_type, a.withdraw_type from cash_out a"
+ # objFields:
+ # _labels: array:;
+ # _obj: object
+ # etlCondition: "where 1=1"
+ commitBatch: 3000
\ No newline at end of file
diff --git a/src/test/java/com/sqx/es/out/cash_out@dev.duanju-1.yml b/src/test/java/com/sqx/es/out/cash_out@dev.duanju-1.yml
new file mode 100644
index 00000000..1612241a
--- /dev/null
+++ b/src/test/java/com/sqx/es/out/cash_out@dev.duanju-1.yml
@@ -0,0 +1,16 @@
+dataSourceKey: dev_duanju-1
+outerAdapterKey: esKey1
+destination: dev_sync_data_to_es
+groupId: g1
+esMapping:
+ _index: dev_cash_out
+ # _type: doc
+ _id: _id
+ upsert: true
+ # pk: "orders_id"
+ sql: "select a.id as _id, a.create_at, a.is_out, a.money, a.out_at, a.relation_id, a.user_id, a.zhifubao, a.zhifubao_name, a.order_number, a.state, a.refund, a.rate, a.sys_user_id, a.user_type, a.withdraw_type from cash_out a"
+ # objFields:
+ # _labels: array:;
+ # _obj: object
+ # etlCondition: "where 1=1"
+ commitBatch: 3000
\ No newline at end of file
diff --git a/src/test/java/com/sqx/es/out/cash_out@dev.duanju-2.yml b/src/test/java/com/sqx/es/out/cash_out@dev.duanju-2.yml
new file mode 100644
index 00000000..7d18d0bb
--- /dev/null
+++ b/src/test/java/com/sqx/es/out/cash_out@dev.duanju-2.yml
@@ -0,0 +1,16 @@
+dataSourceKey: dev_duanju-2
+outerAdapterKey: esKey1
+destination: dev_sync_data_to_es
+groupId: g1
+esMapping:
+ _index: dev_cash_out
+ # _type: doc
+ _id: _id
+ upsert: true
+ # pk: "orders_id"
+ sql: "select a.id as _id, a.create_at, a.is_out, a.money, a.out_at, a.relation_id, a.user_id, a.zhifubao, a.zhifubao_name, a.order_number, a.state, a.refund, a.rate, a.sys_user_id, a.user_type, a.withdraw_type from cash_out a"
+ # objFields:
+ # _labels: array:;
+ # _obj: object
+ # etlCondition: "where 1=1"
+ commitBatch: 3000
\ No newline at end of file
diff --git a/src/test/java/com/sqx/es/out/cash_out@dev.duanju-3.yml b/src/test/java/com/sqx/es/out/cash_out@dev.duanju-3.yml
new file mode 100644
index 00000000..8dc4ef47
--- /dev/null
+++ b/src/test/java/com/sqx/es/out/cash_out@dev.duanju-3.yml
@@ -0,0 +1,16 @@
+dataSourceKey: dev_duanju-3
+outerAdapterKey: esKey1
+destination: dev_sync_data_to_es
+groupId: g1
+esMapping:
+ _index: dev_cash_out
+ # _type: doc
+ _id: _id
+ upsert: true
+ # pk: "orders_id"
+ sql: "select a.id as _id, a.create_at, a.is_out, a.money, a.out_at, a.relation_id, a.user_id, a.zhifubao, a.zhifubao_name, a.order_number, a.state, a.refund, a.rate, a.sys_user_id, a.user_type, a.withdraw_type from cash_out a"
+ # objFields:
+ # _labels: array:;
+ # _obj: object
+ # etlCondition: "where 1=1"
+ commitBatch: 3000
\ No newline at end of file
diff --git a/src/test/java/com/sqx/es/out/cash_out@dev.duanju-4.yml b/src/test/java/com/sqx/es/out/cash_out@dev.duanju-4.yml
new file mode 100644
index 00000000..6c36cd6c
--- /dev/null
+++ b/src/test/java/com/sqx/es/out/cash_out@dev.duanju-4.yml
@@ -0,0 +1,16 @@
+dataSourceKey: dev_duanju-4
+outerAdapterKey: esKey1
+destination: dev_sync_data_to_es
+groupId: g1
+esMapping:
+ _index: dev_cash_out
+ # _type: doc
+ _id: _id
+ upsert: true
+ # pk: "orders_id"
+ sql: "select a.id as _id, a.create_at, a.is_out, a.money, a.out_at, a.relation_id, a.user_id, a.zhifubao, a.zhifubao_name, a.order_number, a.state, a.refund, a.rate, a.sys_user_id, a.user_type, a.withdraw_type from cash_out a"
+ # objFields:
+ # _labels: array:;
+ # _obj: object
+ # etlCondition: "where 1=1"
+ commitBatch: 3000
\ No newline at end of file
diff --git a/src/test/java/com/sqx/es/out/course_collect@dev.duanju-0.yml b/src/test/java/com/sqx/es/out/course_collect@dev.duanju-0.yml
new file mode 100644
index 00000000..32a48867
--- /dev/null
+++ b/src/test/java/com/sqx/es/out/course_collect@dev.duanju-0.yml
@@ -0,0 +1,16 @@
+dataSourceKey: dev_duanju-0
+outerAdapterKey: esKey1
+destination: dev_sync_data_to_es
+groupId: g1
+esMapping:
+ _index: dev_course_collect
+ # _type: doc
+ _id: _id
+ upsert: true
+ # pk: "orders_id"
+ sql: "select a.course_collect_id as _id, a.course_id, a.user_id, a.create_time, a.course_details_id, a.classify, a.update_time from course_collect a"
+ # objFields:
+ # _labels: array:;
+ # _obj: object
+ # etlCondition: "where 1=1"
+ commitBatch: 3000
\ No newline at end of file
diff --git a/src/test/java/com/sqx/es/out/course_collect@dev.duanju-1.yml b/src/test/java/com/sqx/es/out/course_collect@dev.duanju-1.yml
new file mode 100644
index 00000000..abb1fe07
--- /dev/null
+++ b/src/test/java/com/sqx/es/out/course_collect@dev.duanju-1.yml
@@ -0,0 +1,16 @@
+dataSourceKey: dev_duanju-1
+outerAdapterKey: esKey1
+destination: dev_sync_data_to_es
+groupId: g1
+esMapping:
+ _index: dev_course_collect
+ # _type: doc
+ _id: _id
+ upsert: true
+ # pk: "orders_id"
+ sql: "select a.course_collect_id as _id, a.course_id, a.user_id, a.create_time, a.course_details_id, a.classify, a.update_time from course_collect a"
+ # objFields:
+ # _labels: array:;
+ # _obj: object
+ # etlCondition: "where 1=1"
+ commitBatch: 3000
\ No newline at end of file
diff --git a/src/test/java/com/sqx/es/out/course_collect@dev.duanju-2.yml b/src/test/java/com/sqx/es/out/course_collect@dev.duanju-2.yml
new file mode 100644
index 00000000..e613cd0c
--- /dev/null
+++ b/src/test/java/com/sqx/es/out/course_collect@dev.duanju-2.yml
@@ -0,0 +1,16 @@
+dataSourceKey: dev_duanju-2
+outerAdapterKey: esKey1
+destination: dev_sync_data_to_es
+groupId: g1
+esMapping:
+ _index: dev_course_collect
+ # _type: doc
+ _id: _id
+ upsert: true
+ # pk: "orders_id"
+ sql: "select a.course_collect_id as _id, a.course_id, a.user_id, a.create_time, a.course_details_id, a.classify, a.update_time from course_collect a"
+ # objFields:
+ # _labels: array:;
+ # _obj: object
+ # etlCondition: "where 1=1"
+ commitBatch: 3000
\ No newline at end of file
diff --git a/src/test/java/com/sqx/es/out/course_collect@dev.duanju-3.yml b/src/test/java/com/sqx/es/out/course_collect@dev.duanju-3.yml
new file mode 100644
index 00000000..9809aabe
--- /dev/null
+++ b/src/test/java/com/sqx/es/out/course_collect@dev.duanju-3.yml
@@ -0,0 +1,16 @@
+dataSourceKey: dev_duanju-3
+outerAdapterKey: esKey1
+destination: dev_sync_data_to_es
+groupId: g1
+esMapping:
+ _index: dev_course_collect
+ # _type: doc
+ _id: _id
+ upsert: true
+ # pk: "orders_id"
+ sql: "select a.course_collect_id as _id, a.course_id, a.user_id, a.create_time, a.course_details_id, a.classify, a.update_time from course_collect a"
+ # objFields:
+ # _labels: array:;
+ # _obj: object
+ # etlCondition: "where 1=1"
+ commitBatch: 3000
\ No newline at end of file
diff --git a/src/test/java/com/sqx/es/out/course_collect@dev.duanju-4.yml b/src/test/java/com/sqx/es/out/course_collect@dev.duanju-4.yml
new file mode 100644
index 00000000..79cb095e
--- /dev/null
+++ b/src/test/java/com/sqx/es/out/course_collect@dev.duanju-4.yml
@@ -0,0 +1,16 @@
+dataSourceKey: dev_duanju-4
+outerAdapterKey: esKey1
+destination: dev_sync_data_to_es
+groupId: g1
+esMapping:
+ _index: dev_course_collect
+ # _type: doc
+ _id: _id
+ upsert: true
+ # pk: "orders_id"
+ sql: "select a.course_collect_id as _id, a.course_id, a.user_id, a.create_time, a.course_details_id, a.classify, a.update_time from course_collect a"
+ # objFields:
+ # _labels: array:;
+ # _obj: object
+ # etlCondition: "where 1=1"
+ commitBatch: 3000
\ No newline at end of file
diff --git a/src/test/java/com/sqx/es/out/course_user@dev.duanju-0.yml b/src/test/java/com/sqx/es/out/course_user@dev.duanju-0.yml
new file mode 100644
index 00000000..46b74edb
--- /dev/null
+++ b/src/test/java/com/sqx/es/out/course_user@dev.duanju-0.yml
@@ -0,0 +1,16 @@
+dataSourceKey: dev_duanju-0
+outerAdapterKey: esKey1
+destination: dev_sync_data_to_es
+groupId: g1
+esMapping:
+ _index: dev_course_user
+ # _type: doc
+ _id: _id
+ upsert: true
+ # pk: "orders_id"
+ sql: "select a.course_user_id as _id, a.course_id, a.order_id, a.user_id, a.create_time, a.update_time, a.course_details_id, a.classify from course_user a"
+ # objFields:
+ # _labels: array:;
+ # _obj: object
+ # etlCondition: "where 1=1"
+ commitBatch: 3000
\ No newline at end of file
diff --git a/src/test/java/com/sqx/es/out/course_user@dev.duanju-1.yml b/src/test/java/com/sqx/es/out/course_user@dev.duanju-1.yml
new file mode 100644
index 00000000..0222e8b5
--- /dev/null
+++ b/src/test/java/com/sqx/es/out/course_user@dev.duanju-1.yml
@@ -0,0 +1,16 @@
+dataSourceKey: dev_duanju-1
+outerAdapterKey: esKey1
+destination: dev_sync_data_to_es
+groupId: g1
+esMapping:
+ _index: dev_course_user
+ # _type: doc
+ _id: _id
+ upsert: true
+ # pk: "orders_id"
+ sql: "select a.course_user_id as _id, a.course_id, a.order_id, a.user_id, a.create_time, a.update_time, a.course_details_id, a.classify from course_user a"
+ # objFields:
+ # _labels: array:;
+ # _obj: object
+ # etlCondition: "where 1=1"
+ commitBatch: 3000
\ No newline at end of file
diff --git a/src/test/java/com/sqx/es/out/course_user@dev.duanju-2.yml b/src/test/java/com/sqx/es/out/course_user@dev.duanju-2.yml
new file mode 100644
index 00000000..6485fb00
--- /dev/null
+++ b/src/test/java/com/sqx/es/out/course_user@dev.duanju-2.yml
@@ -0,0 +1,16 @@
+dataSourceKey: dev_duanju-2
+outerAdapterKey: esKey1
+destination: dev_sync_data_to_es
+groupId: g1
+esMapping:
+ _index: dev_course_user
+ # _type: doc
+ _id: _id
+ upsert: true
+ # pk: "orders_id"
+ sql: "select a.course_user_id as _id, a.course_id, a.order_id, a.user_id, a.create_time, a.update_time, a.course_details_id, a.classify from course_user a"
+ # objFields:
+ # _labels: array:;
+ # _obj: object
+ # etlCondition: "where 1=1"
+ commitBatch: 3000
\ No newline at end of file
diff --git a/src/test/java/com/sqx/es/out/course_user@dev.duanju-3.yml b/src/test/java/com/sqx/es/out/course_user@dev.duanju-3.yml
new file mode 100644
index 00000000..89efc7dd
--- /dev/null
+++ b/src/test/java/com/sqx/es/out/course_user@dev.duanju-3.yml
@@ -0,0 +1,16 @@
+dataSourceKey: dev_duanju-3
+outerAdapterKey: esKey1
+destination: dev_sync_data_to_es
+groupId: g1
+esMapping:
+ _index: dev_course_user
+ # _type: doc
+ _id: _id
+ upsert: true
+ # pk: "orders_id"
+ sql: "select a.course_user_id as _id, a.course_id, a.order_id, a.user_id, a.create_time, a.update_time, a.course_details_id, a.classify from course_user a"
+ # objFields:
+ # _labels: array:;
+ # _obj: object
+ # etlCondition: "where 1=1"
+ commitBatch: 3000
\ No newline at end of file
diff --git a/src/test/java/com/sqx/es/out/course_user@dev.duanju-4.yml b/src/test/java/com/sqx/es/out/course_user@dev.duanju-4.yml
new file mode 100644
index 00000000..e2b30d39
--- /dev/null
+++ b/src/test/java/com/sqx/es/out/course_user@dev.duanju-4.yml
@@ -0,0 +1,16 @@
+dataSourceKey: dev_duanju-4
+outerAdapterKey: esKey1
+destination: dev_sync_data_to_es
+groupId: g1
+esMapping:
+ _index: dev_course_user
+ # _type: doc
+ _id: _id
+ upsert: true
+ # pk: "orders_id"
+ sql: "select a.course_user_id as _id, a.course_id, a.order_id, a.user_id, a.create_time, a.update_time, a.course_details_id, a.classify from course_user a"
+ # objFields:
+ # _labels: array:;
+ # _obj: object
+ # etlCondition: "where 1=1"
+ commitBatch: 3000
\ No newline at end of file
diff --git a/src/test/java/com/sqx/es/out/disc_spinning_record@dev.duanju-0.yml b/src/test/java/com/sqx/es/out/disc_spinning_record@dev.duanju-0.yml
new file mode 100644
index 00000000..cdf375f0
--- /dev/null
+++ b/src/test/java/com/sqx/es/out/disc_spinning_record@dev.duanju-0.yml
@@ -0,0 +1,16 @@
+dataSourceKey: dev_duanju-0
+outerAdapterKey: esKey1
+destination: dev_sync_data_to_es
+groupId: g1
+esMapping:
+ _index: dev_disc_spinning_record
+ # _type: doc
+ _id: _id
+ upsert: true
+ # pk: "orders_id"
+ sql: "select a.id as _id, a.user_id, a.source_id, a.img_url, a.name, a.type, a.number, a.target, a.target_id, a.draw_day, a.create_time, a.source from disc_spinning_record a"
+ # objFields:
+ # _labels: array:;
+ # _obj: object
+ # etlCondition: "where 1=1"
+ commitBatch: 3000
\ No newline at end of file
diff --git a/src/test/java/com/sqx/es/out/disc_spinning_record@dev.duanju-1.yml b/src/test/java/com/sqx/es/out/disc_spinning_record@dev.duanju-1.yml
new file mode 100644
index 00000000..faffb426
--- /dev/null
+++ b/src/test/java/com/sqx/es/out/disc_spinning_record@dev.duanju-1.yml
@@ -0,0 +1,16 @@
+dataSourceKey: dev_duanju-1
+outerAdapterKey: esKey1
+destination: dev_sync_data_to_es
+groupId: g1
+esMapping:
+ _index: dev_disc_spinning_record
+ # _type: doc
+ _id: _id
+ upsert: true
+ # pk: "orders_id"
+ sql: "select a.id as _id, a.user_id, a.source_id, a.img_url, a.name, a.type, a.number, a.target, a.target_id, a.draw_day, a.create_time, a.source from disc_spinning_record a"
+ # objFields:
+ # _labels: array:;
+ # _obj: object
+ # etlCondition: "where 1=1"
+ commitBatch: 3000
\ No newline at end of file
diff --git a/src/test/java/com/sqx/es/out/disc_spinning_record@dev.duanju-2.yml b/src/test/java/com/sqx/es/out/disc_spinning_record@dev.duanju-2.yml
new file mode 100644
index 00000000..c7df8f24
--- /dev/null
+++ b/src/test/java/com/sqx/es/out/disc_spinning_record@dev.duanju-2.yml
@@ -0,0 +1,16 @@
+dataSourceKey: dev_duanju-2
+outerAdapterKey: esKey1
+destination: dev_sync_data_to_es
+groupId: g1
+esMapping:
+ _index: dev_disc_spinning_record
+ # _type: doc
+ _id: _id
+ upsert: true
+ # pk: "orders_id"
+ sql: "select a.id as _id, a.user_id, a.source_id, a.img_url, a.name, a.type, a.number, a.target, a.target_id, a.draw_day, a.create_time, a.source from disc_spinning_record a"
+ # objFields:
+ # _labels: array:;
+ # _obj: object
+ # etlCondition: "where 1=1"
+ commitBatch: 3000
\ No newline at end of file
diff --git a/src/test/java/com/sqx/es/out/disc_spinning_record@dev.duanju-3.yml b/src/test/java/com/sqx/es/out/disc_spinning_record@dev.duanju-3.yml
new file mode 100644
index 00000000..1ca422c7
--- /dev/null
+++ b/src/test/java/com/sqx/es/out/disc_spinning_record@dev.duanju-3.yml
@@ -0,0 +1,16 @@
+dataSourceKey: dev_duanju-3
+outerAdapterKey: esKey1
+destination: dev_sync_data_to_es
+groupId: g1
+esMapping:
+ _index: dev_disc_spinning_record
+ # _type: doc
+ _id: _id
+ upsert: true
+ # pk: "orders_id"
+ sql: "select a.id as _id, a.user_id, a.source_id, a.img_url, a.name, a.type, a.number, a.target, a.target_id, a.draw_day, a.create_time, a.source from disc_spinning_record a"
+ # objFields:
+ # _labels: array:;
+ # _obj: object
+ # etlCondition: "where 1=1"
+ commitBatch: 3000
\ No newline at end of file
diff --git a/src/test/java/com/sqx/es/out/disc_spinning_record@dev.duanju-4.yml b/src/test/java/com/sqx/es/out/disc_spinning_record@dev.duanju-4.yml
new file mode 100644
index 00000000..5a8e327d
--- /dev/null
+++ b/src/test/java/com/sqx/es/out/disc_spinning_record@dev.duanju-4.yml
@@ -0,0 +1,16 @@
+dataSourceKey: dev_duanju-4
+outerAdapterKey: esKey1
+destination: dev_sync_data_to_es
+groupId: g1
+esMapping:
+ _index: dev_disc_spinning_record
+ # _type: doc
+ _id: _id
+ upsert: true
+ # pk: "orders_id"
+ sql: "select a.id as _id, a.user_id, a.source_id, a.img_url, a.name, a.type, a.number, a.target, a.target_id, a.draw_day, a.create_time, a.source from disc_spinning_record a"
+ # objFields:
+ # _labels: array:;
+ # _obj: object
+ # etlCondition: "where 1=1"
+ commitBatch: 3000
\ No newline at end of file
diff --git a/src/test/java/com/sqx/es/out/orders@dev.duanju-0.yml b/src/test/java/com/sqx/es/out/orders@dev.duanju-0.yml
new file mode 100644
index 00000000..43ba12e7
--- /dev/null
+++ b/src/test/java/com/sqx/es/out/orders@dev.duanju-0.yml
@@ -0,0 +1,16 @@
+dataSourceKey: dev_duanju-0
+outerAdapterKey: esKey1
+destination: dev_sync_data_to_es
+groupId: g1
+esMapping:
+ _index: dev_orders
+ # _type: doc
+ _id: _id
+ upsert: true
+ # pk: "orders_id"
+ sql: "select a.orders_id as _id, a.orders_no, a.trade_no, a.user_id, a.course_id, a.pay_money, a.pay_way, a.status, a.create_time, a.refund_content, a.orders_type, a.vip_name_type, a.course_details_id, a.course_details_ids, a.qd_money, a.sys_user_id, a.one_money, a.one_user_id, a.two_money, a.two_user_id, a.pay_time, a.pay_diamond, a.diamond from orders a"
+ # objFields:
+ # _labels: array:;
+ # _obj: object
+ # etlCondition: "where 1=1"
+ commitBatch: 3000
\ No newline at end of file
diff --git a/src/test/java/com/sqx/es/out/orders@dev.duanju-1.yml b/src/test/java/com/sqx/es/out/orders@dev.duanju-1.yml
new file mode 100644
index 00000000..9311be67
--- /dev/null
+++ b/src/test/java/com/sqx/es/out/orders@dev.duanju-1.yml
@@ -0,0 +1,16 @@
+dataSourceKey: dev_duanju-1
+outerAdapterKey: esKey1
+destination: dev_sync_data_to_es
+groupId: g1
+esMapping:
+ _index: dev_orders
+ # _type: doc
+ _id: _id
+ upsert: true
+ # pk: "orders_id"
+ sql: "select a.orders_id as _id, a.orders_no, a.trade_no, a.user_id, a.course_id, a.pay_money, a.pay_way, a.status, a.create_time, a.refund_content, a.orders_type, a.vip_name_type, a.course_details_id, a.course_details_ids, a.qd_money, a.sys_user_id, a.one_money, a.one_user_id, a.two_money, a.two_user_id, a.pay_time, a.pay_diamond, a.diamond from orders a"
+ # objFields:
+ # _labels: array:;
+ # _obj: object
+ # etlCondition: "where 1=1"
+ commitBatch: 3000
\ No newline at end of file
diff --git a/src/test/java/com/sqx/es/out/orders@dev.duanju-2.yml b/src/test/java/com/sqx/es/out/orders@dev.duanju-2.yml
new file mode 100644
index 00000000..7bfc79d1
--- /dev/null
+++ b/src/test/java/com/sqx/es/out/orders@dev.duanju-2.yml
@@ -0,0 +1,16 @@
+dataSourceKey: dev_duanju-2
+outerAdapterKey: esKey1
+destination: dev_sync_data_to_es
+groupId: g1
+esMapping:
+ _index: dev_orders
+ # _type: doc
+ _id: _id
+ upsert: true
+ # pk: "orders_id"
+ sql: "select a.orders_id as _id, a.orders_no, a.trade_no, a.user_id, a.course_id, a.pay_money, a.pay_way, a.status, a.create_time, a.refund_content, a.orders_type, a.vip_name_type, a.course_details_id, a.course_details_ids, a.qd_money, a.sys_user_id, a.one_money, a.one_user_id, a.two_money, a.two_user_id, a.pay_time, a.pay_diamond, a.diamond from orders a"
+ # objFields:
+ # _labels: array:;
+ # _obj: object
+ # etlCondition: "where 1=1"
+ commitBatch: 3000
\ No newline at end of file
diff --git a/src/test/java/com/sqx/es/out/orders@dev.duanju-3.yml b/src/test/java/com/sqx/es/out/orders@dev.duanju-3.yml
new file mode 100644
index 00000000..6c47aba2
--- /dev/null
+++ b/src/test/java/com/sqx/es/out/orders@dev.duanju-3.yml
@@ -0,0 +1,16 @@
+dataSourceKey: dev_duanju-3
+outerAdapterKey: esKey1
+destination: dev_sync_data_to_es
+groupId: g1
+esMapping:
+ _index: dev_orders
+ # _type: doc
+ _id: _id
+ upsert: true
+ # pk: "orders_id"
+ sql: "select a.orders_id as _id, a.orders_no, a.trade_no, a.user_id, a.course_id, a.pay_money, a.pay_way, a.status, a.create_time, a.refund_content, a.orders_type, a.vip_name_type, a.course_details_id, a.course_details_ids, a.qd_money, a.sys_user_id, a.one_money, a.one_user_id, a.two_money, a.two_user_id, a.pay_time, a.pay_diamond, a.diamond from orders a"
+ # objFields:
+ # _labels: array:;
+ # _obj: object
+ # etlCondition: "where 1=1"
+ commitBatch: 3000
\ No newline at end of file
diff --git a/src/test/java/com/sqx/es/out/orders@dev.duanju-4.yml b/src/test/java/com/sqx/es/out/orders@dev.duanju-4.yml
new file mode 100644
index 00000000..c8618fd2
--- /dev/null
+++ b/src/test/java/com/sqx/es/out/orders@dev.duanju-4.yml
@@ -0,0 +1,16 @@
+dataSourceKey: dev_duanju-4
+outerAdapterKey: esKey1
+destination: dev_sync_data_to_es
+groupId: g1
+esMapping:
+ _index: dev_orders
+ # _type: doc
+ _id: _id
+ upsert: true
+ # pk: "orders_id"
+ sql: "select a.orders_id as _id, a.orders_no, a.trade_no, a.user_id, a.course_id, a.pay_money, a.pay_way, a.status, a.create_time, a.refund_content, a.orders_type, a.vip_name_type, a.course_details_id, a.course_details_ids, a.qd_money, a.sys_user_id, a.one_money, a.one_user_id, a.two_money, a.two_user_id, a.pay_time, a.pay_diamond, a.diamond from orders a"
+ # objFields:
+ # _labels: array:;
+ # _obj: object
+ # etlCondition: "where 1=1"
+ commitBatch: 3000
\ No newline at end of file
diff --git a/src/test/java/com/sqx/es/out/pay_details@dev.duanju-0.yml b/src/test/java/com/sqx/es/out/pay_details@dev.duanju-0.yml
new file mode 100644
index 00000000..daf58a63
--- /dev/null
+++ b/src/test/java/com/sqx/es/out/pay_details@dev.duanju-0.yml
@@ -0,0 +1,16 @@
+dataSourceKey: dev_duanju-0
+outerAdapterKey: esKey1
+destination: dev_sync_data_to_es
+groupId: g1
+esMapping:
+ _index: dev_pay_details
+ # _type: doc
+ _id: _id
+ upsert: true
+ # pk: "orders_id"
+ sql: "select a.id as _id, a.classify, a.trade_no, a.money, a.user_id, a.state, a.create_time, a.pay_time, a.type, a.remark, a.order_id, a.product_id, a.pay_diamond, a.diamond, a.third_order_no from pay_details a"
+ # objFields:
+ # _labels: array:;
+ # _obj: object
+ # etlCondition: "where 1=1"
+ commitBatch: 3000
\ No newline at end of file
diff --git a/src/test/java/com/sqx/es/out/pay_details@dev.duanju-1.yml b/src/test/java/com/sqx/es/out/pay_details@dev.duanju-1.yml
new file mode 100644
index 00000000..44aeabae
--- /dev/null
+++ b/src/test/java/com/sqx/es/out/pay_details@dev.duanju-1.yml
@@ -0,0 +1,16 @@
+dataSourceKey: dev_duanju-1
+outerAdapterKey: esKey1
+destination: dev_sync_data_to_es
+groupId: g1
+esMapping:
+ _index: dev_pay_details
+ # _type: doc
+ _id: _id
+ upsert: true
+ # pk: "orders_id"
+ sql: "select a.id as _id, a.classify, a.trade_no, a.money, a.user_id, a.state, a.create_time, a.pay_time, a.type, a.remark, a.order_id, a.product_id, a.pay_diamond, a.diamond, a.third_order_no from pay_details a"
+ # objFields:
+ # _labels: array:;
+ # _obj: object
+ # etlCondition: "where 1=1"
+ commitBatch: 3000
\ No newline at end of file
diff --git a/src/test/java/com/sqx/es/out/pay_details@dev.duanju-2.yml b/src/test/java/com/sqx/es/out/pay_details@dev.duanju-2.yml
new file mode 100644
index 00000000..47463d62
--- /dev/null
+++ b/src/test/java/com/sqx/es/out/pay_details@dev.duanju-2.yml
@@ -0,0 +1,16 @@
+dataSourceKey: dev_duanju-2
+outerAdapterKey: esKey1
+destination: dev_sync_data_to_es
+groupId: g1
+esMapping:
+ _index: dev_pay_details
+ # _type: doc
+ _id: _id
+ upsert: true
+ # pk: "orders_id"
+ sql: "select a.id as _id, a.classify, a.trade_no, a.money, a.user_id, a.state, a.create_time, a.pay_time, a.type, a.remark, a.order_id, a.product_id, a.pay_diamond, a.diamond, a.third_order_no from pay_details a"
+ # objFields:
+ # _labels: array:;
+ # _obj: object
+ # etlCondition: "where 1=1"
+ commitBatch: 3000
\ No newline at end of file
diff --git a/src/test/java/com/sqx/es/out/pay_details@dev.duanju-3.yml b/src/test/java/com/sqx/es/out/pay_details@dev.duanju-3.yml
new file mode 100644
index 00000000..147326b7
--- /dev/null
+++ b/src/test/java/com/sqx/es/out/pay_details@dev.duanju-3.yml
@@ -0,0 +1,16 @@
+dataSourceKey: dev_duanju-3
+outerAdapterKey: esKey1
+destination: dev_sync_data_to_es
+groupId: g1
+esMapping:
+ _index: dev_pay_details
+ # _type: doc
+ _id: _id
+ upsert: true
+ # pk: "orders_id"
+ sql: "select a.id as _id, a.classify, a.trade_no, a.money, a.user_id, a.state, a.create_time, a.pay_time, a.type, a.remark, a.order_id, a.product_id, a.pay_diamond, a.diamond, a.third_order_no from pay_details a"
+ # objFields:
+ # _labels: array:;
+ # _obj: object
+ # etlCondition: "where 1=1"
+ commitBatch: 3000
\ No newline at end of file
diff --git a/src/test/java/com/sqx/es/out/pay_details@dev.duanju-4.yml b/src/test/java/com/sqx/es/out/pay_details@dev.duanju-4.yml
new file mode 100644
index 00000000..24da9874
--- /dev/null
+++ b/src/test/java/com/sqx/es/out/pay_details@dev.duanju-4.yml
@@ -0,0 +1,16 @@
+dataSourceKey: dev_duanju-4
+outerAdapterKey: esKey1
+destination: dev_sync_data_to_es
+groupId: g1
+esMapping:
+ _index: dev_pay_details
+ # _type: doc
+ _id: _id
+ upsert: true
+ # pk: "orders_id"
+ sql: "select a.id as _id, a.classify, a.trade_no, a.money, a.user_id, a.state, a.create_time, a.pay_time, a.type, a.remark, a.order_id, a.product_id, a.pay_diamond, a.diamond, a.third_order_no from pay_details a"
+ # objFields:
+ # _labels: array:;
+ # _obj: object
+ # etlCondition: "where 1=1"
+ commitBatch: 3000
\ No newline at end of file
diff --git a/src/test/java/com/sqx/es/out/task_center_record@dev.duanju-0.yml b/src/test/java/com/sqx/es/out/task_center_record@dev.duanju-0.yml
new file mode 100644
index 00000000..71199187
--- /dev/null
+++ b/src/test/java/com/sqx/es/out/task_center_record@dev.duanju-0.yml
@@ -0,0 +1,16 @@
+dataSourceKey: dev_duanju-0
+outerAdapterKey: esKey1
+destination: dev_sync_data_to_es
+groupId: g1
+esMapping:
+ _index: dev_task_center_record
+ # _type: doc
+ _id: _id
+ upsert: true
+ # pk: "orders_id"
+ sql: "select a.id as _id, a.user_id, a.task_id, a.source_id, a.name, a.type, a.target_id, a.number, a.create_time, a.update_time from task_center_record a"
+ # objFields:
+ # _labels: array:;
+ # _obj: object
+ # etlCondition: "where 1=1"
+ commitBatch: 3000
\ No newline at end of file
diff --git a/src/test/java/com/sqx/es/out/task_center_record@dev.duanju-1.yml b/src/test/java/com/sqx/es/out/task_center_record@dev.duanju-1.yml
new file mode 100644
index 00000000..fc3141d1
--- /dev/null
+++ b/src/test/java/com/sqx/es/out/task_center_record@dev.duanju-1.yml
@@ -0,0 +1,16 @@
+dataSourceKey: dev_duanju-1
+outerAdapterKey: esKey1
+destination: dev_sync_data_to_es
+groupId: g1
+esMapping:
+ _index: dev_task_center_record
+ # _type: doc
+ _id: _id
+ upsert: true
+ # pk: "orders_id"
+ sql: "select a.id as _id, a.user_id, a.task_id, a.source_id, a.name, a.type, a.target_id, a.number, a.create_time, a.update_time from task_center_record a"
+ # objFields:
+ # _labels: array:;
+ # _obj: object
+ # etlCondition: "where 1=1"
+ commitBatch: 3000
\ No newline at end of file
diff --git a/src/test/java/com/sqx/es/out/task_center_record@dev.duanju-2.yml b/src/test/java/com/sqx/es/out/task_center_record@dev.duanju-2.yml
new file mode 100644
index 00000000..0e619e3b
--- /dev/null
+++ b/src/test/java/com/sqx/es/out/task_center_record@dev.duanju-2.yml
@@ -0,0 +1,16 @@
+dataSourceKey: dev_duanju-2
+outerAdapterKey: esKey1
+destination: dev_sync_data_to_es
+groupId: g1
+esMapping:
+ _index: dev_task_center_record
+ # _type: doc
+ _id: _id
+ upsert: true
+ # pk: "orders_id"
+ sql: "select a.id as _id, a.user_id, a.task_id, a.source_id, a.name, a.type, a.target_id, a.number, a.create_time, a.update_time from task_center_record a"
+ # objFields:
+ # _labels: array:;
+ # _obj: object
+ # etlCondition: "where 1=1"
+ commitBatch: 3000
\ No newline at end of file
diff --git a/src/test/java/com/sqx/es/out/task_center_record@dev.duanju-3.yml b/src/test/java/com/sqx/es/out/task_center_record@dev.duanju-3.yml
new file mode 100644
index 00000000..ac1b16ea
--- /dev/null
+++ b/src/test/java/com/sqx/es/out/task_center_record@dev.duanju-3.yml
@@ -0,0 +1,16 @@
+dataSourceKey: dev_duanju-3
+outerAdapterKey: esKey1
+destination: dev_sync_data_to_es
+groupId: g1
+esMapping:
+ _index: dev_task_center_record
+ # _type: doc
+ _id: _id
+ upsert: true
+ # pk: "orders_id"
+ sql: "select a.id as _id, a.user_id, a.task_id, a.source_id, a.name, a.type, a.target_id, a.number, a.create_time, a.update_time from task_center_record a"
+ # objFields:
+ # _labels: array:;
+ # _obj: object
+ # etlCondition: "where 1=1"
+ commitBatch: 3000
\ No newline at end of file
diff --git a/src/test/java/com/sqx/es/out/task_center_record@dev.duanju-4.yml b/src/test/java/com/sqx/es/out/task_center_record@dev.duanju-4.yml
new file mode 100644
index 00000000..8fde8f96
--- /dev/null
+++ b/src/test/java/com/sqx/es/out/task_center_record@dev.duanju-4.yml
@@ -0,0 +1,16 @@
+dataSourceKey: dev_duanju-4
+outerAdapterKey: esKey1
+destination: dev_sync_data_to_es
+groupId: g1
+esMapping:
+ _index: dev_task_center_record
+ # _type: doc
+ _id: _id
+ upsert: true
+ # pk: "orders_id"
+ sql: "select a.id as _id, a.user_id, a.task_id, a.source_id, a.name, a.type, a.target_id, a.number, a.create_time, a.update_time from task_center_record a"
+ # objFields:
+ # _labels: array:;
+ # _obj: object
+ # etlCondition: "where 1=1"
+ commitBatch: 3000
\ No newline at end of file
diff --git a/src/test/java/com/sqx/es/out/user_money_details@dev.duanju-0.yml b/src/test/java/com/sqx/es/out/user_money_details@dev.duanju-0.yml
new file mode 100644
index 00000000..3854bfe4
--- /dev/null
+++ b/src/test/java/com/sqx/es/out/user_money_details@dev.duanju-0.yml
@@ -0,0 +1,16 @@
+dataSourceKey: dev_duanju-0
+outerAdapterKey: esKey1
+destination: dev_sync_data_to_es
+groupId: g1
+esMapping:
+ _index: dev_user_money_details
+ # _type: doc
+ _id: _id
+ upsert: true
+ # pk: "orders_id"
+ sql: "select a.id as _id, a.user_id, a.sys_user_id, a.by_user_id, a.title, a.classify, a.type, a.state, a.money, a.content, a.money_type, a.create_time, a.source_id from user_money_details a"
+ # objFields:
+ # _labels: array:;
+ # _obj: object
+ # etlCondition: "where 1=1"
+ commitBatch: 3000
\ No newline at end of file
diff --git a/src/test/java/com/sqx/es/out/user_money_details@dev.duanju-1.yml b/src/test/java/com/sqx/es/out/user_money_details@dev.duanju-1.yml
new file mode 100644
index 00000000..53e268e0
--- /dev/null
+++ b/src/test/java/com/sqx/es/out/user_money_details@dev.duanju-1.yml
@@ -0,0 +1,16 @@
+dataSourceKey: dev_duanju-1
+outerAdapterKey: esKey1
+destination: dev_sync_data_to_es
+groupId: g1
+esMapping:
+ _index: dev_user_money_details
+ # _type: doc
+ _id: _id
+ upsert: true
+ # pk: "orders_id"
+ sql: "select a.id as _id, a.user_id, a.sys_user_id, a.by_user_id, a.title, a.classify, a.type, a.state, a.money, a.content, a.money_type, a.create_time, a.source_id from user_money_details a"
+ # objFields:
+ # _labels: array:;
+ # _obj: object
+ # etlCondition: "where 1=1"
+ commitBatch: 3000
\ No newline at end of file
diff --git a/src/test/java/com/sqx/es/out/user_money_details@dev.duanju-2.yml b/src/test/java/com/sqx/es/out/user_money_details@dev.duanju-2.yml
new file mode 100644
index 00000000..947eccbe
--- /dev/null
+++ b/src/test/java/com/sqx/es/out/user_money_details@dev.duanju-2.yml
@@ -0,0 +1,16 @@
+dataSourceKey: dev_duanju-2
+outerAdapterKey: esKey1
+destination: dev_sync_data_to_es
+groupId: g1
+esMapping:
+ _index: dev_user_money_details
+ # _type: doc
+ _id: _id
+ upsert: true
+ # pk: "orders_id"
+ sql: "select a.id as _id, a.user_id, a.sys_user_id, a.by_user_id, a.title, a.classify, a.type, a.state, a.money, a.content, a.money_type, a.create_time, a.source_id from user_money_details a"
+ # objFields:
+ # _labels: array:;
+ # _obj: object
+ # etlCondition: "where 1=1"
+ commitBatch: 3000
\ No newline at end of file
diff --git a/src/test/java/com/sqx/es/out/user_money_details@dev.duanju-3.yml b/src/test/java/com/sqx/es/out/user_money_details@dev.duanju-3.yml
new file mode 100644
index 00000000..96e58264
--- /dev/null
+++ b/src/test/java/com/sqx/es/out/user_money_details@dev.duanju-3.yml
@@ -0,0 +1,16 @@
+dataSourceKey: dev_duanju-3
+outerAdapterKey: esKey1
+destination: dev_sync_data_to_es
+groupId: g1
+esMapping:
+ _index: dev_user_money_details
+ # _type: doc
+ _id: _id
+ upsert: true
+ # pk: "orders_id"
+ sql: "select a.id as _id, a.user_id, a.sys_user_id, a.by_user_id, a.title, a.classify, a.type, a.state, a.money, a.content, a.money_type, a.create_time, a.source_id from user_money_details a"
+ # objFields:
+ # _labels: array:;
+ # _obj: object
+ # etlCondition: "where 1=1"
+ commitBatch: 3000
\ No newline at end of file
diff --git a/src/test/java/com/sqx/es/out/user_money_details@dev.duanju-4.yml b/src/test/java/com/sqx/es/out/user_money_details@dev.duanju-4.yml
new file mode 100644
index 00000000..18ec0cbd
--- /dev/null
+++ b/src/test/java/com/sqx/es/out/user_money_details@dev.duanju-4.yml
@@ -0,0 +1,16 @@
+dataSourceKey: dev_duanju-4
+outerAdapterKey: esKey1
+destination: dev_sync_data_to_es
+groupId: g1
+esMapping:
+ _index: dev_user_money_details
+ # _type: doc
+ _id: _id
+ upsert: true
+ # pk: "orders_id"
+ sql: "select a.id as _id, a.user_id, a.sys_user_id, a.by_user_id, a.title, a.classify, a.type, a.state, a.money, a.content, a.money_type, a.create_time, a.source_id from user_money_details a"
+ # objFields:
+ # _labels: array:;
+ # _obj: object
+ # etlCondition: "where 1=1"
+ commitBatch: 3000
\ No newline at end of file
diff --git a/src/test/java/com/sqx/es/prod-config-data.json b/src/test/java/com/sqx/es/prod-config-data.json
new file mode 100644
index 00000000..808dde72
--- /dev/null
+++ b/src/test/java/com/sqx/es/prod-config-data.json
@@ -0,0 +1,44 @@
+{
+ "env": "prod",
+ "dbList": [
+ "duanju-0",
+ "duanju-1",
+ "duanju-2",
+ "duanju-3",
+ "duanju-4"
+ ],
+ "tableList": [
+ {
+ "tableName": "user_money_details",
+ "mappingSql": "select a.id as _id, a.user_id, a.sys_user_id, a.by_user_id, a.title, a.classify, a.type, a.state, a.money, a.content, a.money_type, a.create_time, a.source_id from user_money_details a"
+ },
+ {
+ "tableName": "orders",
+ "mappingSql": "select a.orders_id as _id, a.orders_no, a.trade_no, a.user_id, a.course_id, a.pay_money, a.pay_way, a.status, a.create_time, a.refund_content, a.orders_type, a.vip_name_type, a.course_details_id, a.course_details_ids, a.qd_money, a.sys_user_id, a.one_money, a.one_user_id, a.two_money, a.two_user_id, a.pay_time, a.pay_diamond, a.diamond from orders a"
+ },
+ {
+ "tableName": "course_collect",
+ "mappingSql": "select a.course_collect_id as _id, a.course_id, a.user_id, a.create_time, a.course_details_id, a.classify, a.update_time from course_collect a"
+ },
+ {
+ "tableName": "pay_details",
+ "mappingSql": "select a.id as _id, a.classify, a.trade_no, a.money, a.user_id, a.state, a.create_time, a.pay_time, a.type, a.remark, a.order_id, a.product_id, a.pay_diamond, a.diamond, a.third_order_no from pay_details a"
+ },
+ {
+ "tableName": "disc_spinning_record",
+ "mappingSql": "select a.id as _id, a.user_id, a.source_id, a.img_url, a.name, a.type, a.number, a.target, a.target_id, a.draw_day, a.create_time, a.source from disc_spinning_record a"
+ },
+ {
+ "tableName": "cash_out",
+ "mappingSql": "select a.id as _id, a.create_at, a.is_out, a.money, a.out_at, a.relation_id, a.user_id, a.zhifubao, a.zhifubao_name, a.order_number, a.state, a.refund, a.rate, a.sys_user_id, a.user_type, a.withdraw_type from cash_out a"
+ },
+ {
+ "tableName": "course_user",
+ "mappingSql": "select a.course_user_id as _id, a.course_id, a.order_id, a.user_id, a.create_time, a.update_time, a.course_details_id, a.classify from course_user a"
+ },
+ {
+ "tableName": "task_center_record",
+ "mappingSql": "select a.id as _id, a.user_id, a.task_id, a.source_id, a.name, a.type, a.target_id, a.number, a.create_time, a.update_time from task_center_record a"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/test/java/com/sqx/es/template.yml b/src/test/java/com/sqx/es/template.yml
new file mode 100644
index 00000000..210e30b4
--- /dev/null
+++ b/src/test/java/com/sqx/es/template.yml
@@ -0,0 +1,16 @@
+dataSourceKey: {env}_{dbName}
+outerAdapterKey: esKey1
+destination: {env}_sync_data_to_es
+groupId: g1
+esMapping:
+ _index: dev_{tableName}
+ # _type: doc
+ _id: _id
+ upsert: true
+ # pk: "orders_id"
+ sql: "{mappingSql}"
+ # objFields:
+ # _labels: array:;
+ # _obj: object
+ # etlCondition: "where 1=1"
+ commitBatch: 3000
\ No newline at end of file