Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yd-product
Overview
Overview
Details
Activity
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
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
xingmin
yd-product
Commits
b118fe20
Commit
b118fe20
authored
Jan 23, 2026
by
zhangxingmin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
push
parent
8dcb3a2e
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
17 additions
and
42 deletions
+17
-42
yd-product-api/src/main/java/com/yd/product/api/service/impl/ApiAttributeSettingServiceImpl.java
+17
-42
No files found.
yd-product-api/src/main/java/com/yd/product/api/service/impl/ApiAttributeSettingServiceImpl.java
View file @
b118fe20
...
...
@@ -87,15 +87,6 @@ public class ApiAttributeSettingServiceImpl implements ApiAttributeSettingServic
fieldValueBizIds
.
add
(
dto
.
getFieldValueBizId
());
}
}
// 对于fieldValueBizId为空的情况,但value字段可能包含业务ID
else
if
(
StringUtils
.
isNotBlank
(
dto
.
getValue
()))
{
String
value
=
dto
.
getValue
();
// 尝试从value字段解析可能的业务ID
List
<
String
>
possibleBizIds
=
parsePossibleBizIdsFromValue
(
value
);
if
(!
possibleBizIds
.
isEmpty
())
{
fieldValueBizIds
.
addAll
(
possibleBizIds
);
}
}
if
(!
fieldValueBizIds
.
isEmpty
())
{
allFieldValueBizIds
.
addAll
(
fieldValueBizIds
);
...
...
@@ -154,9 +145,23 @@ public class ApiAttributeSettingServiceImpl implements ApiAttributeSettingServic
Map
<
String
,
String
>
finalFieldValueBizIdToNameMap
=
fieldValueBizIdToNameMap
;
List
<
String
>
valueNames
=
valueBizIds
.
stream
()
.
map
(
fieldValueBizId
->
{
// 首先尝试从字段值服务查询名称
String
name
=
finalFieldValueBizIdToNameMap
.
get
(
fieldValueBizId
);
// 如果查询不到名称,使用业务ID本身
return
StringUtils
.
isNotBlank
(
name
)
?
name
:
fieldValueBizId
;
// 如果查询不到名称,使用value字段的值
// 这里使用一个简单的判断:如果value字段看起来像是业务ID,则使用业务ID本身
// 否则使用value字段
if
(
StringUtils
.
isBlank
(
name
))
{
// 判断value字段是否看起来像是业务ID
if
(
isLikelyBusinessId
(
dto
.
getValue
()))
{
// 如果是业务ID,使用业务ID本身
return
fieldValueBizId
;
}
else
{
// 如果不是业务ID,使用value字段的值
return
dto
.
getValue
();
}
}
return
name
;
})
.
collect
(
Collectors
.
toList
());
settingDto
.
setValueNames
(
StringUtils
.
join
(
valueNames
,
";"
));
...
...
@@ -184,40 +189,10 @@ public class ApiAttributeSettingServiceImpl implements ApiAttributeSettingServic
}
/**
* 从value字段解析可能的业务ID
* 这个方法尝试识别value字段中是否包含业务ID
*/
private
List
<
String
>
parsePossibleBizIdsFromValue
(
String
value
)
{
List
<
String
>
bizIds
=
new
ArrayList
<>();
if
(
StringUtils
.
isBlank
(
value
))
{
return
bizIds
;
}
// 如果value包含分号,按分号分割
if
(
value
.
contains
(
";"
))
{
String
[]
parts
=
value
.
split
(
";"
);
for
(
String
part
:
parts
)
{
String
trimmedPart
=
part
.
trim
();
// 如果部分看起来像是业务ID(包含下划线且长度较长)
if
(
isLikelyBizId
(
trimmedPart
))
{
bizIds
.
add
(
trimmedPart
);
}
}
}
// 如果不包含分号,检查整个value
else
if
(
isLikelyBizId
(
value
))
{
bizIds
.
add
(
value
);
}
return
bizIds
;
}
/**
* 判断一个字符串是否可能是业务ID
* 这是一个保守的判断,只检查基本特征
*/
private
boolean
isLikelyB
iz
Id
(
String
str
)
{
private
boolean
isLikelyB
usiness
Id
(
String
str
)
{
if
(
StringUtils
.
isBlank
(
str
))
{
return
false
;
}
...
...
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