From 34981c30a78e8bbd7791131059a9210f9928b62c Mon Sep 17 00:00:00 2001
From: 刘光辉 <347230014@qq.com>
Date: 星期四, 17 九月 2026 09:24:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into master
---
jnpf-lims/jnpf-lims-biz/src/main/java/jnpf/service/impl/BigDataServiceImpl.java | 113 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 113 insertions(+), 0 deletions(-)
diff --git a/jnpf-lims/jnpf-lims-biz/src/main/java/jnpf/service/impl/BigDataServiceImpl.java b/jnpf-lims/jnpf-lims-biz/src/main/java/jnpf/service/impl/BigDataServiceImpl.java
new file mode 100644
index 0000000..38251bc
--- /dev/null
+++ b/jnpf-lims/jnpf-lims-biz/src/main/java/jnpf/service/impl/BigDataServiceImpl.java
@@ -0,0 +1,113 @@
+package jnpf.service.impl;
+
+import jnpf.base.DataSourceApi;
+import jnpf.base.Pagination;
+import jnpf.base.service.SuperServiceImpl;
+import jnpf.config.ConfigValueUtil;
+import jnpf.constant.MsgCode;
+import jnpf.database.model.entity.DbLinkEntity;
+import jnpf.database.util.ConnUtil;
+import jnpf.database.util.DataSourceUtil;
+import jnpf.database.util.DbTypeUtil;
+import jnpf.database.util.TenantDataSourceUtil;
+import jnpf.entity.BigDataEntity;
+import jnpf.exception.WorkFlowException;
+import jnpf.mapper.BigDataMapper;
+import jnpf.service.BigDataService;
+import jnpf.util.DateUtil;
+import jnpf.util.RandomUtil;
+import jnpf.util.StringUtil;
+import jnpf.util.UserProvider;
+import lombok.Cleanup;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.Timestamp;
+import java.util.List;
+
+/**
+ * 澶ф暟鎹祴璇�
+ *
+ * @author JNPF寮�鍙戝钩鍙扮粍
+ * @version V3.1.0
+ * @copyright 寮曡繄淇℃伅鎶�鏈湁闄愬叕鍙�
+ * @date 2019骞�9鏈�26鏃� 涓婂崍9:18
+ */
+@Slf4j
+@Service
+@RequiredArgsConstructor
+public class BigDataServiceImpl extends SuperServiceImpl<BigDataMapper, BigDataEntity> implements BigDataService {
+
+ private final DataSourceUtil dataSourceUtils;
+
+ private final ConfigValueUtil configValueUtil;
+
+ private final DataSourceApi dbLinkService;
+
+
+ @Override
+ public List<BigDataEntity> getList(Pagination pagination) {
+ return this.baseMapper.getList(pagination);
+ }
+
+ @Override
+ public void create(int insertCount) throws WorkFlowException {
+ Integer code = this.baseMapper.maxCode();
+ if (code == null) {
+ code = 0;
+ }
+ int index = code == 0 ? 10000001 : code;
+ if (index > 11500001) {
+ throw new WorkFlowException(MsgCode.ETD113.get());
+ }
+ try (Connection conn = ConnUtil.getConnOrDefault(dataSourceUtils)){
+ String sql;
+ String tenantColumn = TenantDataSourceUtil.getTenantColumn();
+ DbLinkEntity dbLinkEntity = dbLinkService.getResource("0",UserProvider.getUser().getTenantId());
+ if (DbTypeUtil.checkOracle(dbLinkEntity) || DbTypeUtil.checkDM(dbLinkEntity)) {
+ sql = "INSERT INTO ext_big_data(F_ID,F_EN_CODE,F_FULL_NAME,F_CREATOR_TIME{column}) VALUES (?,?,?,to_date(?,'yyyy-mm-dd hh24:mi:ss'){value})";
+ } else {
+ sql = "INSERT INTO ext_big_data(F_ID,F_EN_CODE,F_FULL_NAME,F_CREATOR_TIME{column}) VALUES (?,?,?,?{value})";
+ }
+ sql = sql.replace("{column}", "," + configValueUtil.getMultiTenantColumn());
+ sql = sql.replace("{value}", ",?");
+ @Cleanup PreparedStatement pstm = conn.prepareStatement(sql);
+ conn.setAutoCommit(false);
+ Boolean b = DbTypeUtil.checkPostgre(dbLinkEntity);
+ if (null!=b&&b.equals(true)) {
+ for (int i = 0; i < insertCount; i++) {
+ pstm.setString(1, RandomUtil.uuId());
+ pstm.setInt(2, index);
+ pstm.setString(3, "娴嬭瘯澶ф暟鎹�" + index);
+ pstm.setTimestamp(4, new Timestamp(System.currentTimeMillis()));
+ if (StringUtil.isNotEmpty(tenantColumn)) {
+ pstm.setString(5, tenantColumn);
+ }
+ pstm.addBatch();
+ index++;
+ }
+ } else {
+ for (int i = 0; i < insertCount; i++) {
+ pstm.setString(1, RandomUtil.uuId());
+ pstm.setInt(2, index);
+ pstm.setString(3, "娴嬭瘯澶ф暟鎹�" + index);
+ pstm.setString(4, DateUtil.getNow());
+ if (StringUtil.isNotEmpty(tenantColumn)) {
+ pstm.setString(5, tenantColumn);
+ }
+ pstm.addBatch();
+ index++;
+ }
+ }
+ pstm.executeBatch();
+ conn.commit();
+ pstm.close();
+
+ } catch (Exception e) {
+ log.error(e.getMessage());
+ }
+ }
+}
--
Gitblit v1.8.0