Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
T
traffic-signal-platform
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
jinan
traffic-signal-platform
Commits
c7679aac
Commit
c7679aac
authored
Apr 01, 2025
by
wangyecheng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
策略优先级保存 跟数据回显
parent
af8c9a2c
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
214 additions
and
1 deletion
+214
-1
StrategyPriorityController.java
...opt/controllerv2/strategy/StrategyPriorityController.java
+37
-1
StrategyPriorityMapper.java
...wanji/opt/dao/mapper/strategy/StrategyPriorityMapper.java
+15
-0
StrategyPriorityGroup.java
.../wanji/opt/entity/strategy/dto/StrategyPriorityGroup.java
+25
-0
StrategyPriorityService.java
...wanji/opt/servicev2/strategy/StrategyPriorityService.java
+7
-0
StrategyPriorityServiceImpl.java
.../servicev2/strategy/impl/StrategyPriorityServiceImpl.java
+68
-0
StrategyFactoryEntity.java
...a/net/wanji/opt/synthesis/pojo/StrategyFactoryEntity.java
+5
-0
StrategyPriorityMapper.xml
...main/resources/mapper/strategy/StrategyPriorityMapper.xml
+57
-0
No files found.
signal-optimize-service/src/main/java/net/wanji/opt/controllerv2/strategy/StrategyPriorityController.java
View file @
c7679aac
package
net
.
wanji
.
opt
.
controllerv2
.
strategy
;
import
com.alibaba.fastjson.JSON
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
lombok.extern.slf4j.Slf4j
;
import
net.wanji.common.framework.i18n.I18nResourceBundle
;
...
...
@@ -12,6 +13,7 @@ import io.swagger.annotations.Api;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
import
net.wanji.opt.entity.strategy.dto.StrategyPriorityGroup
;
import
net.wanji.opt.servicev2.strategy.StrategyPriorityService
;
import
net.wanji.opt.synthesis.pojo.StrategyFactoryEntity
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -33,7 +35,7 @@ import java.util.Map;
* @author fengyi
* @since 2025-03-28
*/
@Api
(
tags
=
"策略
优先级日计划详情表
"
)
@Api
(
tags
=
"策略
管理
"
)
@RestController
@RequestMapping
(
"/strategy-priority"
)
@Slf4j
...
...
@@ -147,4 +149,38 @@ public class StrategyPriorityController {
}
return
jsonView
;
}
@ApiOperation
(
value
=
"策略管理-策略优先级批量保存"
,
notes
=
"批量保存"
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
,
hidden
=
false
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"dataList"
,
value
=
"优先级配置数据"
,
required
=
false
,
dataType
=
"String"
),
})
@PostMapping
(
"/savePriority"
)
public
JsonViewObject
savePriority
(
@RequestBody
List
<
StrategyPriorityGroup
>
dataList
){
JsonViewObject
jsonView
=
JsonViewObject
.
newInstance
();
try
{
strategyPriorityService
.
savePriority
(
dataList
);
jsonView
.
success
();
}
catch
(
Exception
e
)
{
jsonView
.
fail
(
I18nResourceBundle
.
getConstants
(
"SAVE_FAILED_MSG"
));
log
.
error
(
"{} StrategyPriorityController-savePriority"
,
this
.
getClass
().
getSimpleName
(),
e
);
}
return
jsonView
;
}
@ApiOperation
(
value
=
"策略管理-策略优先级数据回显"
,
notes
=
"数据回显"
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
,
hidden
=
false
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"crossId"
,
value
=
"路口id"
,
required
=
true
,
dataType
=
"String"
)
})
@GetMapping
(
"/getPriorityConfig"
)
public
JsonViewObject
getPriorityData
(
@RequestParam
(
required
=
true
)
String
crossId
){
JsonViewObject
jsonView
=
JsonViewObject
.
newInstance
();
try
{
List
<
StrategyFactoryEntity
>
list
=
strategyPriorityService
.
getPriorityData
(
crossId
);
jsonView
.
success
(
list
);
}
catch
(
Exception
e
)
{
jsonView
.
fail
(
I18nResourceBundle
.
getConstants
(
"SAVE_FAILED_MSG"
));
log
.
error
(
"{} StrategyPriorityController-getPriorityData"
,
this
.
getClass
().
getSimpleName
(),
e
);
}
return
jsonView
;
}
}
\ No newline at end of file
signal-optimize-service/src/main/java/net/wanji/opt/dao/mapper/strategy/StrategyPriorityMapper.java
View file @
c7679aac
package
net
.
wanji
.
opt
.
dao
.
mapper
.
strategy
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
net.wanji.opt.entity.strategy.StrategyPriorityConfig
;
import
net.wanji.opt.entity.strategy.StrategyPriorityDailyInfo
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -55,5 +56,19 @@ public interface StrategyPriorityMapper extends BaseMapper<StrategyPriorityDaily
List
<
StrategyFactoryEntity
>
getSceneList
();
List
<
StrategyFactoryEntity
>
getCompanyList
();
void
savePriorityInsert
(
List
<
StrategyPriorityConfig
>
saveList
);
List
<
StrategyPriorityConfig
>
selectPriorityTable
(
String
crossId
);
void
deletePriorityConfig
(
String
crossId
);
List
<
String
>
getstrategyNo
(
String
crossId
);
List
<
StrategyFactoryEntity
>
getPriorityConfigData
(
@Param
(
"strategyNo"
)
List
<
String
>
strategyNo
,
@Param
(
"crossId"
)
String
crossId
);
}
signal-optimize-service/src/main/java/net/wanji/opt/entity/strategy/dto/StrategyPriorityGroup.java
0 → 100644
View file @
c7679aac
package
net
.
wanji
.
opt
.
entity
.
strategy
.
dto
;
import
io.swagger.models.auth.In
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.NoArgsConstructor
;
import
net.wanji.opt.entity.strategy.StrategyPriorityConfig
;
import
java.util.List
;
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
@NoArgsConstructor
@AllArgsConstructor
public
class
StrategyPriorityGroup
{
//分组ID
private
Integer
labelCode
;
//分组名称
private
String
label
;
//路口Id
private
String
crossId
;
//优先级的配置信息
private
List
<
StrategyPriorityConfig
>
data
;
}
signal-optimize-service/src/main/java/net/wanji/opt/servicev2/strategy/StrategyPriorityService.java
View file @
c7679aac
package
net
.
wanji
.
opt
.
servicev2
.
strategy
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.opt.entity.strategy.StrategyPriorityDailyInfo
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
net.wanji.opt.entity.strategy.dto.StrategyPriorityGroup
;
import
net.wanji.opt.synthesis.pojo.StrategyFactoryEntity
;
import
java.util.List
;
...
...
@@ -61,4 +63,9 @@ public interface StrategyPriorityService extends IService<StrategyPriorityDailyI
List
<
StrategyFactoryEntity
>
getSceneList
();
List
<
StrategyFactoryEntity
>
getCompanyList
();
void
savePriority
(
List
<
StrategyPriorityGroup
>
dataList
);
List
<
StrategyFactoryEntity
>
getPriorityData
(
String
crossId
);
}
signal-optimize-service/src/main/java/net/wanji/opt/servicev2/strategy/impl/StrategyPriorityServiceImpl.java
View file @
c7679aac
package
net
.
wanji
.
opt
.
servicev2
.
strategy
.
impl
;
import
com.alibaba.nacos.common.utils.CollectionUtils
;
import
com.alibaba.nacos.common.utils.StringUtils
;
import
lombok.extern.slf4j.Slf4j
;
import
net.wanji.common.framework.i18n.I18nResourceBundle
;
import
net.wanji.opt.dao.mapper.strategy.StrategyPriorityMapper
;
import
net.wanji.opt.entity.strategy.StrategyPriorityConfig
;
import
net.wanji.opt.entity.strategy.StrategyPriorityDailyInfo
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
net.wanji.opt.entity.strategy.dto.StrategyPriorityGroup
;
import
net.wanji.opt.servicev2.strategy.StrategyPriorityService
;
import
net.wanji.opt.synthesis.pojo.StrategyFactoryEntity
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.annotation.Resource
;
import
java.util.ArrayList
;
import
java.util.Collection
;
import
java.util.Collections
;
import
java.util.List
;
/**
...
...
@@ -19,6 +29,7 @@ import java.util.List;
* @since 2025-03-28
*/
@Service
@Slf4j
public
class
StrategyPriorityServiceImpl
extends
ServiceImpl
<
StrategyPriorityMapper
,
StrategyPriorityDailyInfo
>
implements
StrategyPriorityService
{
@Resource
...
...
@@ -122,4 +133,61 @@ import java.util.List;
List
<
StrategyFactoryEntity
>
strategyList
=
strategyPriorityMapper
.
getCompanyList
();
return
strategyList
;
}
@Override
@Transactional
public
void
savePriority
(
List
<
StrategyPriorityGroup
>
dataList
)
{
try
{
List
<
StrategyPriorityConfig
>
saveList
=
new
ArrayList
<>();
for
(
StrategyPriorityGroup
group
:
dataList
)
{
String
label
=
group
.
getLabel
();
Integer
labelCode
=
group
.
getLabelCode
();
//路口id
String
crossId
=
group
.
getCrossId
();
//先判断表里有没有数据,有的话删除t_strategy_priority_config
List
<
StrategyPriorityConfig
>
priorityConfig
=
strategyPriorityMapper
.
selectPriorityTable
(
crossId
);
if
(
priorityConfig
.
size
()
>
0
)
{
strategyPriorityMapper
.
deletePriorityConfig
(
crossId
);
}
if
(
CollectionUtils
.
isNotEmpty
(
group
.
getData
()))
{
for
(
StrategyPriorityConfig
item
:
group
.
getData
())
{
StrategyPriorityConfig
strategyPriorityConfig
=
new
StrategyPriorityConfig
();
strategyPriorityConfig
.
setCrossId
(
crossId
);
//分组id
strategyPriorityConfig
.
setGroupId
(
labelCode
);
//分组名称
strategyPriorityConfig
.
setGroupName
(
label
);
//策略编号
strategyPriorityConfig
.
setStrategyNo
(
item
.
getStrategyNo
());
//优先级
strategyPriorityConfig
.
setPriority
(
item
.
getPriority
());
saveList
.
add
(
strategyPriorityConfig
);
}
}
}
strategyPriorityMapper
.
savePriorityInsert
(
saveList
);
}
catch
(
Exception
e
)
{
log
.
error
(
"{} savePriority"
,
this
.
getClass
().
getSimpleName
(),
e
);
throw
e
;
}
}
@Override
@Transactional
public
List
<
StrategyFactoryEntity
>
getPriorityData
(
String
crossId
)
{
try
{
//先获取策略编号
List
<
String
>
strategyNo
=
strategyPriorityMapper
.
getstrategyNo
(
crossId
);
List
<
StrategyFactoryEntity
>
priorityList
=
strategyPriorityMapper
.
getPriorityConfigData
(
strategyNo
,
crossId
);
return
priorityList
;
}
catch
(
Exception
e
){
log
.
error
(
"{} getPriorityData"
,
this
.
getClass
().
getSimpleName
(),
e
);
throw
e
;
}
}
}
signal-optimize-service/src/main/java/net/wanji/opt/synthesis/pojo/StrategyFactoryEntity.java
View file @
c7679aac
...
...
@@ -46,4 +46,9 @@ public class StrategyFactoryEntity {
@ApiModelProperty
(
"优化类型"
)
@TableField
(
"opt_type"
)
private
Integer
optType
;
/*非数据库字段*/
/**
* 优先级
*/
private
Integer
priority
;
}
signal-optimize-service/src/main/resources/mapper/strategy/StrategyPriorityMapper.xml
View file @
c7679aac
...
...
@@ -148,4 +148,61 @@
FROM
t_strategy_factory_info
</select>
<insert
id=
"savePriorityInsert"
parameterType=
"java.util.List"
>
INSERT INTO
t_strategy_priority_config (cross_id,group_id,group_name,priority,strategy_no)
VALUES
<foreach
collection=
"list"
item=
"item"
separator=
","
>
(#{item.crossId},#{item.groupId},#{item.groupName},#{item.priority},#{item.strategyNo})
</foreach>
</insert>
<select
id=
"selectPriorityTable"
parameterType=
"map"
resultType=
"net.wanji.opt.entity.strategy.StrategyPriorityConfig"
>
select
id,group_id,cross_id
FROM
t_strategy_priority_config
WHERE
1=1
<if
test=
"crossId!=null and crossId!=''"
>
and cross_id = #{crossId}
</if>
</select>
<delete
id=
"deletePriorityConfig"
parameterType=
"map"
>
DELETE
FROM t_strategy_priority_config
WHERE cross_id =#{crossId}
</delete>
<select
id=
"getPriorityConfigData"
parameterType=
"map"
resultType=
"net.wanji.opt.synthesis.pojo.StrategyFactoryEntity"
>
SELECT
t2.method,t2.strategy_name,t2.strategy_no,
t2.mark,t2.company,t1.priority as priority
FROM
t_strategy_priority_config t1
LEFT JOIN t_strategy_factory_info t2 on t1.strategy_no=t2.strategy_no
WHERE
1=1
AND t1.strategy_no IN
<foreach
item=
"item"
collection=
"strategyNo"
open=
"("
close=
")"
separator=
","
>
#{item}
</foreach>
<if
test=
"crossId!=null and crossId!=''"
>
AND t1.cross_id=#{crossId}
</if>
</select>
<select
id=
"getstrategyNo"
resultType=
"java.lang.String"
>
SELECT
strategy_no
FROM
t_strategy_priority_config
WHERE
1=1
<if
test=
"crossId!=null and crossId!=''"
>
AND cross_id=#{crossId}
</if>
</select>
</mapper>
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