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
64b0ce09
Commit
64b0ce09
authored
Jun 15, 2022
by
ping.wu
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/pre' into pre
parents
d90daf49
bd17204b
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
184 additions
and
9 deletions
+184
-9
order-application-service/src/main/java/cn/freemud/entities/dto/ecology/ReportActivityBehaviorsRequest.java
+18
-0
order-application-service/src/main/java/cn/freemud/service/impl/OrderAdapterServiceImpl.java
+106
-0
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
+1
-1
order-application-service/src/main/java/cn/freemud/service/thirdparty/EcologyProgramApplicationClient.java
+25
-0
shopping-cart-application-service/src/main/java/cn/freemud/demo/manager/coupon/Finals.java
+1
-0
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/GetMemberCouponRequestVo.java
+5
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/CouponServiceImpl.java
+4
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ProductServiceImpl.java
+24
-8
No files found.
order-application-service/src/main/java/cn/freemud/entities/dto/ecology/ReportActivityBehaviorsRequest.java
0 → 100644
View file @
64b0ce09
package
cn
.
freemud
.
entities
.
dto
.
ecology
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@Data
public
class
ReportActivityBehaviorsRequest
{
@ApiModelProperty
(
value
=
"商户号"
,
required
=
true
)
private
String
partnerId
;
@ApiModelProperty
(
value
=
"活动号"
,
required
=
true
)
private
String
activityId
;
@ApiModelProperty
(
value
=
"用户标识"
,
required
=
true
)
private
String
openId
;
@ApiModelProperty
(
value
=
"微信订单号"
,
required
=
true
)
private
String
transactionId
;
@ApiModelProperty
(
value
=
"小程序appid"
,
required
=
true
)
private
String
miniAppId
;
}
order-application-service/src/main/java/cn/freemud/service/impl/OrderAdapterServiceImpl.java
View file @
64b0ce09
...
@@ -7,6 +7,7 @@ import cn.freemud.constant.RedisLockKey;
...
@@ -7,6 +7,7 @@ import cn.freemud.constant.RedisLockKey;
import
cn.freemud.entities.bo.CreateOrderBONew
;
import
cn.freemud.entities.bo.CreateOrderBONew
;
import
cn.freemud.entities.db.OpenPlatformOrderConfig
;
import
cn.freemud.entities.db.OpenPlatformOrderConfig
;
import
cn.freemud.entities.dto.ConfirmOrderDto
;
import
cn.freemud.entities.dto.ConfirmOrderDto
;
import
cn.freemud.entities.dto.ecology.ReportActivityBehaviorsRequest
;
import
cn.freemud.entities.dto.order.CreateCashierOrderDto
;
import
cn.freemud.entities.dto.order.CreateCashierOrderDto
;
import
cn.freemud.entities.dto.pay.SvcPayItem
;
import
cn.freemud.entities.dto.pay.SvcPayItem
;
import
cn.freemud.entities.dto.pay.svc.ConsumeHistoryCreateRequest
;
import
cn.freemud.entities.dto.pay.svc.ConsumeHistoryCreateRequest
;
...
@@ -22,10 +23,12 @@ import cn.freemud.management.thirdparty.OrderCallbackClient;
...
@@ -22,10 +23,12 @@ import cn.freemud.management.thirdparty.OrderCallbackClient;
import
cn.freemud.manager.OpenPlatformOrderConfigManager
;
import
cn.freemud.manager.OpenPlatformOrderConfigManager
;
import
cn.freemud.redis.RedisCache
;
import
cn.freemud.redis.RedisCache
;
import
cn.freemud.service.*
;
import
cn.freemud.service.*
;
import
cn.freemud.service.thirdparty.EcologyProgramApplicationClient
;
import
cn.freemud.service.thirdparty.SvcTransactionClient
;
import
cn.freemud.service.thirdparty.SvcTransactionClient
;
import
cn.freemud.service.universal.factory.CreateOrderServiceFactory
;
import
cn.freemud.service.universal.factory.CreateOrderServiceFactory
;
import
cn.freemud.utils.RedisUtil
;
import
cn.freemud.utils.RedisUtil
;
import
cn.freemud.utils.ResponseUtil
;
import
cn.freemud.utils.ResponseUtil
;
import
com.alibaba.fastjson.JSONObject
;
import
com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo
;
import
com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo
;
import
com.freemud.api.assortment.datamanager.enums.IappIdType
;
import
com.freemud.api.assortment.datamanager.enums.IappIdType
;
import
com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustomerInfoManager
;
import
com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustomerInfoManager
;
...
@@ -33,10 +36,14 @@ import com.freemud.application.sdk.api.log.ApiLog;
...
@@ -33,10 +36,14 @@ import com.freemud.application.sdk.api.log.ApiLog;
import
com.freemud.application.sdk.api.log.ErrorLog
;
import
com.freemud.application.sdk.api.log.ErrorLog
;
import
com.freemud.application.sdk.api.ordercenter.config.OrderCenterProperties
;
import
com.freemud.application.sdk.api.ordercenter.config.OrderCenterProperties
;
import
com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1
;
import
com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1
;
import
com.freemud.application.sdk.api.ordercenter.entities.v1.ProductBeanV1
;
import
com.freemud.application.sdk.api.ordercenter.entities.vo.OrderCallBackRequestVo
;
import
com.freemud.application.sdk.api.ordercenter.entities.vo.OrderCallBackRequestVo
;
import
com.freemud.application.sdk.api.ordercenter.enums.BizTypeEnum
;
import
com.freemud.application.sdk.api.ordercenter.enums.BizTypeEnum
;
import
com.freemud.application.sdk.api.ordercenter.enums.MarketTypeEnum
;
import
com.freemud.application.sdk.api.ordercenter.enums.MarketTypeEnum
;
import
com.freemud.application.sdk.api.ordercenter.enums.NewOrderStatus
;
import
com.freemud.application.sdk.api.ordercenter.enums.NewOrderStatus
;
import
com.freemud.application.sdk.api.ordercenter.enums.PayChannelType
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderPayItemResp
;
import
com.freemud.application.sdk.api.service.EmailAlertService
;
import
com.freemud.sdk.api.assortment.order.util.LockUtils
;
import
com.freemud.sdk.api.assortment.order.util.LockUtils
;
import
com.google.gson.Gson
;
import
com.google.gson.Gson
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.CollectionUtils
;
...
@@ -69,6 +76,13 @@ import java.util.stream.Collectors;
...
@@ -69,6 +76,13 @@ import java.util.stream.Collectors;
@Service
@Service
public
class
OrderAdapterServiceImpl
{
public
class
OrderAdapterServiceImpl
{
//爱马哥微信低碳活动 一次性活动,结束即可删除 格式(商户号@活动号,用逗号分割):2690@13981711,1864@34343345
@Value
(
"${weixin.pay.success.activity:}"
)
private
String
weixinPayActivity
;
//爱马哥微信低碳活动 一次性活动,结束即可删除 格式(商户号@商品,用逗号分割):2690@13981711,1864@34343345
@Value
(
"${weixin.pay.success.goods:}"
)
private
String
weixinPayGoods
;
private
final
String
PAY_SUCCESS_KEY
=
"pay_success_key:"
;
private
final
String
PAY_SUCCESS_KEY
=
"pay_success_key:"
;
/**
/**
...
@@ -150,6 +164,10 @@ public class OrderAdapterServiceImpl {
...
@@ -150,6 +164,10 @@ public class OrderAdapterServiceImpl {
private
OpenPlatformOrderConfigManager
openPlatformOrderConfigManager
;
private
OpenPlatformOrderConfigManager
openPlatformOrderConfigManager
;
@Autowired
@Autowired
private
SvcTransactionClient
svcTransactionClient
;
private
SvcTransactionClient
svcTransactionClient
;
@Autowired
private
EcologyProgramApplicationClient
ecologyProgramApplicationClient
;
@Autowired
private
EmailAlertService
emailAlertService
;
//获取下单实现对象
//获取下单实现对象
private
OrderFactoryService
getCreateOrderBean
(
AssortmentCustomerInfoVo
assortmentCustomerInfoVo
,
CreateOrderVo
createOrderVo
){
private
OrderFactoryService
getCreateOrderBean
(
AssortmentCustomerInfoVo
assortmentCustomerInfoVo
,
CreateOrderVo
createOrderVo
){
...
@@ -370,6 +388,8 @@ public class OrderAdapterServiceImpl {
...
@@ -370,6 +388,8 @@ public class OrderAdapterServiceImpl {
if
(
CollectionUtils
.
isNotEmpty
(
message
.
getSvcPayItems
())){
if
(
CollectionUtils
.
isNotEmpty
(
message
.
getSvcPayItems
())){
sendSvcPayInfoToSvcTransaction
(
message
.
getSvcPayItems
(),
orderBean
.
getCompanyId
(),
orderBean
.
getOid
(),
orderBean
.
getUserId
(),
orderBean
.
getShopId
());
sendSvcPayInfoToSvcTransaction
(
message
.
getSvcPayItems
(),
orderBean
.
getCompanyId
(),
orderBean
.
getOid
(),
orderBean
.
getUserId
(),
orderBean
.
getShopId
());
}
}
//爱马哥低碳活动 活动结束即可删除此代码,大概2022-09月结束
sendLowCarbonToWeixin
(
message
,
orderBean
);
return
result
;
return
result
;
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
throw
e
;
throw
e
;
...
@@ -466,4 +486,90 @@ public class OrderAdapterServiceImpl {
...
@@ -466,4 +486,90 @@ public class OrderAdapterServiceImpl {
}
}
}
}
/**
* 微信低碳活动上报,活动结束即可删除
* @param message
* @param orderBean
*/
private
void
sendLowCarbonToWeixin
(
PaysuccessNoticeMessage
message
,
OrderBeanV1
orderBean
){
ApiLog
.
printLog
(
"sendLowCarbonToWeixin"
,
message
,
orderBean
,
null
);
BaseResponse
response
=
null
;
try
{
// 微商城订单处理 因为没有appid
if
(
Objects
.
equals
(
BizTypeEnum
.
MALL
.
getBizType
(),
orderBean
.
getBizType
()))
{
return
;
}
//先判断有没有微信支付
List
<
OrderPayItemResp
>
orderPayItem
=
orderBean
.
getOrderPayItem
();
boolean
hasWeixinPay
=
Objects
.
equals
(
orderBean
.
getPayChannelType
(),
String
.
valueOf
(
PayChannelType
.
WECHAT
.
getIndex
()))
||
(
CollectionUtils
.
isNotEmpty
(
orderPayItem
)
&&
orderPayItem
.
stream
().
anyMatch
(
payItem
->
Objects
.
equals
(
payItem
.
getPayChannelType
(),
PayChannelType
.
WECHAT
.
getIndex
().
intValue
())));
if
(!
hasWeixinPay
)
{
return
;
}
//再判断用没有配置活动
String
activityId
=
getActivityId
(
orderBean
.
getCompanyId
());
if
(
StringUtils
.
isBlank
(
activityId
))
{
return
;
}
//再判断订单商品是否在白名单里面
if
(
isGoodInActivity
(
orderBean
.
getCompanyId
(),
orderBean
.
getProductList
()))
{
ReportActivityBehaviorsRequest
request
=
new
ReportActivityBehaviorsRequest
();
request
.
setPartnerId
(
orderBean
.
getCompanyId
());
request
.
setActivityId
(
activityId
);
request
.
setOpenId
(
message
.
getOpenid
());
request
.
setTransactionId
(
message
.
getThirdPartTradeNo
());
request
.
setMiniAppId
(
orderBean
.
getAppId
());
response
=
ecologyProgramApplicationClient
.
reportActivityBehaviors
(
request
);
if
(!
Objects
.
equals
(
response
.
getCode
(),
"100"
))
{
emailAlertService
.
sendEmailAlert
(
"低碳活动上报失败"
,
String
.
format
(
"request:%s \r\nresponse:%s \r\norderNo:%s"
,
JSONObject
.
toJSONString
(
request
),
JSONObject
.
toJSONString
(
response
),
orderBean
.
getOid
()));
ApiLog
.
printLog
(
"sendLowCarbonToWeixin error "
+
orderBean
.
getOid
(),
message
,
request
,
response
);
}
}
}
catch
(
Exception
e
){
emailAlertService
.
sendEmailAlert
(
"低碳活动上报异常"
,
String
.
format
(
"request:%s \r\nresponse:%s \r\norderNo:%s"
,
JSONObject
.
toJSONString
(
message
),
JSONObject
.
toJSONString
(
response
),
orderBean
.
getOid
()));
ErrorLog
.
printErrorLog
(
"sendLowCarbonToWeixin exception"
,
"/ecology/micro-program/low-carbon-action/activities/behaviors-report"
,
orderBean
,
e
);
}
}
private
String
getActivityId
(
String
partnerId
){
String
[]
partnerArr
=
weixinPayActivity
.
split
(
","
);
if
(
partnerArr
!=
null
&&
partnerArr
.
length
>
0
){
for
(
String
partnerStr
:
partnerArr
){
String
[]
arr
=
partnerStr
.
split
(
"@"
);
if
(
Objects
.
equals
(
arr
[
0
],
partnerId
)){
return
arr
[
1
];
}
}
}
return
null
;
}
private
boolean
isGoodInActivity
(
String
partnerId
,
List
<
ProductBeanV1
>
productList
){
List
<
String
>
partnerList
=
Arrays
.
asList
(
weixinPayGoods
.
split
(
","
));
if
(
CollectionUtils
.
isNotEmpty
(
partnerList
)
&&
CollectionUtils
.
isNotEmpty
(
productList
)){
return
productList
.
stream
().
anyMatch
(
productBeanV1
->
{
boolean
mainProduct
=
partnerList
.
contains
(
partnerId
+
"@"
+(
StringUtils
.
isBlank
(
productBeanV1
.
getSpecification
())?
productBeanV1
.
getProductId
():
productBeanV1
.
getSpecification
()));
if
(
mainProduct
){
return
true
;
}
if
(
CollectionUtils
.
isNotEmpty
(
productBeanV1
.
getSendProduct
())){
boolean
sendProduct
=
productBeanV1
.
getSendProduct
().
stream
().
anyMatch
(
send
->
partnerList
.
contains
(
partnerId
+
"@"
+(
StringUtils
.
isBlank
(
send
.
getSpecification
())?
send
.
getProductId
():
send
.
getSpecification
())));
if
(
sendProduct
){
return
true
;
}
}
if
(
CollectionUtils
.
isNotEmpty
(
productBeanV1
.
getComboProduct
())){
boolean
comboProduct
=
productBeanV1
.
getComboProduct
().
stream
().
anyMatch
(
combo
->
partnerList
.
contains
(
partnerId
+
"@"
+(
StringUtils
.
isBlank
(
combo
.
getSpecification
())?
combo
.
getProductId
():
combo
.
getSpecification
())));
if
(
comboProduct
){
return
true
;
}
}
return
false
;
});
}
return
false
;
}
}
}
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
View file @
64b0ce09
...
@@ -607,7 +607,7 @@ public class OrderServiceImpl implements Orderservice {
...
@@ -607,7 +607,7 @@ public class OrderServiceImpl implements Orderservice {
message
.
setTerminalId
(
newMessage
.
getAppId
());
message
.
setTerminalId
(
newMessage
.
getAppId
());
message
.
setRuleId
(
newMessage
.
getRuleId
());
message
.
setRuleId
(
newMessage
.
getRuleId
());
message
.
setSource
(
PaySuccessSource
.
OUTSIDE
.
getSource
());
message
.
setSource
(
PaySuccessSource
.
OUTSIDE
.
getSource
());
message
.
setThirdPartTradeNo
(
m
essage
.
getThirdPartTradeNo
());
message
.
setThirdPartTradeNo
(
newM
essage
.
getThirdPartTradeNo
());
message
.
setSvcPayItems
(
newMessage
.
getPayItems
());
message
.
setSvcPayItems
(
newMessage
.
getPayItems
());
String
res
=
orderAdapterService
.
paySuccessCallback
(
message
);
String
res
=
orderAdapterService
.
paySuccessCallback
(
message
);
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
res
);
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
res
);
...
...
order-application-service/src/main/java/cn/freemud/service/thirdparty/EcologyProgramApplicationClient.java
0 → 100644
View file @
64b0ce09
package
cn
.
freemud
.
service
.
thirdparty
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.entities.dto.ecology.ReportActivityBehaviorsRequest
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
/**
* 生态服务
* @author: hujx
* @date:
*/
@FeignClient
(
name
=
"ecology-program-application"
,
url
=
"${saas.ecology.program.application.feign.url:}"
)
public
interface
EcologyProgramApplicationClient
{
/**
* 支付成功上报的低碳行为
*
* @return
*/
// @LogIgnoreFeign(logMessage="sendLowCarbonAction")
@PostMapping
(
"/ecology/micro-program/low-carbon-action/activities/behaviors-report"
)
BaseResponse
reportActivityBehaviors
(
@RequestBody
ReportActivityBehaviorsRequest
request
);
}
shopping-cart-application-service/src/main/java/cn/freemud/demo/manager/coupon/Finals.java
View file @
64b0ce09
...
@@ -29,6 +29,7 @@ public class Finals {
...
@@ -29,6 +29,7 @@ public class Finals {
public
static
final
String
CHANNEL_ID_LIST
=
"channelIds"
;
public
static
final
String
CHANNEL_ID_LIST
=
"channelIds"
;
public
static
final
String
CHANNEL_CODE_LIST
=
"channelCodes"
;
public
static
final
String
CHANNEL_CODE_LIST
=
"channelCodes"
;
public
static
final
String
IS_QUERY_STORE
=
"isQueryStore"
;
public
static
final
String
IS_QUERY_STORE
=
"isQueryStore"
;
public
static
final
String
SHOPPINGCARD_PRODUCTS
=
"shoppingCardProducts"
;
public
static
final
Integer
PRODUCT_COUPON
=
0
;
public
static
final
Integer
PRODUCT_COUPON
=
0
;
public
static
final
Integer
CASH_COUPON
=
1
;
public
static
final
Integer
CASH_COUPON
=
1
;
public
static
final
Integer
ELSE_COUPON
=
2
;
public
static
final
Integer
ELSE_COUPON
=
2
;
...
...
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/GetMemberCouponRequestVo.java
View file @
64b0ce09
...
@@ -21,4 +21,9 @@ public class GetMemberCouponRequestVo {
...
@@ -21,4 +21,9 @@ public class GetMemberCouponRequestVo {
//是否 校验券门店是否可用
//是否 校验券门店是否可用
private
Boolean
checkStoreId
=
false
;
private
Boolean
checkStoreId
=
false
;
/**
* 购物车中的开个店商品id列表,多个用逗号分隔
*/
private
String
shoppingCardProducts
;
}
}
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/CouponServiceImpl.java
View file @
64b0ce09
...
@@ -150,6 +150,9 @@ public class CouponServiceImpl implements CouponService {
...
@@ -150,6 +150,9 @@ public class CouponServiceImpl implements CouponService {
// 由于门店服务老是慢,这个参数可以控制不查门店服务, 返回的数据也不需要门店数据
// 由于门店服务老是慢,这个参数可以控制不查门店服务, 返回的数据也不需要门店数据
map
.
put
(
Finals
.
IS_QUERY_STORE
,
false
);
map
.
put
(
Finals
.
IS_QUERY_STORE
,
false
);
map
.
put
(
Finals
.
SIGN
,
"adapterV4Skip"
+
requestVo
.
getPartnerId
());
map
.
put
(
Finals
.
SIGN
,
"adapterV4Skip"
+
requestVo
.
getPartnerId
());
if
(
StringUtils
.
isNotEmpty
(
requestVo
.
getShoppingCardProducts
()))
{
map
.
put
(
Finals
.
SHOPPINGCARD_PRODUCTS
,
requestVo
.
getShoppingCardProducts
());
}
GetCouponDetailResponseDto
responseDto
=
couponOnlineClient
.
getCouponDetails
(
map
);
GetCouponDetailResponseDto
responseDto
=
couponOnlineClient
.
getCouponDetails
(
map
);
if
(
ResponseCodeConstant
.
RESPONSE_SUCCESS_1
.
equals
(
responseDto
.
getResult
()))
{
if
(
ResponseCodeConstant
.
RESPONSE_SUCCESS_1
.
equals
(
responseDto
.
getResult
()))
{
return
responseDto
;
return
responseDto
;
...
@@ -740,6 +743,7 @@ public class CouponServiceImpl implements CouponService {
...
@@ -740,6 +743,7 @@ public class CouponServiceImpl implements CouponService {
requestVo
.
setCouponCode
(
couponCode
);
requestVo
.
setCouponCode
(
couponCode
);
requestVo
.
setStoreId
(
requestDto
.
getStoreId
());
requestVo
.
setStoreId
(
requestDto
.
getStoreId
());
requestVo
.
setCheckStoreId
(
true
);
requestVo
.
setCheckStoreId
(
true
);
requestVo
.
setShoppingCardProducts
(
goodsId
);
GetCouponDetailResponseDto
couponDetailResponseDto
=
this
.
getMemberCoupon
(
requestVo
);
GetCouponDetailResponseDto
couponDetailResponseDto
=
this
.
getMemberCoupon
(
requestVo
);
if
(
couponDetailResponseDto
==
null
||
!
couponDetailResponseDto
.
getResult
().
equals
(
ResponseCodeConstant
.
RESPONSE_SUCCESS_1
)
||
CollectionUtils
.
isEmpty
(
couponDetailResponseDto
.
getDetails
()))
{
if
(
couponDetailResponseDto
==
null
||
!
couponDetailResponseDto
.
getResult
().
equals
(
ResponseCodeConstant
.
RESPONSE_SUCCESS_1
)
||
CollectionUtils
.
isEmpty
(
couponDetailResponseDto
.
getDetails
()))
{
return
null
;
return
null
;
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ProductServiceImpl.java
View file @
64b0ce09
...
@@ -25,6 +25,7 @@ import org.springframework.beans.factory.annotation.Autowired;
...
@@ -25,6 +25,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.*
;
import
java.util.*
;
import
java.util.function.Function
;
import
java.util.function.Predicate
;
import
java.util.function.Predicate
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
...
@@ -86,16 +87,31 @@ public class ProductServiceImpl implements ProductService {
...
@@ -86,16 +87,31 @@ public class ProductServiceImpl implements ProductService {
return
CartResponseUtil
.
error
(
valiadResponse
.
getErrmsg
(),
checkCartRequest
);
return
CartResponseUtil
.
error
(
valiadResponse
.
getErrmsg
(),
checkCartRequest
);
}
}
ValiadShopProductResponse
valiadResult
=
valiadResponse
.
getData
();
ValiadShopProductResponse
valiadResult
=
valiadResponse
.
getData
();
if
(
CollectionUtils
.
isEmpty
(
valiadResult
.
getSuccessList
()))
{
checkCartRequest
.
getCartGoodsList
().
clear
();
checkCartRequest
.
getShoppingCartGoodsResponseVo
().
setChanged
(
true
);
checkCartRequest
.
getShoppingCartGoodsResponseVo
().
setToastMsg
(
ShoppingCartConstant
.
SHOPPING_CART_INVALIAD_GOODS
);
return
CartResponseUtil
.
success
(
checkCartRequest
);
}
Map
<
String
,
ValiadShopProductResult
>
successMap
=
valiadResult
.
getSuccessList
().
stream
().
collect
(
Collectors
.
toMap
(
ValiadShopProductResult:
:
getUuid
,
Function
.
identity
(),
(
k1
,
k2
)
->
k1
));
//非法商品(商品是否存在、商品是否处于上架状态)自动移除,返回前端提示
//非法商品(商品是否存在、商品是否处于上架状态)自动移除,返回前端提示
if
(
CollectionUtils
.
isNotEmpty
(
valiadResult
.
getFailureList
())){
boolean
hasChange
=
false
;
setToastMsgIfNotExist
(
checkCartRequest
.
getShoppingCartGoodsResponseVo
(),
ShoppingCartConstant
.
SHOPPING_CART_GOODS_CHANGE
);
for
(
CartGoods
cartGoods
:
checkCartRequest
.
getCartGoodsList
())
{
for
(
CartGoods
cartGoods
:
checkCartRequest
.
getCartGoodsList
())
{
// 当goodsId为空或商品是商品券时直接跳过
if
(
valiadResult
.
getFailureList
().
stream
().
anyMatch
(
f
->
cartGoods
.
getCartGoodsUid
().
equals
(
f
.
getUuid
()))){
if
(
StringUtils
.
isEmpty
(
cartGoods
.
getGoodsId
())
||
Objects
.
equals
(
cartGoods
.
getGoodsType
(),
GoodsTypeEnum
.
COUPON_GOODS
.
getGoodsType
())
cartGoods
.
setCartGoodsUid
(
null
);
||
Objects
.
equals
(
cartGoods
.
getGoodsType
(),
GoodsTypeEnum
.
HG_COUPON_GOODS
.
getGoodsType
())
checkCartRequest
.
getShoppingCartGoodsResponseVo
().
setChanged
(
true
);
||
Objects
.
equals
(
cartGoods
.
getGoodsType
(),
GoodsTypeEnum
.
BUY_M_SEND_N_COUPON
.
getGoodsType
()))
{
checkCartRequest
.
getShoppingCartGoodsResponseVo
().
setToastMsg
(
ShoppingCartConstant
.
SHOPPING_CART_INVALIAD_GOODS
);
continue
;
}
}
}
if
(!
successMap
.
containsKey
(
cartGoods
.
getCartGoodsUid
())){
hasChange
=
true
;
cartGoods
.
setCartGoodsUid
(
null
);
checkCartRequest
.
getShoppingCartGoodsResponseVo
().
setChanged
(
true
);
checkCartRequest
.
getShoppingCartGoodsResponseVo
().
setToastMsg
(
ShoppingCartConstant
.
SHOPPING_CART_INVALIAD_GOODS
);
}
}
if
(
hasChange
){
setToastMsgIfNotExist
(
checkCartRequest
.
getShoppingCartGoodsResponseVo
(),
ShoppingCartConstant
.
SHOPPING_CART_GOODS_CHANGE
);
checkCartRequest
.
getCartGoodsList
().
removeIf
(
k
->
StringUtils
.
isEmpty
(
k
.
getCartGoodsUid
()));
checkCartRequest
.
getCartGoodsList
().
removeIf
(
k
->
StringUtils
.
isEmpty
(
k
.
getCartGoodsUid
()));
}
}
// Todo : 验证的商品信息
// Todo : 验证的商品信息
...
...
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