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
8fc6cb0f
Commit
8fc6cb0f
authored
Apr 03, 2025
by
wangyecheng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
策略参数配置场景配置一版
parent
202184be
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
137 additions
and
6 deletions
+137
-6
StrategyPriorityController.java
...opt/controllerv2/strategy/StrategyPriorityController.java
+16
-0
StrategyPriorityMapper.java
...wanji/opt/dao/mapper/strategy/StrategyPriorityMapper.java
+9
-0
StrategyParameterConfig.java
...et/wanji/opt/entity/strategy/StrategyParameterConfig.java
+44
-0
StrategyPriorityGroup.java
.../wanji/opt/entity/strategy/dto/StrategyPriorityGroup.java
+7
-0
StrategyPriorityService.java
...wanji/opt/servicev2/strategy/StrategyPriorityService.java
+2
-0
StrategyPriorityServiceImpl.java
.../servicev2/strategy/impl/StrategyPriorityServiceImpl.java
+36
-6
StrategyPriorityMapper.xml
...main/resources/mapper/strategy/StrategyPriorityMapper.xml
+23
-0
No files found.
signal-optimize-service/src/main/java/net/wanji/opt/controllerv2/strategy/StrategyPriorityController.java
View file @
8fc6cb0f
...
...
@@ -218,4 +218,20 @@ public class StrategyPriorityController {
return
jsonView
;
}
@ApiOperation
(
value
=
"策略管理-策略参数配置"
,
notes
=
"批量保存"
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
,
hidden
=
false
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"strategyPriorityGroup"
,
value
=
"参数配置数据"
,
required
=
false
,
dataType
=
"String"
),
})
@PostMapping
(
"/saveParamterConfig"
)
public
JsonViewObject
saveParamterConfig
(
@RequestBody
StrategyPriorityGroup
strategyPriorityGroup
){
JsonViewObject
jsonView
=
JsonViewObject
.
newInstance
();
try
{
strategyPriorityService
.
saveParamterConfig
(
strategyPriorityGroup
);
jsonView
.
success
();
}
catch
(
Exception
e
)
{
jsonView
.
fail
(
I18nResourceBundle
.
getConstants
(
"SAVE_FAILED_MSG"
));
log
.
error
(
"{} StrategyPriorityController-saveParamterConfig"
,
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 @
8fc6cb0f
package
net
.
wanji
.
opt
.
dao
.
mapper
.
strategy
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
net.wanji.opt.entity.strategy.StrategyParameterConfig
;
import
net.wanji.opt.entity.strategy.StrategyPriorityConfig
;
import
net.wanji.opt.entity.strategy.StrategyPriorityDailyInfo
;
import
java.util.List
;
import
java.util.Map
;
import
net.wanji.opt.entity.strategy.dto.StrategyPriorityGroup
;
import
net.wanji.opt.synthesis.pojo.StrategyFactoryEntity
;
import
org.apache.ibatis.annotations.Param
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
...
...
@@ -79,5 +81,12 @@ public interface StrategyPriorityMapper extends BaseMapper<StrategyPriorityDaily
List
<
StrategyPriorityDailyInfo
>
getPlanConfigData
(
String
crossId
);
List
<
StrategyParameterConfig
>
paramterConfigTable
(
String
crossId
);
void
deleteParamterConfig
(
String
crossId
);
void
saveParamConfig
(
@Param
(
"savePlanList"
)
List
<
StrategyParameterConfig
>
savePlanList
);
}
signal-optimize-service/src/main/java/net/wanji/opt/entity/strategy/StrategyParameterConfig.java
0 → 100644
View file @
8fc6cb0f
package
net
.
wanji
.
opt
.
entity
.
strategy
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
@TableName
(
"t_strategy_parameter_config"
)
@NoArgsConstructor
@AllArgsConstructor
public
class
StrategyParameterConfig
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 自增主键
*/
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
Long
id
;
/**
* 策略编号
*/
private
String
strategyNo
;
/**
* 路口编号
*/
private
String
crossId
;
/**
* 参数配置执行详情
*/
private
String
paramDetails
;
}
signal-optimize-service/src/main/java/net/wanji/opt/entity/strategy/dto/StrategyPriorityGroup.java
View file @
8fc6cb0f
package
net
.
wanji
.
opt
.
entity
.
strategy
.
dto
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
io.swagger.models.auth.In
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.NoArgsConstructor
;
import
net.wanji.opt.entity.strategy.StrategyParameterConfig
;
import
net.wanji.opt.entity.strategy.StrategyPriorityConfig
;
import
net.wanji.opt.entity.strategy.StrategyPriorityDailyInfo
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Objects
;
@Data
...
...
@@ -27,8 +30,12 @@ public class StrategyPriorityGroup {
private
String
weekExecute
;
//日计划编号
private
Integer
dailyPlanId
;
//策略编号
private
String
strategyNo
;
//优先级的配置信息
private
List
<
StrategyPriorityConfig
>
data
;
//计划表的配置信息
private
Object
dailyPlanDetails
;
// 参数配置表的配置信息
private
List
<
Object
>
parameterConfigList
;
}
signal-optimize-service/src/main/java/net/wanji/opt/servicev2/strategy/StrategyPriorityService.java
View file @
8fc6cb0f
...
...
@@ -74,4 +74,6 @@ public interface StrategyPriorityService extends IService<StrategyPriorityDailyI
List
<
StrategyPriorityDailyInfo
>
getPlanConfigData
(
String
crossId
);
void
saveParamterConfig
(
StrategyPriorityGroup
strategyPriorityGroup
);
}
signal-optimize-service/src/main/java/net/wanji/opt/servicev2/strategy/impl/StrategyPriorityServiceImpl.java
View file @
8fc6cb0f
package
net
.
wanji
.
opt
.
servicev2
.
strategy
.
impl
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.nacos.common.utils.CollectionUtils
;
import
com.alibaba.nacos.common.utils.StringUtils
;
import
com.fasterxml.jackson.core.JsonProcessingException
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
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.StrategyParameterConfig
;
import
net.wanji.opt.entity.strategy.StrategyPriorityConfig
;
import
net.wanji.opt.entity.strategy.StrategyPriorityDailyInfo
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
...
...
@@ -17,10 +17,7 @@ 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
;
import
java.util.*
;
/**
* <p>
...
...
@@ -184,6 +181,9 @@ import java.util.List;
try
{
//先获取策略编号
List
<
String
>
strategyNo
=
strategyPriorityMapper
.
getstrategyNo
(
crossId
);
if
(
CollectionUtils
.
isEmpty
(
strategyNo
)){
strategyNo
.
add
(
"0"
);
}
List
<
StrategyFactoryEntity
>
priorityList
=
strategyPriorityMapper
.
getPriorityConfigData
(
strategyNo
,
crossId
);
return
priorityList
;
}
catch
(
Exception
e
){
...
...
@@ -244,4 +244,34 @@ import java.util.List;
List
<
StrategyPriorityDailyInfo
>
planList
=
strategyPriorityMapper
.
getPlanConfigData
(
crossId
);
return
planList
;
}
/*
* 策略参数配置
* */
@Override
public
void
saveParamterConfig
(
StrategyPriorityGroup
group
)
{
try
{
List
<
StrategyParameterConfig
>
savePlanList
=
new
ArrayList
<>();
StrategyParameterConfig
strategyParameterConfig
=
new
StrategyParameterConfig
();
//策略编号
String
strategyNo
=
group
.
getStrategyNo
();
strategyParameterConfig
.
setStrategyNo
(
strategyNo
);
//路口id
String
crossId
=
group
.
getCrossId
();
strategyParameterConfig
.
setCrossId
(
crossId
);
//先判断表里有没有数据,有的话删除t_strategy_parameter_config
List
<
StrategyParameterConfig
>
paramterConfig
=
strategyPriorityMapper
.
paramterConfigTable
(
crossId
);
if
(
paramterConfig
.
size
()
>
0
)
{
strategyPriorityMapper
.
deleteParamterConfig
(
crossId
);
}
List
<
Object
>
parameterConfigList
=
group
.
getParameterConfigList
();
String
jsonString
=
JSON
.
toJSONString
(
parameterConfigList
);
strategyParameterConfig
.
setParamDetails
(
jsonString
);
savePlanList
.
add
(
strategyParameterConfig
);
strategyPriorityMapper
.
saveParamConfig
(
savePlanList
);
}
catch
(
Exception
e
){
log
.
error
(
"{} saveParamterConfig"
,
this
.
getClass
().
getSimpleName
(),
e
);
throw
e
;
}
}
}
signal-optimize-service/src/main/resources/mapper/strategy/StrategyPriorityMapper.xml
View file @
8fc6cb0f
...
...
@@ -239,4 +239,27 @@
and cross_id = #{crossId}
</if>
</select>
<select
id=
"paramterConfigTable"
parameterType=
"map"
resultType=
"net.wanji.opt.entity.strategy.StrategyParameterConfig"
>
SELECT
id,cross_id
FROM t_strategy_parameter_config
WHERE
1=1
<if
test=
"crossId!=null"
>
AND cross_id =#{crossId}
</if>
</select>
<delete
id=
"deleteParamterConfig"
>
DELETE
FROM t_strategy_parameter_config
WHERE cross_id =#{crossId}
</delete>
<insert
id=
"saveParamConfig"
parameterType=
"list"
>
INSERT INTO
t_strategy_parameter_config(cross_id,strategy_no,param_details)
VALUES
<foreach
collection=
"savePlanList"
item=
"item"
separator=
","
>
(#{item.crossId},#{item.strategyNo},#{item.paramDetails})
</foreach>
</insert>
</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