From 34a495092567ef890dedf4c4662878734bb75aaa Mon Sep 17 00:00:00 2001
From: DB <2502523450@qq.com>
Date: Sat, 27 Apr 2024 23:33:09 +0800
Subject: [PATCH] =?UTF-8?q?=E5=B7=A5=E5=8D=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../src/main/resources/application-dev.yml | 10 ++--
.../src/main/resources/logback.xml | 2 +-
.../cpop/oam/web/JamboxDataSourceTests.java | 40 +++++++++++++
.../dto/TaskWorkOrderReceiveDealPauseDto.java | 10 ++++
.../impl/TaskWorkOrderServiceImpl.java | 59 +++++++++++++------
.../vo/TaskWorkOrderReceiveDealPauseVo.java | 36 +++++++++++
.../system/business/mapper/BrandMapper.java | 2 +
pom.xml | 5 --
8 files changed, 134 insertions(+), 30 deletions(-)
create mode 100644 Cpop-Oam/Cpop-Oam-Web/src/test/java/com/cpop/oam/web/JamboxDataSourceTests.java
diff --git a/Cpop-Oam/Cpop-Oam-Web/src/main/resources/application-dev.yml b/Cpop-Oam/Cpop-Oam-Web/src/main/resources/application-dev.yml
index ace6c3d..daa8158 100644
--- a/Cpop-Oam/Cpop-Oam-Web/src/main/resources/application-dev.yml
+++ b/Cpop-Oam/Cpop-Oam-Web/src/main/resources/application-dev.yml
@@ -8,9 +8,9 @@ cpop:
gateway:
rsa-keypair:
# 公钥文件
- publicKeyFile: E:\Cpop\Cpop-Union\Cpop-Core\src\main\resources\static\keyPair\publicKey
+ publicKeyFile: D:\Cpop\Cpop-Union\Cpop-Core\src\main\resources\static\keypair\publicKey
# 公钥文件
- privateKeyFile: E:\Cpop\Cpop-Union\Cpop-Core\src\main\resources\static\keyPair\privateKey
+ privateKeyFile: D:\Cpop\Cpop-Union\Cpop-Core\src\main\resources\static\keypair\privateKey
# DataSource Config
spring:
@@ -70,9 +70,9 @@ mybatis-flex:
username: cpop_dev
password: Ch5WkZRsCATsnMXw
jambox:
- url: jdbc:mysql://sh-cynosdbmysql-grp-fggo83js.sql.tencentcdb.com:20965/jambox_test?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true
- username: root
- password: Customer0401
+ url: jdbc:mysql://bj-cynosdbmysql-grp-anccz88g.sql.tencentcdb.com:24808/jambox_dev?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+ username: jambox_dev
+ password: sQt3XZyzW74b5mkJ
# springdoc-openapi项目配置
springdoc:
diff --git a/Cpop-Oam/Cpop-Oam-Web/src/main/resources/logback.xml b/Cpop-Oam/Cpop-Oam-Web/src/main/resources/logback.xml
index 076f3ca..42f0f02 100644
--- a/Cpop-Oam/Cpop-Oam-Web/src/main/resources/logback.xml
+++ b/Cpop-Oam/Cpop-Oam-Web/src/main/resources/logback.xml
@@ -96,7 +96,7 @@
-
+
\ No newline at end of file
diff --git a/Cpop-Oam/Cpop-Oam-Web/src/test/java/com/cpop/oam/web/JamboxDataSourceTests.java b/Cpop-Oam/Cpop-Oam-Web/src/test/java/com/cpop/oam/web/JamboxDataSourceTests.java
new file mode 100644
index 0000000..2a3aa22
--- /dev/null
+++ b/Cpop-Oam/Cpop-Oam-Web/src/test/java/com/cpop/oam/web/JamboxDataSourceTests.java
@@ -0,0 +1,40 @@
+package com.cpop.oam.web;
+
+import com.cpop.core.utils.SpringUtils;
+import com.cpop.system.business.service.BrandService;
+import com.mybatisflex.core.datasource.DataSourceKey;
+import com.mybatisflex.core.query.QueryWrapper;
+import com.mybatisflex.core.row.Db;
+import com.mybatisflex.core.row.Row;
+import org.junit.jupiter.api.Test;
+import org.springframework.boot.test.context.SpringBootTest;
+
+import static com.cpop.system.business.entity.table.BrandTableDef.BRAND;
+
+/**
+ * @author DB
+ * @version 1.0.0
+ * @since 2024-04-27 20:38
+ */
+@SpringBootTest
+public class JamboxDataSourceTests {
+
+ /**
+ * 获取果酱品牌数据
+ * @author DB
+ * @since 2023/12/07
+ */
+ @Test
+ public void getJamboxBrandData() {
+ try {
+ DataSourceKey.use("jambox", () -> {
+ Row row = Db.selectOneByQuery(BRAND.getTableName(), QueryWrapper.create().where(BRAND.ID.eq("134483921482485760")));
+ System.out.println(row);
+ });
+ } finally {
+ DataSourceKey.clear();
+ }
+
+ SpringUtils.getBean(BrandService.class).queryChain().where(BRAND.ID.eq("134483921482485760")).one();
+ }
+}
diff --git a/Cpop-Oam/src/main/java/com/cpop/oam/business/dto/TaskWorkOrderReceiveDealPauseDto.java b/Cpop-Oam/src/main/java/com/cpop/oam/business/dto/TaskWorkOrderReceiveDealPauseDto.java
index bff135f..1de7e60 100644
--- a/Cpop-Oam/src/main/java/com/cpop/oam/business/dto/TaskWorkOrderReceiveDealPauseDto.java
+++ b/Cpop-Oam/src/main/java/com/cpop/oam/business/dto/TaskWorkOrderReceiveDealPauseDto.java
@@ -33,6 +33,16 @@ public class TaskWorkOrderReceiveDealPauseDto implements Serializable {
*/
private String storeName;
+ /**
+ * 机构/品牌ID
+ */
+ private String brandId;
+
+ /**
+ * 校区/店铺ID
+ */
+ private String storeId;
+
/**
* 问题描述
*/
diff --git a/Cpop-Oam/src/main/java/com/cpop/oam/business/service/impl/TaskWorkOrderServiceImpl.java b/Cpop-Oam/src/main/java/com/cpop/oam/business/service/impl/TaskWorkOrderServiceImpl.java
index d4c96bd..9a53ec5 100644
--- a/Cpop-Oam/src/main/java/com/cpop/oam/business/service/impl/TaskWorkOrderServiceImpl.java
+++ b/Cpop-Oam/src/main/java/com/cpop/oam/business/service/impl/TaskWorkOrderServiceImpl.java
@@ -21,8 +21,10 @@ import com.cpop.oam.framework.constant.WebHookKeyConstant;
import com.cpop.oam.framework.enums.OamConfigEnum;
import com.cpop.oam.framework.enums.QuartzEnums;
import com.cpop.oam.framework.tasks.*;
+import com.mybatisflex.core.datasource.DataSourceKey;
import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.query.QueryWrapper;
+import com.mybatisflex.core.row.DbChain;
import com.mybatisflex.spring.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.quartz.*;
@@ -80,46 +82,65 @@ public class TaskWorkOrderServiceImpl extends ServiceImpl item.field(TaskWorkOrderReceiveDealPauseDto::getRecordStaffName)
- .queryWrapper(recordStaff -> queryChain().select(STAFF.NAME.as("recordStaffName"))
+ .queryWrapper(recordStaff -> queryChain().select(STAFF.NAME.as(TaskWorkOrderReceiveDealPauseDto::getRecordStaffName))
.from(STAFF)
.where(STAFF.ID.eq(recordStaff.getRecordStaffId()))),
// 负责人
item -> item.field(TaskWorkOrderReceiveDealPauseDto::getResponsibleStaffName)
- .queryWrapper(responsibleStaff -> queryChain().select(STAFF.NAME.as("responsibleStaffName"))
+ .queryWrapper(responsibleStaff -> queryChain().select(STAFF.NAME.as(TaskWorkOrderReceiveDealPauseDto::getResponsibleStaffName))
.from(STAFF)
- .where(STAFF.ID.eq(StringUtils.isNotBlank(responsibleStaff.getResponsibleStaffId())
- ? responsibleStaff.getResponsibleStaffId()
- : "-1"))),
+ .where(STAFF.ID.eq(StringUtils.isNotBlank(responsibleStaff.getResponsibleStaffId()) ? responsibleStaff.getResponsibleStaffId() : "-1"))),
// 暂停人
item -> item.field(TaskWorkOrderReceiveDealPauseDto::getPauseStaffName)
- .queryWrapper(pauseStaff -> queryChain().select(STAFF.NAME.as("pauseStaffName"))
- .from(STAFF)
- .where(STAFF.ID.eq(
- StringUtils.isNotBlank(pauseStaff.getPauseStaffId()) ? pauseStaff.getPauseStaffId() : "-1"))));
+ .queryWrapper(pauseStaff ->
+ queryChain().select(STAFF.NAME.as(TaskWorkOrderReceiveDealPauseDto::getPauseStaffName))
+ .from(STAFF)
+ .where(STAFF.ID.eq(StringUtils.isNotBlank(pauseStaff.getPauseStaffId()) ? pauseStaff.getPauseStaffId() : "-1"))),
+ // 品牌
+ item -> item.field(TaskWorkOrderReceiveDealPauseDto::getBrandName).prevent(true)
+ .queryWrapper(brandName -> {
+ DbChain jambox;
+ try {
+ jambox = DataSourceKey.use("jambox", () -> DbChain.table(BRAND).select(BRAND.BRAND_NAME.as(TaskWorkOrderReceiveDealPauseDto::getBrandName))
+ .from(BRAND)
+ .where(BRAND.ID.eq(StringUtils.isNotBlank(brandName.getBrandId()) ? brandName.getBrandId() : "-1")));
+ } finally {
+ DataSourceKey.clear();
+ }
+ return jambox;
+ }),
+ // 校区
+ item -> item.field(TaskWorkOrderReceiveDealPauseDto::getStoreName).prevent(true)
+ .queryWrapper(storeName -> {
+ DbChain jambox;
+ try {
+ jambox = DataSourceKey.use("jambox", () -> DbChain.table(STORE).select(STORE.STORE_NAME.as(TaskWorkOrderReceiveDealPauseDto::getStoreName))
+ .from(STORE)
+ .where(STORE.ID.eq(StringUtils.isNotBlank(storeName.getStoreId()) ? storeName.getStoreId() : "-1")));
+ } finally {
+ DataSourceKey.clear();
+ }
+ return jambox;
+ })
+ );
// 分组过滤
Map> taskStatusMap =
dtoList.stream().collect(Collectors.groupingBy(TaskWorkOrderReceiveDealPauseDto::getTaskStatus));
diff --git a/Cpop-Oam/src/main/java/com/cpop/oam/business/vo/TaskWorkOrderReceiveDealPauseVo.java b/Cpop-Oam/src/main/java/com/cpop/oam/business/vo/TaskWorkOrderReceiveDealPauseVo.java
index 7b0fcd9..c548aab 100644
--- a/Cpop-Oam/src/main/java/com/cpop/oam/business/vo/TaskWorkOrderReceiveDealPauseVo.java
+++ b/Cpop-Oam/src/main/java/com/cpop/oam/business/vo/TaskWorkOrderReceiveDealPauseVo.java
@@ -61,6 +61,18 @@ public class TaskWorkOrderReceiveDealPauseVo {
@Schema(description = "校区/店铺")
private String storeName;
+ /**
+ * 机构/品牌ID
+ */
+ @Schema(description = "机构/品牌ID")
+ private String brandId;
+
+ /**
+ * 校区/店铺ID
+ */
+ @Schema(description = "校区/店铺ID")
+ private String storeId;
+
/**
* 问题描述
*/
@@ -113,6 +125,18 @@ public class TaskWorkOrderReceiveDealPauseVo {
@Schema(description = "校区/店铺")
private String storeName;
+ /**
+ * 机构/品牌ID
+ */
+ @Schema(description = "机构/品牌ID")
+ private String brandId;
+
+ /**
+ * 校区/店铺ID
+ */
+ @Schema(description = "校区/店铺ID")
+ private String storeId;
+
/**
* 问题描述
*/
@@ -184,6 +208,18 @@ public class TaskWorkOrderReceiveDealPauseVo {
@Schema(description = "校区/店铺")
private String storeName;
+ /**
+ * 机构/品牌ID
+ */
+ @Schema(description = "机构/品牌ID")
+ private String brandId;
+
+ /**
+ * 校区/店铺ID
+ */
+ @Schema(description = "校区/店铺ID")
+ private String storeId;
+
/**
* 问题描述
*/
diff --git a/Cpop-System/src/main/java/com/cpop/system/business/mapper/BrandMapper.java b/Cpop-System/src/main/java/com/cpop/system/business/mapper/BrandMapper.java
index eb6f7cb..9fc58ca 100644
--- a/Cpop-System/src/main/java/com/cpop/system/business/mapper/BrandMapper.java
+++ b/Cpop-System/src/main/java/com/cpop/system/business/mapper/BrandMapper.java
@@ -1,5 +1,6 @@
package com.cpop.system.business.mapper;
+import com.mybatisflex.annotation.UseDataSource;
import com.mybatisflex.core.BaseMapper;
import com.cpop.system.business.entity.Brand;
@@ -9,6 +10,7 @@ import com.cpop.system.business.entity.Brand;
* @author DB
* @since 2023-10-25
*/
+@UseDataSource("jambox")
public interface BrandMapper extends BaseMapper {
}
diff --git a/pom.xml b/pom.xml
index 5721daf..5ab3bb5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -21,12 +21,7 @@
Cpop-Api
Cpop-Oam
Cpop-Oam/Cpop-Oam-Web
- Cpop-Jambox
- Cpop-Jambox/Cpop-Jambox-Web
- Cpop-Mall
- Cpop-Mall/Cpop-Mall-Web
Cpop-System
- Cpop-Mini
Cpop-Pay
Cpop-ClockIn-Demo