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
ce18ebb5
Commit
ce18ebb5
authored
Apr 12, 2024
by
linpeiqin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
删除数据集详情无用部分
parent
a3940966
Changes
14
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
7 additions
and
802 deletions
+7
-802
DatasetDetailController.java
...yice/webadmin/app/controller/DatasetDetailController.java
+0
-201
DatasetVersionController.java
...ice/webadmin/app/controller/DatasetVersionController.java
+2
-10
DatasetDetailMapper.java
...n/java/com/yice/webadmin/app/dao/DatasetDetailMapper.java
+0
-33
DatasetVersionMapper.java
.../java/com/yice/webadmin/app/dao/DatasetVersionMapper.java
+0
-14
DatasetDetailMapper.xml
.../com/yice/webadmin/app/dao/mapper/DatasetDetailMapper.xml
+0
-69
DatasetVersionMapper.xml
...com/yice/webadmin/app/dao/mapper/DatasetVersionMapper.xml
+0
-17
DatasetDetailDto.java
...main/java/com/yice/webadmin/app/dto/DatasetDetailDto.java
+0
-51
DatasetDetail.java
.../main/java/com/yice/webadmin/app/model/DatasetDetail.java
+0
-55
DatasetVersion.java
...main/java/com/yice/webadmin/app/model/DatasetVersion.java
+2
-29
DatasetDetailService.java
...a/com/yice/webadmin/app/service/DatasetDetailService.java
+0
-84
DatasetVersionService.java
.../com/yice/webadmin/app/service/DatasetVersionService.java
+1
-4
DatasetDetailServiceImpl.java
...e/webadmin/app/service/impl/DatasetDetailServiceImpl.java
+0
-180
DatasetVersionServiceImpl.java
.../webadmin/app/service/impl/DatasetVersionServiceImpl.java
+2
-6
DatasetDetailVo.java
...c/main/java/com/yice/webadmin/app/vo/DatasetDetailVo.java
+0
-49
No files found.
application-webadmin/src/main/java/com/yice/webadmin/app/controller/DatasetDetailController.java
deleted
100644 → 0
View file @
a3940966
package
com
.
yice
.
webadmin
.
app
.
controller
;
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.ImportUtil
;
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.DatasetDetailDto
;
import
com.yice.webadmin.app.model.DatasetDetail
;
import
com.yice.webadmin.app.service.DatasetDetailService
;
import
com.yice.webadmin.app.vo.DatasetDetailVo
;
import
com.yice.webadmin.config.ApplicationConfig
;
import
io.swagger.annotations.Api
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.multipart.MultipartFile
;
import
java.io.IOException
;
import
java.util.List
;
import
java.util.Objects
;
/**
* 数据集详情操作控制器类。
*
* @author linking
* @date 2023-04-13
*/
@Api
(
tags
=
"数据集详情管理接口"
)
@Slf4j
@RestController
@RequestMapping
(
"/admin/app/datasetDetail"
)
public
class
DatasetDetailController
{
@Autowired
private
DatasetDetailService
datasetDetailService
;
@Autowired
private
ApplicationConfig
appConfig
;
/**
* 新增数据集详情数据。
*
* @param datasetDetailDto 新增对象。
* @return 应答结果对象,包含新增对象主键Id。
*/
@ApiOperationSupport
(
ignoreParameters
=
{
"datasetDetailDto.detailId"
})
@OperationLog
(
type
=
SysOperationLogType
.
ADD
)
@PostMapping
(
"/add"
)
public
ResponseResult
<
Long
>
add
(
@MyRequestBody
DatasetDetailDto
datasetDetailDto
)
{
String
errorMessage
=
MyCommonUtil
.
getModelValidationError
(
datasetDetailDto
,
false
);
if
(
errorMessage
!=
null
)
{
return
ResponseResult
.
error
(
ErrorCodeEnum
.
DATA_VALIDATED_FAILED
,
errorMessage
);
}
DatasetDetail
datasetDetail
=
MyModelUtil
.
copyTo
(
datasetDetailDto
,
DatasetDetail
.
class
);
datasetDetail
=
datasetDetailService
.
saveNew
(
datasetDetail
);
return
ResponseResult
.
success
(
datasetDetail
.
getDetailId
());
}
/**
* 更新数据集详情数据。
*
* @param datasetDetailDto 更新对象。
* @return 应答结果对象。
*/
@OperationLog
(
type
=
SysOperationLogType
.
UPDATE
)
@PostMapping
(
"/update"
)
public
ResponseResult
<
Void
>
update
(
@MyRequestBody
DatasetDetailDto
datasetDetailDto
)
{
String
errorMessage
=
MyCommonUtil
.
getModelValidationError
(
datasetDetailDto
,
true
);
if
(
errorMessage
!=
null
)
{
return
ResponseResult
.
error
(
ErrorCodeEnum
.
DATA_VALIDATED_FAILED
,
errorMessage
);
}
DatasetDetail
datasetDetail
=
MyModelUtil
.
copyTo
(
datasetDetailDto
,
DatasetDetail
.
class
);
DatasetDetail
originalDatasetDetail
=
datasetDetailService
.
getById
(
datasetDetail
.
getDetailId
());
if
(
originalDatasetDetail
==
null
)
{
// NOTE: 修改下面方括号中的话述
errorMessage
=
"数据验证失败,当前 [数据] 并不存在,请刷新后重试!"
;
return
ResponseResult
.
error
(
ErrorCodeEnum
.
DATA_NOT_EXIST
,
errorMessage
);
}
if
(!
datasetDetailService
.
update
(
datasetDetail
,
originalDatasetDetail
))
{
return
ResponseResult
.
error
(
ErrorCodeEnum
.
DATA_NOT_EXIST
);
}
return
ResponseResult
.
success
();
}
/**
* 删除数据集详情数据。
*
* @param detailId 删除对象主键Id。
* @return 应答结果对象。
*/
@OperationLog
(
type
=
SysOperationLogType
.
DELETE
)
@PostMapping
(
"/delete"
)
public
ResponseResult
<
Void
>
delete
(
@MyRequestBody
Long
detailId
)
{
if
(
MyCommonUtil
.
existBlankArgument
(
detailId
))
{
return
ResponseResult
.
error
(
ErrorCodeEnum
.
ARGUMENT_NULL_EXIST
);
}
return
this
.
doDelete
(
detailId
);
}
/**
* 列出符合过滤条件的数据集详情列表。
*
* @param datasetDetailDtoFilter 过滤对象。
* @param orderParam 排序参数。
* @param pageParam 分页参数。
* @return 应答结果对象,包含查询结果集。
*/
@PostMapping
(
"/list"
)
public
ResponseResult
<
MyPageData
<
DatasetDetailVo
>>
list
(
@MyRequestBody
DatasetDetailDto
datasetDetailDtoFilter
,
@MyRequestBody
MyOrderParam
orderParam
,
@MyRequestBody
MyPageParam
pageParam
)
{
if
(
pageParam
!=
null
)
{
PageMethod
.
startPage
(
pageParam
.
getPageNum
(),
pageParam
.
getPageSize
());
}
DatasetDetail
datasetDetailFilter
=
MyModelUtil
.
copyTo
(
datasetDetailDtoFilter
,
DatasetDetail
.
class
);
String
orderBy
=
MyOrderParam
.
buildOrderBy
(
orderParam
,
DatasetDetail
.
class
);
List
<
DatasetDetail
>
datasetDetailList
=
datasetDetailService
.
getDatasetDetailListWithRelation
(
datasetDetailFilter
,
orderBy
);
return
ResponseResult
.
success
(
MyPageUtil
.
makeResponseData
(
datasetDetailList
,
DatasetDetail
.
INSTANCE
));
}
/**
* 查看指定数据集详情对象详情。
*
* @param detailId 指定对象主键Id。
* @return 应答结果对象,包含对象详情。
*/
@GetMapping
(
"/view"
)
public
ResponseResult
<
DatasetDetailVo
>
view
(
@RequestParam
Long
detailId
)
{
DatasetDetail
datasetDetail
=
datasetDetailService
.
getByIdWithRelation
(
detailId
,
MyRelationParam
.
full
());
if
(
datasetDetail
==
null
)
{
return
ResponseResult
.
error
(
ErrorCodeEnum
.
DATA_NOT_EXIST
);
}
DatasetDetailVo
datasetDetailVo
=
DatasetDetail
.
INSTANCE
.
fromModel
(
datasetDetail
);
return
ResponseResult
.
success
(
datasetDetailVo
);
}
private
ResponseResult
<
Void
>
doDelete
(
Long
detailId
)
{
String
errorMessage
;
// 验证关联Id的数据合法性
DatasetDetail
originalDatasetDetail
=
datasetDetailService
.
getById
(
detailId
);
if
(
originalDatasetDetail
==
null
)
{
// NOTE: 修改下面方括号中的话述
errorMessage
=
"数据验证失败,当前 [对象] 并不存在,请刷新后重试!"
;
return
ResponseResult
.
error
(
ErrorCodeEnum
.
DATA_NOT_EXIST
,
errorMessage
);
}
if
(!
datasetDetailService
.
remove
(
detailId
))
{
errorMessage
=
"数据操作失败,删除的对象不存在,请刷新后重试!"
;
return
ResponseResult
.
error
(
ErrorCodeEnum
.
DATA_NOT_EXIST
,
errorMessage
);
}
return
ResponseResult
.
success
();
}
/**
* 导入主表数据列表。
*
* @param importFile 上传的文件,目前仅仅支持xlsx和xls两种格式。
* @return 应答结果对象。
*/
@OperationLog
(
type
=
SysOperationLogType
.
IMPORT
)
@PostMapping
(
"/import"
)
public
ResponseResult
<
Void
>
importBatch
(
@RequestParam
Long
datasetId
,
@RequestParam
Long
versionId
,
@RequestParam
Boolean
skipHeader
,
@RequestParam
(
"importFile"
)
MultipartFile
importFile
)
throws
IOException
{
String
errorMessage
;
if
(
Objects
.
isNull
(
importFile
)
||
importFile
.
isEmpty
())
{
errorMessage
=
"数据验证失败,导入文件不能为空!"
;
return
ResponseResult
.
error
(
ErrorCodeEnum
.
ARGUMENT_NULL_EXIST
,
errorMessage
);
}
ImportUtil
.
saveImportFile
(
appConfig
.
getUploadFileBaseDir
(),
null
,
importFile
);
// 这里可以指定需要忽略导入的字段集合。如创建时间、创建人、更新时间、更新人、主键Id和逻辑删除,
// 以及一些存在缺省值且无需导入的字段。其中主键字段和逻辑删除字段不需要在这里设置,批量插入逻辑会自动处理的。
/*Set<String> ignoreFieldSet = new HashSet<>();
ignoreFieldSet.add("createUserId");
ignoreFieldSet.add("createTime");
ignoreFieldSet.add("updateUserId");
ignoreFieldSet.add("updateTime");
List<ImportUtil.ImportHeaderInfo> headerInfoList = ImportUtil.makeHeaderInfoList(DatasetDetail.class, ignoreFieldSet);
// TODO: 下面是导入时需要注意的地方,如果我们缺省生成的代码,与实际情况存在差异,请手动修改。
// 1. 头信息数据字段,我们只是根据当前的主表实体对象生成了缺省数组,开发者可根据实际情况,对headerInfoList进行修改。
ImportUtil.ImportHeaderInfo[] headerInfos = headerInfoList.toArray(new ImportUtil.ImportHeaderInfo[]{});
// 2. 这里需要根据实际情况决定,导入文件中第一行是否为中文头信息,如果是可以跳过。这里我们默认为true。
// 这里根据自己的实际需求,为doImport的最后一个参数,传递需要进行字典转换的字段集合。
// 注意,集合中包含需要翻译的Java字段名,如: gradeId。
Set<String> translatedDictFieldSet = new HashSet<>();
List<DatasetDetail> dataList =
ImportUtil.doImport(headerInfos, skipHeader, filename, DatasetDetail.class, translatedDictFieldSet);
datasetDetailService.saveNewBatch(dataList, -1);*/
return
ResponseResult
.
success
();
}
}
application-webadmin/src/main/java/com/yice/webadmin/app/controller/DatasetVersionController.java
View file @
ce18ebb5
...
...
@@ -22,9 +22,7 @@ import com.yice.common.log.model.constant.SysOperationLogType;
import
com.yice.webadmin.app.config.PythonConfig
;
import
com.yice.webadmin.app.constant.DatasetConstant
;
import
com.yice.webadmin.app.data.DatasetData
;
import
com.yice.webadmin.app.dto.DatasetDetailDto
;
import
com.yice.webadmin.app.dto.DatasetVersionDto
;
import
com.yice.webadmin.app.model.DatasetDetail
;
import
com.yice.webadmin.app.model.DatasetOutput
;
import
com.yice.webadmin.app.model.DatasetVersion
;
import
com.yice.webadmin.app.service.DatasetDataService
;
...
...
@@ -167,7 +165,6 @@ public class DatasetVersionController {
* 列出符合过滤条件的数据集版本列表。
*
* @param datasetVersionDtoFilter 过滤对象。
* @param datasetDetailDtoFilter 一对一从表过滤对象。
* @param orderParam 排序参数。
* @param pageParam 分页参数。
* @return 应答结果对象,包含查询结果集。
...
...
@@ -175,17 +172,15 @@ public class DatasetVersionController {
@PostMapping
(
"/list"
)
public
ResponseResult
<
MyPageData
<
DatasetVersionVo
>>
list
(
@MyRequestBody
DatasetVersionDto
datasetVersionDtoFilter
,
@MyRequestBody
DatasetDetailDto
datasetDetailDtoFilter
,
@MyRequestBody
MyOrderParam
orderParam
,
@MyRequestBody
MyPageParam
pageParam
)
{
if
(
pageParam
!=
null
)
{
PageMethod
.
startPage
(
pageParam
.
getPageNum
(),
pageParam
.
getPageSize
());
}
DatasetVersion
datasetVersionFilter
=
MyModelUtil
.
copyTo
(
datasetVersionDtoFilter
,
DatasetVersion
.
class
);
DatasetDetail
datasetDetailFilter
=
MyModelUtil
.
copyTo
(
datasetDetailDtoFilter
,
DatasetDetail
.
class
);
String
orderBy
=
MyOrderParam
.
buildOrderBy
(
orderParam
,
DatasetVersion
.
class
);
List
<
DatasetVersion
>
datasetVersionList
=
datasetVersionService
.
getDatasetVersionList
WithRelation
(
datasetVersionFilter
,
datasetDetail
Filter
,
orderBy
);
datasetVersionService
.
getDatasetVersionList
(
datasetVersion
Filter
,
orderBy
);
return
ResponseResult
.
success
(
MyPageUtil
.
makeResponseData
(
datasetVersionList
,
DatasetVersion
.
INSTANCE
));
}
...
...
@@ -193,7 +188,6 @@ public class DatasetVersionController {
* 列出符合过滤条件的数据集版本列表。
*
* @param datasetVersionDtoFilter 过滤对象。
* @param datasetDetailDtoFilter 一对一从表过滤对象。
* @param orderParam 排序参数。
* @param pageParam 分页参数。
* @return 应答结果对象,包含查询结果集。
...
...
@@ -201,20 +195,18 @@ public class DatasetVersionController {
@PostMapping
(
"/load"
)
public
ResponseResult
<
MyPageData
<
DatasetVersionVo
>>
load
(
@MyRequestBody
DatasetVersionDto
datasetVersionDtoFilter
,
@MyRequestBody
DatasetDetailDto
datasetDetailDtoFilter
,
@MyRequestBody
MyOrderParam
orderParam
,
@MyRequestBody
MyPageParam
pageParam
)
{
if
(
pageParam
!=
null
)
{
PageMethod
.
startPage
(
pageParam
.
getPageNum
(),
pageParam
.
getPageSize
());
}
DatasetVersion
datasetVersionFilter
=
MyModelUtil
.
copyTo
(
datasetVersionDtoFilter
,
DatasetVersion
.
class
);
DatasetDetail
datasetDetailFilter
=
MyModelUtil
.
copyTo
(
datasetDetailDtoFilter
,
DatasetDetail
.
class
);
String
orderBy
=
MyOrderParam
.
buildOrderBy
(
orderParam
,
DatasetVersion
.
class
);
//查询我的数据集,如果是管理员可以查询所有,否则只能查看自己
TokenData
tokenData
=
TokenData
.
takeFromRequest
();
datasetVersionFilter
.
setCreateUserId
(
BooleanUtil
.
isTrue
(
tokenData
.
getIsAdmin
())
?
null
:
tokenData
.
getUserId
());
List
<
DatasetVersion
>
datasetVersionList
=
datasetVersionService
.
getDatasetVersionList
WithRelation
(
datasetVersionFilter
,
datasetDetail
Filter
,
orderBy
);
datasetVersionService
.
getDatasetVersionList
(
datasetVersion
Filter
,
orderBy
);
if
(
CollUtil
.
isNotEmpty
(
datasetVersionList
)){
for
(
DatasetVersion
datasetVersion:
datasetVersionList
){
datasetVersion
.
setMarkProgress
(
calcMarkProgress
(
datasetVersion
.
getVersionId
(),
datasetVersion
.
getDataVolume
()));
...
...
application-webadmin/src/main/java/com/yice/webadmin/app/dao/DatasetDetailMapper.java
deleted
100644 → 0
View file @
a3940966
package
com
.
yice
.
webadmin
.
app
.
dao
;
import
com.yice.common.core.base.dao.BaseDaoMapper
;
import
com.yice.webadmin.app.model.DatasetDetail
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
/**
* 数据集详情数据操作访问接口。
*
* @author linking
* @date 2023-04-13
*/
public
interface
DatasetDetailMapper
extends
BaseDaoMapper
<
DatasetDetail
>
{
/**
* 批量插入对象列表。
*
* @param datasetDetailList 新增对象列表。
*/
void
insertList
(
List
<
DatasetDetail
>
datasetDetailList
);
/**
* 获取过滤后的对象列表。
*
* @param datasetDetailFilter 主表过滤对象。
* @param orderBy 排序字符串,order by从句的参数。
* @return 对象列表。
*/
List
<
DatasetDetail
>
getDatasetDetailList
(
@Param
(
"datasetDetailFilter"
)
DatasetDetail
datasetDetailFilter
,
@Param
(
"orderBy"
)
String
orderBy
);
}
application-webadmin/src/main/java/com/yice/webadmin/app/dao/DatasetVersionMapper.java
View file @
ce18ebb5
package
com
.
yice
.
webadmin
.
app
.
dao
;
import
com.yice.common.core.base.dao.BaseDaoMapper
;
import
com.yice.webadmin.app.model.DatasetDetail
;
import
com.yice.webadmin.app.model.DatasetVersion
;
import
org.apache.ibatis.annotations.Param
;
...
...
@@ -31,17 +30,4 @@ public interface DatasetVersionMapper extends BaseDaoMapper<DatasetVersion> {
*/
List
<
DatasetVersion
>
getDatasetVersionList
(
@Param
(
"datasetVersionFilter"
)
DatasetVersion
datasetVersionFilter
,
@Param
(
"orderBy"
)
String
orderBy
);
/**
* 获取过滤后的对象列表。同时支持基于一对一从表字段的过滤条件。
*
* @param datasetVersionFilter 主表过滤对象。
* @param datasetDetailFilter 一对一从表过滤对象。
* @param orderBy 排序字符串,order by从句的参数。
* @return 对象列表。
*/
List
<
DatasetVersion
>
getDatasetVersionListEx
(
@Param
(
"datasetVersionFilter"
)
DatasetVersion
datasetVersionFilter
,
@Param
(
"datasetDetailFilter"
)
DatasetDetail
datasetDetailFilter
,
@Param
(
"orderBy"
)
String
orderBy
);
}
application-webadmin/src/main/java/com/yice/webadmin/app/dao/mapper/DatasetDetailMapper.xml
deleted
100644 → 0
View file @
a3940966
<?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.DatasetDetailMapper"
>
<resultMap
id=
"BaseResultMap"
type=
"com.yice.webadmin.app.model.DatasetDetail"
>
<id
column=
"detail_id"
jdbcType=
"BIGINT"
property=
"detailId"
/>
<result
column=
"dataset_id"
jdbcType=
"BIGINT"
property=
"datasetId"
/>
<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"
/>
<result
column=
"version_id"
jdbcType=
"BIGINT"
property=
"versionId"
/>
<result
column=
"dataset_value"
jdbcType=
"LONGVARCHAR"
property=
"datasetValue"
/>
<result
column=
"serial_number"
jdbcType=
"BIGINT"
property=
"serialNumber"
/>
</resultMap>
<insert
id=
"insertList"
>
INSERT INTO lmp_dataset_detail
(detail_id,
dataset_id,
create_user_id,
create_time,
update_user_id,
update_time,
version_id,
dataset_value,
serial_number)
VALUES
<foreach
collection=
"list"
index=
"index"
item=
"item"
separator=
","
>
(#{item.detailId},
#{item.datasetId},
#{item.createUserId},
#{item.createTime},
#{item.updateUserId},
#{item.updateTime},
#{item.versionId},
#{item.datasetValue},
#{item.serialNumber})
</foreach>
</insert>
<!-- 如果有逻辑删除字段过滤,请写到这里 -->
<sql
id=
"filterRef"
>
<!-- 这里必须加上全包名,否则当filterRef被其他Mapper.xml包含引用的时候,就会调用Mapper.xml中的该SQL片段 -->
<include
refid=
"com.yice.webadmin.app.dao.DatasetDetailMapper.inputFilterRef"
/>
</sql>
<!-- 这里仅包含调用接口输入的主表过滤条件 -->
<sql
id=
"inputFilterRef"
>
<if
test=
"datasetDetailFilter != null"
>
<if
test=
"datasetDetailFilter.datasetId != null"
>
AND lmp_dataset_detail.dataset_id = #{datasetDetailFilter.datasetId}
</if>
<if
test=
"datasetDetailFilter.versionId != null"
>
AND lmp_dataset_detail.version_id = #{datasetDetailFilter.versionId}
</if>
</if>
</sql>
<select
id=
"getDatasetDetailList"
resultMap=
"BaseResultMap"
parameterType=
"com.yice.webadmin.app.model.DatasetDetail"
>
SELECT * FROM lmp_dataset_detail
<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/DatasetVersionMapper.xml
View file @
ce18ebb5
...
...
@@ -111,21 +111,4 @@
ORDER BY ${orderBy}
</if>
</select>
<!-- 支持基于一对一或者一对多从表字段过滤的SQL_ID -->
<select
id=
"getDatasetVersionListEx"
resultMap=
"BaseResultMap"
>
SELECT
lmp_dataset_version.*
FROM
lmp_dataset_version
LEFT JOIN
lmp_dataset_detail ON lmp_dataset_version.version_id = lmp_dataset_detail.version_id
<where>
<include
refid=
"filterRef"
/>
<include
refid=
"com.yice.webadmin.app.dao.DatasetDetailMapper.inputFilterRef"
/>
</where>
<if
test=
"orderBy != null and orderBy != ''"
>
ORDER BY ${orderBy}
</if>
</select>
</mapper>
application-webadmin/src/main/java/com/yice/webadmin/app/dto/DatasetDetailDto.java
deleted
100644 → 0
View file @
a3940966
package
com
.
yice
.
webadmin
.
app
.
dto
;
import
com.yice.common.core.validator.UpdateGroup
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.validation.constraints.NotNull
;
/**
* DatasetDetailDto对象。
*
* @author linking
* @date 2023-04-13
*/
@ApiModel
(
"DatasetDetailDto对象"
)
@Data
public
class
DatasetDetailDto
{
/**
* 详情ID。
*/
@ApiModelProperty
(
value
=
"详情ID"
,
required
=
true
)
@NotNull
(
message
=
"数据验证失败,详情ID不能为空!"
,
groups
=
{
UpdateGroup
.
class
})
private
Long
detailId
;
/**
* 数据集ID。
*/
@ApiModelProperty
(
value
=
"数据集ID"
,
required
=
true
)
@NotNull
(
message
=
"数据验证失败,数据集ID不能为空!"
)
private
Long
datasetId
;
/**
* 版本ID。
*/
@ApiModelProperty
(
value
=
"版本ID"
)
private
Long
versionId
;
/**
* 数据集值。
*/
@ApiModelProperty
(
value
=
"数据集值"
)
private
String
datasetValue
;
/**
* 序号。
*/
@ApiModelProperty
(
value
=
"序号"
)
private
Long
serialNumber
;
}
application-webadmin/src/main/java/com/yice/webadmin/app/model/DatasetDetail.java
deleted
100644 → 0
View file @
a3940966
package
com
.
yice
.
webadmin
.
app
.
model
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.yice.common.core.base.mapper.BaseModelMapper
;
import
com.yice.common.core.base.model.BaseModel
;
import
com.yice.webadmin.app.vo.DatasetDetailVo
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
org.mapstruct.Mapper
;
import
org.mapstruct.factory.Mappers
;
/**
* DatasetDetail实体对象。
*
* @author linking
* @date 2023-04-13
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@TableName
(
value
=
"lmp_dataset_detail"
)
public
class
DatasetDetail
extends
BaseModel
{
/**
* 详情ID。
*/
@TableId
(
value
=
"detail_id"
)
private
Long
detailId
;
/**
* 数据集ID。
*/
private
Long
datasetId
;
/**
* 版本ID。
*/
private
Long
versionId
;
/**
* 数据集值。
*/
private
String
datasetValue
;
/**
* 序号。
*/
private
Long
serialNumber
;
@Mapper
public
interface
DatasetDetailModelMapper
extends
BaseModelMapper
<
DatasetDetailVo
,
DatasetDetail
>
{
}
public
static
final
DatasetDetailModelMapper
INSTANCE
=
Mappers
.
getMapper
(
DatasetDetailModelMapper
.
class
);
}
application-webadmin/src/main/java/com/yice/webadmin/app/model/DatasetVersion.java
View file @
ce18ebb5
...
...
@@ -4,10 +4,10 @@ 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.annotation.RelationOneToOne
;
import
com.yice.common.core.base.mapper.BaseModelMapper
;
import
com.yice.common.core.base.model.BaseModel
;
import
com.yice.webadmin.app.vo.DatasetVersionVo
;
import
com.yice.webadmin.app.vo.KGManageVo
;
import
com.yice.webadmin.upms.model.SysUser
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
...
...
@@ -108,13 +108,6 @@ public class DatasetVersion extends BaseModel {
private
String
versionName
;
@RelationOneToOne
(
masterIdField
=
"versionId"
,
slaveModelClass
=
DatasetDetail
.
class
,
slaveIdField
=
"versionId"
)
@TableField
(
exist
=
false
)
private
DatasetDetail
datasetDetail
;
/**
* 创建人名称字典。
*/
...
...
@@ -127,26 +120,6 @@ public class DatasetVersion extends BaseModel {
private
Map
<
String
,
Object
>
createUserIdDictMap
;
@Mapper
public
interface
DatasetVersionModelMapper
extends
BaseModelMapper
<
DatasetVersionVo
,
DatasetVersion
>
{
/**
* 转换Vo对象到实体对象。
*
* @param datasetVersionVo 域对象。
* @return 实体对象。
*/
@Mapping
(
target
=
"datasetDetail"
,
expression
=
"java(mapToBean(datasetVersionVo.getDatasetDetail(), com.yice.webadmin.app.model.DatasetDetail.class))"
)
@Override
DatasetVersion
toModel
(
DatasetVersionVo
datasetVersionVo
);
/**
* 转换实体对象到VO对象。
*
* @param datasetVersion 实体对象。
* @return 域对象。
*/
@Mapping
(
target
=
"datasetDetail"
,
expression
=
"java(beanToMap(datasetVersion.getDatasetDetail(), false))"
)
@Override
DatasetVersionVo
fromModel
(
DatasetVersion
datasetVersion
);
}
}
public
static
final
DatasetVersionModelMapper
INSTANCE
=
Mappers
.
getMapper
(
DatasetVersionModelMapper
.
class
);
}
application-webadmin/src/main/java/com/yice/webadmin/app/service/DatasetDetailService.java
deleted
100644 → 0
View file @
a3940966
package
com
.
yice
.
webadmin
.
app
.
service
;
import
com.yice.common.core.base.service.IBaseService
;
import
com.yice.webadmin.app.model.DatasetDetail
;
import
java.util.List
;
/**
* 数据集详情数据操作服务接口。
*
* @author linking
* @date 2023-04-13
*/
public
interface
DatasetDetailService
extends
IBaseService
<
DatasetDetail
,
Long
>
{
/**
* 保存新增对象。
*
* @param datasetDetail 新增对象。
* @return 返回新增对象。
*/
DatasetDetail
saveNew
(
DatasetDetail
datasetDetail
);
/**
* 利用数据库的insertList语法,批量插入对象列表。
*
* @param datasetDetailList 新增对象列表。
*/
void
saveNewBatch
(
List
<
DatasetDetail
>
datasetDetailList
);
/**
* 利用数据库的insertList语法,批量插入对象列表。通常适用于更大的插入数据量,如批量导入。
*
* @param datasetDetailList 新增对象列表。
* @param batchSize 每批插入的数量。如果该值小于等于0,则使用缺省值10000。
*/
void
saveNewBatch
(
List
<
DatasetDetail
>
datasetDetailList
,
int
batchSize
);
/**
* 更新数据对象。
*
* @param datasetDetail 更新的对象。
* @param originalDatasetDetail 原有数据对象。
* @return 成功返回true,否则false。
*/
boolean
update
(
DatasetDetail
datasetDetail
,
DatasetDetail
originalDatasetDetail
);
/**
* 删除指定数据。
*
* @param detailId 主键Id。
* @return 成功返回true,否则false。
*/
boolean
remove
(
Long
detailId
);
/**
* 当前服务的支持表为从表,根据主表的关联Id,删除一对多的从表数据。
*
* @param versionId 从表关联字段。
* @return 删除数量。
*/
int
removeByVersionId
(
Long
versionId
);
/**
* 获取单表查询结果。由于没有关联数据查询,因此在仅仅获取单表数据的场景下,效率更高。
* 如果需要同时获取关联数据,请移步(getDatasetDetailListWithRelation)方法。
*
* @param filter 过滤对象。
* @param orderBy 排序参数。
* @return 查询结果集。
*/
List
<
DatasetDetail
>
getDatasetDetailList
(
DatasetDetail
filter
,
String
orderBy
);
/**
* 获取主表的查询结果,以及主表关联的字典数据和一对一从表数据,以及一对一从表的字典数据。
* 该查询会涉及到一对一从表的关联过滤,或一对多从表的嵌套关联过滤,因此性能不如单表过滤。
* 如果仅仅需要获取主表数据,请移步(getDatasetDetailList),以便获取更好的查询性能。
*
* @param filter 主表过滤对象。
* @param orderBy 排序参数。
* @return 查询结果集。
*/
List
<
DatasetDetail
>
getDatasetDetailListWithRelation
(
DatasetDetail
filter
,
String
orderBy
);
}
application-webadmin/src/main/java/com/yice/webadmin/app/service/DatasetVersionService.java
View file @
ce18ebb5
package
com
.
yice
.
webadmin
.
app
.
service
;
import
com.yice.common.core.base.service.IBaseService
;
import
com.yice.webadmin.app.model.DatasetDetail
;
import
com.yice.webadmin.app.model.DatasetVersion
;
import
java.io.IOException
;
...
...
@@ -101,11 +100,9 @@ public interface DatasetVersionService extends IBaseService<DatasetVersion, Long
* 如果仅仅需要获取主表数据,请移步(getDatasetVersionList),以便获取更好的查询性能。
*
* @param filter 主表过滤对象。
* @param datasetDetailFilter 一对一从表过滤对象。
* @param orderBy 排序参数。
* @return 查询结果集。
*/
List
<
DatasetVersion
>
getDatasetVersionListWithRelation
(
DatasetVersion
filter
,
DatasetDetail
datasetDetailFilter
,
String
orderBy
);
List
<
DatasetVersion
>
getDatasetVersionListWithRelation
(
DatasetVersion
filter
,
String
orderBy
);
/* boolean remove(DatasetVersion originalDatasetVersion);*/
}
application-webadmin/src/main/java/com/yice/webadmin/app/service/impl/DatasetDetailServiceImpl.java
deleted
100644 → 0
View file @
a3940966
package
com
.
yice
.
webadmin
.
app
.
service
.
impl
;
import
cn.hutool.core.collection.CollUtil
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
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.MyRelationParam
;
import
com.yice.common.core.util.MyModelUtil
;
import
com.yice.common.sequence.wrapper.IdGeneratorWrapper
;
import
com.yice.webadmin.app.dao.DatasetDetailMapper
;
import
com.yice.webadmin.app.model.DatasetDetail
;
import
com.yice.webadmin.app.service.DatasetDetailService
;
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.List
;
/**
* 数据集详情数据操作服务类。
*
* @author linking
* @date 2023-04-13
*/
@Slf4j
@Service
(
"datasetDetailService"
)
public
class
DatasetDetailServiceImpl
extends
BaseService
<
DatasetDetail
,
Long
>
implements
DatasetDetailService
{
@Autowired
private
DatasetDetailMapper
datasetDetailMapper
;
@Autowired
private
IdGeneratorWrapper
idGenerator
;
/**
* 返回当前Service的主表Mapper对象。
*
* @return 主表Mapper对象。
*/
@Override
protected
BaseDaoMapper
<
DatasetDetail
>
mapper
()
{
return
datasetDetailMapper
;
}
/**
* 保存新增对象。
*
* @param datasetDetail 新增对象。
* @return 返回新增对象。
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
DatasetDetail
saveNew
(
DatasetDetail
datasetDetail
)
{
datasetDetailMapper
.
insert
(
this
.
buildDefaultValue
(
datasetDetail
));
return
datasetDetail
;
}
/**
* 利用数据库的insertList语法,批量插入对象列表。
*
* @param datasetDetailList 新增对象列表。
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
void
saveNewBatch
(
List
<
DatasetDetail
>
datasetDetailList
)
{
if
(
CollUtil
.
isNotEmpty
(
datasetDetailList
))
{
datasetDetailList
.
forEach
(
this
::
buildDefaultValue
);
datasetDetailMapper
.
insertList
(
datasetDetailList
);
}
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
void
saveNewBatch
(
List
<
DatasetDetail
>
datasetDetailList
,
int
batchSize
)
{
if
(
CollUtil
.
isEmpty
(
datasetDetailList
))
{
return
;
}
if
(
batchSize
<=
0
)
{
batchSize
=
10000
;
}
int
start
=
0
;
do
{
int
end
=
Math
.
min
(
datasetDetailList
.
size
(),
start
+
batchSize
);
List
<
DatasetDetail
>
subList
=
datasetDetailList
.
subList
(
start
,
end
);
// TODO 如果数据量过大,同时当前表中存在createTime或updateTime等字段,可以考虑在外部创建一次 new Date(),
// 然后传入buildDefaultValue,这样可以减少对象的创建次数,降低GC,提升效率。橙单之所以没有这样生成,是因为
// 有些业务场景下需要按照这两个日期字段排序,因此我们只是在这里给出优化建议。
subList
.
forEach
(
this
::
buildDefaultValue
);
datasetDetailMapper
.
insertList
(
subList
);
if
(
end
==
datasetDetailList
.
size
())
{
break
;
}
start
+=
batchSize
;
}
while
(
true
);
}
/**
* 更新数据对象。
*
* @param datasetDetail 更新的对象。
* @param originalDatasetDetail 原有数据对象。
* @return 成功返回true,否则false。
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
boolean
update
(
DatasetDetail
datasetDetail
,
DatasetDetail
originalDatasetDetail
)
{
MyModelUtil
.
fillCommonsForUpdate
(
datasetDetail
,
originalDatasetDetail
);
// 这里重点提示,在执行主表数据更新之前,如果有哪些字段不支持修改操作,请用原有数据对象字段替换当前数据字段。
UpdateWrapper
<
DatasetDetail
>
uw
=
this
.
createUpdateQueryForNullValue
(
datasetDetail
,
datasetDetail
.
getDetailId
());
return
datasetDetailMapper
.
update
(
datasetDetail
,
uw
)
==
1
;
}
/**
* 删除指定数据。
*
* @param detailId 主键Id。
* @return 成功返回true,否则false。
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
boolean
remove
(
Long
detailId
)
{
return
datasetDetailMapper
.
deleteById
(
detailId
)
==
1
;
}
/**
* 当前服务的支持表为从表,根据主表的关联Id,删除一对多的从表数据。
*
* @param versionId 从表关联字段。
* @return 删除数量。
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
int
removeByVersionId
(
Long
versionId
)
{
DatasetDetail
deletedObject
=
new
DatasetDetail
();
deletedObject
.
setVersionId
(
versionId
);
return
datasetDetailMapper
.
delete
(
new
QueryWrapper
<>(
deletedObject
));
}
/**
* 获取单表查询结果。由于没有关联数据查询,因此在仅仅获取单表数据的场景下,效率更高。
* 如果需要同时获取关联数据,请移步(getDatasetDetailListWithRelation)方法。
*
* @param filter 过滤对象。
* @param orderBy 排序参数。
* @return 查询结果集。
*/
@Override
public
List
<
DatasetDetail
>
getDatasetDetailList
(
DatasetDetail
filter
,
String
orderBy
)
{
return
datasetDetailMapper
.
getDatasetDetailList
(
filter
,
orderBy
);
}
/**
* 获取主表的查询结果,以及主表关联的字典数据和一对一从表数据,以及一对一从表的字典数据。
* 该查询会涉及到一对一从表的关联过滤,或一对多从表的嵌套关联过滤,因此性能不如单表过滤。
* 如果仅仅需要获取主表数据,请移步(getDatasetDetailList),以便获取更好的查询性能。
*
* @param filter 主表过滤对象。
* @param orderBy 排序参数。
* @return 查询结果集。
*/
@Override
public
List
<
DatasetDetail
>
getDatasetDetailListWithRelation
(
DatasetDetail
filter
,
String
orderBy
)
{
List
<
DatasetDetail
>
resultList
=
datasetDetailMapper
.
getDatasetDetailList
(
filter
,
orderBy
);
// 在缺省生成的代码中,如果查询结果resultList不是Page对象,说明没有分页,那么就很可能是数据导出接口调用了当前方法。
// 为了避免一次性的大量数据关联,规避因此而造成的系统运行性能冲击,这里手动进行了分批次读取,开发者可按需修改该值。
int
batchSize
=
resultList
instanceof
Page
?
0
:
1000
;
this
.
buildRelationForDataList
(
resultList
,
MyRelationParam
.
normal
(),
batchSize
);
return
resultList
;
}
private
DatasetDetail
buildDefaultValue
(
DatasetDetail
datasetDetail
)
{
if
(
datasetDetail
.
getDetailId
()
==
null
)
{
datasetDetail
.
setDetailId
(
idGenerator
.
nextLongId
());
}
MyModelUtil
.
fillCommonsForInsert
(
datasetDetail
);
return
datasetDetail
;
}
}
application-webadmin/src/main/java/com/yice/webadmin/app/service/impl/DatasetVersionServiceImpl.java
View file @
ce18ebb5
...
...
@@ -12,18 +12,15 @@ import com.fasterxml.jackson.databind.node.ObjectNode;
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.constant.ErrorCodeEnum
;
import
com.yice.common.core.object.CallResult
;
import
com.yice.common.core.object.MyPageParam
;
import
com.yice.common.core.object.MyRelationParam
;
import
com.yice.common.core.object.ResponseResult
;
import
com.yice.common.core.util.MyModelUtil
;
import
com.yice.common.sequence.wrapper.IdGeneratorWrapper
;
import
com.yice.webadmin.app.config.PythonConfig
;
import
com.yice.webadmin.app.constant.DatasetConstant
;
import
com.yice.webadmin.app.dao.DatasetVersionMapper
;
import
com.yice.webadmin.app.data.DatasetData
;
import
com.yice.webadmin.app.model.DatasetDetail
;
import
com.yice.webadmin.app.model.DatasetManage
;
import
com.yice.webadmin.app.model.DatasetVersion
;
import
com.yice.webadmin.app.service.DatasetCleanService
;
...
...
@@ -456,14 +453,13 @@ public class DatasetVersionServiceImpl extends BaseService<DatasetVersion, Long>
* 如果仅仅需要获取主表数据,请移步(getDatasetVersionList),以便获取更好的查询性能。
*
* @param filter 主表过滤对象。
* @param datasetDetailFilter 一对一从表过滤对象。
* @param orderBy 排序参数。
* @return 查询结果集。
*/
@Override
public
List
<
DatasetVersion
>
getDatasetVersionListWithRelation
(
DatasetVersion
filter
,
DatasetDetail
datasetDetailFilter
,
String
orderBy
)
{
public
List
<
DatasetVersion
>
getDatasetVersionListWithRelation
(
DatasetVersion
filter
,
String
orderBy
)
{
List
<
DatasetVersion
>
resultList
=
datasetVersionMapper
.
getDatasetVersionList
Ex
(
filter
,
datasetDetailF
ilter
,
orderBy
);
datasetVersionMapper
.
getDatasetVersionList
(
f
ilter
,
orderBy
);
// 在缺省生成的代码中,如果查询结果resultList不是Page对象,说明没有分页,那么就很可能是数据导出接口调用了当前方法。
// 为了避免一次性的大量数据关联,规避因此而造成的系统运行性能冲击,这里手动进行了分批次读取,开发者可按需修改该值。
int
batchSize
=
resultList
instanceof
Page
?
0
:
1000
;
...
...
application-webadmin/src/main/java/com/yice/webadmin/app/vo/DatasetDetailVo.java
deleted
100644 → 0
View file @
a3940966
package
com
.
yice
.
webadmin
.
app
.
vo
;
import
com.yice.common.core.base.vo.BaseVo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
/**
* DatasetDetailVO视图对象。
*
* @author linking
* @date 2023-04-13
*/
@ApiModel
(
"DatasetDetailVO视图对象"
)
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
public
class
DatasetDetailVo
extends
BaseVo
{
/**
* 详情ID。
*/
@ApiModelProperty
(
value
=
"详情ID"
)
private
Long
detailId
;
/**
* 数据集ID。
*/
@ApiModelProperty
(
value
=
"数据集ID"
)
private
Long
datasetId
;
/**
* 版本ID。
*/
@ApiModelProperty
(
value
=
"版本ID"
)
private
Long
versionId
;
/**
* 数据集值。
*/
@ApiModelProperty
(
value
=
"数据集值"
)
private
String
datasetValue
;
/**
* 序号。
*/
@ApiModelProperty
(
value
=
"序号"
)
private
Long
serialNumber
;
}
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