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
3ce75ce1
Commit
3ce75ce1
authored
Oct 23, 2021
by
周晓航
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
购物车新增 加价购支持虚拟商品 开发
Signed-off-by: 周晓航 <xiaohang.zhou@freemud.com>
parent
2d663d44
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
208 additions
and
56 deletions
+208
-56
shopping-cart-application-service/src/main/java/cn/freemud/adapter/ActivityAdapter.java
+4
-51
shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/ValidateProductInfosDto.java
+22
-3
shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/calculate/ActivityCalculationDiscountResponseDto.java
+5
-0
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/CartGoods.java
+8
-0
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/CouponMsg.java
+29
-0
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/PremiumExchangeResponseVo.java
+8
-0
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/ShoppingCartInfoRequestVo.java
+5
-0
shopping-cart-application-service/src/main/java/cn/freemud/handle/GetActivityMsgHandle.java
+111
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartNewServiceImpl.java
+16
-2
No files found.
shopping-cart-application-service/src/main/java/cn/freemud/adapter/ActivityAdapter.java
View file @
3ce75ce1
...
@@ -150,6 +150,8 @@ public class ActivityAdapter {
...
@@ -150,6 +150,8 @@ public class ActivityAdapter {
product
.
setOriginalPrice
(
sendGoods
.
getOriginalPrice
());
product
.
setOriginalPrice
(
sendGoods
.
getOriginalPrice
());
product
.
setNowPrice
(
sendGoods
.
getNowPrice
());
product
.
setNowPrice
(
sendGoods
.
getNowPrice
());
product
.
setNumber
(
sendGoods
.
getSendNumber
());
product
.
setNumber
(
sendGoods
.
getSendNumber
());
// 设置商品原始属性, 本次需求 为了得到虚拟商品类型 进行参数组装
product
.
setProductType
(
sendGoods
.
getProductType
());
products
.
add
(
product
);
products
.
add
(
product
);
});
});
break
;
break
;
...
@@ -293,57 +295,8 @@ public class ActivityAdapter {
...
@@ -293,57 +295,8 @@ public class ActivityAdapter {
public
PremiumExchangeResponseVo
convert2PremiumExchangeSharing
(
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
discountResult
)
{
public
PremiumExchangeResponseVo
convert2PremiumExchangeSharing
(
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
calculationDiscountResult
)
{
// 返回构造对象
return
this
.
convert2PremiumExchange
(
calculationDiscountResult
);
PremiumExchangeResponseVo
premiumExchangeResponseVo
=
new
PremiumExchangeResponseVo
();
// 组装验证商品对象
List
<
PremiumExchangeResponseVo
.
PremiumExchangeProduct
>
products
=
new
ArrayList
<>();
premiumExchangeResponseVo
.
setResultCode
(
ActivityResultCodeEnum
.
NON_PARTICIPATE
.
getCode
());
if
(
discountResult
==
null
)
{
return
premiumExchangeResponseVo
;
}
// 只取最新活动
if
(
discountResult
!=
null
&&
CollectionUtils
.
isNotEmpty
(
discountResult
.
getSendGoods
()))
{
if
(
CollectionUtils
.
isNotEmpty
(
discountResult
.
getDiscounts
()))
{
List
<
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
Discount
>
discountList
=
discountResult
.
getDiscounts
();
for
(
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
Discount
discount
:
discountList
)
{
if
(
Objects
.
equals
(
discount
.
getType
(),
ActivityTypeEnum
.
TYPE_81
.
getCode
()))
{
Integer
showType
=
discount
.
getIntegral
()
==
null
?
0
:
discount
.
getIntegral
();
premiumExchangeResponseVo
.
setShowType
(
showType
);
}
}
}
for
(
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
SendActivity
sendActivity
:
discountResult
.
getSendGoods
())
{
if
(
Objects
.
equals
(
sendActivity
.
getActivityType
(),
ActivityTypeEnum
.
TYPE_81
.
getCode
()))
{
// 判断加价购活动商品不存在直接跳出循环
if
(
CollectionUtils
.
isEmpty
(
sendActivity
.
getSendGoods
()))
{
break
;
}
premiumExchangeResponseVo
.
setResultCode
(
ActivityResultCodeEnum
.
PARTICIPATE
.
getCode
());
premiumExchangeResponseVo
.
setActivityCode
(
sendActivity
.
getActivityCode
());
premiumExchangeResponseVo
.
setActivityName
(
sendActivity
.
getActivityName
());
premiumExchangeResponseVo
.
setMaxNum
(
sendActivity
.
getMaxNum
());
sendActivity
.
getSendGoods
().
forEach
(
sendGoods
->
{
PremiumExchangeResponseVo
.
PremiumExchangeProduct
product
=
new
PremiumExchangeResponseVo
.
PremiumExchangeProduct
();
product
.
setSpuId
(
sendGoods
.
getCategory
());
product
.
setSkuId
(
sendGoods
.
getGoodsId
());
product
.
setSkuName
(
sendGoods
.
getGoodsName
());
product
.
setOriginalPrice
(
sendGoods
.
getOriginalPrice
());
product
.
setNowPrice
(
sendGoods
.
getNowPrice
());
product
.
setNumber
(
sendGoods
.
getSendNumber
());
products
.
add
(
product
);
});
break
;
}
}
}
if
(
CollectionUtils
.
isEmpty
(
products
)){
premiumExchangeResponseVo
.
setResultCode
(
ActivityResultCodeEnum
.
NO_ACTIVITY
.
getCode
());
premiumExchangeResponseVo
.
setResultMsg
(
ActivityResultCodeEnum
.
NO_ACTIVITY
.
getDesc
());
return
premiumExchangeResponseVo
;
}
premiumExchangeResponseVo
.
setProducts
(
products
);
return
premiumExchangeResponseVo
;
}
}
public
CouponAvailableCartInfo
convert2CouponAvailableCartInfoSharing
(
String
partnerId
,
String
storeId
,
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
discountResult
,
List
<
String
>
orgCodes
)
{
public
CouponAvailableCartInfo
convert2CouponAvailableCartInfoSharing
(
String
partnerId
,
String
storeId
,
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
discountResult
,
List
<
String
>
orgCodes
)
{
...
...
shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/ValidateProductInfosDto.java
View file @
3ce75ce1
...
@@ -34,11 +34,13 @@ public class ValidateProductInfosDto {
...
@@ -34,11 +34,13 @@ public class ValidateProductInfosDto {
private
List
<
ProductData
>
failureList
;
private
List
<
ProductData
>
failureList
;
private
List
<
ProductData
>
successList
;
private
List
<
ProductData
>
successList
;
}
}
@NoArgsConstructor
@NoArgsConstructor
@Data
@Data
public
static
class
ProductData
{
public
static
class
ProductData
{
private
ProductBean
productType
;
private
ProductBean
productType
;
}
}
@NoArgsConstructor
@NoArgsConstructor
@Data
@Data
public
static
class
ProductBean
{
public
static
class
ProductBean
{
...
@@ -118,15 +120,31 @@ public class ValidateProductInfosDto {
...
@@ -118,15 +120,31 @@ public class ValidateProductInfosDto {
*/
*/
private
List
<
SellTime
>
sellTimeList
;
private
List
<
SellTime
>
sellTimeList
;
/**
* 虚拟商品 绑定的券信息
*/
private
List
<
BindingCouponType
>
productBindingCouponTypes
;
@Data
@NoArgsConstructor
public
static
class
BindingCouponType
{
private
String
activityCode
;
private
String
cardId
;
private
Integer
num
;
private
String
virtualCouponCode
;
}
@Data
@Data
public
static
class
SellTime
{
public
static
class
SellTime
{
private
Integer
dateStatus
;
private
Integer
dateStatus
;
private
String
startTime
;
private
String
startTime
;
private
String
endTime
;
private
String
endTime
;
}
}
private
List
<
SellTimeMonth
>
sellTimeMonthList
;
private
List
<
SellTimeMonth
>
sellTimeMonthList
;
@Data
@Data
public
static
class
SellTimeMonth
{
public
static
class
SellTimeMonth
{
private
Integer
dayOfMonth
;
private
Integer
dayOfMonth
;
private
String
endTime
;
private
String
endTime
;
private
String
startTime
;
private
String
startTime
;
...
@@ -148,7 +166,7 @@ public class ValidateProductInfosDto {
...
@@ -148,7 +166,7 @@ public class ValidateProductInfosDto {
private
Integer
stockLimit
;
private
Integer
stockLimit
;
private
Integer
stockQty
;
private
Integer
stockQty
;
//sku商品包装费 1.5.4新加
//sku商品包装费 1.5.4新加
private
Long
packPrice
;
private
Long
packPrice
;
private
List
<
SkuSpecValue
>
skuSpecValues
;
private
List
<
SkuSpecValue
>
skuSpecValues
;
@NoArgsConstructor
@NoArgsConstructor
...
@@ -261,6 +279,7 @@ public class ValidateProductInfosDto {
...
@@ -261,6 +279,7 @@ public class ValidateProductInfosDto {
private
String
type
;
private
String
type
;
private
String
url
;
private
String
url
;
}
}
@NoArgsConstructor
@NoArgsConstructor
@Data
@Data
public
static
class
ProductComboListBean
{
public
static
class
ProductComboListBean
{
...
...
shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/calculate/ActivityCalculationDiscountResponseDto.java
View file @
3ce75ce1
...
@@ -524,6 +524,11 @@ public class ActivityCalculationDiscountResponseDto {
...
@@ -524,6 +524,11 @@ public class ActivityCalculationDiscountResponseDto {
* 是否已选择寄杯
* 是否已选择寄杯
*/
*/
private
Boolean
sendCoupon
;
private
Boolean
sendCoupon
;
/**
* 商品类型:2、是加料商品,9、是虚拟商品,7、是套餐商品,1、是单品
*/
private
Integer
productType
;
}
}
}
}
...
...
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/CartGoods.java
View file @
3ce75ce1
...
@@ -20,12 +20,19 @@ import lombok.NoArgsConstructor;
...
@@ -20,12 +20,19 @@ import lombok.NoArgsConstructor;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.commons.lang.StringUtils
;
import
java.util.ArrayList
;
import
java.util.Comparator
;
import
java.util.Comparator
;
import
java.util.List
;
import
java.util.List
;
import
java.util.UUID
;
import
java.util.UUID
;
@Data
@Data
public
class
CartGoods
{
public
class
CartGoods
{
/**
* 如果加价购是虚拟券商品 这个集合会有券商品赠送的券信息
*/
private
List
<
CouponMsg
>
couponData
=
new
ArrayList
<>();
/**
/**
* 购物车一行的Id(后台生成)
* 购物车一行的Id(后台生成)
*/
*/
...
@@ -704,5 +711,6 @@ public class CartGoods {
...
@@ -704,5 +711,6 @@ public class CartGoods {
* 该字段,保持和商品服务的商品类型一致
* 该字段,保持和商品服务的商品类型一致
*/
*/
private
Integer
originalProductType
;
private
Integer
originalProductType
;
}
}
}
}
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/CouponMsg.java
0 → 100644
View file @
3ce75ce1
package
cn
.
freemud
.
entities
.
vo
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
/**
* @author : xh.Z
* @email : fisherman0510@163.com
* @Date : 2021/10/23 下午2:34
* @description :
*/
@Data
public
class
CouponMsg
{
/**
* 券名称
*/
@ApiModelProperty
(
value
=
"券名称"
)
private
String
name
;
/**
* 券code
*/
@ApiModelProperty
(
value
=
"券code"
)
private
String
activityCode
;
/**
* 券数量
*/
private
Integer
num
;
}
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/PremiumExchangeResponseVo.java
View file @
3ce75ce1
...
@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
...
@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.NoArgsConstructor
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
@Data
@Data
...
@@ -247,6 +248,13 @@ public class PremiumExchangeResponseVo {
...
@@ -247,6 +248,13 @@ public class PremiumExchangeResponseVo {
@ApiModelProperty
(
value
=
"活动商品描述"
)
@ApiModelProperty
(
value
=
"活动商品描述"
)
private
String
goodsDesc
;
private
String
goodsDesc
;
/**
* 如果加价购是虚拟券商品 这个集合会有券商品赠送的券信息
*/
private
List
<
CouponMsg
>
couponData
=
new
ArrayList
<>();
@Data
@Data
@NoArgsConstructor
@NoArgsConstructor
public
static
class
ProductLabel
{
public
static
class
ProductLabel
{
...
...
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/ShoppingCartInfoRequestVo.java
View file @
3ce75ce1
...
@@ -163,6 +163,11 @@ public class ShoppingCartInfoRequestVo extends BaseRequestVo {
...
@@ -163,6 +163,11 @@ public class ShoppingCartInfoRequestVo extends BaseRequestVo {
private
String
activityCode
;
private
String
activityCode
;
private
List
<
Attribute
>
attributes
;
private
List
<
Attribute
>
attributes
;
/**
* 加价购 可能会涉及 虚拟商品 类型 = 9
*/
private
Integer
productType
;
}
}
@Data
@Data
...
...
shopping-cart-application-service/src/main/java/cn/freemud/handle/GetActivityMsgHandle.java
0 → 100644
View file @
3ce75ce1
package
cn
.
freemud
.
handle
;
import
cn.freemud.entities.dto.ValidateProductInfosDto
;
import
cn.freemud.entities.vo.CouponMsg
;
import
cn.freemud.entities.vo.PremiumExchangeResponseVo
;
import
cn.freemud.enums.ResponseResult
;
import
cn.freemud.redis.RedisCache
;
import
cn.freemud.utils.ResponseUtil
;
import
com.freemud.application.sdk.api.base.BaseResponse
;
import
com.freemud.application.sdk.api.base.SDKCommonBaseContextWare
;
import
com.freemud.application.sdk.api.couponcenter.online.domain.ActiveDetailVO
;
import
com.freemud.application.sdk.api.couponcenter.online.domain.AppKeyVO
;
import
com.freemud.application.sdk.api.couponcenter.online.request.ActiveBatchQueryRequest
;
import
com.freemud.application.sdk.api.couponcenter.online.request.PartnerRequest
;
import
com.freemud.application.sdk.api.couponcenter.online.service.FMActiveSdkService
;
import
com.freemud.application.sdk.api.log.LogThreadLocal
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Component
;
import
java.util.ArrayList
;
import
java.util.HashSet
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
/**
* @author : xh.Z
* @email : fisherman0510@163.com
* @Date : 2021/10/22 下午7:54
* @description :
*/
@Component
public
class
GetActivityMsgHandle
{
@Value
(
"${coupon.app.id}"
)
private
String
appId
;
/**
* fisherman 获取 虚拟商品 券数据
*
* @param productBindingCoupons
* @param partnerId
* @return
*/
public
List
<
CouponMsg
>
getCouponData
(
List
<
ValidateProductInfosDto
.
ProductBean
.
BindingCouponType
>
productBindingCoupons
,
String
partnerId
)
{
List
<
CouponMsg
>
retList
=
new
ArrayList
<>();
if
(
CollectionUtils
.
isNotEmpty
(
productBindingCoupons
))
{
// 处理 券数据 这里链路有问题 效率有点低, 后续需要优化
List
<
String
>
activityCodes
=
productBindingCoupons
.
stream
()
.
map
(
ValidateProductInfosDto
.
ProductBean
.
BindingCouponType
::
getActivityCode
)
.
collect
(
Collectors
.
toList
());
List
<
ActiveDetailVO
>
activeDetailVOS
=
this
.
batchQueryActivityInfo
(
activityCodes
,
partnerId
);
if
(
CollectionUtils
.
isNotEmpty
(
activeDetailVOS
))
{
// 设置 券名称 数量
Map
<
String
,
ActiveDetailVO
>
collect
=
activeDetailVOS
.
stream
().
collect
(
Collectors
.
toMap
(
ActiveDetailVO:
:
getActiveCode
,
a
->
a
,
(
k1
,
k2
)
->
k1
));
productBindingCoupons
.
forEach
(
coupon
->
{
CouponMsg
msg
=
new
CouponMsg
();
ActiveDetailVO
activeDetailVO
=
collect
.
get
(
coupon
.
getActivityCode
());
msg
.
setActivityCode
(
coupon
.
getActivityCode
());
msg
.
setNum
(
coupon
.
getNum
());
msg
.
setName
(
activeDetailVO
.
getActiveName
());
});
}
}
return
retList
;
}
private
List
<
ActiveDetailVO
>
batchQueryActivityInfo
(
List
<
String
>
activityCodes
,
String
partnerId
)
{
String
trackingNo
=
LogThreadLocal
.
getTrackingNo
();
String
appKey
=
this
.
getAppKey
(
partnerId
,
trackingNo
);
if
(
StringUtils
.
isEmpty
(
appKey
))
{
return
null
;
}
ActiveBatchQueryRequest
activeBatchQueryRequest
=
new
ActiveBatchQueryRequest
();
//去重
List
<
String
>
activeCodes
=
new
ArrayList
<>(
new
HashSet
(
activityCodes
));
activeBatchQueryRequest
.
setActiveCode
(
activeCodes
);
activeBatchQueryRequest
.
setAppSecret
(
appKey
);
activeBatchQueryRequest
.
setPartnerId
(
Integer
.
parseInt
(
partnerId
));
FMActiveSdkService
fmActiveSdkService
=
SDKCommonBaseContextWare
.
getBean
(
FMActiveSdkService
.
class
);
BaseResponse
<
List
<
ActiveDetailVO
>>
batchQueryResponse
=
fmActiveSdkService
.
batchQueryActivityInfo
(
activeBatchQueryRequest
,
trackingNo
);
if
(
batchQueryResponse
==
null
||
!
ResponseResult
.
SUCCESS
.
getCode
().
equals
(
batchQueryResponse
.
getCode
())
||
CollectionUtils
.
isEmpty
(
batchQueryResponse
.
getData
()))
{
return
null
;
}
return
batchQueryResponse
.
getData
();
}
private
String
getAppKey
(
String
partnerId
,
String
trackingNo
)
{
RedisCache
redisCache
=
SDKCommonBaseContextWare
.
getBean
(
RedisCache
.
class
);
String
key
=
"kgd:coupon:appKey:partner:"
;
String
appKey
=
redisCache
.
getValue
(
key
+
partnerId
);
if
(
StringUtils
.
isEmpty
(
appKey
))
{
PartnerRequest
partnerRequest
=
new
PartnerRequest
();
partnerRequest
.
setPartnerId
(
Integer
.
parseInt
(
partnerId
));
partnerRequest
.
setAppId
(
appId
);
FMActiveSdkService
fmActiveSdkService
=
SDKCommonBaseContextWare
.
getBean
(
FMActiveSdkService
.
class
);
com
.
freemud
.
application
.
sdk
.
api
.
base
.
BaseResponse
<
AppKeyVO
>
appKeyVOBaseResponse
=
fmActiveSdkService
.
getAppKey
(
partnerRequest
,
trackingNo
);
if
(
appKeyVOBaseResponse
==
null
||
!
"100"
.
equals
(
appKeyVOBaseResponse
.
getCode
())
||
appKeyVOBaseResponse
.
getData
()
==
null
||
StringUtils
.
isEmpty
(
appKeyVOBaseResponse
.
getData
().
getAppKey
()))
{
return
null
;
}
appKey
=
appKeyVOBaseResponse
.
getData
().
getAppKey
();
redisCache
.
save
(
key
+
partnerId
,
appKey
);
}
return
appKey
;
}
}
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartNewServiceImpl.java
View file @
3ce75ce1
...
@@ -41,6 +41,7 @@ import cn.freemud.entities.vo.coupon.CouponAvailableCartInfo;
...
@@ -41,6 +41,7 @@ import cn.freemud.entities.vo.coupon.CouponAvailableCartInfo;
import
cn.freemud.entities.vo.coupon.CouponAvailableRequestVo
;
import
cn.freemud.entities.vo.coupon.CouponAvailableRequestVo
;
import
cn.freemud.enums.*
;
import
cn.freemud.enums.*
;
import
cn.freemud.handle.CommonFunctionHandle
;
import
cn.freemud.handle.CommonFunctionHandle
;
import
cn.freemud.handle.GetActivityMsgHandle
;
import
cn.freemud.interceptor.BizServiceException
;
import
cn.freemud.interceptor.BizServiceException
;
import
cn.freemud.interceptor.ServiceException
;
import
cn.freemud.interceptor.ServiceException
;
import
cn.freemud.redis.RedisCache
;
import
cn.freemud.redis.RedisCache
;
...
@@ -68,6 +69,7 @@ import com.freemud.application.sdk.api.membercenter.response.QueryReceiveAddress
...
@@ -68,6 +69,7 @@ import com.freemud.application.sdk.api.membercenter.response.QueryReceiveAddress
import
com.freemud.application.sdk.api.membercenter.response.StatisticalScoreResponse
;
import
com.freemud.application.sdk.api.membercenter.response.StatisticalScoreResponse
;
import
com.freemud.application.sdk.api.membercenter.service.MemberCenterService
;
import
com.freemud.application.sdk.api.membercenter.service.MemberCenterService
;
import
com.freemud.application.sdk.api.membercenter.service.MemberPropertyService
;
import
com.freemud.application.sdk.api.membercenter.service.MemberPropertyService
;
import
com.freemud.application.sdk.api.ordercenter.enums.ProductTypeEnum
;
import
com.freemud.application.sdk.api.productcenter.domain.ProductBeanDTO
;
import
com.freemud.application.sdk.api.productcenter.domain.ProductBeanDTO
;
import
com.freemud.application.sdk.api.storecenter.request.StoreInfoRequest
;
import
com.freemud.application.sdk.api.storecenter.request.StoreInfoRequest
;
import
com.freemud.application.sdk.api.storecenter.response.StoreResponse
;
import
com.freemud.application.sdk.api.storecenter.response.StoreResponse
;
...
@@ -77,7 +79,6 @@ import com.freemud.sdk.api.assortment.shoppingcart.enums.BusinessTypeEnum;
...
@@ -77,7 +79,6 @@ import com.freemud.sdk.api.assortment.shoppingcart.enums.BusinessTypeEnum;
import
com.freemud.sdk.api.assortment.shoppingcart.request.CheckCartRequest
;
import
com.freemud.sdk.api.assortment.shoppingcart.request.CheckCartRequest
;
import
com.freemud.sdk.api.assortment.shoppingcart.service.ShoppingCartBaseService
;
import
com.freemud.sdk.api.assortment.shoppingcart.service.ShoppingCartBaseService
;
import
com.freemud.sdk.api.assortment.shoppingcart.service.impl.ShoppingCartBaseServiceImpl
;
import
com.freemud.sdk.api.assortment.shoppingcart.service.impl.ShoppingCartBaseServiceImpl
;
import
com.freemud.sdk.api.assortment.shoppingcart.util.ShoppingSdkLogUtil
;
import
com.google.common.collect.Lists
;
import
com.google.common.collect.Lists
;
import
javafx.util.Pair
;
import
javafx.util.Pair
;
import
ma.glasnost.orika.MapperFacade
;
import
ma.glasnost.orika.MapperFacade
;
...
@@ -209,6 +210,9 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -209,6 +210,9 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
@Autowired
@Autowired
private
CommonFunctionHandle
commonFunctionHandle
;
private
CommonFunctionHandle
commonFunctionHandle
;
@Autowired
private
GetActivityMsgHandle
getActivityMsgHandle
;
/**
/**
* 从微信卡券向购物车中添加商品
* 从微信卡券向购物车中添加商品
*/
*/
...
@@ -906,11 +910,15 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -906,11 +910,15 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
cartGoods
.
setOriginalAmount
(
good
.
getOriginalPrice
());
cartGoods
.
setOriginalAmount
(
good
.
getOriginalPrice
());
cartGoods
.
setAmount
(
good
.
getNowPrice
());
cartGoods
.
setAmount
(
good
.
getNowPrice
());
cartGoods
.
setPhotoUrl
(
good
.
getPicture
());
cartGoods
.
setPhotoUrl
(
good
.
getPicture
());
// fisherman 设置虚拟券商品 属性
cartGoods
.
setGoodsType
(
good
.
getProductType
());
cartGoods
.
setOriginalProductType
(
good
.
getProductType
());
cartGoods
.
setGoodsId
(
good
.
getPid
());
cartGoods
.
setGoodsId
(
good
.
getPid
());
cartGoods
.
setName
(
good
.
getName
());
cartGoods
.
setName
(
good
.
getName
());
cartGoods
.
setSpuName
(
good
.
getSpuName
());
cartGoods
.
setSpuName
(
good
.
getSpuName
());
cartGoods
.
setQty
(
first
==
null
?
1
:
first
.
getQty
());
cartGoods
.
setQty
(
first
.
getQty
());
cartGoods
.
setActivityCode
(
first
.
getActivityCode
());
cartGoods
.
setActivityCode
(
first
.
getActivityCode
());
cartGoods
.
setCouponData
(
good
.
getCouponData
());
if
(!
CollectionUtils
.
isEmpty
(
first
.
getAttributes
()))
{
if
(!
CollectionUtils
.
isEmpty
(
first
.
getAttributes
()))
{
List
<
CartGoods
.
CartGoodsExtra
>
extra
=
new
ArrayList
();
List
<
CartGoods
.
CartGoodsExtra
>
extra
=
new
ArrayList
();
first
.
getAttributes
().
forEach
(
attribute
->
{
first
.
getAttributes
().
forEach
(
attribute
->
{
...
@@ -3153,6 +3161,11 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -3153,6 +3161,11 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
result
.
setOriginalPrice
(
productBean
.
getFinalPrice
());
result
.
setOriginalPrice
(
productBean
.
getFinalPrice
());
result
.
setNumber
(
premiumExchangeProduct
.
getNumber
());
result
.
setNumber
(
premiumExchangeProduct
.
getNumber
());
result
.
setArtNo
(
premiumExchangeProduct
.
getArtNo
());
result
.
setArtNo
(
premiumExchangeProduct
.
getArtNo
());
result
.
setProductType
(
premiumExchangeProduct
.
getProductType
());
// fisherman 处理虚拟商品的 券名称获取
if
(
premiumExchangeProduct
.
getProductType
().
compareTo
(
ProductTypeEnum
.
VIRTUAL_PRODUCT
.
getCode
())
==
0
)
{
result
.
setCouponData
(
getActivityMsgHandle
.
getCouponData
(
productBean
.
getProductBindingCouponTypes
(),
partnerId
));
}
productResults
.
add
(
result
);
productResults
.
add
(
result
);
}
}
}
}
...
@@ -3165,6 +3178,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -3165,6 +3178,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
return
ResponseUtil
.
success
(
premiumExchangeResponseVo
);
return
ResponseUtil
.
success
(
premiumExchangeResponseVo
);
}
}
private
void
removeByProductStock
(
List
<
PremiumExchangeResponseVo
.
PremiumExchangeProduct
>
products
,
List
<
ValidateProductInfosDto
.
ProductData
>
productDataList
,
String
partnerId
,
String
storeId
,
String
channel
)
{
private
void
removeByProductStock
(
List
<
PremiumExchangeResponseVo
.
PremiumExchangeProduct
>
products
,
List
<
ValidateProductInfosDto
.
ProductData
>
productDataList
,
String
partnerId
,
String
storeId
,
String
channel
)
{
List
<
Long
>
limitSkuIds
=
new
ArrayList
<>();
List
<
Long
>
limitSkuIds
=
new
ArrayList
<>();
productDataList
.
stream
().
forEach
(
ProductData
->
{
productDataList
.
stream
().
forEach
(
ProductData
->
{
...
...
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