mirror of
http://192.168.1.205:9980/cf_devdept2/cf_imes_server.git
synced 2026-08-12 21:02:08 +08:00
报表模板、数据源、数据集主键使用雪花算法替换自增
This commit is contained in:
+6
@@ -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();
|
||||
|
||||
+6
@@ -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();
|
||||
|
||||
+10
@@ -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()));
|
||||
|
||||
@@ -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 注解
|
||||
|
||||
Reference in New Issue
Block a user