Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
O
order-group
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
order-group-application
order-group
Commits
5bad4a62
Commit
5bad4a62
authored
Nov 25, 2020
by
孙昱
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
sunyu::update::fix bug about multipleSpec add singleSpec product and material
parent
e21da78e
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
52 additions
and
48 deletions
+52
-48
shopping-cart-application-service/src/main/java/cn/freemud/adapter/ShoppingCartConvertAdapter.java
+52
-48
No files found.
shopping-cart-application-service/src/main/java/cn/freemud/adapter/ShoppingCartConvertAdapter.java
View file @
5bad4a62
...
@@ -945,56 +945,60 @@ public class ShoppingCartConvertAdapter {
...
@@ -945,56 +945,60 @@ public class ShoppingCartConvertAdapter {
if
(
CollectionUtils
.
isNotEmpty
(
spuProduct
.
getSkuList
()))
{
if
(
CollectionUtils
.
isNotEmpty
(
spuProduct
.
getSkuList
()))
{
for
(
ProductTypeBeanDTO
.
SkuProductBean
skuProductBean
:
spuProduct
.
getSkuList
())
{
for
(
ProductTypeBeanDTO
.
SkuProductBean
skuProductBean
:
spuProduct
.
getSkuList
())
{
if
(
CollectionUtils
.
isNotEmpty
(
skuProductBean
.
getAdditionalGroupList
()))
{
if
(
CollectionUtils
.
isNotEmpty
(
skuProductBean
.
getAdditionalGroupList
()))
{
//提取加料信息
List
<
String
>
materialSpu
=
new
ArrayList
<>();
List
<
ProductTypeBeanDTO
.
ProductGroupType
.
GroupDetailType
>
groupDetail
=
new
ArrayList
<>();
for
(
ProductTypeBeanDTO
.
ProductGroupType
productGroupType
:
skuProductBean
.
getAdditionalGroupList
())
{
for
(
ProductTypeBeanDTO
.
ProductGroupType
productGroupType
:
skuProductBean
.
getAdditionalGroupList
())
{
groupDetail
.
addAll
(
productGroupType
.
getGroupDetail
());
if
(
skuProductBean
.
getSkuId
().
equals
(
cartGoods
.
getGoodsId
())
&&
null
!=
productGroupType
){
}
//提取加料信息
HashMap
<
String
,
ProductTypeBeanDTO
.
ProductGroupType
.
GroupDetailType
>
materialHash
=
new
HashMap
<>();
List
<
String
>
materialSpu
=
new
ArrayList
<>();
for
(
ProductTypeBeanDTO
.
ProductGroupType
.
GroupDetailType
groupDetailType
:
groupDetail
)
{
List
<
ProductTypeBeanDTO
.
ProductGroupType
.
GroupDetailType
>
groupDetail
=
new
ArrayList
<>();
materialHash
.
put
(
groupDetailType
.
getProductId
(),
groupDetailType
);
groupDetail
.
addAll
(
productGroupType
.
getGroupDetail
());
materialSpu
.
add
(
groupDetailType
.
getProductId
());
}
HashMap
<
String
,
ProductTypeBeanDTO
.
ProductGroupType
.
GroupDetailType
>
materialHash
=
new
HashMap
<>();
//加车小料和商品小料没有交集则提示商品信息有异常
for
(
ProductTypeBeanDTO
.
ProductGroupType
.
GroupDetailType
groupDetailType
:
groupDetail
)
{
if
(
CollectionUtils
.
isEmpty
(
cartGoods
.
getProductMaterialList
().
stream
().
filter
(
e
->
materialSpu
.
contains
(
e
.
getSpuId
())).
collect
(
Collectors
.
toList
())))
{
materialHash
.
put
(
groupDetailType
.
getProductId
(),
groupDetailType
);
cartGoods
.
setGoodsType
(
com
.
freemud
.
sdk
.
api
.
assortment
.
shoppingcart
.
constant
.
GoodsTypeEnum
.
EXCEPTION_GOODS
.
getGoodsType
());
materialSpu
.
add
(
groupDetailType
.
getProductId
());
cartGoods
.
setProductMaterialList
(
new
ArrayList
<>());
}
return
;
}
//加车小料和商品小料没有交集则提示商品信息有异常
ArrayList
<
com
.
freemud
.
sdk
.
api
.
assortment
.
shoppingcart
.
domain
.
CartGoods
.
MaterialGoods
>
materialGoodsList
=
new
ArrayList
<>();
if
(
CollectionUtils
.
isEmpty
(
cartGoods
.
getProductMaterialList
().
stream
().
filter
(
e
->
materialSpu
.
contains
(
e
.
getSpuId
())).
collect
(
Collectors
.
toList
())))
{
Long
materialAmount
=
0L
;
cartGoods
.
setGoodsType
(
com
.
freemud
.
sdk
.
api
.
assortment
.
shoppingcart
.
constant
.
GoodsTypeEnum
.
EXCEPTION_GOODS
.
getGoodsType
());
Long
originalMaterAmount
=
0L
;
cartGoods
.
setProductMaterialList
(
new
ArrayList
<>());
String
materialSubName
=
cartGoods
.
getSubName
();
return
;
for
(
com
.
freemud
.
sdk
.
api
.
assortment
.
shoppingcart
.
domain
.
CartGoods
.
MaterialGoods
materialGoods
:
cartGoods
.
getProductMaterialList
())
{
}
ProductTypeBeanDTO
.
ProductGroupType
.
GroupDetailType
detail
=
materialHash
.
get
(
materialGoods
.
getSpuId
());
ArrayList
<
com
.
freemud
.
sdk
.
api
.
assortment
.
shoppingcart
.
domain
.
CartGoods
.
MaterialGoods
>
materialGoodsList
=
new
ArrayList
<>();
if
(
detail
==
null
)
continue
;
Long
materialAmount
=
0L
;
com
.
freemud
.
sdk
.
api
.
assortment
.
shoppingcart
.
domain
.
CartGoods
.
MaterialGoods
material
=
new
com
.
freemud
.
sdk
.
api
.
assortment
.
shoppingcart
.
domain
.
CartGoods
.
MaterialGoods
();
Long
originalMaterAmount
=
0L
;
material
.
setSpuName
(
detail
.
getProductName
());
String
materialSubName
=
cartGoods
.
getSubName
();
material
.
setSpuId
(
detail
.
getProductId
());
for
(
com
.
freemud
.
sdk
.
api
.
assortment
.
shoppingcart
.
domain
.
CartGoods
.
MaterialGoods
materialGoods
:
cartGoods
.
getProductMaterialList
())
{
//行单价 \ 行总价
ProductTypeBeanDTO
.
ProductGroupType
.
GroupDetailType
detail
=
materialHash
.
get
(
materialGoods
.
getSpuId
());
material
.
setFinalPrice
(
detail
.
getProductFinalPrice
().
longValue
());
if
(
detail
==
null
)
continue
;
material
.
setAmount
(
detail
.
getProductFinalPrice
().
longValue
()
*
cartGoods
.
getQty
());
com
.
freemud
.
sdk
.
api
.
assortment
.
shoppingcart
.
domain
.
CartGoods
.
MaterialGoods
material
=
new
com
.
freemud
.
sdk
.
api
.
assortment
.
shoppingcart
.
domain
.
CartGoods
.
MaterialGoods
();
//原行单价*数量
material
.
setSpuName
(
detail
.
getProductName
());
material
.
setOriginalAmount
(
detail
.
getProductFinalPrice
().
longValue
()
*
cartGoods
.
getQty
());
material
.
setSpuId
(
detail
.
getProductId
());
material
.
setOriginalPrice
(
detail
.
getProductFinalPrice
().
longValue
());
//行单价 \ 行总价
material
.
setCustomerCode
(
materialGoods
.
getCustomerCode
());
material
.
setFinalPrice
(
detail
.
getProductFinalPrice
().
longValue
());
materialGoodsList
.
add
(
material
);
material
.
setAmount
(
detail
.
getProductFinalPrice
().
longValue
()
*
cartGoods
.
getQty
());
materialAmount
+=
detail
.
getProductFinalPrice
().
longValue
()
*
cartGoods
.
getQty
();
//原行单价*数量
originalMaterAmount
+=
detail
.
getProductFinalPrice
().
longValue
()
*
cartGoods
.
getQty
();
material
.
setOriginalAmount
(
detail
.
getProductFinalPrice
().
longValue
()
*
cartGoods
.
getQty
());
;
material
.
setOriginalPrice
(
detail
.
getProductFinalPrice
().
longValue
());
materialSubName
=
materialSubName
+
"/"
+
detail
.
getProductName
();
material
.
setCustomerCode
(
materialGoods
.
getCustomerCode
());
materialGoodsList
.
add
(
material
);
materialAmount
+=
detail
.
getProductFinalPrice
().
longValue
()
*
cartGoods
.
getQty
();
originalMaterAmount
+=
detail
.
getProductFinalPrice
().
longValue
()
*
cartGoods
.
getQty
();
;
materialSubName
=
materialSubName
+
"/"
+
detail
.
getProductName
();
}
//设置购物车行记录
cartGoods
.
setProductMaterialList
(
materialGoodsList
);
//加料行记录现价总价
cartGoods
.
setMaterialAmount
(
materialAmount
);
//加料行记录原价总价
cartGoods
.
setOriginalMaterialAmount
(
originalMaterAmount
);
}
else
{
cartGoods
.
setGoodsType
(
com
.
freemud
.
sdk
.
api
.
assortment
.
shoppingcart
.
constant
.
GoodsTypeEnum
.
EXCEPTION_GOODS
.
getGoodsType
());
cartGoods
.
setProductMaterialList
(
new
ArrayList
<>());
return
;
}
}
}
//设置购物车行记录
cartGoods
.
setProductMaterialList
(
materialGoodsList
);
//加料行记录现价总价
cartGoods
.
setMaterialAmount
(
materialAmount
);
//加料行记录原价总价
cartGoods
.
setOriginalMaterialAmount
(
originalMaterAmount
);
}
else
{
cartGoods
.
setGoodsType
(
com
.
freemud
.
sdk
.
api
.
assortment
.
shoppingcart
.
constant
.
GoodsTypeEnum
.
EXCEPTION_GOODS
.
getGoodsType
());
cartGoods
.
setProductMaterialList
(
new
ArrayList
<>());
return
;
}
}
}
}
}
}
...
...
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