Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yanxuan-qc-change-system
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
yx-qc-change-flow
yanxuan-qc-change-system
Commits
59f6e1a9
Commit
59f6e1a9
authored
Dec 02, 2025
by
王志超
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: 组装主工单商品信息
parent
37b687d3
Pipeline
#86390
passed with stages
in 1 minute 45 seconds
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
79 additions
and
83 deletions
+79
-83
ChangeFlowBiz.java
...om/netease/mail/yanxuan/change/biz/biz/ChangeFlowBiz.java
+79
-83
No files found.
yanxuan-qc-change-system-biz/src/main/java/com/netease/mail/yanxuan/change/biz/biz/ChangeFlowBiz.java
View file @
59f6e1a9
...
...
@@ -1090,93 +1090,89 @@ public class ChangeFlowBiz {
private
void
buildItemBasicInfoList
(
ChangeRecord
changeRecord
,
ChangeFlowVO
changeFlowVO
)
{
String
itemJsonStr
=
changeRecord
.
getChangeItem
();
if
(
StringUtils
.
isBlank
(
itemJsonStr
))
{
changeFlowVO
.
setChangeItems
(
null
);
changeFlowVO
.
setItemBasicInfoList
(
null
);
}
else
{
String
changeSkuJson
=
changeRecord
.
getChangeSku
();
List
<
ItemVO
>
itemList
=
JSON
.
parseArray
(
itemJsonStr
,
ItemVO
.
class
);
List
<
ItemSkuVO
>
itemSkuVOS
=
new
ArrayList
<>();
if
(
StringUtils
.
isNotBlank
(
changeSkuJson
))
{
itemSkuVOS
.
addAll
(
JSON
.
parseArray
(
changeSkuJson
,
ItemSkuVO
.
class
));
return
;
}
String
changeSkuJson
=
changeRecord
.
getChangeSku
();
List
<
ItemVO
>
itemList
=
JSON
.
parseArray
(
itemJsonStr
,
ItemVO
.
class
);
List
<
ItemSkuVO
>
itemSkuVOS
=
new
ArrayList
<>();
if
(
StringUtils
.
isNotBlank
(
changeSkuJson
))
{
itemSkuVOS
.
addAll
(
JSON
.
parseArray
(
changeSkuJson
,
ItemSkuVO
.
class
));
}
itemList
.
forEach
(
i
->
{
Optional
<
ItemSkuVO
>
anySkuInfo
=
itemSkuVOS
.
stream
().
filter
(
s
->
s
.
getItemId
().
equals
(
i
.
getItemId
()))
.
findAny
();
if
(
anySkuInfo
.
isPresent
())
{
i
.
setSkuIds
(
anySkuInfo
.
get
().
getSkuId
());
}
itemList
.
forEach
(
i
->
{
Optional
<
ItemSkuVO
>
anySkuInfo
=
itemSkuVOS
.
stream
().
filter
(
s
->
s
.
getItemId
().
equals
(
i
.
getItemId
()))
.
findAny
();
if
(
anySkuInfo
.
isPresent
())
{
i
.
setSkuIds
(
anySkuInfo
.
get
().
getSkuId
());
}
});
changeFlowVO
.
setChangeItems
(
itemList
);
// 变更执行/结果确认/完结节点,展示变更商品基础信息
String
flowNode
=
changeRecord
.
getFlowNode
();
if
(
ChangeFlowEnum
.
CHANGE_FLOW_EXE
.
getNodeId
().
equals
(
flowNode
)
||
ChangeFlowEnum
.
CHANGE_FLOW_CONFIRM
.
getNodeId
().
equals
(
flowNode
)
||
ChangeFlowEnum
.
END
.
getNodeId
().
equals
(
flowNode
))
{
List
<
Long
>
itemIds
=
itemList
.
stream
().
map
(
ItemVO:
:
getItemId
).
collect
(
Collectors
.
toList
());
// 批量查询spu信息
List
<
SpuTO
>
spuTOS
=
itemService
.
batchQuerySpuInfo
(
BatchQuerySpuInfoParam
.
builder
().
ids
(
itemIds
)
.
commonProps
(
new
ArrayList
<>()).
spuProps
(
Arrays
.
asList
(
"itemSetupType"
,
"businessForm"
)).
build
());
log
.
debug
(
"[detail] spuTOS:{}"
,
JSON
.
toJSONString
(
spuTOS
));
// 批量查询物理类目
Map
<
Long
,
List
<
SimplePhyCateGoryResultCo
>>
categoryChain
=
itemService
.
queryBySpuIds
(
CommonIdsParamQuery
.
builder
().
ids
(
itemIds
).
build
());
// 查询商品对应负责人信息
Map
<
Long
,
ChangeGoodsPrincipalPO
>
longChangeGoodsPrincipalPOMap
=
interiorChangeConfigService
.
queryGoodsPrincipalInfo
(
itemIds
);
List
<
ItemBasicInfoVO
>
itemBasicInfoVOS
=
itemList
.
stream
().
map
(
itemVO
->
{
ItemBasicInfoVO
itemBasicInfoVO
=
new
ItemBasicInfoVO
();
Long
itemId
=
itemVO
.
getItemId
();
itemBasicInfoVO
.
setItemId
(
itemId
);
itemBasicInfoVO
.
setItemName
(
itemVO
.
getItemName
());
List
<
QcCategoryVO
>
qcCategoryList
=
qcService
.
getQcCategoryListByItemId
(
itemId
);
if
(
CollectionUtils
.
isNotEmpty
(
qcCategoryList
))
{
String
collect
=
qcCategoryList
.
stream
().
map
(
QcCategoryVO:
:
getCategoryName
)
.
collect
(
Collectors
.
joining
(
"/"
));
itemBasicInfoVO
.
setQcCategory
(
collect
);
}
else
{
itemBasicInfoVO
.
setQcCategory
(
"/"
);
}
List
<
SimplePhyCateGoryResultCo
>
simplePhyCateGoryResultCos
=
categoryChain
.
get
(
itemId
);
log
.
debug
(
"[detail] itemId:{}, simplePhyCateGoryResultCos:{}"
,
itemId
,
JSON
.
toJSONString
(
simplePhyCateGoryResultCos
));
if
(
CollectionUtils
.
isEmpty
(
simplePhyCateGoryResultCos
))
{
itemBasicInfoVO
.
setPhyCategory
(
null
);
}
else
{
List
<
CategoryInfoVO
>
categoryInfoVOS
=
simplePhyCateGoryResultCos
.
stream
().
map
(
phy
->
{
CategoryInfoVO
categoryInfoVO
=
new
CategoryInfoVO
();
categoryInfoVO
.
setId
(
phy
.
getId
());
categoryInfoVO
.
setName
(
phy
.
getName
());
return
categoryInfoVO
;
}).
collect
(
Collectors
.
toList
());
itemBasicInfoVO
.
setPhyCategory
(
categoryInfoVOS
);
}
Optional
<
SpuTO
>
optionalSpuTO
=
spuTOS
.
stream
().
filter
(
spu
->
spu
.
getId
()
==
itemId
).
findAny
();
log
.
debug
(
"[detail] itemId:{}, optionalSpuTO:{}"
,
itemId
,
JSON
.
toJSONString
(
optionalSpuTO
));
if
(!
optionalSpuTO
.
isPresent
())
{
itemBasicInfoVO
.
setItemSetupType
(
null
);
itemBasicInfoVO
.
setBusinessForm
(
null
);
itemBasicInfoVO
.
setStatus
(
null
);
}
else
{
SpuTO
spuTO
=
optionalSpuTO
.
get
();
Map
<
String
,
String
>
propertyMap
=
spuTO
.
getPropertyMap
();
itemBasicInfoVO
.
setItemSetupType
(
Integer
.
valueOf
(
propertyMap
.
get
(
"itemSetupType"
)));
String
businessForm
=
propertyMap
.
get
(
"businessForm"
);
int
business
=
StringUtils
.
isBlank
(
businessForm
)
?
0
:
Integer
.
parseInt
(
businessForm
);
itemBasicInfoVO
.
setBusinessForm
(
business
);
itemBasicInfoVO
.
setStatus
(
spuTO
.
getStatus
());
}
ChangeGoodsPrincipalPO
changeGoodsPrincipalPO
=
longChangeGoodsPrincipalPOMap
.
get
(
itemId
);
log
.
debug
(
"[detail] itemId:{}, changeGoodsPrincipalPO:{}"
,
itemId
,
JSON
.
toJSONString
(
changeGoodsPrincipalPO
));
itemBasicInfoVO
.
setChangeGoodsPrincipal
(
changeGoodsPrincipalPO
);
Optional
<
ItemVO
>
anyHasSku
=
itemList
.
stream
().
filter
(
i
->
i
.
getItemId
().
equals
(
itemId
)).
findAny
();
if
(
anyHasSku
.
isPresent
())
{
itemBasicInfoVO
.
setSkuIds
(
anyHasSku
.
get
().
getSkuIds
());
}
return
itemBasicInfoVO
;
});
changeFlowVO
.
setChangeItems
(
itemList
);
List
<
Long
>
itemIds
=
itemList
.
stream
().
map
(
ItemVO:
:
getItemId
).
collect
(
Collectors
.
toList
());
// 批量查询spu信息
List
<
SpuTO
>
spuTOS
=
itemService
.
batchQuerySpuInfo
(
BatchQuerySpuInfoParam
.
builder
().
ids
(
itemIds
)
.
commonProps
(
new
ArrayList
<>()).
spuProps
(
Arrays
.
asList
(
"itemSetupType"
,
"businessForm"
)).
build
());
log
.
debug
(
"[detail] spuTOS:{}"
,
JSON
.
toJSONString
(
spuTOS
));
// 批量查询物理类目
Map
<
Long
,
List
<
SimplePhyCateGoryResultCo
>>
categoryChain
=
itemService
.
queryBySpuIds
(
CommonIdsParamQuery
.
builder
().
ids
(
itemIds
).
build
());
// 查询商品对应负责人信息
Map
<
Long
,
ChangeGoodsPrincipalPO
>
longChangeGoodsPrincipalPOMap
=
interiorChangeConfigService
.
queryGoodsPrincipalInfo
(
itemIds
);
List
<
ItemBasicInfoVO
>
itemBasicInfoVOS
=
itemList
.
stream
().
map
(
itemVO
->
{
ItemBasicInfoVO
itemBasicInfoVO
=
new
ItemBasicInfoVO
();
Long
itemId
=
itemVO
.
getItemId
();
itemBasicInfoVO
.
setItemId
(
itemId
);
itemBasicInfoVO
.
setItemName
(
itemVO
.
getItemName
());
List
<
QcCategoryVO
>
qcCategoryList
=
qcService
.
getQcCategoryListByItemId
(
itemId
);
if
(
CollectionUtils
.
isNotEmpty
(
qcCategoryList
))
{
String
collect
=
qcCategoryList
.
stream
().
map
(
QcCategoryVO:
:
getCategoryName
)
.
collect
(
Collectors
.
joining
(
"/"
));
itemBasicInfoVO
.
setQcCategory
(
collect
);
}
else
{
itemBasicInfoVO
.
setQcCategory
(
"/"
);
}
List
<
SimplePhyCateGoryResultCo
>
simplePhyCateGoryResultCos
=
categoryChain
.
get
(
itemId
);
log
.
debug
(
"[detail] itemId:{}, simplePhyCateGoryResultCos:{}"
,
itemId
,
JSON
.
toJSONString
(
simplePhyCateGoryResultCos
));
if
(
CollectionUtils
.
isEmpty
(
simplePhyCateGoryResultCos
))
{
itemBasicInfoVO
.
setPhyCategory
(
null
);
}
else
{
List
<
CategoryInfoVO
>
categoryInfoVOS
=
simplePhyCateGoryResultCos
.
stream
().
map
(
phy
->
{
CategoryInfoVO
categoryInfoVO
=
new
CategoryInfoVO
();
categoryInfoVO
.
setId
(
phy
.
getId
());
categoryInfoVO
.
setName
(
phy
.
getName
());
return
categoryInfoVO
;
}).
collect
(
Collectors
.
toList
());
changeFlowVO
.
setItemBasicInfoList
(
itemBasic
InfoVOS
);
itemBasicInfoVO
.
setPhyCategory
(
category
InfoVOS
);
}
}
Optional
<
SpuTO
>
optionalSpuTO
=
spuTOS
.
stream
().
filter
(
spu
->
spu
.
getId
()
==
itemId
).
findAny
();
log
.
debug
(
"[detail] itemId:{}, optionalSpuTO:{}"
,
itemId
,
JSON
.
toJSONString
(
optionalSpuTO
));
if
(!
optionalSpuTO
.
isPresent
())
{
itemBasicInfoVO
.
setItemSetupType
(
null
);
itemBasicInfoVO
.
setBusinessForm
(
null
);
itemBasicInfoVO
.
setStatus
(
null
);
}
else
{
SpuTO
spuTO
=
optionalSpuTO
.
get
();
Map
<
String
,
String
>
propertyMap
=
spuTO
.
getPropertyMap
();
itemBasicInfoVO
.
setItemSetupType
(
Integer
.
valueOf
(
propertyMap
.
get
(
"itemSetupType"
)));
String
businessForm
=
propertyMap
.
get
(
"businessForm"
);
int
business
=
StringUtils
.
isBlank
(
businessForm
)
?
0
:
Integer
.
parseInt
(
businessForm
);
itemBasicInfoVO
.
setBusinessForm
(
business
);
itemBasicInfoVO
.
setStatus
(
spuTO
.
getStatus
());
}
ChangeGoodsPrincipalPO
changeGoodsPrincipalPO
=
longChangeGoodsPrincipalPOMap
.
get
(
itemId
);
log
.
debug
(
"[detail] itemId:{}, changeGoodsPrincipalPO:{}"
,
itemId
,
JSON
.
toJSONString
(
changeGoodsPrincipalPO
));
itemBasicInfoVO
.
setChangeGoodsPrincipal
(
changeGoodsPrincipalPO
);
Optional
<
ItemVO
>
anyHasSku
=
itemList
.
stream
().
filter
(
i
->
i
.
getItemId
().
equals
(
itemId
)).
findAny
();
if
(
anyHasSku
.
isPresent
())
{
itemBasicInfoVO
.
setSkuIds
(
anyHasSku
.
get
().
getSkuIds
());
}
return
itemBasicInfoVO
;
}).
collect
(
Collectors
.
toList
());
changeFlowVO
.
setItemBasicInfoList
(
itemBasicInfoVOS
);
}
public
ChangeFlowListVO
query
(
Integer
page
,
Integer
pageSize
,
ChangeFlowListQueryReq
changeFlowListQueryReq
)
{
...
...
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