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
dbd25698
Commit
dbd25698
authored
Jan 14, 2021
by
chongfu.liang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
重构
parent
ba3ae383
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
31 changed files
with
737 additions
and
23 deletions
+737
-23
shopping-cart-application-service/src/main/java/cn/freemud/demo/adapter/manager/ProductBO2DTOAdapter.java
+24
-0
shopping-cart-application-service/src/main/java/cn/freemud/demo/adapter/manager/ProductDTO2BOAdapter.java
+6
-0
shopping-cart-application-service/src/main/java/cn/freemud/demo/adapter/service/AddGoodsBOAdapter.java
+10
-10
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/CheckBussinessRulesBO.java
+5
-0
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/CouponDetailBO.java
+128
-0
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/GetCouponDetailBO.java
+13
-0
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/GetProductBySkuIdBO.java
+18
-0
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/GetProductStock.java
+16
-0
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/GetStoreBO.java
+11
-0
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/ManagerServiceBO.java
+7
-0
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/ProductStockBO.java
+24
-0
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/bo/goods/GetProductBySkuIdResponseBO.java
+54
-0
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/bo/goods/ProductBO.java
+15
-3
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/bo/goods/add/BaseAddGoodsBO.java
+4
-0
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/bo/goods/add/PlatformAddGoodsBO.java
+0
-2
shopping-cart-application-service/src/main/java/cn/freemud/demo/manager/coupon/CouponManager.java
+19
-0
shopping-cart-application-service/src/main/java/cn/freemud/demo/manager/coupon/CouponService.java
+11
-0
shopping-cart-application-service/src/main/java/cn/freemud/demo/manager/coupon/KgdCouponServiceImpl.java
+105
-0
shopping-cart-application-service/src/main/java/cn/freemud/demo/manager/product/KgdProductServiceImpl.java
+52
-1
shopping-cart-application-service/src/main/java/cn/freemud/demo/manager/product/ProductManager.java
+22
-0
shopping-cart-application-service/src/main/java/cn/freemud/demo/manager/product/ProductService.java
+11
-0
shopping-cart-application-service/src/main/java/cn/freemud/demo/manager/store/KgdStoreServiceImpl.java
+34
-0
shopping-cart-application-service/src/main/java/cn/freemud/demo/manager/store/StoreManager.java
+4
-0
shopping-cart-application-service/src/main/java/cn/freemud/demo/manager/store/StoreService.java
+11
-0
shopping-cart-application-service/src/main/java/cn/freemud/demo/service/AbstractAddGoodsService.java
+0
-0
shopping-cart-application-service/src/main/java/cn/freemud/demo/service/PlatformAddGoodsService.java
+0
-3
shopping-cart-application-service/src/main/java/cn/freemud/demo/service/ShoppingBaseServiceImpl.java
+14
-0
shopping-cart-application-service/src/main/java/cn/freemud/demo/service/ShoppingCartService.java
+11
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/ItemService.java
+11
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/CouponServiceImpl.java
+9
-4
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ItemServiceImpl.java
+88
-0
No files found.
shopping-cart-application-service/src/main/java/cn/freemud/demo/adapter/manager/ProductBO2DTOAdapter.java
0 → 100644
View file @
dbd25698
package
cn
.
freemud
.
demo
.
adapter
.
manager
;
import
cn.freemud.demo.entities.GetProductStock
;
import
cn.freemud.demo.entities.ProductStockBO
;
import
cn.freemud.entities.dto.GetProductStockRequestDto
;
import
cn.freemud.entities.dto.GetProductStockResponseDto
;
import
org.springframework.stereotype.Component
;
@Component
public
class
ProductBO2DTOAdapter
{
public
GetProductStockRequestDto
convert2GetProductStockDto
(
GetProductStock
getProductStock
)
{
GetProductStockRequestDto
getProductStockRequestDto
=
new
GetProductStockRequestDto
();
getProductStockRequestDto
.
setChannel
(
getProductStock
.
getChannel
());
getProductStockRequestDto
.
setPartnerId
(
getProductStock
.
getPartnerId
());
getProductStockRequestDto
.
setProductIds
(
getProductStock
.
getProductIds
());
getProductStockRequestDto
.
setStoreId
(
getProductStock
.
getStoreId
());
return
getProductStockRequestDto
;
}
}
shopping-cart-application-service/src/main/java/cn/freemud/demo/adapter/manager/ProductDTO2BOAdapter.java
View file @
dbd25698
package
cn
.
freemud
.
demo
.
adapter
.
manager
;
import
cn.freemud.demo.entities.ProductStockBO
;
import
cn.freemud.demo.entities.bo.goods.PlatformProductBO
;
import
cn.freemud.demo.entities.bo.goods.ProductBO
;
import
cn.freemud.entities.dto.GetProductStockResponseDto
;
import
com.freemud.application.sdk.api.productcenter.domain.ProductBeanDTO
;
import
org.springframework.stereotype.Component
;
...
...
@@ -12,4 +14,8 @@ public class ProductDTO2BOAdapter {
return
null
;
}
public
ProductStockBO
convert2ProductStockBO
(
GetProductStockResponseDto
.
DataBean
ProductStockDTO
)
{
return
null
;
}
}
shopping-cart-application-service/src/main/java/cn/freemud/demo/adapter/service/AddGoodsBOAdapter.java
View file @
dbd25698
...
...
@@ -53,7 +53,7 @@ public class AddGoodsBOAdapter {
PlatformAddGoodsBO
platformAddGoodsBO
=
mapperFacade
.
map
(
baseRequestDTO
,
PlatformAddGoodsBO
.
class
);
P
latformP
roductBO
platformProductBO
=
convert2PlatformProductBO
(
baseRequestDTO
);
ProductBO
platformProductBO
=
convert2PlatformProductBO
(
baseRequestDTO
);
platformAddGoodsBO
.
setAddGoods
(
platformProductBO
);
ManagerServiceBO
managerService
=
ManagerServiceBO
.
builder
()
...
...
@@ -82,8 +82,8 @@ public class AddGoodsBOAdapter {
}
private
P
latformP
roductBO
convert2PlatformProductBO
(
AddGoodsRequestDTO
baseRequestDTO
)
{
P
latformProductBO
platformProductBO
=
mapperFacade
.
map
(
baseRequestDTO
,
Platform
ProductBO
.
class
);
private
ProductBO
convert2PlatformProductBO
(
AddGoodsRequestDTO
baseRequestDTO
)
{
P
roductBO
platformProductBO
=
mapperFacade
.
map
(
baseRequestDTO
,
ProductBO
.
class
);
String
spuId
=
baseRequestDTO
.
getSpuId
();
String
skuId
=
baseRequestDTO
.
getSkuId
();
...
...
@@ -98,13 +98,13 @@ public class AddGoodsBOAdapter {
goodsType
=
GoodsTypeEnum
.
SET_MEAL_GOODS
.
getGoodsType
();
}
platformProductBO
.
setGoodsType
(
goodsType
);
List
<
Platform
ComboxGoodsBO
>
productComboList
=
new
ArrayList
<>();
List
<
Platform
ComboxGoodsBO
>
productGroupList
=
new
ArrayList
<>();
List
<
Platform
MaterialBO
>
materialGoodsList
=
new
ArrayList
<>();
List
<
ComboxGoodsBO
>
productComboList
=
new
ArrayList
<>();
List
<
ComboxGoodsBO
>
productGroupList
=
new
ArrayList
<>();
List
<
MaterialBO
>
materialGoodsList
=
new
ArrayList
<>();
//套餐
if
(
CollectionUtils
.
isNotEmpty
(
baseRequestDTO
.
getProductComboList
()))
{
for
(
ComboxGoodsRequestVo
vo
:
baseRequestDTO
.
getProductComboList
())
{
PlatformComboxGoodsBO
productCombox
=
new
Platform
ComboxGoodsBO
();
ComboxGoodsBO
productCombox
=
new
ComboxGoodsBO
();
productCombox
.
setGoodsId
(
vo
.
getSkuId
());
productCombox
.
setSkuId
(
vo
.
getSkuId
());
productCombox
.
setQty
(
vo
.
getQty
());
...
...
@@ -116,20 +116,20 @@ public class AddGoodsBOAdapter {
//固定商品组
if
(
CollectionUtils
.
isNotEmpty
(
baseRequestDTO
.
getProductGroupList
()))
{
for
(
ComboxGoodsRequestVo
vo
:
baseRequestDTO
.
getProductGroupList
())
{
PlatformComboxGoodsBO
productCombox
=
new
Platform
ComboxGoodsBO
();
ComboxGoodsBO
productCombox
=
new
ComboxGoodsBO
();
productCombox
.
setGoodsId
(
vo
.
getSkuId
());
productCombox
.
setSkuId
(
vo
.
getSkuId
());
productCombox
.
setQty
(
vo
.
getQty
());
List
<
CartGoodsExtra
>
cartGoodsExtras
=
mapperFacade
.
mapAsList
(
vo
.
getExtra
(),
CartGoodsExtra
.
class
);
productCombox
.
setExtra
(
cartGoodsExtras
);
productCombox
.
setProductGroupId
(
vo
.
getProductGroupId
()
==
null
?
null
:
vo
.
getProductGroupId
(
));
productCombox
.
setProductGroupId
(
StringUtils
.
isBlank
(
vo
.
getProductGroupId
())
?
null
:
Long
.
parseLong
(
vo
.
getProductGroupId
()
));
productGroupList
.
add
(
productCombox
);
}
}
//加料商品集
if
(
CollectionUtils
.
isNotEmpty
(
baseRequestDTO
.
getProductMaterialList
()))
{
for
(
MaterialRequestVo
materialRequestVo
:
baseRequestDTO
.
getProductMaterialList
())
{
PlatformMaterialBO
materialGoods
=
new
Platform
MaterialBO
();
MaterialBO
materialGoods
=
new
MaterialBO
();
materialGoods
.
setSpuId
(
materialRequestVo
.
getSpuId
());
materialGoodsList
.
add
(
materialGoods
);
}
...
...
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/CheckBussinessRulesBO.java
View file @
dbd25698
...
...
@@ -2,8 +2,11 @@ package cn.freemud.demo.entities;
import
cn.freemud.demo.entities.bo.goods.GetProductBO
;
import
cn.freemud.demo.entities.bo.goods.ProductBO
;
import
cn.freemud.entities.vo.CartGoods
;
import
lombok.Data
;
import
java.util.List
;
@Data
public
class
CheckBussinessRulesBO
{
...
...
@@ -11,4 +14,6 @@ public class CheckBussinessRulesBO {
private
ProductBO
product
;
private
List
<
CartGoods
>
cartGoods
;
}
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/CouponDetailBO.java
0 → 100644
View file @
dbd25698
package
cn
.
freemud
.
demo
.
entities
;
import
cn.freemud.entities.dto.GetCouponDetailResponseDto
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
lombok.Data
;
import
java.math.BigDecimal
;
import
java.util.List
;
@Data
public
class
CouponDetailBO
{
/**
*表示接口处理是否成功,1表示成功,0表示失败
*/
private
Integer
result
;
private
Integer
statusCode
;
private
Integer
ver
;
private
List
<
CouponDetailBO
.
Errors
>
errors
;
private
List
<
CouponDetailBO
.
Details
>
details
;
@Data
public
static
class
Details
{
private
String
code
;
private
String
activeCode
;
private
String
title
;
private
Integer
type
;
private
Integer
status
;
private
String
create_time
;
private
String
redeem_time
;
private
String
valid_start
;
private
String
valid_ends
;
private
String
minAmount
;
private
CouponDetailBO
.
Active
active
;
private
List
<
CouponDetailBO
.
ActiveProduct
>
activeProduct
;
private
List
<
CouponDetailBO
.
ActiveRestrictionVOS
>
activeRestrictionVOS
;
}
@Data
public
static
class
Active
{
@JsonProperty
(
"ActiveCode"
)
private
String
activeCode
;
@JsonProperty
(
"ActiveDesc"
)
private
String
activeDesc
;
@JsonProperty
(
"ActiveName"
)
private
String
activeName
;
@JsonProperty
(
"BusinessID"
)
private
Integer
businessId
;
@JsonProperty
(
"CreateDate"
)
private
String
createDate
;
@JsonProperty
(
"CreateUser"
)
private
String
createUser
;
@JsonProperty
(
"EBCode"
)
private
String
ebCode
;
@JsonProperty
(
"EndDate"
)
private
String
endDate
;
@JsonProperty
(
"EndString"
)
private
String
endString
;
@JsonProperty
(
"Inventory"
)
private
Integer
inventory
;
@JsonProperty
(
"LastEditDate"
)
private
String
lastEditDate
;
@JsonProperty
(
"LastEditUser"
)
private
String
lastEditUser
;
@JsonProperty
(
"MaxDiscount"
)
private
Integer
maxDiscount
;
@JsonProperty
(
"MaxRedeemTimes"
)
private
Integer
maxRedeemTimes
;
@JsonProperty
(
"MinAmount"
)
private
Integer
minAmount
;
@JsonProperty
(
"PartnerID"
)
private
String
partnerId
;
@JsonProperty
(
"PercentDiscount"
)
private
Integer
percentDiscount
;
@JsonProperty
(
"Percentage"
)
private
Integer
percentage
;
@JsonProperty
(
"PromotionType"
)
private
String
promotionType
;
@JsonProperty
(
"ShouldRedeemAll"
)
private
Boolean
shouldRedeemAll
;
@JsonProperty
(
"StartDate"
)
private
String
startDate
;
@JsonProperty
(
"StartString"
)
private
String
startString
;
@JsonProperty
(
"State"
)
private
Integer
state
;
@JsonProperty
(
"Type"
)
private
Integer
type
;
}
@Data
public
static
class
ActiveProduct
{
@JsonProperty
(
"ActiveID"
)
private
Integer
activeId
;
@JsonProperty
(
"Amount"
)
private
Integer
amount
;
@JsonProperty
(
"Paid"
)
private
Integer
paid
;
@JsonProperty
(
"Price_Discount"
)
private
BigDecimal
priceDiscount
;
@JsonProperty
(
"Price_Original"
)
private
BigDecimal
priceOriginal
;
@JsonProperty
(
"Product"
)
private
String
product
;
@JsonProperty
(
"ProductID"
)
private
Integer
productId
;
@JsonProperty
(
"ProductID_Partner"
)
private
String
productIdPartner
;
@JsonProperty
(
"Remain"
)
private
Integer
remain
;
}
@Data
public
static
class
ActiveProductSetting
{
}
@Data
public
static
class
ActiveRestrictionVOS
{
@JsonProperty
(
"ActiveID"
)
private
String
activeId
;
@JsonProperty
(
"City"
)
private
String
city
;
@JsonProperty
(
"StoreIDPartner"
)
private
String
storeIdPartner
;
}
@Data
public
static
class
Errors
{
@JsonProperty
(
"error_code"
)
private
String
errorCode
;
private
String
parameter
;
}
}
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/GetCouponDetailBO.java
0 → 100644
View file @
dbd25698
package
cn
.
freemud
.
demo
.
entities
;
import
lombok.Data
;
@Data
public
class
GetCouponDetailBO
{
private
String
partnerId
;
private
String
couponCode
;
private
String
storeCode
;
}
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/GetProductBySkuIdBO.java
0 → 100644
View file @
dbd25698
package
cn
.
freemud
.
demo
.
entities
;
import
lombok.Data
;
import
java.util.List
;
@Data
public
class
GetProductBySkuIdBO
{
private
List
<
String
>
skuids
;
private
String
partnerId
;
private
String
storeId
;
private
String
menuType
;
}
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/GetProductStock.java
0 → 100644
View file @
dbd25698
package
cn
.
freemud
.
demo
.
entities
;
import
lombok.Data
;
import
java.util.List
;
@Data
public
class
GetProductStock
{
private
String
channel
;
private
String
partnerId
;
private
String
storeId
;
private
List
<
Long
>
productIds
;
}
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/GetStoreBO.java
0 → 100644
View file @
dbd25698
package
cn
.
freemud
.
demo
.
entities
;
import
lombok.Data
;
@Data
public
class
GetStoreBO
{
private
String
partnerId
;
private
String
storeCode
;
}
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/ManagerServiceBO.java
View file @
dbd25698
package
cn
.
freemud
.
demo
.
entities
;
import
cn.freemud.demo.manager.coupon.CouponService
;
import
cn.freemud.demo.manager.customer.CustomerService
;
import
cn.freemud.demo.manager.product.ProductService
;
import
cn.freemud.demo.manager.store.StoreService
;
import
lombok.Builder
;
import
lombok.Data
;
...
...
@@ -13,4 +15,9 @@ public class ManagerServiceBO {
private
ProductService
productService
;
private
CouponService
couponService
;
private
StoreService
storeService
;
}
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/ProductStockBO.java
0 → 100644
View file @
dbd25698
package
cn
.
freemud
.
demo
.
entities
;
import
lombok.Data
;
@Data
public
class
ProductStockBO
{
//商户商品id/编码
private
String
ccode
;
private
String
channel
;
// 采购中心id
private
String
pcid
;
//非码商品id
private
Long
pid
;
private
String
pname
;
//商户id/编号
private
String
ptid
;
private
Integer
qty
;
//安全库存数
private
Integer
safeQty
;
//门店id/编号
private
String
stid
;
}
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/bo/goods/GetProductBySkuIdResponseBO.java
0 → 100644
View file @
dbd25698
package
cn
.
freemud
.
demo
.
entities
.
bo
.
goods
;
import
cn.freemud.entities.dto.GetMenuResponseDto
;
import
cn.freemud.entities.vo.CartGoods
;
import
lombok.Data
;
import
java.util.List
;
@Data
public
class
GetProductBySkuIdResponseBO
{
private
String
spuId
;
private
String
spuName
;
private
String
spuPicture
;
private
String
skuId
;
private
String
skuName
;
private
Long
originalPrice
;
/**
* 最终价格 单位分
*/
private
Long
finalPrice
;
/**
* 上下架状态
*/
private
Integer
status
;
// 1.5.4 对接库存新加
private
Integer
stock
;
private
Integer
stockLimit
;
/**
* type=10 多规格 type=1 单规格
*/
private
Integer
type
;
/**
* 第三方商品编号
*/
private
String
customerCode
;
/**
* 属性
*/
private
List
<
GetMenuResponseDto
.
DataBean
.
RootNodeBean
.
ChildrenBeanFirst
.
ChildrenBeanSecond
.
ProductBean
.
ProductAttributeGroupListBean
>
productAttributeGroupList
;
/**
* 分类id
*/
private
String
category
;
/**
* 分类名称
*/
private
String
categoryName
;
private
String
defaultSpecId
;
private
String
defaultSpecName
;
private
List
<
CartGoods
.
CartGoodsExtra
>
extra
;
}
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/bo/goods/ProductBO.java
View file @
dbd25698
package
cn
.
freemud
.
demo
.
entities
.
bo
.
goods
;
import
com.freemud.application.sdk.api.productcenter.domain.ProductBeanDTO
;
import
lombok.Data
;
import
java.util.List
;
...
...
@@ -17,6 +18,12 @@ public class ProductBO {
private
Integer
goodsType
;
private
int
type
;
private
Integer
stockLimit
;
private
List
<
SkuProductBean
>
skuList
;
/**
* 数量
*/
...
...
@@ -41,16 +48,21 @@ public class ProductBO {
/**
* 套餐固定商品
*/
private
List
<
Mcoffee
ComboxGoodsBO
>
productComboList
;
private
List
<
ComboxGoodsBO
>
productComboList
;
/**
* 套餐可选商品
*/
private
List
<
Mcoffee
ComboxGoodsBO
>
productGroupList
;
private
List
<
ComboxGoodsBO
>
productGroupList
;
/**
* 加料
*/
private
List
<
M
coffeeM
aterialBO
>
productMaterialList
;
private
List
<
MaterialBO
>
productMaterialList
;
@Data
public
static
class
SkuProductBean
{
private
String
skuId
;
private
Integer
stockLimit
;
}
}
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/bo/goods/add/BaseAddGoodsBO.java
View file @
dbd25698
...
...
@@ -2,6 +2,7 @@ package cn.freemud.demo.entities.bo.goods.add;
import
cn.freemud.demo.entities.ManagerServiceBO
;
import
cn.freemud.demo.entities.bo.goods.PlatformProductBO
;
import
cn.freemud.demo.entities.bo.goods.ProductBO
;
import
lombok.Data
;
import
org.hibernate.validator.constraints.NotEmpty
;
...
...
@@ -24,6 +25,9 @@ public class BaseAddGoodsBO {
private
ManagerServiceBO
managerService
;
private
ProductBO
addGoods
;
/**
* 微信appId
*/
...
...
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/bo/goods/add/PlatformAddGoodsBO.java
View file @
dbd25698
...
...
@@ -13,8 +13,6 @@ import java.util.List;
@Data
public
class
PlatformAddGoodsBO
extends
BaseAddGoodsBO
{
private
PlatformProductBO
addGoods
;
private
String
version
;
/**
...
...
shopping-cart-application-service/src/main/java/cn/freemud/demo/manager/coupon/CouponManager.java
0 → 100644
View file @
dbd25698
package
cn
.
freemud
.
demo
.
manager
.
coupon
;
import
cn.freemud.demo.entities.CouponDetailBO
;
import
cn.freemud.demo.entities.GetCouponDetailBO
;
import
cn.freemud.demo.entities.bo.goods.GetProductBO
;
import
cn.freemud.demo.manager.product.ProductService
;
import
org.springframework.stereotype.Service
;
@Service
public
class
CouponManager
{
public
CouponDetailBO
getCouponDetail
(
GetCouponDetailBO
getCouponDetail
,
CouponService
couponService
){
CouponDetailBO
couponDetail
=
couponService
.
getCouponDetail
(
getCouponDetail
);
return
couponDetail
;
}
}
shopping-cart-application-service/src/main/java/cn/freemud/demo/manager/coupon/CouponService.java
0 → 100644
View file @
dbd25698
package
cn
.
freemud
.
demo
.
manager
.
coupon
;
import
cn.freemud.demo.entities.CouponDetailBO
;
import
cn.freemud.demo.entities.GetCouponDetailBO
;
import
cn.freemud.demo.entities.bo.goods.GetProductBO
;
public
interface
CouponService
{
CouponDetailBO
getCouponDetail
(
GetCouponDetailBO
getCouponDetailBO
);
}
shopping-cart-application-service/src/main/java/cn/freemud/demo/manager/coupon/KgdCouponServiceImpl.java
0 → 100644
View file @
dbd25698
package
cn
.
freemud
.
demo
.
manager
.
coupon
;
import
cn.freemud.constant.ResponseCodeConstant
;
import
cn.freemud.demo.entities.CouponDetailBO
;
import
cn.freemud.demo.entities.GetCouponDetailBO
;
import
cn.freemud.demo.entities.GetStoreBO
;
import
cn.freemud.demo.entities.bo.goods.add.MCoffeeAddGoodsBO
;
import
cn.freemud.demo.manager.store.StoreService
;
import
cn.freemud.entities.dto.GetAppKeyRequestDto
;
import
cn.freemud.entities.dto.GetAppKeyResponseDto
;
import
cn.freemud.entities.dto.GetCouponDetailResponseDto
;
import
cn.freemud.enums.ResponseResult
;
import
cn.freemud.redis.RedisCache
;
import
cn.freemud.service.thirdparty.CardBinClient
;
import
cn.freemud.service.thirdparty.CouponOnlineClient
;
import
cn.freemud.utils.LogUtil
;
import
cn.freemud.utils.RedisUtil
;
import
com.freemud.card.sdk.comm.Finals
;
import
com.freemud.card.sdk.comm.SignUtil
;
import
com.google.common.base.Joiner
;
import
ma.glasnost.orika.MapperFacade
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.Resource
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Objects
;
import
java.util.TreeMap
;
@Service
(
"KgdCouponService"
)
public
class
KgdCouponServiceImpl
implements
CouponService
{
@Autowired
CouponOnlineClient
couponOnlineClient
;
@Autowired
@Qualifier
(
"KgdStoreService"
)
StoreService
storeService
;
@Autowired
CardBinClient
cardBinClient
;
@Autowired
private
RedisCache
redisCache
;
@Value
(
"${coupon.app.id}"
)
private
String
appid
;
@Resource
private
MapperFacade
mapperFacade
;
@Override
public
CouponDetailBO
getCouponDetail
(
GetCouponDetailBO
getCouponDetailBO
)
{
Map
<
String
,
String
>
map
=
new
TreeMap
<
String
,
String
>();
if
(
StringUtils
.
isBlank
(
getCouponDetailBO
.
getPartnerId
())
||
StringUtils
.
isBlank
(
getCouponDetailBO
.
getCouponCode
()))
{
return
null
;
}
map
.
put
(
Finals
.
CODES
,
getCouponDetailBO
.
getCouponCode
());
map
.
put
(
Finals
.
PARTNER_ID
,
getCouponDetailBO
.
getPartnerId
());
map
.
put
(
Finals
.
MERCHANT_ID
,
getCouponDetailBO
.
getPartnerId
());
map
.
put
(
Finals
.
ACTION
,
"code.allDetails"
);
// 券码接口新增参数:组织机构(多个用英文逗号分离)
GetStoreBO
getStoreBO
=
new
GetStoreBO
();
getStoreBO
.
setPartnerId
(
getCouponDetailBO
.
getPartnerId
());
getStoreBO
.
setStoreCode
(
getCouponDetailBO
.
getStoreCode
());
List
<
String
>
orgIds
=
storeService
.
getOrgIds
(
getStoreBO
);
String
channelIds
=
CollectionUtils
.
isNotEmpty
(
orgIds
)
?
Joiner
.
on
(
","
).
join
(
orgIds
)
:
""
;
map
.
put
(
Finals
.
CHANNEL_CODE_LIST
,
channelIds
);
String
appSecret
=
getAppSecret
(
getCouponDetailBO
.
getPartnerId
());
String
sign
=
SignUtil
.
createMD5Sign
(
map
,
appSecret
);
map
.
put
(
Finals
.
SIGN
,
sign
);
GetCouponDetailResponseDto
responseDto
=
couponOnlineClient
.
getCouponDetails
(
map
);
if
(
ResponseCodeConstant
.
RESPONSE_SUCCESS_1
.
equals
(
responseDto
.
getResult
()))
{
return
convert2CouponDetailBO
(
responseDto
);
}
return
null
;
}
private
CouponDetailBO
convert2CouponDetailBO
(
GetCouponDetailResponseDto
responseDto
)
{
CouponDetailBO
couponDetailBO
=
mapperFacade
.
map
(
responseDto
,
CouponDetailBO
.
class
);
return
couponDetailBO
;
}
public
String
getAppSecret
(
String
partnerId
)
{
// 获取券服务的密钥
String
couponAppSecret
=
RedisUtil
.
getCouponAppSecret
(
partnerId
);
String
appSecret
=
redisCache
.
getValue
(
couponAppSecret
);
if
(
StringUtils
.
isBlank
(
appSecret
))
{
GetAppKeyResponseDto
getAppKeyResponseDto
=
cardBinClient
.
getAppKey
(
GetAppKeyRequestDto
.
builder
().
partnerId
(
partnerId
).
appId
(
appid
).
build
());
if
(
Objects
.
equals
(
String
.
valueOf
(
getAppKeyResponseDto
.
getStatusCode
()),
ResponseResult
.
SUCCESS
.
getCode
())
&&
getAppKeyResponseDto
.
getData
()
!=
null
)
{
redisCache
.
save
(
couponAppSecret
,
getAppKeyResponseDto
.
getData
().
getAppKey
());
appSecret
=
getAppKeyResponseDto
.
getData
().
getAppKey
();
}
}
return
appSecret
;
}
}
shopping-cart-application-service/src/main/java/cn/freemud/demo/manager/product/KgdProductServiceImpl.java
View file @
dbd25698
package
cn
.
freemud
.
demo
.
manager
.
product
;
import
cn.freemud.demo.adapter.manager.ProductBO2DTOAdapter
;
import
cn.freemud.demo.adapter.manager.ProductDTO2BOAdapter
;
import
cn.freemud.demo.entities.GetProductBySkuIdBO
;
import
cn.freemud.demo.entities.GetProductStock
;
import
cn.freemud.demo.entities.ProductStockBO
;
import
cn.freemud.demo.entities.bo.goods.GetProductBO
;
import
cn.freemud.demo.entities.bo.goods.GetProductBySkuIdResponseBO
;
import
cn.freemud.demo.entities.bo.goods.PlatformProductBO
;
import
cn.freemud.demo.entities.bo.goods.ProductBO
;
import
cn.freemud.entities.dto.GetProductStockRequestDto
;
import
cn.freemud.entities.dto.GetProductStockResponseDto
;
import
cn.freemud.entities.vo.GetProductsVo
;
import
cn.freemud.service.ItemService
;
import
cn.freemud.service.impl.AssortmentSdkService
;
import
cn.freemud.service.thirdparty.StockClient
;
import
com.freemud.application.sdk.api.productcenter.domain.ProductBeanDTO
;
import
com.freemud.sdk.api.assortment.shoppingcart.service.impl.ShoppingCartBaseServiceImpl
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.Collections
;
import
java.util.List
;
import
java.util.Map
;
@Service
(
"KgdProductService"
)
public
class
KgdProductServiceImpl
implements
ProductService
{
...
...
@@ -22,11 +35,24 @@ public class KgdProductServiceImpl implements ProductService {
@Autowired
private
ProductDTO2BOAdapter
productDTO2BOAdapter
;
@Autowired
private
ProductBO2DTOAdapter
productBO2DTOAdapter
;
@Autowired
private
ItemService
itemService
;
@Autowired
private
ShoppingCartBaseServiceImpl
shoppingCartBaseService
;
@Autowired
private
StockClient
stockClient
;
@Override
public
ProductBO
getProductInfo
(
GetProductBO
getProductBO
)
{
// 获取添加商品的详细信息
List
<
ProductBeanDTO
>
productBeanListSpuClass
=
assortmentSdkService
.
getProductsInfoSdk
(
getProductBO
.
getPartnerId
(),
getProductBO
.
getStoreId
(),
Collections
.
singletonList
(
getProductBO
.
getSkuid
()),
getProductBO
.
getMenuType
(),
null
);
getProductBO
.
getStoreId
(),
Collections
.
singletonList
(
getProductBO
.
getSkuid
()),
getProductBO
.
getMenuType
(),
shoppingCartBaseService
);
ProductBeanDTO
productBeanDTO
=
productBeanListSpuClass
.
get
(
0
);
ProductBO
platformProductBO
=
productDTO2BOAdapter
.
convert2ProductBO
(
productBeanDTO
);
...
...
@@ -34,5 +60,30 @@ public class KgdProductServiceImpl implements ProductService {
return
platformProductBO
;
}
@Override
public
Map
<
String
,
GetProductBySkuIdResponseBO
>
getProductInfoBySkuIds
(
GetProductBySkuIdBO
getProductBySkuIdBO
)
{
Map
<
String
,
GetProductBySkuIdResponseBO
>
products
=
itemService
.
getProductsBySkuId
(
getProductBySkuIdBO
.
getSkuids
(),
getProductBySkuIdBO
.
getPartnerId
(),
getProductBySkuIdBO
.
getStoreId
(),
getProductBySkuIdBO
.
getMenuType
());
return
products
;
}
@Override
public
List
<
ProductStockBO
>
getProductStock
(
GetProductStock
getProductStock
)
{
GetProductStockRequestDto
getProductStockRequestDto
=
productBO2DTOAdapter
.
convert2GetProductStockDto
(
getProductStock
);
GetProductStockResponseDto
availableStocks
=
stockClient
.
getAvailableStocks
(
getProductStockRequestDto
);
List
<
GetProductStockResponseDto
.
DataBean
>
result
=
availableStocks
.
getResult
();
List
<
ProductStockBO
>
list
=
new
ArrayList
<>();
for
(
GetProductStockResponseDto
.
DataBean
dataBean
:
result
){
ProductStockBO
productStockBO
=
productDTO2BOAdapter
.
convert2ProductStockBO
(
dataBean
);
list
.
add
(
productStockBO
);
}
return
list
;
}
}
shopping-cart-application-service/src/main/java/cn/freemud/demo/manager/product/ProductManager.java
View file @
dbd25698
package
cn
.
freemud
.
demo
.
manager
.
product
;
import
cn.freemud.demo.entities.GetProductBySkuIdBO
;
import
cn.freemud.demo.entities.GetProductStock
;
import
cn.freemud.demo.entities.ProductStockBO
;
import
cn.freemud.demo.entities.bo.goods.GetProductBO
;
import
cn.freemud.demo.entities.bo.goods.GetProductBySkuIdResponseBO
;
import
cn.freemud.demo.entities.bo.goods.PlatformProductBO
;
import
cn.freemud.demo.entities.bo.goods.ProductBO
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
import
java.util.Map
;
@Service
public
class
ProductManager
{
...
...
@@ -20,6 +27,21 @@ public class ProductManager {
}
public
Map
<
String
,
GetProductBySkuIdResponseBO
>
getProductsInfoBySkuIds
(
GetProductBySkuIdBO
getProductBySkuIdBO
,
ProductService
productService
){
Map
<
String
,
GetProductBySkuIdResponseBO
>
productInfo
=
productService
.
getProductInfoBySkuIds
(
getProductBySkuIdBO
);
return
productInfo
;
}
public
List
<
ProductStockBO
>
getProductStock
(
GetProductStock
getProductStock
,
ProductService
productService
){
List
<
ProductStockBO
>
productStock
=
productService
.
getProductStock
(
getProductStock
);
return
productStock
;
}
...
...
shopping-cart-application-service/src/main/java/cn/freemud/demo/manager/product/ProductService.java
View file @
dbd25698
package
cn
.
freemud
.
demo
.
manager
.
product
;
import
cn.freemud.demo.entities.GetProductBySkuIdBO
;
import
cn.freemud.demo.entities.GetProductStock
;
import
cn.freemud.demo.entities.ProductStockBO
;
import
cn.freemud.demo.entities.bo.goods.GetProductBO
;
import
cn.freemud.demo.entities.bo.goods.GetProductBySkuIdResponseBO
;
import
cn.freemud.demo.entities.bo.goods.PlatformProductBO
;
import
cn.freemud.demo.entities.bo.goods.ProductBO
;
import
java.util.List
;
import
java.util.Map
;
public
interface
ProductService
{
ProductBO
getProductInfo
(
GetProductBO
getProductBO
);
Map
<
String
,
GetProductBySkuIdResponseBO
>
getProductInfoBySkuIds
(
GetProductBySkuIdBO
getProductBySkuIdBO
);
List
<
ProductStockBO
>
getProductStock
(
GetProductStock
getProductStock
);
}
shopping-cart-application-service/src/main/java/cn/freemud/demo/manager/store/KgdStoreServiceImpl.java
0 → 100644
View file @
dbd25698
package
cn
.
freemud
.
demo
.
manager
.
store
;
import
cn.freemud.constant.ResponseCodeConstant
;
import
cn.freemud.demo.entities.GetStoreBO
;
import
cn.freemud.utils.SpringBeanUtil
;
import
com.freemud.application.sdk.api.base.BaseResponse
;
import
com.freemud.application.sdk.api.log.LogThreadLocal
;
import
com.freemud.application.sdk.api.storecenter.request.vo.GetOrgTreeListRequest
;
import
com.freemud.application.sdk.api.storecenter.service.StoreCenterService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
@Service
(
"KgdStoreService"
)
public
class
KgdStoreServiceImpl
implements
StoreService
{
@Autowired
StoreCenterService
storeCenterService
;
@Override
public
List
<
String
>
getOrgIds
(
GetStoreBO
getStoreBO
)
{
GetOrgTreeListRequest
request
=
new
GetOrgTreeListRequest
();
request
.
setPartnerId
(
getStoreBO
.
getPartnerId
());
request
.
setStoreCode
(
getStoreBO
.
getStoreCode
());
BaseResponse
<
List
<
String
>>
orgList
=
storeCenterService
.
getOrgList
(
request
,
LogThreadLocal
.
getTrackingNo
());
if
(
orgList
!=
null
&&
ResponseCodeConstant
.
RESPONSE_SUCCESS_STR
.
equals
(
orgList
.
getCode
()))
{
return
orgList
.
getData
();
}
return
null
;
}
}
shopping-cart-application-service/src/main/java/cn/freemud/demo/manager/store/StoreManager.java
0 → 100644
View file @
dbd25698
package
cn
.
freemud
.
demo
.
manager
.
store
;
public
class
StoreManager
{
}
shopping-cart-application-service/src/main/java/cn/freemud/demo/manager/store/StoreService.java
0 → 100644
View file @
dbd25698
package
cn
.
freemud
.
demo
.
manager
.
store
;
import
cn.freemud.demo.entities.GetStoreBO
;
import
java.util.List
;
public
interface
StoreService
{
List
<
String
>
getOrgIds
(
GetStoreBO
getStoreBO
);
}
shopping-cart-application-service/src/main/java/cn/freemud/demo/service/AbstractAddGoodsService.java
View file @
dbd25698
This diff is collapsed.
Click to expand it.
shopping-cart-application-service/src/main/java/cn/freemud/demo/service/PlatformAddGoodsService.java
View file @
dbd25698
...
...
@@ -14,9 +14,6 @@ public class PlatformAddGoodsService extends AbstractAddGoodsService {
@Override
public
BaseResponse
checkCustomParams
(
BaseAddGoodsBO
baseRequestDTO
)
{
if
(
baseRequestDTO
.
getShopId
().
length
()
>
MAX_SHOP_LENGTH
){
throw
new
ServiceException
(
ResponseResult
.
SHOPPING_CART_SHOP_ID_NOT_EMPTY
);
}
return
ResponseBuilder
.
success
();
}
...
...
shopping-cart-application-service/src/main/java/cn/freemud/demo/service/ShoppingBaseServiceImpl.java
0 → 100644
View file @
dbd25698
package
cn
.
freemud
.
demo
.
service
;
import
cn.freemud.entities.vo.CartGoods
;
import
java.util.List
;
public
class
ShoppingBaseServiceImpl
implements
ShoppingCartService
{
@Override
public
List
<
CartGoods
>
updateAndGetShoppingCart
()
{
return
null
;
}
}
shopping-cart-application-service/src/main/java/cn/freemud/demo/service/ShoppingCartService.java
0 → 100644
View file @
dbd25698
package
cn
.
freemud
.
demo
.
service
;
import
cn.freemud.entities.vo.CartGoods
;
import
java.util.List
;
public
interface
ShoppingCartService
{
List
<
CartGoods
>
updateAndGetShoppingCart
();
}
shopping-cart-application-service/src/main/java/cn/freemud/service/ItemService.java
View file @
dbd25698
package
cn
.
freemud
.
service
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.demo.entities.bo.goods.GetProductBySkuIdResponseBO
;
import
cn.freemud.entities.dto.GetMenuResponseDto
;
import
cn.freemud.entities.vo.*
;
...
...
@@ -30,4 +31,14 @@ public interface ItemService {
*/
Map
<
String
,
GetProductsVo
>
getProducts
(
List
<
String
>
pids
,
String
partnerId
,
String
storeId
,
String
menuType
);
/**
* 通过sku或单品组装MAP商品详情信息
* @param pids skuId
* @param partnerId
* @param storeId
* @return key = skuid
*/
Map
<
String
,
GetProductBySkuIdResponseBO
>
getProductsBySkuId
(
List
<
String
>
pids
,
String
partnerId
,
String
storeId
,
String
menuType
);
}
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/CouponServiceImpl.java
View file @
dbd25698
...
...
@@ -42,12 +42,10 @@ import cn.freemud.service.thirdparty.*;
import
cn.freemud.utils.*
;
import
com.alibaba.fastjson.JSON
;
import
com.freemud.application.sdk.api.productcenter.constant.ResponseConstant
;
import
com.freemud.application.sdk.api.productcenter.domain.ProductBeanDTO
;
import
com.freemud.application.sdk.api.productcenter.request.product.valid.ValidateShopProductRequest
;
import
com.freemud.application.sdk.api.productcenter.request.product.valid.ValidateShopProductType
;
import
com.freemud.application.sdk.api.productcenter.response.ProductResponseDTO
;
import
com.freemud.application.sdk.api.productcenter.response.valid.ValiadShopProductResponse
;
import
com.freemud.application.sdk.api.productcenter.response.valid.ValiadShopProductResult
;
import
com.freemud.card.sdk.comm.Finals
;
import
com.freemud.card.sdk.comm.SignUtil
;
import
com.freemud.card.sdk.service.CouponAvailableService
;
...
...
@@ -61,7 +59,6 @@ import com.freemud.card.sdk.vo.comm.GetCouponVo;
import
com.freemud.card.sdk.vo.coupon.CreateCouponVo
;
import
com.freemud.card.sdk.vo.coupon.request.MemberAddCouponVo
;
import
com.freemud.card.sdk.vo.coupon.response.MemberBaseRespVo
;
import
com.freemud.sdk.api.assortment.shoppingcart.constant.CartResponseConstant
;
import
com.google.common.collect.Lists
;
import
com.google.common.collect.Maps
;
import
com.google.gson.Gson
;
...
...
@@ -74,9 +71,10 @@ import org.springframework.beans.factory.annotation.Value;
import
org.springframework.stereotype.Service
;
import
java.util.*
;
import
java.util.concurrent.atomic.AtomicInteger
;
import
java.util.function.Predicate
;
import
java.util.stream.Collectors
;
import
java.util.stream.Stream
;
import
java.util.stream.
Int
Stream
;
@Service
@Slf4j
...
...
@@ -231,6 +229,11 @@ public class CouponServiceImpl implements CouponService {
if
(
getMemberCouponListResponseDto
!=
null
&&
Objects
.
equals
(
getMemberCouponListResponseDto
.
getCode
(),
ResponseResult
.
SUCCESS
.
getCode
()))
{
return
getMemberCouponListResponseDto
.
getData
();
}
AtomicInteger
sum
=
new
AtomicInteger
();
IntStream
.
range
(
0
,
10
).
forEach
(
value
->
sum
.
getAndIncrement
());
return
null
;
}
...
...
@@ -767,6 +770,8 @@ public class CouponServiceImpl implements CouponService {
*/
@Override
public
CheckSpqInfoResponseDto
checkSpqInfo
(
CheckSpqInfoRequestDto
requestDto
,
String
goodsId
)
{
log
.
info
(
"checkSpqInfo****"
+
gson
.
toJson
(
requestDto
));
String
partnerId
=
requestDto
.
getPartnerId
();
String
couponCode
=
requestDto
.
getCouponCode
();
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ItemServiceImpl.java
View file @
dbd25698
...
...
@@ -16,6 +16,7 @@ package cn.freemud.service.impl;
import
cn.freemud.adapter.StoreItemAdapter
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.constant.ResponseCodeConstant
;
import
cn.freemud.demo.entities.bo.goods.GetProductBySkuIdResponseBO
;
import
cn.freemud.entities.dto.*
;
import
cn.freemud.entities.dto.GetMenuResponseDto.DataBean.RootNodeBean.ChildrenBeanFirst.ChildrenBeanSecond.ProductBean
;
import
cn.freemud.entities.vo.CartGoods
;
...
...
@@ -231,5 +232,92 @@ public class ItemServiceImpl implements ItemService {
return
resultMap
;
}
@Override
public
Map
<
String
,
GetProductBySkuIdResponseBO
>
getProductsBySkuId
(
List
<
String
>
pids
,
String
partnerId
,
String
storeId
,
String
menuType
)
{
Map
<
String
,
GetProductBySkuIdResponseBO
>
resultMap
=
new
HashMap
<>();
if
(
CollectionUtils
.
isEmpty
(
pids
))
{
return
resultMap
;
}
List
<
String
>
skuIds
=
Lists
.
newArrayList
();
//查询商品详情
GetProductInfoDto
getProductInfoDto
=
storeItemAdapter
.
convert2ProductInfoDto
(
partnerId
,
storeId
,
ProductInfoType
.
ALL
.
getCode
(),
pids
,
menuType
);
ProductInfosDto
productInfosDto
=
storeItemClient
.
listProductInfos
(
getProductInfoDto
);
if
(
ResponseCodeConstant
.
RESPONSE_SUCCESS
.
equals
(
productInfosDto
.
getErrcode
())
&&
productInfosDto
.
getData
()
!=
null
&&
CollectionUtils
.
isNotEmpty
(
productInfosDto
.
getData
().
getProducts
()))
{
productInfosDto
.
getData
().
getProducts
().
stream
().
forEach
(
productBean
->
{
//多规格获取sku信息
GetProductBySkuIdResponseBO
getProductBySkuId
=
new
GetProductBySkuIdResponseBO
();
getProductBySkuId
.
setSkuId
(
productBean
.
getPid
());
getProductBySkuId
.
setSkuName
(
productBean
.
getName
());
String
picture
=
CollectionUtils
.
isNotEmpty
(
productBean
.
getProductPictureList
())
?
productBean
.
getProductPictureList
().
get
(
0
).
getUrl
()
:
null
;
getProductBySkuId
.
setSpuId
(
productBean
.
getPid
());
getProductBySkuId
.
setSpuName
(
productBean
.
getName
());
getProductBySkuId
.
setSpuPicture
(
picture
);
getProductBySkuId
.
setOriginalPrice
(
productBean
.
getOriginalPrice
());
getProductBySkuId
.
setFinalPrice
(
productBean
.
getFinalPrice
());
getProductBySkuId
.
setProductAttributeGroupList
(
productBean
.
getProductAttributeGroupList
());
getProductBySkuId
.
setStatus
(
productBean
.
getStatus
());
getProductBySkuId
.
setStock
(
productBean
.
getStock
());
getProductBySkuId
.
setStockLimit
(
productBean
.
getStockLimit
());
getProductBySkuId
.
setCustomerCode
(
productBean
.
getCustomerCode
());
getProductBySkuId
.
setCategory
(
productBean
.
getCategory
());
getProductBySkuId
.
setCategoryName
(
productBean
.
getCategoryName
());
resultMap
.
put
(
productBean
.
getPid
(),
getProductBySkuId
);
getProductBySkuId
.
setType
(
1
);
// 规格ID 剔除单品
if
(
Objects
.
equals
(
productBean
.
getIsSkuProduct
(),
YesOrNoEnum
.
YES
.
getCode
()))
{
getProductBySkuId
.
setType
(
10
);
skuIds
.
add
(
productBean
.
getPid
());
}
});
}
if
(
CollectionUtils
.
isEmpty
(
skuIds
))
{
return
resultMap
;
}
// 通过skuid查询spuid
GetSpuIdsBySkuIdsDto
bySkuIdsDto
=
new
GetSpuIdsBySkuIdsDto
();
bySkuIdsDto
.
setProductIds
(
skuIds
);
bySkuIdsDto
.
setPartnerId
(
partnerId
);
ProductListDto
productListDto
=
storeItemClient
.
getSpuIdsBySkuIds
(
bySkuIdsDto
);
if
(
ResponseCodeConstant
.
RESPONSE_SUCCESS
.
equals
(
productListDto
.
getErrcode
())
&&
CollectionUtils
.
isNotEmpty
(
productListDto
.
getData
()))
{
productListDto
.
getData
().
stream
().
forEach
(
product
->
{
product
.
getSkuList
().
stream
().
forEach
(
skuProductBean
->
{
if
(
resultMap
.
get
(
skuProductBean
.
getSkuId
())
!=
null
)
{
GetProductBySkuIdResponseBO
getProductBySkuId
=
resultMap
.
get
(
skuProductBean
.
getSkuId
());
getProductBySkuId
.
setSpuId
(
product
.
getPid
());
getProductBySkuId
.
setSpuName
(
product
.
getName
());
String
picture
=
CollectionUtils
.
isNotEmpty
(
product
.
getProductPictureList
())
?
product
.
getProductPictureList
().
get
(
0
).
getUrl
()
:
product
.
getPicture
();
getProductBySkuId
.
setSpuPicture
(
picture
);
if
(
CollectionUtils
.
isNotEmpty
(
product
.
getProductAttributeGroupList
())
&&
CollectionUtils
.
isNotEmpty
(
product
.
getProductAttributeGroupList
().
get
(
0
).
getAttributeValues
()))
{
List
<
CartGoods
.
CartGoodsExtra
>
extras
=
new
ArrayList
<>();
List
<
String
>
specId
=
new
ArrayList
<>();
List
<
String
>
specName
=
new
ArrayList
<>();
for
(
ProductListDto
.
DataBean
.
ProductAttributeGroupListBean
bean
:
product
.
getProductAttributeGroupList
())
{
for
(
ProductListDto
.
DataBean
.
ProductAttributeGroupListBean
.
AttributeValueBean
attr
:
bean
.
getAttributeValues
())
{
CartGoods
.
CartGoodsExtra
extra
=
new
CartGoods
.
CartGoodsExtra
();
extra
.
setAttributeId
(
attr
.
getAttributeId
());
extra
.
setAttributeName
(
attr
.
getAttributeValue
());
specName
.
add
(
attr
.
getAttributeValue
());
specId
.
add
(
attr
.
getAttributeId
());
break
;
}
}
getProductBySkuId
.
setExtra
(
extras
);
getProductBySkuId
.
setDefaultSpecName
(
StringUtils
.
join
(
specName
,
"/"
));
getProductBySkuId
.
setDefaultSpecId
(
StringUtils
.
join
(
specId
,
"/"
));
}
resultMap
.
put
(
skuProductBean
.
getSkuId
(),
getProductBySkuId
);
}
});
});
}
return
resultMap
;
}
}
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