Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
lmp_server
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lmp
lmp_server
Commits
25e78a21
Commit
25e78a21
authored
Apr 01, 2024
by
pengxin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
数据清洗。
parent
242c85c6
Changes
42
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
42 changed files
with
2693 additions
and
4617 deletions
+2693
-4617
DatasetConstant.java
.../java/com/yice/webadmin/app/constant/DatasetConstant.java
+15
-0
MongoConstant.java
...in/java/com/yice/webadmin/app/constant/MongoConstant.java
+44
-4
DatasetCleanConfigController.java
...webadmin/app/controller/DatasetCleanConfigController.java
+237
-0
DatasetCleanController.java
.../yice/webadmin/app/controller/DatasetCleanController.java
+181
-0
DatasetOutputController.java
...yice/webadmin/app/controller/DatasetOutputController.java
+18
-18
DatasetCleanConfigMapper.java
...a/com/yice/webadmin/app/dao/DatasetCleanConfigMapper.java
+33
-0
DatasetCleanMapper.java
...in/java/com/yice/webadmin/app/dao/DatasetCleanMapper.java
+33
-0
DatasetCleanConfigMapper.xml
...yice/webadmin/app/dao/mapper/DatasetCleanConfigMapper.xml
+71
-0
DatasetCleanMapper.xml
...a/com/yice/webadmin/app/dao/mapper/DatasetCleanMapper.xml
+74
-0
DatasetData.java
...src/main/java/com/yice/webadmin/app/data/DatasetData.java
+5
-5
DatasetDataClean.java
...ain/java/com/yice/webadmin/app/data/DatasetDataClean.java
+36
-0
DatasetDataDeduplicate.java
...va/com/yice/webadmin/app/data/DatasetDataDeduplicate.java
+32
-0
DatasetDataDesensitive.java
...va/com/yice/webadmin/app/data/DatasetDataDesensitive.java
+32
-0
DatasetDataFilter.java
...in/java/com/yice/webadmin/app/data/DatasetDataFilter.java
+32
-0
DatasetCleanConfigDto.java
...java/com/yice/webadmin/app/dto/DatasetCleanConfigDto.java
+86
-0
DatasetCleanDto.java
.../main/java/com/yice/webadmin/app/dto/DatasetCleanDto.java
+99
-0
DatasetDataCleanDto.java
...n/java/com/yice/webadmin/app/dto/DatasetDataCleanDto.java
+48
-0
DatasetDataDeduplicateDto.java
.../com/yice/webadmin/app/dto/DatasetDataDeduplicateDto.java
+42
-0
DatasetDataDesensitiveDto.java
.../com/yice/webadmin/app/dto/DatasetDataDesensitiveDto.java
+42
-0
DatasetDataDto.java
...c/main/java/com/yice/webadmin/app/dto/DatasetDataDto.java
+1
-1
DatasetDataFilterDto.java
.../java/com/yice/webadmin/app/dto/DatasetDataFilterDto.java
+42
-0
DatasetVersionDto.java
...ain/java/com/yice/webadmin/app/dto/DatasetVersionDto.java
+1
-1
DatasetClean.java
...c/main/java/com/yice/webadmin/app/model/DatasetClean.java
+126
-0
DatasetCleanConfig.java
.../java/com/yice/webadmin/app/model/DatasetCleanConfig.java
+114
-0
DatasetCleanConfigService.java
.../yice/webadmin/app/service/DatasetCleanConfigService.java
+137
-0
DatasetCleanService.java
...va/com/yice/webadmin/app/service/DatasetCleanService.java
+78
-0
DatasetDataRecordService.java
...m/yice/webadmin/app/service/DatasetDataRecordService.java
+89
-0
DatasetCleanConfigServiceImpl.java
...admin/app/service/impl/DatasetCleanConfigServiceImpl.java
+295
-0
DatasetCleanServiceImpl.java
...ce/webadmin/app/service/impl/DatasetCleanServiceImpl.java
+241
-0
DatasetVersionServiceImpl.java
.../webadmin/app/service/impl/DatasetVersionServiceImpl.java
+1
-1
JsonNameExtractor.java
...in/java/com/yice/webadmin/app/util/JsonNameExtractor.java
+41
-0
DatasetCleanConfigVo.java
...n/java/com/yice/webadmin/app/vo/DatasetCleanConfigVo.java
+86
-0
DatasetCleanVo.java
...rc/main/java/com/yice/webadmin/app/vo/DatasetCleanVo.java
+99
-0
DatasetDataCleanVo.java
...ain/java/com/yice/webadmin/app/vo/DatasetDataCleanVo.java
+48
-0
DatasetDataDeduplicateVo.java
...va/com/yice/webadmin/app/vo/DatasetDataDeduplicateVo.java
+42
-0
DatasetDataDesensitiveVo.java
...va/com/yice/webadmin/app/vo/DatasetDataDesensitiveVo.java
+42
-0
DatasetDataFilterVo.java
...in/java/com/yice/webadmin/app/vo/DatasetDataFilterVo.java
+42
-0
DatasetDataVo.java
...src/main/java/com/yice/webadmin/app/vo/DatasetDataVo.java
+1
-1
DatasetVersionVo.java
.../main/java/com/yice/webadmin/app/vo/DatasetVersionVo.java
+1
-1
application.yml
application-webadmin/src/main/resources/application.yml
+1
-1
SysOperationLogType.java
...m/yice/common/log/model/constant/SysOperationLogType.java
+5
-0
application-webadmin.log
zzlogs/application-webadmin/application-webadmin.log
+0
-4584
No files found.
application-webadmin/src/main/java/com/yice/webadmin/app/constant/DatasetConstant.java
View file @
25e78a21
...
@@ -61,4 +61,19 @@ public class DatasetConstant {
...
@@ -61,4 +61,19 @@ public class DatasetConstant {
* 已标记
* 已标记
*/
*/
public
static
final
Integer
MARK
=
1
;
public
static
final
Integer
MARK
=
1
;
/**
* 清洗中
*/
public
static
final
Integer
CLEAN_PROGRESS
=
1
;
/**
* 分页个数
*/
public
static
final
Integer
PAGE_NUM
=
1
;
/**
* 过滤100个
*/
public
static
final
Integer
MAX_PAGE_SIZE
=
100
;
}
}
application-webadmin/src/main/java/com/yice/webadmin/app/constant/MongoConstant.java
View file @
25e78a21
...
@@ -8,7 +8,27 @@ public final class MongoConstant {
...
@@ -8,7 +8,27 @@ public final class MongoConstant {
/**
/**
*数据集名称
*数据集名称
*/
*/
public
static
final
String
COLLECT_NAME
=
"DATASET-DATA-"
;
public
static
final
String
COLLECT_NAME
=
"dataset_data_"
;
/**
*数据集清洗集合名称
*/
public
static
final
String
DATASET_DATA_CLEAN
=
"dataset_data_clean"
;
/**
*数据集过滤集合名称
*/
public
static
final
String
DATASET_DATA_FILTER
=
"dataset_data_filter"
;
/**
*数据集去重集合名称
*/
public
static
final
String
DATASET_DATA_DEDUPLICATE
=
"dataset_data_deduplicate"
;
/**
*数据集去隐私集合名称
*/
public
static
final
String
DATASET_DATA_DESENSITIVE
=
"dataset_data_desensitive"
;
/**
/**
* 数据集
* 数据集
...
@@ -18,17 +38,37 @@ public final class MongoConstant {
...
@@ -18,17 +38,37 @@ public final class MongoConstant {
/**
/**
* 版本标识
* 版本标识
*/
*/
public
static
final
String
VERSION
=
"versionId"
;
public
static
final
String
VERSION
=
"version_id"
;
/**
* 清洗标识
*/
public
static
final
String
CLEAN_ID
=
"clean_id"
;
/**
* 清洗完的内容
*/
public
static
final
String
CONTENT
=
"content"
;
/**
* 清洗前数据
*/
public
static
final
String
CLEAN_BEFORE_DATA
=
"clean_before_data"
;
/**
* 清洗后数据
*/
public
static
final
String
CLEAN_AFTER_DATA
=
"clean_after_data"
;
/**
/**
* 创建时间
* 创建时间
*/
*/
public
static
final
String
CREATE_TIME
=
"create
T
ime"
;
public
static
final
String
CREATE_TIME
=
"create
_t
ime"
;
/**
/**
* 标记状态
* 标记状态
*/
*/
public
static
final
String
MARK_STATUS
=
"mark
S
tatus"
;
public
static
final
String
MARK_STATUS
=
"mark
_s
tatus"
;
/**
/**
* 标记状态
* 标记状态
...
...
application-webadmin/src/main/java/com/yice/webadmin/app/controller/DatasetCleanConfigController.java
0 → 100644
View file @
25e78a21
This diff is collapsed.
Click to expand it.
application-webadmin/src/main/java/com/yice/webadmin/app/controller/DatasetCleanController.java
0 → 100644
View file @
25e78a21
package
com
.
yice
.
webadmin
.
app
.
controller
;
import
cn.hutool.core.collection.CollUtil
;
import
com.github.pagehelper.page.PageMethod
;
import
com.github.xiaoymin.knife4j.annotations.ApiOperationSupport
;
import
com.yice.common.core.annotation.MyRequestBody
;
import
com.yice.common.core.constant.ErrorCodeEnum
;
import
com.yice.common.core.object.*
;
import
com.yice.common.core.util.MyCommonUtil
;
import
com.yice.common.core.util.MyModelUtil
;
import
com.yice.common.core.util.MyPageUtil
;
import
com.yice.common.log.annotation.OperationLog
;
import
com.yice.common.log.model.constant.SysOperationLogType
;
import
com.yice.webadmin.app.dto.DatasetCleanConfigDto
;
import
com.yice.webadmin.app.dto.DatasetCleanDto
;
import
com.yice.webadmin.app.model.DatasetClean
;
import
com.yice.webadmin.app.model.DatasetCleanConfig
;
import
com.yice.webadmin.app.service.DatasetCleanConfigService
;
import
com.yice.webadmin.app.service.DatasetCleanService
;
import
com.yice.webadmin.app.util.JsonNameExtractor
;
import
com.yice.webadmin.app.vo.DatasetCleanVo
;
import
io.swagger.annotations.Api
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* 数据清洗操作控制器类。
*
* @author linking
* @date 2023-04-13
*/
@Api
(
tags
=
"数据清洗管理接口"
)
@Slf4j
@RestController
@RequestMapping
(
"/admin/app/datasetClean"
)
public
class
DatasetCleanController
{
@Autowired
private
DatasetCleanService
datasetCleanService
;
@Autowired
private
DatasetCleanConfigService
datasetCleanConfigService
;
/**
* 新增数据集清洗数据。
*
* @param datasetCleanDto 新增对象。
* @return 应答结果对象,包含新增对象主键Id。
*/
@ApiOperationSupport
(
ignoreParameters
=
{
"datasetCleanDto.outputId"
})
@OperationLog
(
type
=
SysOperationLogType
.
ADD
)
@PostMapping
(
"/add"
)
public
ResponseResult
<
DatasetClean
>
add
(
@MyRequestBody
DatasetCleanDto
datasetCleanDto
)
{
String
errorMessage
=
MyCommonUtil
.
getModelValidationError
(
datasetCleanDto
,
false
);
if
(
errorMessage
!=
null
)
{
return
ResponseResult
.
error
(
ErrorCodeEnum
.
DATA_VALIDATED_FAILED
,
errorMessage
);
}
DatasetClean
datasetClean
=
MyModelUtil
.
copyTo
(
datasetCleanDto
,
DatasetClean
.
class
);
datasetClean
=
datasetCleanService
.
saveNew
(
datasetClean
);
return
ResponseResult
.
success
(
datasetClean
);
}
/**
* 新增数据集清洗数据。
*
* @param datasetCleanDto 新增对象。
* @return 应答结果对象,包含新增对象主键Id。
*/
@ApiOperationSupport
(
ignoreParameters
=
{
"datasetCleanDto.cleanId"
,
"datasetCleanConfigDto.cleanConfigId"
})
@OperationLog
(
type
=
SysOperationLogType
.
ADD_ALL
)
@PostMapping
(
"/addAll"
)
public
ResponseResult
<
DatasetClean
>
addAll
(
@MyRequestBody
DatasetCleanDto
datasetCleanDto
,
@MyRequestBody
DatasetCleanConfigDto
datasetCleanConfigDto
)
{
String
errorMessage
=
MyCommonUtil
.
getModelValidationError
(
datasetCleanDto
,
false
);
if
(
errorMessage
!=
null
)
{
return
ResponseResult
.
error
(
ErrorCodeEnum
.
DATA_VALIDATED_FAILED
,
errorMessage
);
}
DatasetClean
datasetClean
=
MyModelUtil
.
copyTo
(
datasetCleanDto
,
DatasetClean
.
class
);
DatasetCleanConfig
datasetCleanConfig
=
MyModelUtil
.
copyTo
(
datasetCleanConfigDto
,
DatasetCleanConfig
.
class
);
datasetClean
=
datasetCleanService
.
saveNew
(
datasetClean
,
datasetCleanConfig
);
return
ResponseResult
.
success
(
datasetClean
);
}
/**
* 更新数据集清洗数据。
*
* @param datasetCleanDto 更新对象。
* @return 应答结果对象。
*/
@OperationLog
(
type
=
SysOperationLogType
.
UPDATE
)
@PostMapping
(
"/update"
)
public
ResponseResult
<
Void
>
update
(
@MyRequestBody
DatasetCleanDto
datasetCleanDto
)
{
String
errorMessage
=
MyCommonUtil
.
getModelValidationError
(
datasetCleanDto
,
true
);
if
(
errorMessage
!=
null
)
{
return
ResponseResult
.
error
(
ErrorCodeEnum
.
DATA_VALIDATED_FAILED
,
errorMessage
);
}
DatasetClean
datasetClean
=
MyModelUtil
.
copyTo
(
datasetCleanDto
,
DatasetClean
.
class
);
DatasetClean
originaldatasetClean
=
datasetCleanService
.
getById
(
datasetClean
.
getCleanId
());
if
(
originaldatasetClean
==
null
)
{
errorMessage
=
"数据验证失败,当前 [数据] 并不存在,请刷新后重试!"
;
return
ResponseResult
.
error
(
ErrorCodeEnum
.
DATA_NOT_EXIST
,
errorMessage
);
}
if
(!
datasetCleanService
.
update
(
datasetClean
,
originaldatasetClean
))
{
return
ResponseResult
.
error
(
ErrorCodeEnum
.
DATA_NOT_EXIST
);
}
return
ResponseResult
.
success
();
}
/**
* 删除数据集清洗数据。
*
* @param cleanId 删除对象主键Id。
* @return 应答结果对象。
*/
@OperationLog
(
type
=
SysOperationLogType
.
DELETE
)
@PostMapping
(
"/delete"
)
public
ResponseResult
<
Void
>
delete
(
@MyRequestBody
Long
cleanId
)
{
if
(
MyCommonUtil
.
existBlankArgument
(
cleanId
))
{
return
ResponseResult
.
error
(
ErrorCodeEnum
.
ARGUMENT_NULL_EXIST
);
}
return
this
.
doDelete
(
cleanId
);
}
/**
* 列出符合过滤条件的数据集清洗列表。
*
* @param datasetCleanDtoFilter 过滤对象。
* @param orderParam 排序参数。
* @param pageParam 分页参数。
* @return 应答结果对象,包含查询结果集。
*/
@PostMapping
(
"/list"
)
public
ResponseResult
<
MyPageData
<
DatasetCleanVo
>>
list
(
@MyRequestBody
DatasetCleanDto
datasetCleanDtoFilter
,
@MyRequestBody
MyOrderParam
orderParam
,
@MyRequestBody
MyPageParam
pageParam
)
{
if
(
pageParam
!=
null
)
{
PageMethod
.
startPage
(
pageParam
.
getPageNum
(),
pageParam
.
getPageSize
());
}
DatasetClean
datasetCleanFilter
=
MyModelUtil
.
copyTo
(
datasetCleanDtoFilter
,
DatasetClean
.
class
);
String
orderBy
=
MyOrderParam
.
buildOrderBy
(
orderParam
,
DatasetClean
.
class
);
List
<
DatasetClean
>
datasetCleanList
=
datasetCleanService
.
getDatasetCleanListWithRelation
(
datasetCleanFilter
,
orderBy
);
return
ResponseResult
.
success
(
MyPageUtil
.
makeResponseData
(
datasetCleanList
,
DatasetClean
.
INSTANCE
));
}
/**
* 查看指定数据集清洗对象清洗。
*
* @param cleanId 指定对象主键Id。
* @return 应答结果对象,包含对象清洗。
*/
@GetMapping
(
"/view"
)
public
ResponseResult
<
DatasetCleanVo
>
view
(
@RequestParam
Long
cleanId
)
{
DatasetClean
datasetClean
=
datasetCleanService
.
getByIdWithRelation
(
cleanId
,
MyRelationParam
.
full
());
if
(
datasetClean
==
null
)
{
return
ResponseResult
.
error
(
ErrorCodeEnum
.
DATA_NOT_EXIST
);
}
DatasetCleanVo
datasetCleanVo
=
DatasetClean
.
INSTANCE
.
fromModel
(
datasetClean
);
return
ResponseResult
.
success
(
datasetCleanVo
);
}
private
ResponseResult
<
Void
>
doDelete
(
Long
cleanId
)
{
String
errorMessage
;
// 验证关联Id的数据合法性
DatasetClean
originaldatasetClean
=
datasetCleanService
.
getById
(
cleanId
);
if
(
originaldatasetClean
==
null
)
{
errorMessage
=
"数据验证失败,当前 [对象] 并不存在,请刷新后重试!"
;
return
ResponseResult
.
error
(
ErrorCodeEnum
.
DATA_NOT_EXIST
,
errorMessage
);
}
if
(!
datasetCleanService
.
remove
(
cleanId
))
{
errorMessage
=
"数据操作失败,删除的对象不存在,请刷新后重试!"
;
return
ResponseResult
.
error
(
ErrorCodeEnum
.
DATA_NOT_EXIST
,
errorMessage
);
}
return
ResponseResult
.
success
();
}
}
application-webadmin/src/main/java/com/yice/webadmin/app/controller/DatasetOutputController.java
View file @
25e78a21
...
@@ -22,12 +22,12 @@ import org.springframework.web.bind.annotation.*;
...
@@ -22,12 +22,12 @@ import org.springframework.web.bind.annotation.*;
import
java.util.List
;
import
java.util.List
;
/**
/**
* 数据集
详情
操作控制器类。
* 数据集
导出
操作控制器类。
*
*
* @author linking
* @author linking
* @date 2023-04-13
* @date 2023-04-13
*/
*/
@Api
(
tags
=
"数据集
版本
导出管理接口"
)
@Api
(
tags
=
"数据集导出管理接口"
)
@Slf4j
@Slf4j
@RestController
@RestController
@RequestMapping
(
"/admin/app/datasetOutput"
)
@RequestMapping
(
"/admin/app/datasetOutput"
)
...
@@ -37,7 +37,7 @@ public class DatasetOutputController {
...
@@ -37,7 +37,7 @@ public class DatasetOutputController {
private
DatasetOutputService
datasetOutputService
;
private
DatasetOutputService
datasetOutputService
;
/**
/**
* 新增数据集
详情
数据。
* 新增数据集
导出
数据。
*
*
* @param datasetOutputDto 新增对象。
* @param datasetOutputDto 新增对象。
* @return 应答结果对象,包含新增对象主键Id。
* @return 应答结果对象,包含新增对象主键Id。
...
@@ -56,7 +56,7 @@ public class DatasetOutputController {
...
@@ -56,7 +56,7 @@ public class DatasetOutputController {
}
}
/**
/**
* 更新数据集
详情
数据。
* 更新数据集
导出
数据。
*
*
* @param datasetOutputDto 更新对象。
* @param datasetOutputDto 更新对象。
* @return 应答结果对象。
* @return 应答结果对象。
...
@@ -81,22 +81,22 @@ public class DatasetOutputController {
...
@@ -81,22 +81,22 @@ public class DatasetOutputController {
}
}
/**
/**
* 删除数据集
详情
数据。
* 删除数据集
导出
数据。
*
*
* @param
detail
Id 删除对象主键Id。
* @param
output
Id 删除对象主键Id。
* @return 应答结果对象。
* @return 应答结果对象。
*/
*/
@OperationLog
(
type
=
SysOperationLogType
.
DELETE
)
@OperationLog
(
type
=
SysOperationLogType
.
DELETE
)
@PostMapping
(
"/delete"
)
@PostMapping
(
"/delete"
)
public
ResponseResult
<
Void
>
delete
(
@MyRequestBody
Long
detail
Id
)
{
public
ResponseResult
<
Void
>
delete
(
@MyRequestBody
Long
output
Id
)
{
if
(
MyCommonUtil
.
existBlankArgument
(
detail
Id
))
{
if
(
MyCommonUtil
.
existBlankArgument
(
output
Id
))
{
return
ResponseResult
.
error
(
ErrorCodeEnum
.
ARGUMENT_NULL_EXIST
);
return
ResponseResult
.
error
(
ErrorCodeEnum
.
ARGUMENT_NULL_EXIST
);
}
}
return
this
.
doDelete
(
detail
Id
);
return
this
.
doDelete
(
output
Id
);
}
}
/**
/**
* 列出符合过滤条件的数据集
详情
列表。
* 列出符合过滤条件的数据集
导出
列表。
*
*
* @param datasetOutputDtoFilter 过滤对象。
* @param datasetOutputDtoFilter 过滤对象。
* @param orderParam 排序参数。
* @param orderParam 排序参数。
...
@@ -119,14 +119,14 @@ public class DatasetOutputController {
...
@@ -119,14 +119,14 @@ public class DatasetOutputController {
}
}
/**
/**
* 查看指定数据集
详情对象详情
。
* 查看指定数据集
导出对象导出
。
*
*
* @param
detail
Id 指定对象主键Id。
* @param
output
Id 指定对象主键Id。
* @return 应答结果对象,包含对象
详情
。
* @return 应答结果对象,包含对象
导出
。
*/
*/
@GetMapping
(
"/view"
)
@GetMapping
(
"/view"
)
public
ResponseResult
<
DatasetOutputVo
>
view
(
@RequestParam
Long
detail
Id
)
{
public
ResponseResult
<
DatasetOutputVo
>
view
(
@RequestParam
Long
output
Id
)
{
DatasetOutput
datasetOutput
=
datasetOutputService
.
getByIdWithRelation
(
detail
Id
,
MyRelationParam
.
full
());
DatasetOutput
datasetOutput
=
datasetOutputService
.
getByIdWithRelation
(
output
Id
,
MyRelationParam
.
full
());
if
(
datasetOutput
==
null
)
{
if
(
datasetOutput
==
null
)
{
return
ResponseResult
.
error
(
ErrorCodeEnum
.
DATA_NOT_EXIST
);
return
ResponseResult
.
error
(
ErrorCodeEnum
.
DATA_NOT_EXIST
);
}
}
...
@@ -134,15 +134,15 @@ public class DatasetOutputController {
...
@@ -134,15 +134,15 @@ public class DatasetOutputController {
return
ResponseResult
.
success
(
datasetOutputVo
);
return
ResponseResult
.
success
(
datasetOutputVo
);
}
}
private
ResponseResult
<
Void
>
doDelete
(
Long
detail
Id
)
{
private
ResponseResult
<
Void
>
doDelete
(
Long
output
Id
)
{
String
errorMessage
;
String
errorMessage
;
// 验证关联Id的数据合法性
// 验证关联Id的数据合法性
DatasetOutput
originaldatasetOutput
=
datasetOutputService
.
getById
(
detail
Id
);
DatasetOutput
originaldatasetOutput
=
datasetOutputService
.
getById
(
output
Id
);
if
(
originaldatasetOutput
==
null
)
{
if
(
originaldatasetOutput
==
null
)
{
errorMessage
=
"数据验证失败,当前 [对象] 并不存在,请刷新后重试!"
;
errorMessage
=
"数据验证失败,当前 [对象] 并不存在,请刷新后重试!"
;
return
ResponseResult
.
error
(
ErrorCodeEnum
.
DATA_NOT_EXIST
,
errorMessage
);
return
ResponseResult
.
error
(
ErrorCodeEnum
.
DATA_NOT_EXIST
,
errorMessage
);
}
}
if
(!
datasetOutputService
.
remove
(
detail
Id
))
{
if
(!
datasetOutputService
.
remove
(
output
Id
))
{
errorMessage
=
"数据操作失败,删除的对象不存在,请刷新后重试!"
;
errorMessage
=
"数据操作失败,删除的对象不存在,请刷新后重试!"
;
return
ResponseResult
.
error
(
ErrorCodeEnum
.
DATA_NOT_EXIST
,
errorMessage
);
return
ResponseResult
.
error
(
ErrorCodeEnum
.
DATA_NOT_EXIST
,
errorMessage
);
}
}
...
...
application-webadmin/src/main/java/com/yice/webadmin/app/dao/DatasetCleanConfigMapper.java
0 → 100644
View file @
25e78a21
package
com
.
yice
.
webadmin
.
app
.
dao
;
import
com.yice.common.core.base.dao.BaseDaoMapper
;
import
com.yice.webadmin.app.model.DatasetCleanConfig
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
/**
* 数据集清理配置数据操作访问接口。
*
* @author linking
* @date 2023-04-13
*/
public
interface
DatasetCleanConfigMapper
extends
BaseDaoMapper
<
DatasetCleanConfig
>
{
/**
* 批量插入对象列表。
*
* @param datasetCleanConfigList 新增对象列表。
*/
void
insertList
(
List
<
DatasetCleanConfig
>
datasetCleanConfigList
);
/**
* 获取过滤后的对象列表。
*
* @param datasetCleanConfigFilter 主表过滤对象。
* @param orderBy 排序字符串,order by从句的参数。
* @return 对象列表。
*/
List
<
DatasetCleanConfig
>
getDatasetCleanConfigList
(
@Param
(
"DatasetCleanFilter"
)
DatasetCleanConfig
datasetCleanConfigFilter
,
@Param
(
"orderBy"
)
String
orderBy
);
}
application-webadmin/src/main/java/com/yice/webadmin/app/dao/DatasetCleanMapper.java
0 → 100644
View file @
25e78a21
package
com
.
yice
.
webadmin
.
app
.
dao
;
import
com.yice.common.core.base.dao.BaseDaoMapper
;
import
com.yice.webadmin.app.model.DatasetClean
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
/**
* 数据集清理接口数据操作访问接口。
*
* @author linking
* @date 2023-04-13
*/
public
interface
DatasetCleanMapper
extends
BaseDaoMapper
<
DatasetClean
>
{
/**
* 批量插入对象列表。
*
* @param datasetCleanList 新增对象列表。
*/
void
insertList
(
List
<
DatasetClean
>
datasetCleanList
);
/**
* 获取过滤后的对象列表。
*
* @param datasetCleanFilter 主表过滤对象。
* @param orderBy 排序字符串,order by从句的参数。
* @return 对象列表。
*/
List
<
DatasetClean
>
getDatasetCleanList
(
@Param
(
"DatasetCleanFilter"
)
DatasetClean
datasetCleanFilter
,
@Param
(
"orderBy"
)
String
orderBy
);
}
application-webadmin/src/main/java/com/yice/webadmin/app/dao/mapper/DatasetCleanConfigMapper.xml
0 → 100644
View file @
25e78a21
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.yice.webadmin.app.dao.DatasetCleanConfigMapper"
>
<resultMap
id=
"BaseResultMap"
type=
"com.yice.webadmin.app.model.DatasetCleanConfig"
>
<id
column=
"clean_config_id"
jdbcType=
"BIGINT"
property=
"cleanConfigId"
/>
<result
column=
"clean_config"
jdbcType=
"VARCHAR"
property=
"cleanConfig"
/>
<result
column=
"filter_config"
jdbcType=
"VARCHAR"
property=
"filterConfig"
/>
<result
column=
"desensitive_config"
jdbcType=
"VARCHAR"
property=
"desensitiveConfig"
/>
<result
column=
"deduplicate_config"
jdbcType=
"VARCHAR"
property=
"deduplicateConfig"
/>
<result
column=
"clean_id"
jdbcType=
"BIGINT"
property=
"cleanId"
/>
<result
column=
"create_user_id"
jdbcType=
"BIGINT"
property=
"createUserId"
/>
<result
column=
"create_time"
jdbcType=
"TIMESTAMP"
property=
"createTime"
/>
<result
column=
"update_user_id"
jdbcType=
"BIGINT"
property=
"updateUserId"
/>
<result
column=
"update_time"
jdbcType=
"TIMESTAMP"
property=
"updateTime"
/>
</resultMap>
<insert
id=
"insertList"
>
INSERT INTO lmp_data_clean_config
(clean_config_id,
clean_config,
filter_config,
desensitive_config,
deduplicate_config,
clean_id,
create_user_id,
create_time,
update_user_id,
update_time)
VALUES
<foreach
collection=
"list"
index=
"index"
item=
"item"
separator=
","
>
(#{item.cleanConfigId},
#{item.cleanConfig},
#{item.filterConfig},
#{item.desensitiveConfig},
#{item.deduplicateConfig},
#{item.cleanId},
#{item.createUserId},
#{item.createTime},
#{item.updateUserId},
#{item.updateTime})
</foreach>
</insert>
<!-- 如果有逻辑删除字段过滤,请写到这里 -->
<sql
id=
"filterRef"
>
<!-- 这里必须加上全包名,否则当filterRef被其他Mapper.xml包含引用的时候,就会调用Mapper.xml中的该SQL片段 -->
<include
refid=
"com.yice.webadmin.app.dao.DatasetCleanConfigMapper.inputFilterRef"
/>
</sql>
<!-- 这里仅包含调用接口输入的主表过滤条件 -->
<sql
id=
"inputFilterRef"
>
<if
test=
"datasetCleanConfigFilter != null"
>
<if
test=
"datasetCleanConfigFilter.cleanConfigId != null"
>
AND lmp_data_clean_config.clean_config_id = #{datasetCleanConfigFilter.cleanConfigId}
</if>
<if
test=
"datasetCleanConfigFilter.datasetId != null"
>
AND lmp_data_clean_config.dataset_id = #{datasetCleanConfigFilter.datasetId}
</if>
</if>
</sql>
<select
id=
"getDatasetCleanConfigList"
resultMap=
"BaseResultMap"
parameterType=
"com.yice.webadmin.app.model.DatasetCleanConfig"
>
SELECT * FROM lmp_data_clean_config
<where>
<include
refid=
"filterRef"
/>
</where>
<if
test=
"orderBy != null and orderBy != ''"
>
ORDER BY ${orderBy}
</if>
</select>
</mapper>
application-webadmin/src/main/java/com/yice/webadmin/app/dao/mapper/DatasetCleanMapper.xml
0 → 100644
View file @
25e78a21
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.yice.webadmin.app.dao.DatasetCleanMapper"
>
<resultMap
id=
"BaseResultMap"
type=
"com.yice.webadmin.app.model.DatasetClean"
>
<id
column=
"clean_id"
jdbcType=
"BIGINT"
property=
"cleanId"
/>
<result
column=
"dataset_id"
jdbcType=
"BIGINT"
property=
"datasetId"
/>
<result
column=
"dataset_name"
jdbcType=
"VARCHAR"
property=
"datasetName"
/>
<result
column=
"start_time"
jdbcType=
"TIMESTAMP"
property=
"startTime"
/>
<result
column=
"clean_type"
jdbcType=
"INTEGER"
property=
"cleanType"
/>
<result
column=
"clean_status"
jdbcType=
"INTEGER"
property=
"cleanStatus"
/>
<result
column=
"finish_time"
jdbcType=
"TIMESTAMP"
property=
"finishTime"
/>
<result
column=
"create_user_id"
jdbcType=
"BIGINT"
property=
"createUserId"
/>
<result
column=
"create_time"
jdbcType=
"TIMESTAMP"
property=
"createTime"
/>
<result
column=
"update_user_id"
jdbcType=
"BIGINT"
property=
"updateUserId"
/>
<result
column=
"update_time"
jdbcType=
"TIMESTAMP"
property=
"updateTime"
/>
</resultMap>
<insert
id=
"insertList"
>
INSERT INTO lmp_data_clean
(clean_id,
dataset_id,
dataset_name,
start_time,
clean_type,
clean_status,
finish_time,
create_user_id,
create_time,
update_user_id,
update_time)
VALUES
<foreach
collection=
"list"
index=
"index"
item=
"item"
separator=
","
>
(#{item.cleanId},
#{item.datasetId},
#{item.datasetName},
#{item.startTime},
#{item.cleanType},
#{item.cleanStatus},
#{item.finishTime},
#{item.createUserId},
#{item.createTime},
#{item.updateUserId},
#{item.updateTime})
</foreach>
</insert>
<!-- 如果有逻辑删除字段过滤,请写到这里 -->
<sql
id=
"filterRef"
>
<!-- 这里必须加上全包名,否则当filterRef被其他Mapper.xml包含引用的时候,就会调用Mapper.xml中的该SQL片段 -->
<include
refid=
"com.yice.webadmin.app.dao.DatasetCleanMapper.inputFilterRef"
/>
</sql>
<!-- 这里仅包含调用接口输入的主表过滤条件 -->
<sql
id=
"inputFilterRef"
>
<if
test=
"datasetCleanFilter != null"
>
<if
test=
"datasetCleanFilter.cleanId != null"
>
AND lmp_data_clean.clean_id = #{datasetCleanFilter.cleanId}
</if>
<if
test=
"datasetCleanFilter.datasetId != null"
>
AND lmp_data_clean.dataset_id = #{datasetCleanFilter.datasetId}
</if>
</if>
</sql>
<select
id=
"getDatasetCleanList"
resultMap=
"BaseResultMap"
parameterType=
"com.yice.webadmin.app.model.DatasetClean"
>
SELECT * FROM lmp_data_clean
<where>
<include
refid=
"filterRef"
/>
</where>
<if
test=
"orderBy != null and orderBy != ''"
>
ORDER BY ${orderBy}
</if>
</select>
</mapper>
application-webadmin/src/main/java/com/yice/webadmin/app/data/DatasetData.java
View file @
25e78a21
...
@@ -14,23 +14,23 @@ import java.util.Date;
...
@@ -14,23 +14,23 @@ import java.util.Date;
@ApiModel
@ApiModel
@NoArgsConstructor
@NoArgsConstructor
@AllArgsConstructor
@AllArgsConstructor
@Document
(
collection
=
"
DATASET-DATA
"
)
@Document
(
collection
=
"
dataset_data
"
)
public
class
DatasetData
{
public
class
DatasetData
{
@Id
@Id
@ApiModelProperty
(
name
=
"_id"
,
value
=
"文档标识"
)
@ApiModelProperty
(
name
=
"_id"
,
value
=
"文档标识"
)
private
String
_
id
;
private
String
id
;
@ApiModelProperty
(
name
=
"version
I
d"
,
value
=
"版本标识"
)
@ApiModelProperty
(
name
=
"version
_i
d"
,
value
=
"版本标识"
)
private
Long
versionId
;
private
Long
versionId
;
@ApiModelProperty
(
name
=
"data"
,
value
=
"json格式数据"
)
@ApiModelProperty
(
name
=
"data"
,
value
=
"json格式数据"
)
private
String
data
;
private
String
data
;
@ApiModelProperty
(
name
=
"create
T
ime"
,
value
=
"创建时间"
)
@ApiModelProperty
(
name
=
"create
_t
ime"
,
value
=
"创建时间"
)
private
Date
createTime
;
private
Date
createTime
;
@ApiModelProperty
(
name
=
"mark
S
tatus"
,
value
=
"标记状态"
)
@ApiModelProperty
(
name
=
"mark
_s
tatus"
,
value
=
"标记状态"
)
private
Integer
markStatus
;
private
Integer
markStatus
;
}
}
application-webadmin/src/main/java/com/yice/webadmin/app/data/DatasetDataClean.java
0 → 100644
View file @
25e78a21
package
com
.
yice
.
webadmin
.
app
.
data
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
org.springframework.data.annotation.Id
;
import
org.springframework.data.mongodb.core.mapping.Document
;
import
java.util.Date
;
@Data
@ApiModel
@NoArgsConstructor
@AllArgsConstructor
@Document
(
collection
=
"dataset_data_clean"
)
public
class
DatasetDataClean
{
@Id
@ApiModelProperty
(
name
=
"_id"
,
value
=
"文档标识"
)
private
String
id
;
@ApiModelProperty
(
name
=
"clean_id"
,
value
=
"清洗任务标识id"
)
private
Long
cleanId
;
@ApiModelProperty
(
name
=
"clean_before_data"
,
value
=
"清洗前数据"
)
private
String
cleanBeforeData
;
@ApiModelProperty
(
name
=
"clean_after_data"
,
value
=
"清洗后数据"
)
private
String
cleanAfterData
;
@ApiModelProperty
(
name
=
"create_time"
,
value
=
"创建时间"
)
private
Date
createTime
;
}
application-webadmin/src/main/java/com/yice/webadmin/app/data/DatasetDataDeduplicate.java
0 → 100644
View file @
25e78a21
package
com
.
yice
.
webadmin
.
app
.
data
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
org.springframework.data.annotation.Id
;
import
org.springframework.data.mongodb.core.mapping.Document
;
import
java.util.Date
;
@Data
@ApiModel
@NoArgsConstructor
@AllArgsConstructor
@Document
(
collection
=
"dataset_data_deduplicate"
)
public
class
DatasetDataDeduplicate
{
@Id
@ApiModelProperty
(
name
=
"_id"
,
value
=
"文档标识"
)
private
String
id
;
@ApiModelProperty
(
name
=
"clean_id"
,
value
=
"清洗任务标识id"
)
private
Long
cleanId
;
@ApiModelProperty
(
name
=
"content"
,
value
=
"去重内容"
)
private
String
content
;
@ApiModelProperty
(
name
=
"create_time"
,
value
=
"创建时间"
)
private
Date
createTime
;
}
application-webadmin/src/main/java/com/yice/webadmin/app/data/DatasetDataDesensitive.java
0 → 100644
View file @
25e78a21
package
com
.
yice
.
webadmin
.
app
.
data
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
org.springframework.data.annotation.Id
;
import
org.springframework.data.mongodb.core.mapping.Document
;
import
java.util.Date
;
@Data
@ApiModel
@NoArgsConstructor
@AllArgsConstructor
@Document
(
collection
=
"dataset_data_desensitive"
)
public
class
DatasetDataDesensitive
{
@Id
@ApiModelProperty
(
name
=
"_id"
,
value
=
"文档标识"
)
private
String
id
;
@ApiModelProperty
(
name
=
"clean_id"
,
value
=
"清洗任务标识id"
)
private
Long
cleanId
;
@ApiModelProperty
(
name
=
"content"
,
value
=
"去隐私内容"
)
private
String
content
;
@ApiModelProperty
(
name
=
"create_time"
,
value
=
"创建时间"
)
private
Date
createTime
;
}
application-webadmin/src/main/java/com/yice/webadmin/app/data/DatasetDataFilter.java
0 → 100644
View file @
25e78a21
package
com
.
yice
.
webadmin
.
app
.
data
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
org.springframework.data.annotation.Id
;
import
org.springframework.data.mongodb.core.mapping.Document
;
import
java.util.Date
;
@Data
@ApiModel
@NoArgsConstructor
@AllArgsConstructor
@Document
(
collection
=
"dataset_data_filter"
)
public
class
DatasetDataFilter
{
@Id
@ApiModelProperty
(
name
=
"_id"
,
value
=
"文档标识"
)
private
String
id
;
@ApiModelProperty
(
name
=
"clean_id"
,
value
=
"清洗任务标识id"
)
private
Long
cleanId
;
@ApiModelProperty
(
name
=
"content"
,
value
=
"过滤内容"
)
private
String
content
;
@ApiModelProperty
(
name
=
"create_time"
,
value
=
"创建时间"
)
private
Date
createTime
;
}
application-webadmin/src/main/java/com/yice/webadmin/app/dto/DatasetCleanConfigDto.java
0 → 100644
View file @
25e78a21
package
com
.
yice
.
webadmin
.
app
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.Date
;
import
java.util.Map
;
/**
* DatasetCleanConfigDto视图对象。
*
* @author linking
* @date 2023-04-13
*/
@ApiModel
(
"DatasetCleanConfigDto视图对象"
)
@Data
public
class
DatasetCleanConfigDto
{
/**
* 数据清理配置id。
*/
@ApiModelProperty
(
value
=
"数据清理配置id"
)
private
Long
cleanConfigId
;
/**
* 清洗配置。
*/
@ApiModelProperty
(
value
=
"清洗配置"
)
private
String
cleanConfig
;
/**
* 过滤配置。
*/
@ApiModelProperty
(
value
=
"过滤配置"
)
private
String
filterConfig
;
/**
* 去隐私配置。
*/
@ApiModelProperty
(
value
=
"去隐私配置"
)
private
String
desensitiveConfig
;
/**
* 去重配置。
*/
@ApiModelProperty
(
value
=
"去重配置"
)
private
String
deduplicateConfig
;
/**
* 清理任务配置id。
*/
@ApiModelProperty
(
value
=
"清理任务配置id"
)
private
Long
cleanId
;
/**
* 创建人ID。
*/
@ApiModelProperty
(
value
=
"创建人ID"
)
private
Long
createUserId
;
/**
* 创建时间。
*/
@ApiModelProperty
(
value
=
"创建时间"
)
private
Date
createTime
;
/**
* 创建人名称字典。
*/
@ApiModelProperty
(
value
=
"创建人名称字典"
)
private
Map
<
String
,
Object
>
createUserIdDictMap
;
/**
* 更新人。
*/
@ApiModelProperty
(
value
=
"更新人"
)
private
Long
updateUserId
;
/**
* 更新时间。
*/
@ApiModelProperty
(
value
=
"更新时间"
)
private
Date
updateTime
;
}
application-webadmin/src/main/java/com/yice/webadmin/app/dto/DatasetCleanDto.java
0 → 100644
View file @
25e78a21
package
com
.
yice
.
webadmin
.
app
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
/**
* DatasetCleanDto视图对象。
*
* @author linking
* @date 2023-04-13
*/
@ApiModel
(
"DatasetCleanDto视图对象"
)
@Data
public
class
DatasetCleanDto
{
/**
* 清洗任务ID。
*/
@ApiModelProperty
(
value
=
"清洗任务ID"
)
private
Long
cleanId
;
/**
* 清洗数据集ID。
*/
@ApiModelProperty
(
value
=
"清洗数据集ID"
)
private
Long
datasetId
;
/**
* 清洗数据集名称。
*/
@ApiModelProperty
(
value
=
"清洗数据集名称"
)
private
String
datasetName
;
/**
* 清洗方式。
*/
@ApiModelProperty
(
value
=
"清洗方式"
)
private
List
<
String
>
cleanMethod
;
/**
* 开始时间。
*/
@ApiModelProperty
(
value
=
"开始时间"
)
private
Date
startTime
;
/**
* 清洗类型。
*/
@ApiModelProperty
(
value
=
"清洗类型"
)
private
Integer
cleanType
;
/**
* 清洗状态。
*/
@ApiModelProperty
(
value
=
"清洗状态:0:进行中;1:已完成"
)
private
Integer
cleanStatus
;
/**
* 完成时间。
*/
@ApiModelProperty
(
value
=
"完成时间"
)
private
Date
finishTime
;
/**
* 创建人。
*/
@ApiModelProperty
(
value
=
"创建人"
)
private
Long
createUserId
;
/**
* 创建时间。
*/
@ApiModelProperty
(
value
=
"创建时间"
)
private
Date
createTime
;
/**
* 创建人名称字典。
*/
@ApiModelProperty
(
value
=
"创建人名称字典"
)
private
Map
<
String
,
Object
>
createUserIdDictMap
;
/**
* 更新人。
*/
@ApiModelProperty
(
value
=
"更新人"
)
private
Long
updateUserId
;
/**
* 更新时间。
*/
@ApiModelProperty
(
value
=
"更新时间"
)
private
Date
updateTime
;
}
application-webadmin/src/main/java/com/yice/webadmin/app/dto/DatasetDataCleanDto.java
0 → 100644
View file @
25e78a21
package
com
.
yice
.
webadmin
.
app
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.Date
;
/**
* DatasetDataCleanDto视图对象。
*
* @author linking
* @date 2023-04-13
*/
@ApiModel
(
"DatasetDataCleanDto视图对象"
)
@Data
public
class
DatasetDataCleanDto
{
/**
* 文档标识
*/
@ApiModelProperty
(
value
=
"文档标识"
)
private
String
id
;
/**
* 版本标识。
*/
@ApiModelProperty
(
value
=
"清洗任务标识id"
)
private
Long
cleanId
;
/**
* 清洗前数据。
*/
@ApiModelProperty
(
value
=
"清洗前数据"
)
private
String
cleanBeforeData
;
/**
* 清洗后数据。
*/
@ApiModelProperty
(
value
=
"清洗后数据"
)
private
String
cleanAfterData
;
/**
* 创建时间。
*/
@ApiModelProperty
(
value
=
"创建时间"
)
private
Date
createTime
;
}
application-webadmin/src/main/java/com/yice/webadmin/app/dto/DatasetDataDeduplicateDto.java
0 → 100644
View file @
25e78a21
package
com
.
yice
.
webadmin
.
app
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.Date
;
/**
* DatasetDataDeduplicateDto视图对象。
*
* @author linking
* @date 2023-04-13
*/
@ApiModel
(
"DatasetDataDeduplicateDto视图对象"
)
@Data
public
class
DatasetDataDeduplicateDto
{
/**
* 文档标识
*/
@ApiModelProperty
(
value
=
"文档标识"
)
private
String
id
;
/**
* 版本标识。
*/
@ApiModelProperty
(
value
=
"清洗任务标识id"
)
private
Long
cleanId
;
/**
* 过滤内容。
*/
@ApiModelProperty
(
value
=
"过滤内容"
)
private
String
content
;
/**
* 创建时间。
*/
@ApiModelProperty
(
value
=
"创建时间"
)
private
Date
createTime
;
}
application-webadmin/src/main/java/com/yice/webadmin/app/dto/DatasetDataDesensitiveDto.java
0 → 100644
View file @
25e78a21
package
com
.
yice
.
webadmin
.
app
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.Date
;
/**
* DatasetDataDesensitiveDto视图对象。
*
* @author linking
* @date 2023-04-13
*/
@ApiModel
(
"DatasetDataDesensitiveDto视图对象"
)
@Data
public
class
DatasetDataDesensitiveDto
{
/**
* 文档标识
*/
@ApiModelProperty
(
value
=
"文档标识"
)
private
String
id
;
/**
* 版本标识。
*/
@ApiModelProperty
(
value
=
"清洗任务标识id"
)
private
Long
cleanId
;
/**
* 过滤内容。
*/
@ApiModelProperty
(
value
=
"过滤内容"
)
private
String
content
;
/**
* 创建时间。
*/
@ApiModelProperty
(
value
=
"创建时间"
)
private
Date
createTime
;
}
application-webadmin/src/main/java/com/yice/webadmin/app/dto/DatasetDataDto.java
View file @
25e78a21
...
@@ -20,7 +20,7 @@ public class DatasetDataDto {
...
@@ -20,7 +20,7 @@ public class DatasetDataDto {
* 文档标识
* 文档标识
*/
*/
@ApiModelProperty
(
value
=
"文档标识"
)
@ApiModelProperty
(
value
=
"文档标识"
)
private
String
_
id
;
private
String
id
;
/**
/**
* 版本标识。
* 版本标识。
...
...
application-webadmin/src/main/java/com/yice/webadmin/app/dto/DatasetDataFilterDto.java
0 → 100644
View file @
25e78a21
package
com
.
yice
.
webadmin
.
app
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.Date
;
/**
* DatasetDataFilterDto视图对象。
*
* @author linking
* @date 2023-04-13
*/
@ApiModel
(
"DatasetDataFilterDto视图对象"
)
@Data
public
class
DatasetDataFilterDto
{
/**
* 文档标识
*/
@ApiModelProperty
(
value
=
"文档标识"
)
private
String
id
;
/**
* 版本标识。
*/
@ApiModelProperty
(
value
=
"清洗任务标识id"
)
private
Long
cleanId
;
/**
* 过滤内容。
*/
@ApiModelProperty
(
value
=
"过滤内容"
)
private
String
content
;
/**
* 创建时间。
*/
@ApiModelProperty
(
value
=
"创建时间"
)
private
Date
createTime
;
}
application-webadmin/src/main/java/com/yice/webadmin/app/dto/DatasetVersionDto.java
View file @
25e78a21
...
@@ -52,7 +52,7 @@ public class DatasetVersionDto {
...
@@ -52,7 +52,7 @@ public class DatasetVersionDto {
/**
/**
* 清洗状态。
* 清洗状态。
*/
*/
@ApiModelProperty
(
value
=
"清洗状态"
)
@ApiModelProperty
(
value
=
"清洗状态
:未清洗;1清洗中;2已清洗
"
)
private
Integer
cleanStatus
;
private
Integer
cleanStatus
;
/**
/**
...
...
application-webadmin/src/main/java/com/yice/webadmin/app/model/DatasetClean.java
0 → 100644
View file @
25e78a21
package
com
.
yice
.
webadmin
.
app
.
model
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.yice.common.core.annotation.RelationDict
;
import
com.yice.common.core.base.mapper.BaseModelMapper
;
import
com.yice.common.core.base.model.BaseModel
;
import
com.yice.webadmin.app.vo.DatasetCleanVo
;
import
com.yice.webadmin.upms.model.SysUser
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
org.mapstruct.Mapper
;
import
org.mapstruct.factory.Mappers
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
/**
* DatasetClean实体对象。
*
* @author linking
* @date 2023-04-13
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@TableName
(
value
=
"lmp_dataset_clean"
)
public
class
DatasetClean
extends
BaseModel
{
/**
* 清洗任务ID。
*/
@TableId
(
value
=
"clean_id"
)
private
Long
cleanId
;
/**
* 清洗数据集ID。
*/
private
Long
datasetId
;
/**
* 清洗数据集名称。
*/
private
String
datasetName
;
/**
* 开始时间。
*/
private
Date
startTime
;
/**
* 清洗类型。
*/
private
Integer
cleanType
;
/**
* 清洗状态。
*/
private
Integer
cleanStatus
;
/**
* 完成时间。
*/
private
Date
finishTime
;
/**
* 创建人。
*/
private
Long
createUserId
;
/**
* 创建时间。
*/
private
Date
createTime
;
/**
* 清洗方式。
*/
@TableField
(
exist
=
false
)
private
List
<
String
>
cleanMethod
;
/**
* 创建人名称字典。
*/
@RelationDict
(
masterIdField
=
"createUserId"
,
slaveModelClass
=
SysUser
.
class
,
slaveIdField
=
"userId"
,
slaveNameField
=
"showName"
)
@TableField
(
exist
=
false
)
private
Map
<
String
,
Object
>
createUserIdDictMap
;
/**
* 更新人。
*/
private
Long
updateUserId
;
/**
* 更新时间。
*/
private
Date
updateTime
;
@Mapper
public
interface
DatasetCleanModelMapper
extends
BaseModelMapper
<
DatasetCleanVo
,
DatasetClean
>
{
/**
* 转换Vo对象到实体对象。
*
* @param datasetCleanVo 域对象。
* @return 实体对象。
*/
@Override
DatasetClean
toModel
(
DatasetCleanVo
datasetCleanVo
);
/**
* 转换实体对象到VO对象。
*
* @param datasetClean 实体对象。
* @return 域对象。
*/
@Override
DatasetCleanVo
fromModel
(
DatasetClean
datasetClean
);
}
public
static
final
DatasetClean
.
DatasetCleanModelMapper
INSTANCE
=
Mappers
.
getMapper
(
DatasetClean
.
DatasetCleanModelMapper
.
class
);
}
application-webadmin/src/main/java/com/yice/webadmin/app/model/DatasetCleanConfig.java
0 → 100644
View file @
25e78a21
package
com
.
yice
.
webadmin
.
app
.
model
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.yice.common.core.annotation.RelationDict
;
import
com.yice.common.core.base.mapper.BaseModelMapper
;
import
com.yice.common.core.base.model.BaseModel
;
import
com.yice.webadmin.app.vo.DatasetCleanConfigVo
;
import
com.yice.webadmin.upms.model.SysUser
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
org.mapstruct.Mapper
;
import
org.mapstruct.factory.Mappers
;
import
java.util.Date
;
import
java.util.Map
;
/**
* DatasetCleanConfig实体对象。
*
* @author linking
* @date 2023-04-13
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@TableName
(
value
=
"lmp_dataset_clean_config"
)
public
class
DatasetCleanConfig
extends
BaseModel
{
/**
* 数据清理配置id。
*/
@TableId
(
value
=
"clean_config_id"
)
private
Long
cleanConfigId
;
/**
* 清洗配置。
*/
private
String
cleanConfig
;
/**
* 过滤配置。
*/
private
String
filterConfig
;
/**
* 去隐私配置。
*/
private
String
desensitiveConfig
;
/**
* 去重配置。
*/
private
String
deduplicateConfig
;
/**
* 清理任务配置id。
*/
private
Long
cleanId
;
/**
* 创建人。
*/
private
Long
createUserId
;
/**
* 创建时间。
*/
private
Date
createTime
;
/**
* 创建人名称字典。
*/
@RelationDict
(
masterIdField
=
"createUserId"
,
slaveModelClass
=
SysUser
.
class
,
slaveIdField
=
"userId"
,
slaveNameField
=
"showName"
)
@TableField
(
exist
=
false
)
private
Map
<
String
,
Object
>
createUserIdDictMap
;
/**
* 更新人。
*/
private
Long
updateUserId
;
/**
* 更新时间。
*/
private
Date
updateTime
;
@Mapper
public
interface
DatasetCleanConfigModelMapper
extends
BaseModelMapper
<
DatasetCleanConfigVo
,
DatasetCleanConfig
>
{
/**
* 转换Vo对象到实体对象。
*
* @param datasetCleanConfigVo 域对象。
* @return 实体对象。
*/
@Override
DatasetCleanConfig
toModel
(
DatasetCleanConfigVo
datasetCleanConfigVo
);
/**
* 转换实体对象到VO对象。
*
* @param datasetCleanConfig 实体对象。
* @return 域对象。
*/
@Override
DatasetCleanConfigVo
fromModel
(
DatasetCleanConfig
datasetCleanConfig
);
}
public
static
final
DatasetCleanConfig
.
DatasetCleanConfigModelMapper
INSTANCE
=
Mappers
.
getMapper
(
DatasetCleanConfig
.
DatasetCleanConfigModelMapper
.
class
);
}
application-webadmin/src/main/java/com/yice/webadmin/app/service/DatasetCleanConfigService.java
0 → 100644
View file @
25e78a21
package
com
.
yice
.
webadmin
.
app
.
service
;
import
com.yice.common.core.base.service.IBaseService
;
import
com.yice.common.core.object.MyPageParam
;
import
com.yice.webadmin.app.data.DatasetDataClean
;
import
com.yice.webadmin.app.data.DatasetDataDeduplicate
;
import
com.yice.webadmin.app.data.DatasetDataDesensitive
;
import
com.yice.webadmin.app.data.DatasetDataFilter
;
import
com.yice.webadmin.app.model.DatasetCleanConfig
;
import
java.util.List
;
/**
* 数据集导出数据操作服务接口。
*
* @author linking
* @date 2023-04-13
*/
public
interface
DatasetCleanConfigService
extends
IBaseService
<
DatasetCleanConfig
,
Long
>
{
/**
* 保存新增对象。
*
* @param datasetCleanConfig 新增对象。
* @return 返回新增对象。
*/
DatasetCleanConfig
saveNew
(
DatasetCleanConfig
datasetCleanConfig
);
/**
* 利用数据库的insertList语法,批量插入对象列表。
*
* @param datasetCleanConfigList 新增对象列表。
*/
void
saveNewBatch
(
List
<
DatasetCleanConfig
>
datasetCleanConfigList
);
/**
* 更新数据对象。
*
* @param datasetCleanConfig 更新的对象。
* @param originalDatasetCleanConfig 原有数据对象。
* @return 成功返回true,否则false。
*/
boolean
update
(
DatasetCleanConfig
datasetCleanConfig
,
DatasetCleanConfig
originalDatasetCleanConfig
);
/**
* 删除指定数据。
*
* @param cleanId 主键Id。
* @return 成功返回true,否则false。
*/
boolean
remove
(
Long
cleanId
);
/**
* 获取单表查询结果。由于没有关联数据查询,因此在仅仅获取单表数据的场景下,效率更高。
* 如果需要同时获取关联数据,请移步(getDatasetCleanConfigListWithRelation)方法。
*
* @param filter 过滤对象。
* @param orderBy 排序参数。
* @return 查询结果集。
*/
List
<
DatasetCleanConfig
>
getDatasetCleanConfigList
(
DatasetCleanConfig
filter
,
String
orderBy
);
/**
* 获取主表的查询结果,以及主表关联的字典数据和一对一从表数据,以及一对一从表的字典数据。
* 该查询会涉及到一对一从表的关联过滤,或一对多从表的嵌套关联过滤,因此性能不如单表过滤。
* 如果仅仅需要获取主表数据,请移步(getDatasetCleanConfigListWithRelation),以便获取更好的查询性能。
*
* @param filter 主表过滤对象。
* @param orderBy 排序参数。
* @return 查询结果集。
*/
List
<
DatasetCleanConfig
>
getDatasetCleanConfigListWithRelation
(
DatasetCleanConfig
filter
,
String
orderBy
);
/**
* 查询数据集重复列表集合
* @param filter 清洗标识
* @param pageParam 页码参数
* @return 返回查看对象列表
*/
List
<
DatasetDataDeduplicate
>
getDatasetDeduplicateList
(
DatasetDataDeduplicate
filter
,
MyPageParam
pageParam
);
/**
* 查询数据集过滤列表集合
* @param filter 清洗标识
* @param pageParam 页码参数
* @return 返回查看对象列表
*/
List
<
DatasetDataFilter
>
getDatasetFilterList
(
DatasetDataFilter
filter
,
MyPageParam
pageParam
);
/**
* 查询数据集清洗列表集合
* @param filter 清洗标识
* @param pageParam 页码参数
* @return 返回查看对象列表
*/
List
<
DatasetDataClean
>
getDatasetCleanList
(
DatasetDataClean
filter
,
MyPageParam
pageParam
);
/**
* 查询数据集隐私列表集合
* @param filter 清洗标识
* @param pageParam 页码参数
* @return 返回查看对象列表
*/
List
<
DatasetDataDesensitive
>
getDatasetDesensitiveList
(
DatasetDataDesensitive
filter
,
MyPageParam
pageParam
);
/**
* 保存数据集去隐私100条数据新增对象。
*
* @param desensitives 新增对象。
* @return 返回新增对象。
*/
void
saveDatasetDesensitive
(
List
<
DatasetDataDesensitive
>
desensitives
);
/**
* 保存数据集去重100条数据新增对象。
*
* @param deduplicates 新增对象。
* @return 返回新增对象。
*/
void
saveDatasetDeduplicate
(
List
<
DatasetDataDeduplicate
>
deduplicates
);
/**
* 保存数据集过滤100条数据新增对象。
*
* @param filters 新增对象。
* @return 返回新增对象。
*/
void
saveDatasetFilter
(
List
<
DatasetDataFilter
>
filters
);
/**
* 保存数据集清洗100条数据新增对象。
*
* @param cleans 新增对象。
* @return 返回新增对象。
*/
void
saveDatasetClean
(
List
<
DatasetDataClean
>
cleans
);
}
application-webadmin/src/main/java/com/yice/webadmin/app/service/DatasetCleanService.java
0 → 100644
View file @
25e78a21
package
com
.
yice
.
webadmin
.
app
.
service
;
import
com.yice.common.core.base.service.IBaseService
;
import
com.yice.webadmin.app.model.DatasetClean
;
import
com.yice.webadmin.app.model.DatasetCleanConfig
;
import
java.util.List
;
/**
* 数据集导出数据操作服务接口。
*
* @author linking
* @date 2023-04-13
*/
public
interface
DatasetCleanService
extends
IBaseService
<
DatasetClean
,
Long
>
{
/**
* 保存新增对象。
*
* @param datasetClean 新增对象。
* @return 返回新增对象。
*/
DatasetClean
saveNew
(
DatasetClean
datasetClean
);
/**
* 保存清洗对象以及清洗配置对象。
*
* @param datasetClean 新增对象。
* @param datasetCleanConfig 新增配置对象。
* @return 返回新增对象。
*/
DatasetClean
saveNew
(
DatasetClean
datasetClean
,
DatasetCleanConfig
datasetCleanConfig
);
/**
* 利用数据库的insertList语法,批量插入对象列表。
*
* @param datasetCleanList 新增对象列表。
*/
void
saveNewBatch
(
List
<
DatasetClean
>
datasetCleanList
);
/**
* 更新数据对象。
*
* @param datasetClean 更新的对象。
* @param originalDatasetClean 原有数据对象。
* @return 成功返回true,否则false。
*/
boolean
update
(
DatasetClean
datasetClean
,
DatasetClean
originalDatasetClean
);
/**
* 删除指定数据。
*
* @param cleanId 主键Id。
* @return 成功返回true,否则false。
*/
boolean
remove
(
Long
cleanId
);
/**
* 获取单表查询结果。由于没有关联数据查询,因此在仅仅获取单表数据的场景下,效率更高。
* 如果需要同时获取关联数据,请移步(getdatasetCleanListWithRelation)方法。
*
* @param filter 过滤对象。
* @param orderBy 排序参数。
* @return 查询结果集。
*/
List
<
DatasetClean
>
getDatasetCleanList
(
DatasetClean
filter
,
String
orderBy
);
/**
* 获取主表的查询结果,以及主表关联的字典数据和一对一从表数据,以及一对一从表的字典数据。
* 该查询会涉及到一对一从表的关联过滤,或一对多从表的嵌套关联过滤,因此性能不如单表过滤。
* 如果仅仅需要获取主表数据,请移步(getdatasetCleanList),以便获取更好的查询性能。
*
* @param filter 主表过滤对象。
* @param orderBy 排序参数。
* @return 查询结果集。
*/
List
<
DatasetClean
>
getDatasetCleanListWithRelation
(
DatasetClean
filter
,
String
orderBy
);
}
application-webadmin/src/main/java/com/yice/webadmin/app/service/DatasetDataRecordService.java
0 → 100644
View file @
25e78a21
package
com
.
yice
.
webadmin
.
app
.
service
;
import
com.yice.common.core.object.MyPageParam
;
import
com.yice.webadmin.app.data.DatasetData
;
import
java.util.List
;
/**
* 数据集版本数据操作服务接口。
*
* @author linking
* @date 2023-04-13
*/
public
interface
DatasetDataRecordService
{
/**
* 保存新增对象。
*
* @param datasetData 新增对象。
* @return 返回新增对象。
*/
void
save
(
DatasetData
datasetData
);
/**
* 删除整个集合中的文档数据。
*
* @param versionId 版本标识。
* @return 返回受影响的行数。
*/
void
delete
(
Long
versionId
);
/**
* 根据id查询该条信息。
*
* @param id 文档标识。
* @param versionId 版本标识。
* @return 返回查看对象。
*/
DatasetData
view
(
String
id
,
Long
versionId
);
/**
* 查询列表集合总条数
* @param versionId 版本标识
* @return 返回总条数
*/
Long
count
(
Long
versionId
);
/**
* 查询列表集合总条数
* @param filter 过滤条件
* @return 返回总条数
*/
Long
count
(
DatasetData
filter
);
/**
* 查询列表集合
* @param versionId 版本标识
* @param pageParam 页码参数
* @return 返回查看对象列表
*/
List
<
DatasetData
>
list
(
Long
versionId
,
MyPageParam
pageParam
);
/**
* 根据条件查询数据集数据。
*
* @param filter 过滤对象。
* @param pageParam 分页对象。
* @return 查询结果集。
*/
List
<
DatasetData
>
list
(
DatasetData
filter
,
MyPageParam
pageParam
);
/**
* 更新数据对象。
*
* @param datasetData 更新的对象。
* @return 返回修改后的对象。
*/
void
update
(
DatasetData
datasetData
);
/**
* 删除指定数据。
*
* @param id 主键Id。
* @param versionId 版本标识。
* @return 返回受影响的行数。
*/
Long
remove
(
String
id
,
Long
versionId
);
}
application-webadmin/src/main/java/com/yice/webadmin/app/service/impl/DatasetCleanConfigServiceImpl.java
0 → 100644
View file @
25e78a21
This diff is collapsed.
Click to expand it.
application-webadmin/src/main/java/com/yice/webadmin/app/service/impl/DatasetCleanServiceImpl.java
0 → 100644
View file @
25e78a21
package
com
.
yice
.
webadmin
.
app
.
service
.
impl
;
import
cn.hutool.core.collection.CollUtil
;
import
com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper
;
import
com.github.pagehelper.Page
;
import
com.yice.common.core.base.dao.BaseDaoMapper
;
import
com.yice.common.core.base.service.BaseService
;
import
com.yice.common.core.object.MyPageParam
;
import
com.yice.common.core.object.MyRelationParam
;
import
com.yice.common.core.util.MyModelUtil
;
import
com.yice.common.sequence.wrapper.IdGeneratorWrapper
;
import
com.yice.webadmin.app.constant.DatasetConstant
;
import
com.yice.webadmin.app.dao.DatasetCleanConfigMapper
;
import
com.yice.webadmin.app.dao.DatasetCleanMapper
;
import
com.yice.webadmin.app.data.DatasetData
;
import
com.yice.webadmin.app.data.DatasetDataFilter
;
import
com.yice.webadmin.app.model.DatasetClean
;
import
com.yice.webadmin.app.model.DatasetCleanConfig
;
import
com.yice.webadmin.app.model.DatasetVersion
;
import
com.yice.webadmin.app.service.DatasetCleanConfigService
;
import
com.yice.webadmin.app.service.DatasetCleanService
;
import
com.yice.webadmin.app.service.DatasetDataService
;
import
com.yice.webadmin.app.service.DatasetVersionService
;
import
com.yice.webadmin.app.util.JsonNameExtractor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* 数据集详情数据操作服务类。
*
* @author linking
* @date 2023-04-13
*/
@Slf4j
@Service
(
"datasetCleanService"
)
public
class
DatasetCleanServiceImpl
extends
BaseService
<
DatasetClean
,
Long
>
implements
DatasetCleanService
{
@Autowired
private
DatasetCleanMapper
datasetCleanMapper
;
@Autowired
private
DatasetCleanConfigMapper
datasetCleanConfigMapper
;
@Autowired
private
IdGeneratorWrapper
idGenerator
;
@Autowired
private
DatasetCleanConfigService
datasetCleanConfigService
;
@Autowired
private
DatasetDataService
datasetDataService
;
@Autowired
private
DatasetVersionService
datasetVersionService
;
/**
* 返回当前Service的主表Mapper对象。
*
* @return 主表Mapper对象。
*/
@Override
protected
BaseDaoMapper
<
DatasetClean
>
mapper
()
{
return
datasetCleanMapper
;
}
/**
* 保存新增对象。
*
* @param datasetClean 新增对象。
* @return 返回新增对象。
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
DatasetClean
saveNew
(
DatasetClean
datasetClean
)
{
datasetCleanMapper
.
insert
(
this
.
buildDefaultValue
(
datasetClean
));
return
datasetClean
;
}
/**
* 保存清洗对象以及清洗配置对象。
*
* @param datasetClean 新增对象。
* @param datasetCleanConfig 新增配置对象。
* @return 返回新增对象。
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
DatasetClean
saveNew
(
DatasetClean
datasetClean
,
DatasetCleanConfig
datasetCleanConfig
)
{
datasetCleanMapper
.
insert
(
this
.
buildDefaultValue
(
datasetClean
));
datasetCleanConfig
.
setCleanId
(
datasetClean
.
getCleanId
());
datasetCleanConfig
.
setCleanConfigId
(
idGenerator
.
nextLongId
());
MyModelUtil
.
fillCommonsForInsert
(
datasetCleanConfig
);
datasetCleanConfigMapper
.
insert
(
datasetCleanConfig
);
DatasetVersion
datasetVersion
=
new
DatasetVersion
();
datasetVersion
.
setVersionId
(
datasetClean
.
getDatasetId
());
datasetVersion
.
setCleanStatus
(
DatasetConstant
.
CLEAN_PROGRESS
);
datasetVersionService
.
updateById
(
datasetVersion
);
return
datasetClean
;
}
/**
* 清洗100个样本
* @param datasetId 数据集对应的版本
*/
private
void
doDatasetCleanHandler
(
Long
datasetId
,
Long
cleanId
)
{
MyPageParam
param
=
new
MyPageParam
();
param
.
setPageNum
(
DatasetConstant
.
PAGE_NUM
);
param
.
setPageSize
(
DatasetConstant
.
MAX_PAGE_SIZE
);
List
<
DatasetData
>
dataList
=
datasetDataService
.
list
(
datasetId
,
param
);
if
(
CollUtil
.
isNotEmpty
(
dataList
))
{
}
datasetCleanConfigService
.
saveDatasetClean
(
null
);
datasetCleanConfigService
.
saveDatasetDeduplicate
(
null
);
}
private
void
doCleanDatasetHandler
(
List
<
DatasetData
>
dataList
,
Long
cleanId
)
{
if
(
CollUtil
.
isNotEmpty
(
dataList
))
{
for
(
DatasetData
datasetData:
dataList
)
{
DatasetCleanConfig
filter
=
new
DatasetCleanConfig
();
filter
.
setCleanId
(
cleanId
);
DatasetCleanConfig
cleanConfig
=
datasetCleanConfigService
.
getOne
(
filter
);
}
}
}
/**
* 利用数据库的insertList语法,批量插入对象列表。
*
* @param datasetCleanList 新增对象列表。
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
void
saveNewBatch
(
List
<
DatasetClean
>
datasetCleanList
)
{
if
(
CollUtil
.
isNotEmpty
(
datasetCleanList
))
{
datasetCleanList
.
forEach
(
this
::
buildDefaultValue
);
datasetCleanMapper
.
insertList
(
datasetCleanList
);
}
}
/**
* 更新数据对象。
*
* @param datasetClean 更新的对象。
* @param originalDatasetClean 原有数据对象。
* @return 成功返回true,否则false。
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
boolean
update
(
DatasetClean
datasetClean
,
DatasetClean
originalDatasetClean
)
{
MyModelUtil
.
fillCommonsForUpdate
(
datasetClean
,
originalDatasetClean
);
// 这里重点提示,在执行主表数据更新之前,如果有哪些字段不支持修改操作,请用原有数据对象字段替换当前数据字段。
UpdateWrapper
<
DatasetClean
>
uw
=
this
.
createUpdateQueryForNullValue
(
datasetClean
,
datasetClean
.
getCleanId
());
return
datasetCleanMapper
.
update
(
datasetClean
,
uw
)
==
1
;
}
/**
* 删除指定数据。
*
* @param cleanId 主键Id。
* @return 成功返回true,否则false。
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
boolean
remove
(
Long
cleanId
)
{
return
datasetCleanMapper
.
deleteById
(
cleanId
)
==
1
;
}
/**
* 获取单表查询结果。由于没有关联数据查询,因此在仅仅获取单表数据的场景下,效率更高。
* 如果需要同时获取关联数据,请移步(getDatasetCleanListWithRelation)方法。
*
* @param filter 过滤对象。
* @param orderBy 排序参数。
* @return 查询结果集。
*/
@Override
public
List
<
DatasetClean
>
getDatasetCleanList
(
DatasetClean
filter
,
String
orderBy
)
{
return
datasetCleanMapper
.
getDatasetCleanList
(
filter
,
orderBy
);
}
/**
* 获取主表的查询结果,以及主表关联的字典数据和一对一从表数据,以及一对一从表的字典数据。
* 该查询会涉及到一对一从表的关联过滤,或一对多从表的嵌套关联过滤,因此性能不如单表过滤。
* 如果仅仅需要获取主表数据,请移步(getDatasetCleanList),以便获取更好的查询性能。
*
* @param filter 主表过滤对象。
* @param orderBy 排序参数。
* @return 查询结果集。
*/
@Override
public
List
<
DatasetClean
>
getDatasetCleanListWithRelation
(
DatasetClean
filter
,
String
orderBy
)
{
List
<
DatasetClean
>
resultList
=
datasetCleanMapper
.
getDatasetCleanList
(
filter
,
orderBy
);
// 在缺省生成的代码中,如果查询结果resultList不是Page对象,说明没有分页,那么就很可能是数据导出接口调用了当前方法。
// 为了避免一次性的大量数据关联,规避因此而造成的系统运行性能冲击,这里手动进行了分批次读取,开发者可按需修改该值。
int
batchSize
=
resultList
instanceof
Page
?
0
:
1000
;
this
.
buildRelationForDataList
(
resultList
,
MyRelationParam
.
normal
(),
batchSize
);
this
.
buildDatasetMethod
(
resultList
);
return
resultList
;
}
/**
* 构建数据集方法
* @param datasetCleanList 数据集列表
*/
private
void
buildDatasetMethod
(
List
<
DatasetClean
>
datasetCleanList
){
List
<
String
>
jsonStrings
=
new
ArrayList
<>();
if
(
CollUtil
.
isNotEmpty
(
datasetCleanList
)){
for
(
DatasetClean
datasetClean:
datasetCleanList
)
{
DatasetCleanConfig
filter
=
new
DatasetCleanConfig
();
filter
.
setCleanId
(
datasetClean
.
getCleanId
());
DatasetCleanConfig
cleanConfig
=
datasetCleanConfigService
.
getOne
(
filter
);
jsonStrings
.
add
(
cleanConfig
.
getCleanConfig
());
jsonStrings
.
add
(
cleanConfig
.
getDeduplicateConfig
());
jsonStrings
.
add
(
cleanConfig
.
getFilterConfig
());
jsonStrings
.
add
(
cleanConfig
.
getDesensitiveConfig
());
List
<
String
>
nonEmptyJsonStrings
=
jsonStrings
.
stream
()
.
filter
(
s
->
s
!=
null
&&
!
s
.
isEmpty
())
.
collect
(
Collectors
.
toList
());
datasetClean
.
setCleanMethod
(
JsonNameExtractor
.
extractNames
(
nonEmptyJsonStrings
));
}
}
}
/**
* 新增清理对象
* @param DatasetClean 数据集清理对象
* @return 清理对象
*/
private
DatasetClean
buildDefaultValue
(
DatasetClean
DatasetClean
)
{
if
(
DatasetClean
.
getCleanId
()
==
null
)
{
DatasetClean
.
setCleanId
(
idGenerator
.
nextLongId
());
}
MyModelUtil
.
fillCommonsForInsert
(
DatasetClean
);
return
DatasetClean
;
}
}
application-webadmin/src/main/java/com/yice/webadmin/app/service/impl/DatasetVersionServiceImpl.java
View file @
25e78a21
...
@@ -94,7 +94,7 @@ public class DatasetVersionServiceImpl extends BaseService<DatasetVersion, Long>
...
@@ -94,7 +94,7 @@ public class DatasetVersionServiceImpl extends BaseService<DatasetVersion, Long>
version
=
datasetVersionList
.
get
(
datasetVersionList
.
size
()
-
1
).
getDatasetVersion
()
+
1
;
version
=
datasetVersionList
.
get
(
datasetVersionList
.
size
()
-
1
).
getDatasetVersion
()
+
1
;
}
}
datasetVersion
.
setDatasetVersion
(
version
);
datasetVersion
.
setDatasetVersion
(
version
);
datasetVersion
.
setVersionName
(
reDatasetManage
.
getDatasetName
()
+
"_
V"
+
datasetVersion
.
getDatasetVersion
());
datasetVersion
.
setVersionName
(
"
V"
+
datasetVersion
.
getDatasetVersion
());
datasetVersion
.
setDatasetId
(
reDatasetManage
.
getDatasetId
());
datasetVersion
.
setDatasetId
(
reDatasetManage
.
getDatasetId
());
datasetVersion
.
setCleanStatus
(
0
);
datasetVersion
.
setCleanStatus
(
0
);
datasetVersion
.
setDataVolume
(
0L
);
datasetVersion
.
setDataVolume
(
0L
);
...
...
application-webadmin/src/main/java/com/yice/webadmin/app/util/JsonNameExtractor.java
0 → 100644
View file @
25e78a21
package
com
.
yice
.
webadmin
.
app
.
util
;
import
com.fasterxml.jackson.databind.JsonNode
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
lombok.extern.slf4j.Slf4j
;
import
java.io.IOException
;
import
java.util.ArrayList
;
import
java.util.List
;
@Slf4j
public
class
JsonNameExtractor
{
/**
* 拼接名字
* @param jsonStrings json名字
* @return 名字列表
*/
public
static
List
<
String
>
extractNames
(
List
<
String
>
jsonStrings
)
{
ObjectMapper
mapper
=
new
ObjectMapper
();
List
<
String
>
names
=
new
ArrayList
<>();
for
(
String
jsonString
:
jsonStrings
)
{
try
{
JsonNode
rootNode
=
mapper
.
readTree
(
jsonString
);
if
(
rootNode
.
isArray
())
{
for
(
JsonNode
jsonNode
:
rootNode
)
{
JsonNode
nameNode
=
jsonNode
.
get
(
"name"
);
if
(
nameNode
!=
null
&&
nameNode
.
isTextual
())
{
names
.
add
(
nameNode
.
asText
());
}
}
}
}
catch
(
IOException
e
)
{
log
.
error
(
"extract name is error"
,
e
);
continue
;
}
}
return
names
;
}
}
application-webadmin/src/main/java/com/yice/webadmin/app/vo/DatasetCleanConfigVo.java
0 → 100644
View file @
25e78a21
package
com
.
yice
.
webadmin
.
app
.
vo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.Date
;
import
java.util.Map
;
/**
* DatasetCleanConfigVo视图对象。
*
* @author linking
* @date 2023-04-13
*/
@ApiModel
(
"DatasetCleanConfigVo视图对象"
)
@Data
public
class
DatasetCleanConfigVo
{
/**
* 数据清理配置id。
*/
@ApiModelProperty
(
value
=
"数据清理配置id"
)
private
Long
cleanConfigId
;
/**
* 清洗配置。
*/
@ApiModelProperty
(
value
=
"清洗配置"
)
private
String
cleanConfig
;
/**
* 过滤配置。
*/
@ApiModelProperty
(
value
=
"过滤配置"
)
private
String
filterConfig
;
/**
* 去隐私配置。
*/
@ApiModelProperty
(
value
=
"去隐私配置"
)
private
String
desensitiveConfig
;
/**
* 去重配置。
*/
@ApiModelProperty
(
value
=
"去重配置"
)
private
String
deduplicateConfig
;
/**
* 清理任务配置id。
*/
@ApiModelProperty
(
value
=
"清理任务配置id"
)
private
String
cleanId
;
/**
* 创建人ID。
*/
@ApiModelProperty
(
value
=
"创建人ID"
)
private
Integer
cleanType
;
/**
* 创建时间。
*/
@ApiModelProperty
(
value
=
"创建时间"
)
private
Date
createTime
;
/**
* 创建人名称字典。
*/
@ApiModelProperty
(
value
=
"创建人名称字典"
)
private
Map
<
String
,
Object
>
createUserIdDictMap
;
/**
* 更新人。
*/
@ApiModelProperty
(
value
=
"更新人"
)
private
Long
updateUserId
;
/**
* 更新时间。
*/
@ApiModelProperty
(
value
=
"更新时间"
)
private
Date
updateTime
;
}
application-webadmin/src/main/java/com/yice/webadmin/app/vo/DatasetCleanVo.java
0 → 100644
View file @
25e78a21
package
com
.
yice
.
webadmin
.
app
.
vo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
/**
* DatasetCleanVo视图对象。
*
* @author linking
* @date 2023-04-13
*/
@ApiModel
(
"DatasetCleanVo视图对象"
)
@Data
public
class
DatasetCleanVo
{
/**
* 清洗任务ID。
*/
@ApiModelProperty
(
value
=
"清洗任务ID"
)
private
Long
cleanId
;
/**
* 清洗数据集ID。
*/
@ApiModelProperty
(
value
=
"清洗数据集ID"
)
private
Long
datasetId
;
/**
* 清洗方式。
*/
@ApiModelProperty
(
value
=
"清洗方式"
)
private
List
<
String
>
cleanMethod
;
/**
* 清洗数据集名称。
*/
@ApiModelProperty
(
value
=
"清洗数据集名称"
)
private
String
datasetName
;
/**
* 开始时间。
*/
@ApiModelProperty
(
value
=
"开始时间"
)
private
Date
startTime
;
/**
* 清洗类型。
*/
@ApiModelProperty
(
value
=
"清洗类型"
)
private
Integer
cleanType
;
/**
* 清洗状态。
*/
@ApiModelProperty
(
value
=
"清洗状态"
)
private
Integer
cleanStatus
;
/**
* 完成时间。
*/
@ApiModelProperty
(
value
=
"完成时间"
)
private
Date
finishTime
;
/**
* 创建人。
*/
@ApiModelProperty
(
value
=
"创建人"
)
private
Long
createUserId
;
/**
* 创建时间。
*/
@ApiModelProperty
(
value
=
"创建时间"
)
private
Date
createTime
;
/**
* 创建人名称字典。
*/
@ApiModelProperty
(
value
=
"创建人名称字典"
)
private
Map
<
String
,
Object
>
createUserIdDictMap
;
/**
* 更新人。
*/
@ApiModelProperty
(
value
=
"更新人"
)
private
Long
updateUserId
;
/**
* 更新时间。
*/
@ApiModelProperty
(
value
=
"更新时间"
)
private
Date
updateTime
;
}
application-webadmin/src/main/java/com/yice/webadmin/app/vo/DatasetDataCleanVo.java
0 → 100644
View file @
25e78a21
package
com
.
yice
.
webadmin
.
app
.
vo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.Date
;
/**
* DatasetDataCleanVo视图对象。
*
* @author linking
* @date 2023-04-13
*/
@ApiModel
(
"DatasetDataCleanVo视图对象"
)
@Data
public
class
DatasetDataCleanVo
{
/**
* 文档标识
*/
@ApiModelProperty
(
value
=
"文档标识"
)
private
String
id
;
/**
* 版本标识。
*/
@ApiModelProperty
(
value
=
"清洗任务标识id"
)
private
Long
cleanId
;
/**
* 清洗前数据。
*/
@ApiModelProperty
(
value
=
"清洗前数据"
)
private
String
cleanBeforeData
;
/**
* 清洗后数据。
*/
@ApiModelProperty
(
value
=
"清洗后数据"
)
private
String
cleanAfterData
;
/**
* 创建时间。
*/
@ApiModelProperty
(
value
=
"创建时间"
)
private
Date
createTime
;
}
application-webadmin/src/main/java/com/yice/webadmin/app/vo/DatasetDataDeduplicateVo.java
0 → 100644
View file @
25e78a21
package
com
.
yice
.
webadmin
.
app
.
vo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.Date
;
/**
* DatasetDataDeduplicateVo视图对象。
*
* @author linking
* @date 2023-04-13
*/
@ApiModel
(
"DatasetDataDeduplicateVo视图对象"
)
@Data
public
class
DatasetDataDeduplicateVo
{
/**
* 文档标识
*/
@ApiModelProperty
(
value
=
"文档标识"
)
private
String
id
;
/**
* 版本标识。
*/
@ApiModelProperty
(
value
=
"清洗任务标识id"
)
private
Long
cleanId
;
/**
* 过滤内容。
*/
@ApiModelProperty
(
value
=
"过滤内容"
)
private
String
content
;
/**
* 创建时间。
*/
@ApiModelProperty
(
value
=
"创建时间"
)
private
Date
createTime
;
}
application-webadmin/src/main/java/com/yice/webadmin/app/vo/DatasetDataDesensitiveVo.java
0 → 100644
View file @
25e78a21
package
com
.
yice
.
webadmin
.
app
.
vo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.Date
;
/**
* DatasetDataDesensitiveVo视图对象。
*
* @author linking
* @date 2023-04-13
*/
@ApiModel
(
"DatasetDataDesensitiveVo视图对象"
)
@Data
public
class
DatasetDataDesensitiveVo
{
/**
* 文档标识
*/
@ApiModelProperty
(
value
=
"文档标识"
)
private
String
id
;
/**
* 版本标识。
*/
@ApiModelProperty
(
value
=
"清洗任务标识id"
)
private
Long
cleanId
;
/**
* 过滤内容。
*/
@ApiModelProperty
(
value
=
"过滤内容"
)
private
String
content
;
/**
* 创建时间。
*/
@ApiModelProperty
(
value
=
"创建时间"
)
private
Date
createTime
;
}
application-webadmin/src/main/java/com/yice/webadmin/app/vo/DatasetDataFilterVo.java
0 → 100644
View file @
25e78a21
package
com
.
yice
.
webadmin
.
app
.
vo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.Date
;
/**
* DatasetDataFilterVo视图对象。
*
* @author linking
* @date 2023-04-13
*/
@ApiModel
(
"DatasetDataFilterVo视图对象"
)
@Data
public
class
DatasetDataFilterVo
{
/**
* 文档标识
*/
@ApiModelProperty
(
value
=
"文档标识"
)
private
String
id
;
/**
* 版本标识。
*/
@ApiModelProperty
(
value
=
"清洗任务标识id"
)
private
Long
cleanId
;
/**
* 过滤内容。
*/
@ApiModelProperty
(
value
=
"过滤内容"
)
private
String
content
;
/**
* 创建时间。
*/
@ApiModelProperty
(
value
=
"创建时间"
)
private
Date
createTime
;
}
application-webadmin/src/main/java/com/yice/webadmin/app/vo/DatasetDataVo.java
View file @
25e78a21
...
@@ -20,7 +20,7 @@ public class DatasetDataVo {
...
@@ -20,7 +20,7 @@ public class DatasetDataVo {
* 文档标识
* 文档标识
*/
*/
@ApiModelProperty
(
value
=
"文档标识"
)
@ApiModelProperty
(
value
=
"文档标识"
)
private
String
_
id
;
private
String
id
;
/**
/**
* 版本标识。
* 版本标识。
...
...
application-webadmin/src/main/java/com/yice/webadmin/app/vo/DatasetVersionVo.java
View file @
25e78a21
...
@@ -52,7 +52,7 @@ public class DatasetVersionVo extends BaseVo {
...
@@ -52,7 +52,7 @@ public class DatasetVersionVo extends BaseVo {
/**
/**
* 清洗状态。
* 清洗状态。
*/
*/
@ApiModelProperty
(
value
=
"清洗状态"
)
@ApiModelProperty
(
value
=
"清洗状态
:未清洗;1清洗中;2已清洗
"
)
private
Integer
cleanStatus
;
private
Integer
cleanStatus
;
/**
/**
...
...
application-webadmin/src/main/resources/application.yml
View file @
25e78a21
...
@@ -45,7 +45,7 @@ spring:
...
@@ -45,7 +45,7 @@ spring:
data
:
data
:
mongodb
:
mongodb
:
uri
:
mongodb://root:123456@192.168.0.36:27017/
uri
:
mongodb://root:123456@192.168.0.36:27017/
database
:
i
mp
database
:
l
mp
authentication-database
:
admin
authentication-database
:
admin
auto-index-creation
:
true
auto-index-creation
:
true
connections-num-min-size
:
5
connections-num-min-size
:
5
...
...
common/common-log/src/main/java/com/yice/common/log/model/constant/SysOperationLogType.java
View file @
25e78a21
...
@@ -27,6 +27,10 @@ public final class SysOperationLogType {
...
@@ -27,6 +27,10 @@ public final class SysOperationLogType {
* 新增。
* 新增。
*/
*/
public
static
final
int
ADD
=
10
;
public
static
final
int
ADD
=
10
;
/**
* 新增多个。
*/
public
static
final
int
ADD_ALL
=
11
;
/**
/**
* 修改。
* 修改。
*/
*/
...
@@ -134,6 +138,7 @@ public final class SysOperationLogType {
...
@@ -134,6 +138,7 @@ public final class SysOperationLogType {
DICT_MAP
.
put
(
LOGIN
,
"登录"
);
DICT_MAP
.
put
(
LOGIN
,
"登录"
);
DICT_MAP
.
put
(
LOGOUT
,
"登出"
);
DICT_MAP
.
put
(
LOGOUT
,
"登出"
);
DICT_MAP
.
put
(
ADD
,
"新增"
);
DICT_MAP
.
put
(
ADD
,
"新增"
);
DICT_MAP
.
put
(
ADD_ALL
,
"新增多个"
);
DICT_MAP
.
put
(
UPDATE
,
"修改"
);
DICT_MAP
.
put
(
UPDATE
,
"修改"
);
DICT_MAP
.
put
(
DELETE
,
"删除"
);
DICT_MAP
.
put
(
DELETE
,
"删除"
);
DICT_MAP
.
put
(
ADD_M2M
,
"新增多对多关联"
);
DICT_MAP
.
put
(
ADD_M2M
,
"新增多对多关联"
);
...
...
zzlogs/application-webadmin/application-webadmin.log
deleted
100644 → 0
View file @
242c85c6
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment