Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
R
RuoYi-Vue-master
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
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
AI算法平台
RuoYi-Vue-master
Commits
8f6ecebe
Commit
8f6ecebe
authored
May 16, 2023
by
周昊
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'develop' into 公司测试环境4.221
parents
a86c6b4b
ed3d37f0
Changes
16
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
296 additions
and
9 deletions
+296
-9
ruoyi-admin/src/main/java/com/ruoyi/algorithm/controller/AlgorithmBaseController.java
...m/ruoyi/algorithm/controller/AlgorithmBaseController.java
+9
-0
ruoyi-admin/src/main/java/com/ruoyi/algorithm/controller/AlgorithmCameraBaseController.java
...i/algorithm/controller/AlgorithmCameraBaseController.java
+10
-0
ruoyi-admin/src/main/java/com/ruoyi/algorithm/controller/AlgorithmSceneBaseController.java
...yi/algorithm/controller/AlgorithmSceneBaseController.java
+8
-5
ruoyi-admin/src/main/java/com/ruoyi/algorithm/domain/AlgorithmScenePiece.java
.../java/com/ruoyi/algorithm/domain/AlgorithmScenePiece.java
+12
-0
ruoyi-admin/src/main/java/com/ruoyi/algorithm/domain/dto/AlgorithmPieceDetailsDto.java
.../ruoyi/algorithm/domain/dto/AlgorithmPieceDetailsDto.java
+26
-0
ruoyi-admin/src/main/java/com/ruoyi/algorithm/domain/dto/AlgorithmPieceVariableDetailsDto.java
...lgorithm/domain/dto/AlgorithmPieceVariableDetailsDto.java
+36
-0
ruoyi-admin/src/main/java/com/ruoyi/algorithm/domain/dto/AlgorithmSceneDetailsDto.java
.../ruoyi/algorithm/domain/dto/AlgorithmSceneDetailsDto.java
+52
-0
ruoyi-admin/src/main/java/com/ruoyi/algorithm/mapper/AlgorithmScenePieceMapper.java
...com/ruoyi/algorithm/mapper/AlgorithmScenePieceMapper.java
+4
-0
ruoyi-admin/src/main/java/com/ruoyi/algorithm/service/IAlgorithmSceneBaseService.java
...m/ruoyi/algorithm/service/IAlgorithmSceneBaseService.java
+7
-0
ruoyi-admin/src/main/java/com/ruoyi/algorithm/service/IAlgorithmScenePieceService.java
.../ruoyi/algorithm/service/IAlgorithmScenePieceService.java
+3
-0
ruoyi-admin/src/main/java/com/ruoyi/algorithm/service/impl/AlgorithmSceneBaseServiceImpl.java
...algorithm/service/impl/AlgorithmSceneBaseServiceImpl.java
+83
-0
ruoyi-admin/src/main/java/com/ruoyi/algorithm/service/impl/AlgorithmScenePieceServiceImpl.java
...lgorithm/service/impl/AlgorithmScenePieceServiceImpl.java
+7
-0
ruoyi-admin/src/main/resources/application.yml
ruoyi-admin/src/main/resources/application.yml
+1
-1
ruoyi-admin/src/main/resources/mapper/system/AlgorithmBaseMapper.xml
.../src/main/resources/mapper/system/AlgorithmBaseMapper.xml
+1
-0
ruoyi-admin/src/main/resources/mapper/system/AlgorithmSceneBaseMapper.xml
...main/resources/mapper/system/AlgorithmSceneBaseMapper.xml
+1
-1
ruoyi-admin/src/main/resources/mapper/system/AlgorithmScenePieceMapper.xml
...ain/resources/mapper/system/AlgorithmScenePieceMapper.xml
+36
-2
No files found.
ruoyi-admin/src/main/java/com/ruoyi/algorithm/controller/AlgorithmBaseController.java
View file @
8f6ecebe
...
...
@@ -37,6 +37,15 @@ public class AlgorithmBaseController extends BaseController {
return
getDataTable
(
list
);
}
/**
* 查询算法列表
*/
@PreAuthorize
(
"@ss.hasPermi('system:algorithmBase:list')"
)
@GetMapping
(
"/list/all"
)
public
AjaxResult
listAll
(
AlgorithmBase
algorithmBase
)
{
return
success
(
algorithmBaseService
.
selectAlgorithmBaseList
(
algorithmBase
));
}
/**
* 获取算法详细信息
*/
...
...
ruoyi-admin/src/main/java/com/ruoyi/algorithm/controller/AlgorithmCameraBaseController.java
View file @
8f6ecebe
...
...
@@ -48,6 +48,16 @@ public class AlgorithmCameraBaseController extends BaseController
return
getDataTable
(
list
);
}
/**
* 查询算法摄像头列表
*/
@PreAuthorize
(
"@ss.hasPermi('system:algorithmCamera:list')"
)
@GetMapping
(
"/list/all"
)
public
AjaxResult
listAll
(
AlgorithmCameraBase
algorithmCameraBase
)
{
return
success
(
algorithmCameraBaseService
.
selectAlgorithmCameraBaseList
(
algorithmCameraBase
));
}
/**
* 获取算法摄像头详细信息
*/
...
...
ruoyi-admin/src/main/java/com/ruoyi/algorithm/controller/AlgorithmSceneBaseController.java
View file @
8f6ecebe
...
...
@@ -3,6 +3,7 @@ package com.ruoyi.algorithm.controller;
import
java.util.List
;
import
javax.servlet.http.HttpServletResponse
;
import
com.ruoyi.algorithm.domain.dto.AlgorithmSceneDetailsDto
;
import
com.ruoyi.algorithm.domain.dto.AlgorithmSceneListDto
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -55,7 +56,7 @@ public class AlgorithmSceneBaseController extends BaseController
@GetMapping
(
value
=
"/{id}"
)
public
AjaxResult
getInfo
(
@PathVariable
(
"id"
)
Long
id
)
{
return
success
(
algorithmSceneBaseService
.
selectAlgorithmScene
Base
ById
(
id
));
return
success
(
algorithmSceneBaseService
.
selectAlgorithmScene
DetailsDto
ById
(
id
));
}
/**
...
...
@@ -64,9 +65,10 @@ public class AlgorithmSceneBaseController extends BaseController
@PreAuthorize
(
"@ss.hasPermi('system:algorithmScene:add')"
)
@Log
(
title
=
"算法场景"
,
businessType
=
BusinessType
.
INSERT
)
@PostMapping
public
AjaxResult
add
(
@RequestBody
AlgorithmScene
Base
algorithmSceneBase
)
public
AjaxResult
add
(
@RequestBody
AlgorithmScene
DetailsDto
algorithmSceneDetailsDto
)
{
return
toAjax
(
algorithmSceneBaseService
.
insertAlgorithmSceneBase
(
algorithmSceneBase
));
algorithmSceneDetailsDto
.
setCreateBy
(
getUsername
());
return
toAjax
(
algorithmSceneBaseService
.
insertAlgorithmSceneDetailsDto
(
algorithmSceneDetailsDto
));
}
/**
...
...
@@ -75,9 +77,10 @@ public class AlgorithmSceneBaseController extends BaseController
@PreAuthorize
(
"@ss.hasPermi('system:algorithmScene:edit')"
)
@Log
(
title
=
"算法场景"
,
businessType
=
BusinessType
.
UPDATE
)
@PutMapping
public
AjaxResult
edit
(
@RequestBody
AlgorithmScene
Base
algorithmSceneBase
)
public
AjaxResult
edit
(
@RequestBody
AlgorithmScene
DetailsDto
algorithmSceneDetailsDto
)
{
return
toAjax
(
algorithmSceneBaseService
.
updateAlgorithmSceneBase
(
algorithmSceneBase
));
algorithmSceneDetailsDto
.
setUpdateBy
(
getUsername
());
return
toAjax
(
algorithmSceneBaseService
.
updateAlgorithmSceneDetailsDto
(
algorithmSceneDetailsDto
));
}
/**
...
...
ruoyi-admin/src/main/java/com/ruoyi/algorithm/domain/AlgorithmScenePiece.java
View file @
8f6ecebe
...
...
@@ -28,6 +28,10 @@ public class AlgorithmScenePiece extends BaseEntity
@Excel
(
name
=
"算法块参数值"
)
private
String
variableValue
;
/** 排序 */
@Excel
(
name
=
"排序"
)
private
Long
sort
;
public
void
setSceneId
(
Long
sceneId
)
{
this
.
sceneId
=
sceneId
;
...
...
@@ -65,6 +69,14 @@ public class AlgorithmScenePiece extends BaseEntity
return
variableValue
;
}
public
Long
getSort
()
{
return
sort
;
}
public
void
setSort
(
Long
sort
)
{
this
.
sort
=
sort
;
}
@Override
public
String
toString
()
{
return
new
ToStringBuilder
(
this
,
ToStringStyle
.
MULTI_LINE_STYLE
)
...
...
ruoyi-admin/src/main/java/com/ruoyi/algorithm/domain/dto/AlgorithmPieceDetailsDto.java
0 → 100644
View file @
8f6ecebe
package
com
.
ruoyi
.
algorithm
.
domain
.
dto
;
import
lombok.Data
;
import
java.util.List
;
/**
* @author 周昊
* @desc ...
* @date 2023-05-15 17:35:21
*/
@Data
public
class
AlgorithmPieceDetailsDto
{
/** 主键id */
private
Long
id
;
/** 算法块名 */
private
String
pieceName
;
/** 算法块参数 */
private
List
<
AlgorithmPieceVariableDetailsDto
>
variables
;
/** 排序 */
private
Long
sort
;
}
ruoyi-admin/src/main/java/com/ruoyi/algorithm/domain/dto/AlgorithmPieceVariableDetailsDto.java
0 → 100644
View file @
8f6ecebe
package
com
.
ruoyi
.
algorithm
.
domain
.
dto
;
import
lombok.Data
;
/**
* @author 周昊
* @desc ...
* @date 2023-05-16 10:07:12
*/
@Data
public
class
AlgorithmPieceVariableDetailsDto
{
/**
* 算法块主键id
*/
private
Long
algorithmPieceBaseId
;
/**
* 参数唯一标识
*/
private
String
variableKey
;
/**
* 参数名称
*/
private
String
variableName
;
/**
* 参数类型
*/
private
String
variableType
;
/**
* 参数值
*/
private
String
variableValue
;
}
ruoyi-admin/src/main/java/com/ruoyi/algorithm/domain/dto/AlgorithmSceneDetailsDto.java
0 → 100644
View file @
8f6ecebe
package
com
.
ruoyi
.
algorithm
.
domain
.
dto
;
import
lombok.Data
;
import
java.util.List
;
@Data
public
class
AlgorithmSceneDetailsDto
{
/**
* 主键id
*/
private
Long
id
;
/**
* 场景名
*/
private
String
sceneName
;
/**
* 算法id
*/
private
Long
algorithmId
;
/**
* 处理的预警类型
*/
private
String
alarmTypes
;
/**
* 每秒帧数(ai算法启动参数)
*/
private
Long
frameSecond
;
/**
* 摄像头id列表
*/
private
String
cameraIdList
;
private
List
<
AlgorithmPieceDetailsDto
>
pieceDtos
;
/**
* 创建者
*/
private
String
createBy
;
/**
* 更新者
*/
private
String
updateBy
;
}
ruoyi-admin/src/main/java/com/ruoyi/algorithm/mapper/AlgorithmScenePieceMapper.java
View file @
8f6ecebe
...
...
@@ -2,6 +2,8 @@ package com.ruoyi.algorithm.mapper;
import
java.util.List
;
import
com.ruoyi.algorithm.domain.AlgorithmScenePiece
;
import
com.ruoyi.algorithm.domain.dto.AlgorithmPieceDetailsDto
;
import
org.apache.ibatis.annotations.Param
;
/**
* 场景算法块Mapper接口
...
...
@@ -58,4 +60,6 @@ public interface AlgorithmScenePieceMapper
* @return 结果
*/
public
int
deleteAlgorithmScenePieceBySceneIds
(
Long
[]
sceneIds
);
List
<
AlgorithmPieceDetailsDto
>
selectAlgorithmPieceDetailsDtoBySceneId
(
@Param
(
"sceneId"
)
Long
sceneId
);
}
ruoyi-admin/src/main/java/com/ruoyi/algorithm/service/IAlgorithmSceneBaseService.java
View file @
8f6ecebe
...
...
@@ -2,6 +2,7 @@ package com.ruoyi.algorithm.service;
import
java.util.List
;
import
com.ruoyi.algorithm.domain.AlgorithmSceneBase
;
import
com.ruoyi.algorithm.domain.dto.AlgorithmSceneDetailsDto
;
import
com.ruoyi.algorithm.domain.dto.AlgorithmSceneListDto
;
/**
...
...
@@ -63,4 +64,10 @@ public interface IAlgorithmSceneBaseService
List
<
AlgorithmSceneListDto
>
selectAlgorithmSceneListDto
(
AlgorithmSceneBase
algorithmSceneBase
);
int
editStatus
(
AlgorithmSceneBase
algorithmSceneBase
);
AlgorithmSceneDetailsDto
selectAlgorithmSceneDetailsDtoById
(
Long
id
);
int
insertAlgorithmSceneDetailsDto
(
AlgorithmSceneDetailsDto
algorithmSceneDetailsDto
);
int
updateAlgorithmSceneDetailsDto
(
AlgorithmSceneDetailsDto
algorithmSceneDetailsDto
);
}
ruoyi-admin/src/main/java/com/ruoyi/algorithm/service/IAlgorithmScenePieceService.java
View file @
8f6ecebe
...
...
@@ -2,6 +2,7 @@ package com.ruoyi.algorithm.service;
import
java.util.List
;
import
com.ruoyi.algorithm.domain.AlgorithmScenePiece
;
import
com.ruoyi.algorithm.domain.dto.AlgorithmPieceDetailsDto
;
/**
* 场景算法块Service接口
...
...
@@ -58,4 +59,6 @@ public interface IAlgorithmScenePieceService
* @return 结果
*/
public
int
deleteAlgorithmScenePieceBySceneId
(
Long
sceneId
);
List
<
AlgorithmPieceDetailsDto
>
selectAlgorithmPieceDetailsDtoBySceneId
(
Long
id
);
}
ruoyi-admin/src/main/java/com/ruoyi/algorithm/service/impl/AlgorithmSceneBaseServiceImpl.java
View file @
8f6ecebe
...
...
@@ -2,17 +2,22 @@ package com.ruoyi.algorithm.service.impl;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.stream.Collectors
;
import
cn.hutool.core.util.StrUtil
;
import
cn.hutool.http.HttpUtil
;
import
cn.hutool.json.JSONObject
;
import
cn.hutool.json.JSONUtil
;
import
com.ruoyi.algorithm.domain.AlgorithmScenePiece
;
import
com.ruoyi.algorithm.domain.dto.AlgorithmSceneDetailsDto
;
import
com.ruoyi.algorithm.domain.dto.AlgorithmSceneListDto
;
import
com.ruoyi.algorithm.service.IAlgorithmScenePieceService
;
import
com.ruoyi.algorithm.service.IAlgorithmSceneStatusService
;
import
com.ruoyi.algorithm.utils.FlinkRestApiUtil
;
import
com.ruoyi.common.config.AiRestApiConfig
;
import
com.ruoyi.common.config.FlinkConfig
;
import
com.ruoyi.common.exception.ServiceException
;
import
com.ruoyi.common.utils.bean.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
com.ruoyi.algorithm.mapper.AlgorithmSceneBaseMapper
;
...
...
@@ -35,6 +40,9 @@ public class AlgorithmSceneBaseServiceImpl implements IAlgorithmSceneBaseService
@Resource
private
IAlgorithmSceneStatusService
algorithmSceneStatusService
;
@Resource
private
IAlgorithmScenePieceService
algorithmScenePieceService
;
/**
* 查询算法场景
*
...
...
@@ -138,6 +146,81 @@ public class AlgorithmSceneBaseServiceImpl implements IAlgorithmSceneBaseService
return
1
;
}
@Override
public
AlgorithmSceneDetailsDto
selectAlgorithmSceneDetailsDtoById
(
Long
id
)
{
AlgorithmSceneBase
algorithmSceneBase
=
algorithmSceneBaseMapper
.
selectAlgorithmSceneBaseById
(
id
);
AlgorithmSceneDetailsDto
algorithmSceneDetailsDto
=
new
AlgorithmSceneDetailsDto
();
BeanUtils
.
copyBeanProp
(
algorithmSceneDetailsDto
,
algorithmSceneBase
);
algorithmSceneDetailsDto
.
setPieceDtos
(
algorithmScenePieceService
.
selectAlgorithmPieceDetailsDtoBySceneId
(
id
));
return
algorithmSceneDetailsDto
;
}
@Override
public
int
insertAlgorithmSceneDetailsDto
(
AlgorithmSceneDetailsDto
algorithmSceneDetailsDto
)
{
//新建场景
AlgorithmSceneBase
algorithmSceneBase
=
new
AlgorithmSceneBase
();
BeanUtils
.
copyBeanProp
(
algorithmSceneBase
,
algorithmSceneDetailsDto
);
int
i
=
insertAlgorithmSceneBase
(
algorithmSceneBase
);
//删除场景下算法块及参数数据
algorithmScenePieceService
.
deleteAlgorithmScenePieceBySceneId
(
algorithmSceneBase
.
getId
());
//新建场景下算法块及参数
List
<
AlgorithmScenePiece
>
algorithmScenePieceList
=
algorithmSceneDetailsDto
.
getPieceDtos
()
.
stream
()
.
flatMap
(
pieceDto
->
pieceDto
.
getVariables
()
.
stream
()
.
map
(
variable
->
{
AlgorithmScenePiece
algorithmScenePiece
=
new
AlgorithmScenePiece
();
algorithmScenePiece
.
setSceneId
(
algorithmSceneBase
.
getId
());
algorithmScenePiece
.
setPieceId
(
pieceDto
.
getId
());
algorithmScenePiece
.
setVariableKey
(
variable
.
getVariableKey
());
algorithmScenePiece
.
setVariableValue
(
variable
.
getVariableValue
());
algorithmScenePiece
.
setSort
(
pieceDto
.
getSort
());
return
algorithmScenePiece
;
})).
collect
(
Collectors
.
toList
());
for
(
AlgorithmScenePiece
algorithmScenePiece
:
algorithmScenePieceList
)
{
algorithmScenePieceService
.
insertAlgorithmScenePiece
(
algorithmScenePiece
);
}
return
i
;
}
@Override
public
int
updateAlgorithmSceneDetailsDto
(
AlgorithmSceneDetailsDto
algorithmSceneDetailsDto
)
{
//更新场景
AlgorithmSceneBase
algorithmSceneBase
=
new
AlgorithmSceneBase
();
BeanUtils
.
copyBeanProp
(
algorithmSceneBase
,
algorithmSceneDetailsDto
);
int
i
=
updateAlgorithmSceneBase
(
algorithmSceneBase
);
//删除场景下算法块及参数数据
algorithmScenePieceService
.
deleteAlgorithmScenePieceBySceneId
(
algorithmSceneBase
.
getId
());
//新建场景下算法块及参数
List
<
AlgorithmScenePiece
>
algorithmScenePieceList
=
algorithmSceneDetailsDto
.
getPieceDtos
()
.
stream
()
.
flatMap
(
pieceDto
->
pieceDto
.
getVariables
()
.
stream
()
.
map
(
variable
->
{
AlgorithmScenePiece
algorithmScenePiece
=
new
AlgorithmScenePiece
();
algorithmScenePiece
.
setSceneId
(
algorithmSceneBase
.
getId
());
algorithmScenePiece
.
setPieceId
(
pieceDto
.
getId
());
algorithmScenePiece
.
setVariableKey
(
variable
.
getVariableKey
());
algorithmScenePiece
.
setVariableValue
(
variable
.
getVariableValue
());
algorithmScenePiece
.
setSort
(
pieceDto
.
getSort
());
return
algorithmScenePiece
;
})).
collect
(
Collectors
.
toList
());
for
(
AlgorithmScenePiece
algorithmScenePiece
:
algorithmScenePieceList
)
{
algorithmScenePieceService
.
insertAlgorithmScenePiece
(
algorithmScenePiece
);
}
return
i
;
}
private
void
sendAi
(
Long
sceneId
,
String
status
)
{
String
statusKey
;
//启动
...
...
ruoyi-admin/src/main/java/com/ruoyi/algorithm/service/impl/AlgorithmScenePieceServiceImpl.java
View file @
8f6ecebe
package
com
.
ruoyi
.
algorithm
.
service
.
impl
;
import
java.util.List
;
import
com.ruoyi.algorithm.domain.dto.AlgorithmPieceDetailsDto
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
com.ruoyi.algorithm.mapper.AlgorithmScenePieceMapper
;
...
...
@@ -90,4 +92,9 @@ public class AlgorithmScenePieceServiceImpl implements IAlgorithmScenePieceServi
{
return
algorithmScenePieceMapper
.
deleteAlgorithmScenePieceBySceneId
(
sceneId
);
}
@Override
public
List
<
AlgorithmPieceDetailsDto
>
selectAlgorithmPieceDetailsDtoBySceneId
(
Long
id
)
{
return
algorithmScenePieceMapper
.
selectAlgorithmPieceDetailsDtoBySceneId
(
id
);
}
}
ruoyi-admin/src/main/resources/application.yml
View file @
8f6ecebe
...
...
@@ -70,7 +70,7 @@ spring:
# redis 配置
redis
:
# 地址
host
:
localhost
host
:
192.168.4.221
# 端口,默认为6379
port
:
6379
# 数据库索引
...
...
ruoyi-admin/src/main/resources/mapper/system/AlgorithmBaseMapper.xml
View file @
8f6ecebe
...
...
@@ -54,6 +54,7 @@
<if
test=
"algorithmKey != null and algorithmKey != ''"
>
and algorithm_key = #{algorithmKey}
</if>
<if
test=
"sort != null "
>
and sort = #{sort}
</if>
<if
test=
"status != null and status != ''"
>
and status = #{status}
</if>
and del_flag = '0'
</where>
</select>
...
...
ruoyi-admin/src/main/resources/mapper/system/AlgorithmSceneBaseMapper.xml
View file @
8f6ecebe
...
...
@@ -112,7 +112,7 @@
FIND_IN_SET( id, #{cameraIdList} )
</select>
<insert
id=
"insertAlgorithmSceneBase"
parameterType=
"AlgorithmSceneBase"
>
<insert
id=
"insertAlgorithmSceneBase"
parameterType=
"AlgorithmSceneBase"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
insert into algorithm_scene_base
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"id != null"
>
id,
</if>
...
...
ruoyi-admin/src/main/resources/mapper/system/AlgorithmScenePieceMapper.xml
View file @
8f6ecebe
...
...
@@ -9,10 +9,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result
property=
"pieceId"
column=
"piece_id"
/>
<result
property=
"variableKey"
column=
"variable_key"
/>
<result
property=
"variableValue"
column=
"variable_value"
/>
<result
property=
"sort"
column=
"sort"
/>
</resultMap>
<resultMap
type=
"com.ruoyi.algorithm.domain.dto.AlgorithmPieceDetailsDto"
id=
"AlgorithmPieceDetailsDtoResult"
>
<result
property=
"id"
column=
"piece_id"
/>
<result
property=
"pieceName"
column=
"piece_name"
/>
<result
property=
"sort"
column=
"sort"
/>
<collection
property=
"variables"
javaType=
"ArrayList"
ofType=
"com.ruoyi.algorithm.domain.dto.AlgorithmPieceVariableDetailsDto"
>
<result
property=
"algorithmPieceBaseId"
column=
"piece_id"
/>
<result
property=
"variableKey"
column=
"variable_key"
/>
<result
property=
"variableValue"
column=
"variable_value"
/>
<result
property=
"variableType"
column=
"variable_type"
/>
<result
property=
"variableName"
column=
"variable_name"
/>
</collection>
</resultMap>
<sql
id=
"selectAlgorithmScenePieceVo"
>
select scene_id, piece_id, variable_key, variable_value from algorithm_scene_piece
select scene_id, piece_id, variable_key, variable_value
,sort
from algorithm_scene_piece
</sql>
<select
id=
"selectAlgorithmScenePieceList"
parameterType=
"AlgorithmScenePiece"
resultMap=
"AlgorithmScenePieceResult"
>
...
...
@@ -26,7 +40,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<include
refid=
"selectAlgorithmScenePieceVo"
/>
where scene_id = #{sceneId}
</select>
<select
id=
"selectAlgorithmPieceDetailsDtoBySceneId"
resultMap=
"AlgorithmPieceDetailsDtoResult"
>
SELECT
asp.piece_id,
apb.piece_name,
asp.sort,
asp.variable_key,
asp.variable_value,
apv.variable_name,
apv.variable_type
FROM
algorithm_scene_piece asp
LEFT JOIN algorithm_piece_base apb ON apb.id = asp.piece_id
LEFT JOIN algorithm_piece_variable apv ON apv.algorithm_piece_base_id = asp.piece_id
AND asp.variable_key = apv.variable_key
WHERE
asp.scene_id = #{sceneId}
</select>
<insert
id=
"insertAlgorithmScenePiece"
parameterType=
"AlgorithmScenePiece"
>
insert into algorithm_scene_piece
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
...
...
@@ -34,12 +65,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if
test=
"pieceId != null"
>
piece_id,
</if>
<if
test=
"variableKey != null"
>
variable_key,
</if>
<if
test=
"variableValue != null"
>
variable_value,
</if>
<if
test=
"sort != null"
>
sort,
</if>
</trim>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"sceneId != null"
>
#{sceneId},
</if>
<if
test=
"pieceId != null"
>
#{pieceId},
</if>
<if
test=
"variableKey != null"
>
#{variableKey},
</if>
<if
test=
"variableValue != null"
>
#{variableValue},
</if>
<if
test=
"sort != null"
>
#{sort},
</if>
</trim>
</insert>
...
...
@@ -49,6 +82,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if
test=
"pieceId != null"
>
piece_id = #{pieceId},
</if>
<if
test=
"variableKey != null"
>
variable_key = #{variableKey},
</if>
<if
test=
"variableValue != null"
>
variable_value = #{variableValue},
</if>
<if
test=
"sort != null"
>
sort = #{sort},
</if>
</trim>
where scene_id = #{sceneId}
</update>
...
...
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