From ed656582bfc932c1934d28f5f15f71f18d7cb442 Mon Sep 17 00:00:00 2001 From: gaoqr <13665037151@163.com> Date: Mon, 9 Dec 2024 09:26:45 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8A=A5=E8=A1=A8=E6=A8=A1=E6=9D=BF=E3=80=81?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E6=BA=90=E3=80=81=E6=95=B0=E6=8D=AE=E9=9B=86?= =?UTF-8?q?=E4=B8=BB=E9=94=AE=E4=BD=BF=E7=94=A8=E9=9B=AA=E8=8A=B1=E7=AE=97?= =?UTF-8?q?=E6=B3=95=E6=9B=BF=E6=8D=A2=E8=87=AA=E5=A2=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/dataset/ReportDatasetServiceImpl.java | 6 ++++++ .../datasource/ReportDatasourceServiceImpl.java | 6 ++++++ .../service/template/ReportTemplateServiceImpl.java | 10 ++++++++++ .../src/main/resources/application.yaml | 4 +++- 4 files changed, 25 insertions(+), 1 deletion(-) diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/dataset/ReportDatasetServiceImpl.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/dataset/ReportDatasetServiceImpl.java index c3a9573c9..4cc7e6091 100644 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/dataset/ReportDatasetServiceImpl.java +++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/dataset/ReportDatasetServiceImpl.java @@ -2,6 +2,7 @@ package com.cf.imes.module.report.service.dataset; import cn.hutool.core.util.ObjectUtil; import com.cf.imes.framework.common.util.object.BeanUtils; +import com.cf.imes.framework.mybatis.core.generator.SnowFlakeGenerator; import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.cf.imes.framework.security.core.util.SecurityFrameworkUtils; import com.cf.imes.module.report.controller.admin.dataset.vo.ReportDatasetReqVO; @@ -37,6 +38,9 @@ public class ReportDatasetServiceImpl implements ReportDatasetService { @Resource private ReportDatasetMapper datasetMapper; + @Resource + private SnowFlakeGenerator snowFlakeGenerator; + @Override public Long createDataset(ReportDatasetSaveReqVO createReqVO) { // 校验内置模板操作权限 @@ -45,6 +49,8 @@ public class ReportDatasetServiceImpl implements ReportDatasetService { ReportDatasetDO dataset = BeanUtils.toBean(createReqVO, ReportDatasetDO.class); // 数据集机构id和数据源统一 dataset.setOrganId(reportDatasourceDO.getOrganId()); + // 生成id + dataset.setId((Long) snowFlakeGenerator.nextId(null)); datasetMapper.insert(dataset); // 返回 return dataset.getId(); diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/datasource/ReportDatasourceServiceImpl.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/datasource/ReportDatasourceServiceImpl.java index d25e1bb2a..64cc06e75 100644 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/datasource/ReportDatasourceServiceImpl.java +++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/datasource/ReportDatasourceServiceImpl.java @@ -17,6 +17,7 @@ import com.bstek.ureport.utils.ProcedureUtils; import com.cf.imes.framework.common.exception.ServiceException; import com.cf.imes.framework.common.exception.util.ServiceExceptionUtil; import com.cf.imes.framework.common.util.object.BeanUtils; +import com.cf.imes.framework.mybatis.core.generator.SnowFlakeGenerator; import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.cf.imes.framework.organ.core.aop.OrganIgnore; import com.cf.imes.framework.security.core.LoginUser; @@ -81,6 +82,9 @@ public class ReportDatasourceServiceImpl implements ReportDatasourceService { @Resource private ReportDatasetMapper datasetMapper; + @Resource + private SnowFlakeGenerator snowFlakeGenerator; + private final ApplicationContext applicationContext; public ReportDatasourceServiceImpl(ApplicationContext applicationContext) { @@ -93,6 +97,8 @@ public class ReportDatasourceServiceImpl implements ReportDatasourceService { validateSystemDatasource(createReqVO.getBuildinType()); // 插入 ReportDatasourceDO datasource = BeanUtils.toBean(createReqVO, ReportDatasourceDO.class); + // 生成id + datasource.setId((Long) snowFlakeGenerator.nextId(null)); datasourceMapper.insert(datasource); // 返回 return datasource.getId(); diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportTemplateServiceImpl.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportTemplateServiceImpl.java index abf27a3bc..006bbc4b5 100644 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportTemplateServiceImpl.java +++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportTemplateServiceImpl.java @@ -36,6 +36,7 @@ import com.cf.imes.framework.common.exception.ServiceException; import com.cf.imes.framework.common.exception.enums.GlobalErrorCodeConstants; import com.cf.imes.framework.common.exception.util.ServiceExceptionUtil; import com.cf.imes.framework.common.util.object.BeanUtils; +import com.cf.imes.framework.mybatis.core.generator.SnowFlakeGenerator; import com.cf.imes.framework.security.core.LoginUser; import com.cf.imes.framework.security.core.util.SecurityFrameworkUtils; import com.cf.imes.module.report.controller.admin.template.vo.ReportTemplatePreviewReqVO; @@ -99,6 +100,9 @@ public class ReportTemplateServiceImpl implements ReportTemplateService { @Resource private ReportDatasetMapper datasetMapper; + @Resource + private SnowFlakeGenerator snowFlakeGenerator; + private static final String UTF8_CHARSET = CharsetUtil.UTF_8; private static final String ATTACHMENT_PREFIX = "attachment; filename="; private static final String DATASETIDS_FIELD_NAME = "datasetIds"; @@ -120,6 +124,8 @@ public class ReportTemplateServiceImpl implements ReportTemplateService { } // 新增模板 ReportTemplateDO template = BeanUtils.toBean(createReqVO, ReportTemplateDO.class); + // 生成id + template.setId((Long) snowFlakeGenerator.nextId(null)); // 超管创建的作为内置模板 if (isSuperAdmin) { template.setType(ReportTemplateTypeEnum.SYSTEM); @@ -163,6 +169,8 @@ public class ReportTemplateServiceImpl implements ReportTemplateService { copyTemplateDO.setUpdater(null); copyTemplateDO.setUpdateTime(null); copyTemplateDO.setCreateTime(null); + // 生成id + copyTemplateDO.setId((Long) snowFlakeGenerator.nextId(null)); // 新增模版 templateMapper.insert(copyTemplateDO); // 返回主键 @@ -502,6 +510,8 @@ public class ReportTemplateServiceImpl implements ReportTemplateService { if(StringUtils.isEmpty(content)) { throw new ServiceException(TEMPLATE_IMPORT_CONTENT_EMPTY_ERROR); } + // 生成id + createReqVO.setId((Long) snowFlakeGenerator.nextId(null)); createReqVO.setContent(content); createReqVO.setDatasetIds(jsonObject.getJSONArray(DATASETIDS_FIELD_NAME).stream().map(s -> Long.parseLong(s.toString())).collect(Collectors.toSet())); createReqVO.setDatasourceIds(jsonObject.getJSONArray(DATASOURCEIDS_FIELD_NAME).stream().map(s -> Long.parseLong(s.toString())).collect(Collectors.toSet())); diff --git a/cf-module-report/cf-module-report-biz/src/main/resources/application.yaml b/cf-module-report/cf-module-report-biz/src/main/resources/application.yaml index 25bdc81f9..3c26170a4 100644 --- a/cf-module-report/cf-module-report-biz/src/main/resources/application.yaml +++ b/cf-module-report/cf-module-report-biz/src/main/resources/application.yaml @@ -49,7 +49,9 @@ mybatis-plus: map-underscore-to-camel-case: true # 虽然默认为 true ,但是还是显示去指定下。 global-config: db-config: - id-type: NONE # “智能”模式,基于 IdTypeEnvironmentPostProcessor + 数据源的类型,自动适配成 AUTO、INPUT 模式。 + worker-id: 0 + datacenter-id: 0 + id-type: ASSIGN_ID # “智能”模式,基于 IdTypeEnvironmentPostProcessor + 数据源的类型,自动适配成 AUTO、INPUT 模式。 # id-type: AUTO # 自增 ID,适合 MySQL 等直接自增的数据库 # id-type: INPUT # 用户输入 ID,适合 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库 # id-type: ASSIGN_ID # 分配 ID,默认使用雪花算法。注意,Oracle、PostgreSQL、Kingbase、DB2、H2 数据库时,需要去除实体类上的 @KeySequence 注解