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
c691b31e
Commit
c691b31e
authored
Nov 20, 2020
by
刘鹏飞
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
svc卡支付拼单购物车查询
parent
f4185ad6
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
74 additions
and
2 deletions
+74
-2
shopping-cart-application-service/src/main/java/cn/freemud/controller/ShoppingCartCollageController.java
+10
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartCollageServiceImpl.java
+64
-2
No files found.
shopping-cart-application-service/src/main/java/cn/freemud/controller/ShoppingCartCollageController.java
View file @
c691b31e
...
...
@@ -106,4 +106,14 @@ public class ShoppingCartCollageController {
public
BaseResponse
queryCarVer
(
@Validated
@LogParams
@RequestBody
CollageShoppingCartVerRequestVo
request
)
{
return
SDKCommonBaseContextWare
.
getBean
(
ShoppingCartCollageServiceImpl
.
class
).
queryCarVer
(
request
);
}
/**
* 查询购车信息无配送费
* SVC卡支付check,check购物车金额加配送费小于储值卡金额
*/
@ApiAnnotation
(
logMessage
=
"listCartGoodsCheck"
)
@PostMapping
(
value
=
"/listCartGoodsCheck"
)
public
BaseResponse
listCartGoodsCheck
(
@Validated
@LogParams
@RequestBody
ShoppingCartInfoRequestVo
request
)
{
return
SDKCommonBaseContextWare
.
getBean
(
ShoppingCartCollageServiceImpl
.
class
).
getGoodsListCheck
(
request
);
}
}
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartCollageServiceImpl.java
View file @
c691b31e
...
...
@@ -26,6 +26,9 @@ import com.alibaba.fastjson.JSONObject;
import
com.freemud.application.sdk.api.base.SDKCommonBaseContextWare
;
import
com.freemud.application.sdk.api.log.ApiLog
;
import
com.freemud.application.sdk.api.log.LogThreadLocal
;
import
com.freemud.application.sdk.api.paymentcenter.client.request.SVCCardAmountRequest
;
import
com.freemud.application.sdk.api.paymentcenter.client.response.SVCCardAmountResponse
;
import
com.freemud.application.sdk.api.paymentcenter.client.service.PaymentNewService
;
import
com.freemud.application.sdk.api.productcenter.domain.ProductBeanDTO
;
import
com.freemud.card.sdk.log.ErrorLog
;
import
com.freemud.sdk.api.assortment.shoppingcart.constant.CommonsConstant
;
...
...
@@ -42,6 +45,7 @@ import org.springframework.beans.BeanUtils;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.math.BigDecimal
;
import
java.util.*
;
import
java.util.stream.Collector
;
import
java.util.stream.Collectors
;
...
...
@@ -97,7 +101,8 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
@Autowired
private
CollageOrderBaseServiceImpl
collageOrderBaseService
;
@Autowired
private
PaymentNewService
paymentNewService
;
@Override
...
...
@@ -489,7 +494,25 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
@Override
public
BaseResponse
getGoodsListCheck
(
ShoppingCartInfoRequestVo
shoppingCartInfoRequestVo
)
{
return
null
;
if
(
StringUtils
.
isBlank
(
shoppingCartInfoRequestVo
.
getCardCode
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
PARAMETER_MISSING
);
}
//打包带走外卖
if
(
StringUtils
.
isNotBlank
(
shoppingCartInfoRequestVo
.
getCardCode
())
&&
shoppingCartInfoRequestVo
.
getOrderType
()
==
2
&&
StringUtils
.
isBlank
(
shoppingCartInfoRequestVo
.
getReceiveId
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
PARAMETER_MISSING
);
}
BaseResponse
<
ShoppingCartCollageResponseVo
>
goodsList
=
getGoodsList
(
shoppingCartInfoRequestVo
);
if
(
goodsList
==
null
||
!
ResponseResult
.
SUCCESS
.
getCode
().
equals
(
goodsList
.
getCode
()))
{
return
goodsList
;
}
String
partnerId
=
shoppingCartInfoRequestVo
.
getPartnerId
();
String
storeId
=
shoppingCartInfoRequestVo
.
getShopId
();
ShoppingCartCollageResponseVo
shoppingCartCollageResponseVo
=
goodsList
.
getResult
();
//ShoppingCartGoodsResponseVo shoppingCartGoodsResponseVo = goodsList.getResult();
//SVC卡支付
SVCCardPay
(
shoppingCartInfoRequestVo
.
getCardCode
(),
shoppingCartInfoRequestVo
.
getReceiveId
(),
partnerId
,
storeId
,
shoppingCartCollageResponseVo
);
return
ResponseUtil
.
success
(
shoppingCartCollageResponseVo
);
}
@Override
...
...
@@ -1140,4 +1163,43 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
return
ResponseUtil
.
success
(
cartVersion
);
}
/**
* 储值卡支付余额校验
* 校验订单商品金额与外卖配送费
*/
private
void
SVCCardPay
(
String
cardCode
,
String
receiveId
,
String
partnerId
,
String
storeId
,
ShoppingCartCollageResponseVo
shoppingCartGoodsResponseVo
)
{
if
(
StringUtils
.
isBlank
(
cardCode
))
{
return
;
}
Integer
orderAmount
=
shoppingCartGoodsResponseVo
.
getTotalAmount
().
intValue
();
String
trackingNo
=
LogThreadLocal
.
getTrackingNo
();
SVCCardAmountRequest
request
=
new
SVCCardAmountRequest
();
request
.
setPartnerId
(
partnerId
);
request
.
setCardCodes
(
Arrays
.
asList
(
cardCode
));
//查询svc卡金额
com
.
freemud
.
application
.
sdk
.
api
.
base
.
BaseResponse
<
SVCCardAmountResponse
>
response
=
paymentNewService
.
querySVCCardAmount
(
request
,
trackingNo
);
if
(
response
==
null
)
{
throw
new
ServiceException
(
ResponseResult
.
SYSTEM_BUSINESS_ERROR
);
}
if
(
response
.
getData
()
==
null
||
response
.
getData
().
getData
()
==
null
||
response
.
getData
().
getData
().
getCardSimpleInfos
().
size
()
>
1
)
{
throw
new
ServiceException
(
ResponseResult
.
USER_SVC_CARD_ERROR
);
}
//获取实际配送费
if
(
StringUtils
.
isNotBlank
(
receiveId
)
&&
shoppingCartGoodsResponseVo
.
getDiscountDeliveryAmount
()
!=
null
)
{
// Integer deliveryAmount = getDeliveryAmount(receiveId, partnerId, storeId);
Integer
deliveryAmount
=
shoppingCartGoodsResponseVo
.
getDiscountDeliveryAmount
().
intValue
();
orderAmount
+=
deliveryAmount
;
}
Integer
amount1
=
response
.
getData
().
getData
().
getCardSimpleInfos
().
get
(
0
).
getAmount
();
Integer
vamount
=
response
.
getData
().
getData
().
getCardSimpleInfos
().
get
(
0
).
getVamount
();
if
(
orderAmount
>
amount1
+
vamount
)
{
throw
new
ServiceException
(
ResponseResult
.
USER_SVC_CARD_AMOUNT_DEFICIENCY
);
}
BigDecimal
bigDecimal
=
new
BigDecimal
(
orderAmount
);
String
amountStr
=
bigDecimal
.
divide
(
new
BigDecimal
(
100
)).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
).
toString
();
shoppingCartGoodsResponseVo
.
setTotalAmount
(
0L
);
shoppingCartGoodsResponseVo
.
setSvcDiscountDesc
(
"储值卡支付¥"
+
amountStr
);
}
}
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