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
b44dc9a9
Commit
b44dc9a9
authored
Nov 18, 2020
by
yu.sun
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'qa' of gitlab.freemud.com:order-group-application/order-group into qa
parents
cc39db83
a3cf374e
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
270 additions
and
61 deletions
+270
-61
assortment-ordercenter-sdk/readme.md
+2
-0
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/adapter/OrderSdkAdapter.java
+5
-0
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/response/order/MultiOrderRefundResponse.java
+6
-5
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/response/order/QueryOrdersResponse.java
+4
-0
order-application-service/pom.xml
+1
-1
order-application-service/src/main/java/cn/freemud/adapter/DeliveryAdapter.java
+3
-3
order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
+34
-6
order-application-service/src/main/java/cn/freemud/entities/vo/QueryOrderResponseVo.java
+4
-0
order-application-service/src/main/java/cn/freemud/service/impl/CheckOrder.java
+8
-2
order-application-service/src/main/java/cn/freemud/service/impl/OrderAdapterServiceImpl.java
+15
-1
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
+50
-16
order-application-service/src/test/java/cn/freemud/service/impl/MallOrderServiceImplTest.java
+41
-16
order-management/src/main/java/cn/freemud/management/adapter/PaymentSdkAdapter.java
+1
-0
order-management/src/main/java/cn/freemud/management/service/adapter/OrderManagerAdapter.java
+6
-1
order-management/src/main/java/cn/freemud/management/service/handle/OrderVerifyHandle.java
+34
-0
order-management/src/main/java/cn/freemud/management/service/handle/PaymentHandle.java
+3
-3
order-management/src/main/java/cn/freemud/management/service/impl/SaasOrderMangerServiceImpl.java
+8
-5
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/response/OrderPayItemResp.java
+37
-0
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/response/orderInfo/OrderInfoReqs.java
+2
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/mcoffee/calculation/CalculationServiceImpl.java
+6
-2
No files found.
assortment-ordercenter-sdk/readme.md
View file @
b44dc9a9
...
...
@@ -144,3 +144,4 @@
| 2.0.16.RELEASE | 麦咖啡问题修复 | 徐康 | 2020-11-09 |
| 2.1.2.RELEASE | 活动扣减库存 | 缪晖 | 2020-11-11 |
| 2.1.3-RELEASE | 退款增加自动退款配置的null判断 | 刘鹏飞 | 2020-11-12 |
| 2.1.4-RELEASE | 退款增加自动退款配置的null判断 | 刘鹏飞 | 2020-11-12 |
\ No newline at end of file
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/adapter/OrderSdkAdapter.java
View file @
b44dc9a9
...
...
@@ -1174,6 +1174,8 @@ public class OrderSdkAdapter {
if
(
CollectionUtils
.
isNotEmpty
(
orderInfoReqs
.
getOrderPayItemCreateReqList
()))
{
data
.
setOrderPayItem
(
this
.
getOrderItemPayList
(
orderInfoReqs
.
getOrderPayItemCreateReqList
()));
}
data
.
setPayChannelType
(
orderInfoReqs
.
getPayChannelType
());
//data.setOrderPayItemCreateReqList(orderInfoReqs.getOrderPayItemCreateReqList());
return
data
;
}
...
...
@@ -1624,6 +1626,9 @@ public class OrderSdkAdapter {
activityUpdateStockRequest
.
setPartnerCode
(
orderBean
.
getCompanyId
());
activityUpdateStockRequest
.
setStoreId
(
orderBean
.
getShopId
());
activityUpdateStockRequest
.
setVer
(
"1"
);
// add by miaohui 20201030 for 【ID1018638】【C端服务端】活动库存接口调整对接
activityUpdateStockRequest
.
setUserId
(
orderBean
.
getUserId
());
activityUpdateStockRequest
.
setOrderCreateTime
(
DateUtil
.
getCurrentDate
(
DateUtil
.
FORMAT_yyyyMMdd_date
));
return
activityUpdateStockRequest
;
}
...
...
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/response/order/MultiOrderRefundResponse.java
View file @
b44dc9a9
...
...
@@ -15,14 +15,14 @@ public class MultiOrderRefundResponse<T> {
private
String
msg
;
private
T
data
;
private
RefundPlatform
data
;
@
lombok
.
Data
public
class
Data
{
@Data
public
class
RefundPlatform
{
public
List
<
RefundPlatformResponse
>
refundPlatformResponseList
;
}
@
lombok
.
Data
@Data
public
static
class
RefundPlatformResponse
{
private
String
endTransTradeNo
;
private
String
fmRefundNo
;
...
...
@@ -39,6 +39,6 @@ public class MultiOrderRefundResponse<T> {
private
Integer
settleRefundAmount
;
private
Integer
totalAmount
;
private
String
transId
;
private
String
eb
C
ode
;
private
String
eb
c
ode
;
}
}
\ No newline at end of file
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/response/order/QueryOrdersResponse.java
View file @
b44dc9a9
...
...
@@ -12,6 +12,7 @@
*/
package
com
.
freemud
.
sdk
.
api
.
assortment
.
order
.
response
.
order
;
import
com.freemud.application.sdk.api.ordercenter.response.OrderPayItemResp
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.AfterSalesOrderResp
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderCostResp
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInvoice
;
...
...
@@ -413,6 +414,9 @@ public class QueryOrdersResponse {
/**
* 混合支付list
*/
//订单支付详情
private
List
<
OrderPayItemResp
>
orderPayItemCreateReqList
;
private
List
<
OrderPayItem
>
orderPayItem
;
@NoArgsConstructor
...
...
order-application-service/pom.xml
View file @
b44dc9a9
...
...
@@ -88,7 +88,7 @@
<dependency>
<groupId>
com.freemud.application.service.sdk
</groupId>
<artifactId>
storecenter-sdk
</artifactId>
<version>
3.
1.9
.RELEASE
</version>
<version>
3.
2.1
.RELEASE
</version>
</dependency>
<dependency>
<groupId>
cn.freemud
</groupId>
...
...
order-application-service/src/main/java/cn/freemud/adapter/DeliveryAdapter.java
View file @
b44dc9a9
...
...
@@ -185,7 +185,7 @@ public class DeliveryAdapter {
if
(
CollectionUtils
.
isNotEmpty
(
order
.
getProductList
()))
{
order
.
getProductList
().
forEach
(
productList
->
{
ProductInfo
deliveryProductInfo
=
new
ProductInfo
();
deliveryProductInfo
.
setProductCode
(
productList
.
getProductId
());
deliveryProductInfo
.
setProductCode
(
productList
.
getProductId
()
.
substring
(
4
)
);
String
productName
=
StringUtils
.
isBlank
(
productList
.
getSpecificationName
())
?
productList
.
getProductName
()
:
productList
.
getSpecificationName
();
OrderProductAddInfoDto
extInfo
=
JSON
.
parseObject
(
productList
.
getExtInfo
(),
OrderProductAddInfoDto
.
class
);
if
(
CollectionUtils
.
isNotEmpty
(
extInfo
.
getSpecialAttrs
()))
{
...
...
@@ -221,7 +221,7 @@ public class DeliveryAdapter {
if
(
CollectionUtils
.
isNotEmpty
(
productList
.
getComboProduct
()))
{
productList
.
getComboProduct
().
forEach
(
comboProduct
->
{
ProductInfo
deliveryComboProductInfo
=
new
ProductInfo
();
deliveryComboProductInfo
.
setProductCode
(
comboProduct
.
getProductId
());
deliveryComboProductInfo
.
setProductCode
(
comboProduct
.
getProductId
()
.
substring
(
4
)
);
String
productNameCombo
=
StringUtils
.
isBlank
(
comboProduct
.
getSpecificationName
())
?
comboProduct
.
getProductName
()
:
comboProduct
.
getSpecificationName
();
OrderProductAddInfoDto
extInfoCombo
=
JSON
.
parseObject
(
comboProduct
.
getExtInfo
(),
OrderProductAddInfoDto
.
class
);
if
(
CollectionUtils
.
isNotEmpty
(
extInfoCombo
.
getSpecialAttrs
()))
{
...
...
@@ -251,7 +251,7 @@ public class DeliveryAdapter {
deliveryComboProductInfo
.
setTaxId
(
StringUtils
.
isNotEmpty
(
orderComboProductAddInfoDto
.
getTaxId
())
?
orderComboProductAddInfoDto
.
getTaxId
()
:
"10"
);
deliveryComboProductInfo
.
setTaxRate
(
orderComboProductAddInfoDto
.
getTax
()
>
0
?
orderComboProductAddInfoDto
.
getTax
()
:
6
);
deliveryComboProductInfo
.
setParentCode
(
Long
.
valueOf
(
comboProduct
.
getParentProductId
().
replace
(
"_"
,
""
)));
deliveryComboProductInfo
.
setParentCode
(
Long
.
valueOf
(
comboProduct
.
getParentProductId
().
replace
(
"_"
,
""
)
.
substring
(
4
)
));
deliveryProductInfo
.
setProductCode
(
deliveryComboProductInfo
.
getParentCode
()+
""
);
if
(
CollectionUtils
.
isNotEmpty
(
comboProduct
.
getMaterialProduct
()))
{
...
...
order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
View file @
b44dc9a9
...
...
@@ -88,6 +88,7 @@ import org.springframework.beans.factory.annotation.Value;
import
org.springframework.stereotype.Component
;
import
java.awt.geom.Point2D
;
import
java.io.*
;
import
java.math.BigDecimal
;
import
java.security.NoSuchAlgorithmException
;
import
java.security.spec.InvalidKeySpecException
;
...
...
@@ -189,6 +190,7 @@ public class OrderAdapter {
}
}
createOrderDto
.
setProducts
(
products
);
boolean
hasDeliveryMonthCard
=
false
;
for
(
ActivityDiscountsDto
activityDiscountsDto
:
activityDiscountsDtos
)
{
CreateOrderAccountRequest
createOrderAccountDto
=
CreateOrderAccountRequest
.
builder
()
.
accountId
(
activityDiscountsDto
.
getActivityCode
())
...
...
@@ -205,6 +207,9 @@ public class OrderAdapter {
jsonObject
.
put
(
"tenderId"
,
activityDiscountsDto
.
getTenderId
());
}
else
if
(
ActivityTypeEnum
.
TYPE_34
.
getCode
().
equals
(
activityDiscountsDto
.
getActivityType
()))
{
jsonObject
.
put
(
"customerCode"
,
activityDiscountsDto
.
getTenderId
());
if
(
null
!=
activityDiscountsDto
.
getExtendType
()
&&
activityDiscountsDto
.
getExtendType
()
==
2
)
{
hasDeliveryMonthCard
=
true
;
}
}
if
(
null
!=
activityDiscountsDto
.
getExtendType
())
{
jsonObject
.
put
(
"extendType"
,
activityDiscountsDto
.
getExtendType
());
...
...
@@ -223,6 +228,9 @@ public class OrderAdapter {
.
sequence
(
orderAccountIndex
++)
.
actualPrice
(
discountDeliveryAmount
)
.
build
();
if
(
hasDeliveryMonthCard
&&
StringUtils
.
isNotBlank
(
storeResponseDto
.
getBenefitCardDiscountAmount
()))
{
createOrderAccountDto
.
setActualPrice
(
Long
.
valueOf
(
storeResponseDto
.
getBenefitCardDiscountAmount
())
*
100
l
);
}
orderAccountDtos
.
add
(
createOrderAccountDto
);
}
if
(
packageAmount
>
0
)
{
...
...
@@ -613,12 +621,27 @@ public class OrderAdapter {
createOrderDto
.
setLongitude
(
longitude
);
createOrderDto
.
setOrderType
(
convent2OrderTypeEnum
(
orderType
));
createOrderDto
.
setPayType
(
QueryPayType
.
ONLINE_PAY
);
//电子风味卡
if
(
Objects
.
nonNull
(
createOrderVo
.
getUnionPayCard
()))
{
createOrderDto
.
setPayChannel
(
PayChannel
.
USVCP
.
getCode
());
createOrderDto
.
setPayChannelName
(
PayChannel
.
USVCP
.
getDesc
());
}
else
if
(
StringUtils
.
isNotBlank
(
createOrderVo
.
getCardCode
())){
createOrderDto
.
setPayChannel
(
"10102"
);
createOrderDto
.
setPayChannelName
(
"储值卡支付"
);
createOrderDto
.
setPayChannel
(
PayChannelType
.
USVCP
.
getEbcode
());
createOrderDto
.
setPayChannelName
(
PayChannelType
.
USVCP
.
getName
());
}
//混合支付
else
if
(
PayChannelType
.
COMB
.
getIndex
().
equals
(
createOrderVo
.
getPayChannelType
()))
{
createOrderDto
.
setPayChannel
(
PayChannelType
.
COMB
.
getEbcode
());
createOrderDto
.
setPayChannelName
(
PayChannelType
.
COMB
.
getName
());
}
else
if
(
PayChannelType
.
WECHAT
.
getIndex
().
equals
(
createOrderVo
.
getPayChannelType
()))
{
createOrderDto
.
setPayChannel
(
PayChannelType
.
WECHAT
.
getEbcode
());
createOrderDto
.
setPayChannelName
(
PayChannelType
.
WECHAT
.
getName
());
}
else
if
(
PayChannelType
.
ALIPAY
.
getIndex
().
equals
(
createOrderVo
.
getPayChannelType
()))
{
createOrderDto
.
setPayChannel
(
PayChannelType
.
ALIPAY
.
getEbcode
());
createOrderDto
.
setPayChannelName
(
PayChannelType
.
ALIPAY
.
getName
());
}
else
if
(
StringUtils
.
isNotBlank
(
createOrderVo
.
getCardCode
())){
createOrderDto
.
setPayChannel
(
PayChannelType
.
SVC
.
getEbcode
());
createOrderDto
.
setPayChannelName
(
PayChannelType
.
SVC
.
getName
());
}
createOrderDto
.
setSource
(
OrderSourceType
.
SAAS
.
getCode
());
createOrderDto
.
setSourceName
(
OrderSourceType
.
SAAS
.
getDesc
());
...
...
@@ -1120,6 +1143,10 @@ public class OrderAdapter {
responseVo
.
setPayStatusDesc
(
Optional
.
ofNullable
(
PayStatus
.
getByCode
(
ordersBean
.
getPayStatus
()))
.
map
(
PayStatus:
:
getDesc
).
orElse
(
""
));
responseVo
.
setPayVoucher
(
orderExtInfoDto
!=
null
?
orderExtInfoDto
.
getPayTransId
()
:
""
);
if
(
mcCafePartnerId
.
equals
(
ordersBean
.
getCompanyId
()))
{
responseVo
.
setPayVoucherBarCode
(
Base64
.
getEncoder
().
encodeToString
(
BarcodeUtil
.
generateBarCode128
(
responseVo
.
getPayVoucher
(),
null
,
null
,
true
,
true
)));
}
responseVo
.
setPayCreateTime
(
orderExtInfoDto
!=
null
?
orderExtInfoDto
.
getPayDate
()
:
""
);
responseVo
.
setPayChannel
(
ordersBean
.
getPayChannel
());
if
(
StringUtils
.
isNotBlank
(
ordersBean
.
getPayChannel
()))
{
...
...
@@ -1541,7 +1568,7 @@ public class OrderAdapter {
public
OrderViewStatusDto
getOrderViewStatusDesc
(
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
,
String
wxAppId
)
{
OrderViewStatusDto
orderViewStatusDto
=
new
OrderViewStatusDto
();
LogUtil
.
info
(
"getOrderStatusDesc start "
,
new
Gson
().
toJson
(
orderBean
),
new
Gson
().
toJson
(
orderBean
)
);
LogUtil
.
info
(
"getOrderStatusDesc start "
,
JSON
.
toJSONString
(
orderBean
),
""
);
QueryOrdersResponse
.
DataBean
.
OrderBean
.
RefundBean
refundBean
=
null
;
if
(
CollectionUtils
.
isNotEmpty
(
orderBean
.
getRefundList
()))
{
refundBean
=
orderBean
.
getRefundList
().
get
(
0
);
...
...
@@ -2151,6 +2178,7 @@ public class OrderAdapter {
multiQueryRequest
.
setNotifyUrl
(
refundNotifyCallback
);
multiQueryRequest
.
setVer
(
"V1"
);
multiQueryRequest
.
setVer3
(
false
);
multiQueryRequest
.
setOutOrderNo
(
orderBean
.
getOid
());
return
multiQueryRequest
;
}
...
...
order-application-service/src/main/java/cn/freemud/entities/vo/QueryOrderResponseVo.java
View file @
b44dc9a9
...
...
@@ -203,6 +203,10 @@ public class QueryOrderResponseVo {
*/
private
String
payVoucher
;
/**
* 付款单号条形码
*/
private
String
payVoucherBarCode
;
/**
* 退款状态 enum refundStatus
*/
private
Integer
refundStatus
;
...
...
order-application-service/src/main/java/cn/freemud/service/impl/CheckOrder.java
View file @
b44dc9a9
...
...
@@ -54,12 +54,14 @@ import com.freemud.application.sdk.api.storecenter.response.StoreResponse;
import
com.freemud.application.sdk.api.storecenter.service.StoreCenterService
;
import
com.google.common.collect.Lists
;
import
com.google.gson.Gson
;
import
lombok.extern.log4j.Log4j
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang.ObjectUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Component
;
import
sun.rmi.runtime.Log
;
import
java.awt.geom.Point2D
;
import
java.math.BigDecimal
;
...
...
@@ -69,6 +71,7 @@ import java.util.*;
import
java.util.stream.Collectors
;
@Component
@Log4j
public
class
CheckOrder
{
// 配送费逻辑是否使用旧的
...
...
@@ -748,17 +751,20 @@ public class CheckOrder {
if
(
StringUtils
.
isBlank
(
createOrderVo
.
getCardCode
()))
{
return
false
;
}
//这么不合规的粗暴搞法 设置支付方式
PayChannelType
payType
=
PayChannelType
.
getByIndex
(
Byte
.
parseByte
(
createOrderVo
.
getChannel
()));
createOrderVo
.
setPayChannelType
(
payType
.
getIndex
());
SVCCardAmountRequest
request
=
new
SVCCardAmountRequest
();
request
.
setPartnerId
(
createOrderVo
.
getPartnerId
());
request
.
setCardCodes
(
Arrays
.
asList
(
createOrderVo
.
getCardCode
()));
BaseResponse
<
SVCCardAmountResponse
>
svcCardAmount
=
paymentNewService
.
querySVCCardAmount
(
request
,
trackingNo
);
if
(
svcCardAmount
==
null
||
svcCardAmount
.
getData
()==
null
||!
ResponseResult
.
SUCCESS
.
getCode
().
equals
(
svcCardAmount
.
getCode
()))
{
throw
new
ServiceException
(
ResponseResult
.
USER_SVC_CARD_ERROR
);
}
Integer
svcAmount
=
0
;
Integer
svcVAmount
=
0
;
Long
totalVAmount
=
shoppingCartGoodsDto
.
getTotalAmount
();
Long
totalVAmount
=
shoppingCartGoodsDto
.
getTotalAmount
()
+
shoppingCartGoodsDto
.
getPackageAmount
()
;
if
(
svcCardAmount
.
getData
().
getData
().
getCardSimpleInfos
().
size
()>
0
)
{
svcAmount
=
svcCardAmount
.
getData
().
getData
().
getCardSimpleInfos
().
get
(
0
).
getAmount
();
svcVAmount
=
svcCardAmount
.
getData
().
getData
().
getCardSimpleInfos
().
get
(
0
).
getVamount
();
...
...
order-application-service/src/main/java/cn/freemud/service/impl/OrderAdapterServiceImpl.java
View file @
b44dc9a9
...
...
@@ -187,7 +187,21 @@ public class OrderAdapterServiceImpl implements OrderAdapterService {
if
(
ObjectUtils
.
notEqual
(
baseResponse
.
getCode
(),
ResponseResult
.
SUCCESS
.
getCode
())){
return
baseResponse
;
}
return
mcCafeOrderService
.
createMCCafeOrder
(
createOrderVo
);
// 添加分布式锁,如果没有取得锁直接返回失败;整个方法执行完毕后会删掉该锁
// 锁定秒数从apollo获取,如果apollo没有设置,默认5秒
String
createOrderKey
=
CREATE_ORDER_KEY
+
assortmentCustomerInfoVo
.
getMemberId
();
try
{
Long
expire
=
Long
.
valueOf
(
createOrderKeyExpire
);
if
(!
LockUtils
.
lock
(
redisCache
.
getRedisTemplate
(),
createOrderKey
,
expire
)){
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_NOT_CREATE_ERROR
);
}
return
mcCafeOrderService
.
createMCCafeOrder
(
createOrderVo
);
}
catch
(
Exception
e
)
{
throw
e
;
}
finally
{
//LockUtils.unlock(redisCache.getRedisTemplate(),createOrderKey);
}
}
@Override
...
...
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
View file @
b44dc9a9
...
...
@@ -1709,12 +1709,12 @@ public class OrderServiceImpl implements Orderservice {
if
(
orderBean
.
getPayChannelType
().
equalsIgnoreCase
(
"4"
)){
//调用支付退款
MultiOrderRefundRequest
multiOrderRefundRequest
=
orderAdapter
.
getMultiOrderPayRefundRequest
(
orderBean
,
refundId
);
MultiOrderRefundResponse
<
MultiOrderRefundResponse
.
Data
>
multiOrderRefundResponse
=
mulitiPaymentClient
.
paymentApplicationRefund
(
multiOrderRefundRequest
,
orderBean
.
getCompanyId
());
MultiOrderRefundResponse
multiOrderRefundResponse
=
mulitiPaymentClient
.
paymentApplicationRefund
(
multiOrderRefundRequest
,
orderBean
.
getCompanyId
());
if
(
multiOrderRefundResponse
==
null
||
multiOrderRefundResponse
.
getData
()
==
null
||
!
com
.
freemud
.
sdk
.
api
.
assortment
.
order
.
domain
.
ResponseCodeConstant
.
ORDER_PAY_RESPONSE_SUCCESS
.
equals
(
multiOrderRefundResponse
.
getCode
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER__ERRORREFUND
.
getCode
(),
"orderRefund_failed"
);
}
List
<
MultiOrderRefundResponse
.
RefundPlatformResponse
>
refundPlatformResponseList
=
multiOrderRefundResponse
.
getData
().
getRefundPlatformResponseList
()
;
refundPlatformResponseList
=
refundPlatformResponseList
.
stream
().
filter
(
m
->
!
m
.
getEb
Code
().
equalsIgnoreCase
(
"4
"
)).
collect
(
Collectors
.
toList
());
List
<
MultiOrderRefundResponse
.
RefundPlatformResponse
>
refundPlatformResponseList
=
multiOrderRefundResponse
.
getData
().
refundPlatformResponseList
;
refundPlatformResponseList
=
refundPlatformResponseList
.
stream
().
filter
(
m
->
!
m
.
getEb
code
().
equalsIgnoreCase
(
"10102
"
)).
collect
(
Collectors
.
toList
());
if
(
null
!=
refundPlatformResponseList
&&
refundPlatformResponseList
.
size
()>
0
){
redisCache
.
save
(
RedisUtil
.
getPaymentTransIdSequenceKey
(
refundPlatformResponseList
.
get
(
0
).
getTransId
()),
orderBean
.
getOid
(),
1L
,
TimeUnit
.
DAYS
);
}
...
...
@@ -2445,6 +2445,31 @@ public class OrderServiceImpl implements Orderservice {
return
ResponseUtil
.
error
(
ResponseResultEnum
.
PAY_UNIFIED_ORDER_ERROR
.
getCode
(),
ResponseResultEnum
.
PAY_UNIFIED_ORDER_ERROR
.
getMessage
(),
null
);
}
/**
* 混合预支付
* @param trackingNo
* @param orderBean
* @param cardCode
* @param orderClient
* @param msg
* @return
*/
private
BaseResponse
failCombPreOrderPay
(
String
trackingNo
,
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
,
String
cardCode
,
OrderClientType
orderClient
,
String
msg
)
{
List
<
OrderClientType
>
notCancelOrderClientList
=
Lists
.
newArrayList
(
OrderClientType
.
APP
);
if
(!
notCancelOrderClientList
.
contains
(
orderClient
))
{
//失败冲正库存,冲正活动库存,取消订单
CancelOrderRequest
cancelOrderRequest
=
orderAdapter
.
convent2CancelOrderRequest
(
orderBean
.
getOid
(),
orderBean
.
getCompanyId
(),
AfterSalesType
.
SYSTEM_CANCEL
,
StringUtils
.
join
(
new
String
[]{
"获取预支付失败"
,
msg
},
'-'
),
trackingNo
,
null
);
orderCenterSdkService
.
orderCancel
(
cancelOrderRequest
);
// TODO: 2019/9/10 hubowen mq推送变更
backOrdersStatusChange
(
orderBean
.
getOid
(),
orderBean
.
getStatus
());
}
//svc 卡支付失败
//if (StringUtils.isNotBlank(cardCode)) {
// return ResponseUtil.error(ResponseResultEnum.PAY_BACKEND_CONFIG_ERROR.getCode(), ResponseResultEnum.PAY_BACKEND_CONFIG_ERROR.getMessage(), null);
//}
return
ResponseUtil
.
error
(
ResponseResultEnum
.
PAY_UNIFIED_ORDER_ERROR
.
getCode
(),
"获取混合预支付信息失败"
,
null
);
}
public
OrderPayResponse
getPreOrderPay
(
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
,
PaymentRequest
paymentRequest
,
String
trackingNo
,
Integer
cardAmount
,
String
transId
,
String
partnerPayOvertime
,
OrderExtInfoDto
orderExtInfoDto
)
{
try
{
UnifiedOrderRequest
request
=
orderAdapter
.
convent2UnifiedOrderRequest
(
orderBean
,
paymentRequest
,
orderBean
.
getAmount
(),
cardAmount
,
transId
,
partnerPayOvertime
);
...
...
@@ -2472,6 +2497,7 @@ public class OrderServiceImpl implements Orderservice {
public
OrderPayResponse
svcPay
(
String
cardCode
,
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
,
PaymentRequest
paymentRequest
,
String
transId
,
String
trackingNo
)
{
CodePayRequest
request
=
new
CodePayRequest
();
OrderPayResponse
orderPayResponse
=
new
OrderPayResponse
();
String
partnerId
=
orderBean
.
getCompanyId
();
request
.
setBody
(
orderBean
.
getShopName
());
request
.
setBusinessDate
(
DateUtil
.
convert2String
(
new
Date
(),
DateUtil
.
FORMAT_YYYY_MM_DD_HHMMSS
));
...
...
@@ -2487,29 +2513,33 @@ public class OrderServiceImpl implements Orderservice {
svcRequest
.
setPartnerId
(
partnerId
);
svcRequest
.
setCardCodes
(
Arrays
.
asList
(
cardCode
));
//查询svc卡余额
log
.
info
(
"svc支付:{}"
,
transId
);
com
.
freemud
.
application
.
sdk
.
api
.
base
.
BaseResponse
<
SVCCardAmountResponse
>
svcCardAmountResponseBaseResponse
=
paymentNewService
.
querySVCCardAmount
(
svcRequest
,
trackingNo
);
if
(
svcCardAmountResponseBaseResponse
==
null
||
!
ResponseCodeConstant
.
RESPONSE_SUCCESS_STR
.
equals
(
svcCardAmountResponseBaseResponse
.
getCode
())
||
svcCardAmountResponseBaseResponse
.
getData
().
getData
()
==
null
||
CollectionUtils
.
isEmpty
(
svcCardAmountResponseBaseResponse
.
getData
().
getData
().
getCardSimpleInfos
()))
{
return
null
;
orderPayResponse
.
setMsg
(
Objects
.
isNull
(
svcCardAmountResponseBaseResponse
)
?
"获取svc卡余额异常"
:
svcCardAmountResponseBaseResponse
.
getMessage
());
return
orderPayResponse
;
}
Integer
amount
=
svcCardAmountResponseBaseResponse
.
getData
().
getData
().
getCardSimpleInfos
().
get
(
0
).
getAmount
();
Integer
vamount
=
svcCardAmountResponseBaseResponse
.
getData
().
getData
().
getCardSimpleInfos
().
get
(
0
).
getVamount
();
if
(
amount
+
vamount
<
orderBean
.
getAmount
())
{
return
null
;
orderPayResponse
.
setMsg
(
"svc卡余额不足"
);
return
orderPayResponse
;
}
//svc卡支付
com
.
freemud
.
application
.
sdk
.
api
.
base
.
BaseResponse
<
CodePayResponse
>
responseBase
=
paymentNewService
.
codePay
(
request
,
trackingNo
);
if
(
responseBase
==
null
||
!
ResponseCodeConstant
.
RESPONSE_SUCCESS_STR
.
equals
(
responseBase
.
getCode
())
||
responseBase
.
getData
().
getData
()
==
null
)
{
return
null
;
// 1.9.34 预支付失败需要把原因进行记录
orderPayResponse
.
setMsg
(
Objects
.
isNull
(
responseBase
)
?
"svc卡支付异常"
:
responseBase
.
getMessage
());
}
else
{
CodePayResponse
.
CodePayDate
codePayResponse
=
responseBase
.
getData
().
getData
();
orderPayResponse
.
setFmId
(
codePayResponse
.
getFmId
());
orderPayResponse
.
setPayTransId
(
codePayResponse
.
getPayTransId
());
orderPayResponse
.
setWxAppid
(
paymentRequest
.
getWxAppId
());
orderPayResponse
.
setOpenId
(
paymentRequest
.
getOpenId
());
orderPayResponse
.
setPartnerId
(
orderBean
.
getCompanyId
());
orderPayResponse
.
setOrderId
(
orderBean
.
getOid
());
}
OrderPayResponse
orderPayResponse
=
new
OrderPayResponse
();
CodePayResponse
.
CodePayDate
codePayResponse
=
responseBase
.
getData
().
getData
();
orderPayResponse
.
setFmId
(
codePayResponse
.
getFmId
());
orderPayResponse
.
setPayTransId
(
codePayResponse
.
getPayTransId
());
orderPayResponse
.
setWxAppid
(
paymentRequest
.
getWxAppId
());
orderPayResponse
.
setOpenId
(
paymentRequest
.
getOpenId
());
orderPayResponse
.
setPartnerId
(
orderBean
.
getCompanyId
());
orderPayResponse
.
setOrderId
(
orderBean
.
getOid
());
return
orderPayResponse
;
}
...
...
@@ -3175,7 +3205,8 @@ public class OrderServiceImpl implements Orderservice {
orderPayResponse
=
comPayOrder
(
paymentRequest
,
createPrepayRequestDto
,
partnerPayOvertime
,
LogThreadLocal
.
getTrackingNo
());
if
(
orderPayResponse
==
null
||
Objects
.
isNull
(
orderPayResponse
.
getFmId
()))
{
return
failPreOrderPay
(
LogThreadLocal
.
getTrackingNo
()
log
.
info
(
"混合支付返回:{}"
,
JSON
.
toJSONString
(
orderPayResponse
));
return
failCombPreOrderPay
(
LogThreadLocal
.
getTrackingNo
()
,
createPrepayRequestDto
.
getProductOrderBean
()
,
cardCode
,
createPrepayRequestDto
.
getOrderClient
()
...
...
@@ -3229,6 +3260,7 @@ public class OrderServiceImpl implements Orderservice {
CombPayResponse
responseBase
=
null
;
CombPayRequest
combPayRequest
=
null
;
CombPayResponse
.
PayPlatform
payPlatform
=
null
;
log
.
info
(
"混合支付..."
);
try
{
String
orderClient
=
this
.
getPayCodeByChanel
(
createPrepayRequestDto
);
if
(
StringUtils
.
isBlank
(
orderClient
))
{
...
...
@@ -3244,6 +3276,7 @@ public class OrderServiceImpl implements Orderservice {
orderPayResponse
.
setMsg
(
responseBase
.
getMsg
());
}
else
{
log
.
info
(
"混合支付请求request:{},response:{}"
,
JSON
.
toJSONString
(
combPayRequest
),
JSON
.
toJSONString
(
responseBase
));
/**
* 生成预支付参数
*/
...
...
@@ -3263,7 +3296,7 @@ public class OrderServiceImpl implements Orderservice {
orderPayResponse
.
setOrderId
(
createPrepayRequestDto
.
getTransId
());
//隐射关系
redisCache
.
save
(
RedisUtil
.
getPaymentTransId
Sequence
Key
(
payPlatform
.
getTransId
()),
createPrepayRequestDto
.
getTransId
(),
1L
,
TimeUnit
.
DAYS
);
redisCache
.
save
(
RedisUtil
.
getPaymentTransId
Order
Key
(
payPlatform
.
getTransId
()),
createPrepayRequestDto
.
getTransId
(),
1L
,
TimeUnit
.
DAYS
);
//加入轮训队列
putDelMq
(
createPrepayRequestDto
.
getPartnerId
()
,
createPrepayRequestDto
.
getStoreId
()
...
...
@@ -3275,6 +3308,7 @@ public class OrderServiceImpl implements Orderservice {
}
}
catch
(
Exception
e
)
{
log
.
info
(
"混合支付异常..."
);
//TODO 邮件告警
LogUtil
.
error
(
"comPay_error"
,
JSONObject
.
toJSONString
(
responseBase
),
JSONObject
.
toJSONString
(
paymentRequest
),
e
);
orderPayResponse
=
new
OrderPayResponse
();
...
...
order-application-service/src/test/java/cn/freemud/service/impl/MallOrderServiceImplTest.java
View file @
b44dc9a9
package
cn
.
freemud
.
service
.
impl
;
import
cn.freemud.management.entities.dto.request.order.OrderManagerRequest
;
import
cn.freemud.management.service.adapter.OrderManagerAdapter
;
import
cn.freemud.management.thirdparty.MulitiPaymentClient
;
import
com.alibaba.fastjson.JSON
;
import
com.freemud.application.sdk.api.ordercenter.request.OrderConditionsReq
;
import
com.freemud.application.sdk.api.ordercenter.service.OrderDownLoadSdkService
;
import
com.freemud.sdk.api.assortment.order.request.order.MultiOrderRefundRequest
;
import
com.freemud.sdk.api.assortment.order.response.order.MultiOrderRefundResponse
;
import
cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto
;
...
...
@@ -20,6 +25,7 @@ import org.springframework.boot.test.context.SpringBootTest;
import
org.springframework.cloud.client.discovery.EnableDiscoveryClient
;
import
org.springframework.cloud.netflix.feign.EnableFeignClients
;
import
org.springframework.test.context.junit4.SpringRunner
;
import
springfox.documentation.spring.web.json.Json
;
@RunWith
(
SpringRunner
.
class
)
@SpringBootTest
...
...
@@ -29,17 +35,28 @@ import org.springframework.test.context.junit4.SpringRunner;
public
class
MallOrderServiceImplTest
{
@Autowired
private
MallOrderServiceImpl
mallOrder
Service
;
private
OrderDownLoadSdkService
orderDownLoadSdk
Service
;
// @Autowired
// private MallOrderServiceImpl mallOrderService;
//
@Autowired
private
MCCafeOrderServiceImpl
mcCafeOrderService
;
//
// @Autowired
// private MulitiPaymentClient mulitiPaymentClient;
//
// @Autowired
// private OrderManagerAdapter orderManagerAdapter;
@Autowired
private
MulitiPaymentClient
mulitiPaymentClient
;
@Autowired
private
OrderServiceImpl
orderService
;
@Autowired
private
OrderManagerAdapter
orderManagerAdapter
;
// @Before
// public void before() throws Exception {
// }
...
...
@@ -84,20 +101,28 @@ public class MallOrderServiceImplTest {
@Test
public
void
test
()
{
MultiOrderRefundRequest
multiOrderRefundRequest
=
new
MultiOrderRefundRequest
();
multiOrderRefundRequest
.
setFmId
(
""
);
multiOrderRefundRequest
.
setVer3
(
false
);
multiOrderRefundRequest
.
setVer
(
"V1"
);
multiOrderRefundRequest
.
setNotifyUrl
(
"http://open-store-order-application-service.open-store.svc:9212/order/refundNotifyCallback"
);
multiOrderRefundRequest
.
setOperatorId
(
"1"
);
multiOrderRefundRequest
.
setPartnerId
(
"1864"
);
multiOrderRefundRequest
.
setRefundAmount
(
1L
);
multiOrderRefundRequest
.
setRefundTradeNo
(
"1604886134387{{$timestamp}}"
);
multiOrderRefundRequest
.
setStationId
(
"1"
);
multiOrderRefundRequest
.
setStoreId
(
"999999998"
);
multiOrderRefundRequest
.
setOutOrderNo
(
"3900472893821604933666"
);
MultiOrderRefundResponse
<
MultiOrderRefundResponse
.
Data
>
multiOrderRefundResponseDto
=
mulitiPaymentClient
.
paymentApplicationRefund
(
multiOrderRefundRequest
,
"1864"
);
System
.
out
.
println
(
2345678
);
// MultiOrderRefundRequest multiOrderRefundRequest = new MultiOrderRefundRequest();
// multiOrderRefundRequest.setFmId("");
// multiOrderRefundRequest.setVer3(false);
// multiOrderRefundRequest.setVer("V1");
// multiOrderRefundRequest.setNotifyUrl("http://open-store-order-application-service.open-store.svc:9212/order/refundNotifyCallback");
// multiOrderRefundRequest.setOperatorId("1");
// multiOrderRefundRequest.setPartnerId("1864");
// multiOrderRefundRequest.setRefundAmount(1L);
// multiOrderRefundRequest.setRefundTradeNo("1604886134387{{$timestamp}}");
// multiOrderRefundRequest.setStationId("1");
// multiOrderRefundRequest.setStoreId("999999998");
// multiOrderRefundRequest.setOutOrderNo("3900472893821604933666");
// MultiOrderRefundResponse<MultiOrderRefundResponse.Data> multiOrderRefundResponseDto = mulitiPaymentClient.paymentApplicationRefund(multiOrderRefundRequest,"1864");
// System.out.println(2345678);
// OrderManagerRequest orderManagerRequest = new OrderManagerRequest();
// orderManagerRequest.setOrderId("19404015572678969200003");
// orderManagerRequest.setPartnerId("1864");
// orderManagerAdapter.orderAgreeRefund(orderManagerRequest);
OrderConditionsReq
request
;
String
str
=
"{\"abnormalStatuses\":[],\"afterSalesStatus\":0,\"appId\":\"\",\"bizType\":0,\"bizTypes\":[1,6,97,98],\"dispenseStatus\":0,\"endTimestamp\":1605542399,\"endUpdateTimestamp\":0,\"expressType\":0,\"externalObjectIds\":[],\"finishStatus\":false,\"isDeleted\":0,\"mobile\":\"\",\"orderClients\":[],\"orderCode\":\"19356550932276285500005\",\"orderCodes\":[],\"orderStatus\":0,\"orderStatuses\":[],\"orderTypes\":[],\"pageNum\":1,\"pageSize\":10,\"partnerId\":\"2655\",\"payStatuses\":[2,3,4],\"payTypes\":[],\"printNum\":0,\"productId\":\"\",\"productName\":\"\",\"settlementTypes\":[],\"startTimestamp\":1604160000,\"startUpdateTimestamp\":0,\"storeIds\":[],\"suspendState\":0,\"thirdOrderCode\":\"\",\"userId\":\"\",\"userName\":\"\"}"
;
request
=
JSON
.
toJavaObject
(
JSON
.
parseObject
(
str
),
OrderConditionsReq
.
class
);
orderDownLoadSdkService
.
queryOrderByConditions
(
request
,
""
);
}
...
...
order-management/src/main/java/cn/freemud/management/adapter/PaymentSdkAdapter.java
View file @
b44dc9a9
...
...
@@ -55,6 +55,7 @@ public class PaymentSdkAdapter {
multiQueryRequest
.
setNotifyUrl
(
refundNotifyCallback
);
multiQueryRequest
.
setVer
(
"V1"
);
multiQueryRequest
.
setVer3
(
false
);
multiQueryRequest
.
setOutOrderNo
(
orderBean
.
getOid
());
return
multiQueryRequest
;
}
...
...
order-management/src/main/java/cn/freemud/management/service/adapter/OrderManagerAdapter.java
View file @
b44dc9a9
...
...
@@ -122,7 +122,12 @@ public class OrderManagerAdapter {
//查询订单
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
=
orderBaseService
.
getByOrderCode
(
request
.
getOrderId
());
//订单接单参数校验
BaseResponse
verifyResponse
=
orderVerifyHandle
.
orderRejectVerify
(
orderBean
,
request
);
BaseResponse
verifyResponse
;
if
(!
macCafePartnerId
.
equals
(
orderBean
.
getCompanyId
()))
{
verifyResponse
=
orderVerifyHandle
.
orderRejectVerify
(
orderBean
,
request
);
}
else
{
verifyResponse
=
orderVerifyHandle
.
mcCafeOrderRejectVerify
(
orderBean
,
request
);
}
if
(
ObjectUtils
.
notEqual
(
verifyResponse
.
getCode
(),
ResponseResult
.
SUCCESS
.
getCode
()))
{
return
handleResponse
(
request
,
orderBean
,
verifyResponse
);
}
...
...
order-management/src/main/java/cn/freemud/management/service/handle/OrderVerifyHandle.java
View file @
b44dc9a9
...
...
@@ -212,6 +212,40 @@ public class OrderVerifyHandle {
if
(
OrderStatus
.
COMPLETE
.
getCode
().
equals
(
status
))
{
return
ResponseUtil
.
error
(
ResponseResult
.
REJECT_FAIL_ORDER_IS_COMPLETE
,
getOrderManagerResponse
(
orderBean
));
}
if
(!
OrderStatus
.
TAKE_ORDER
.
getCode
().
equals
(
status
))
{
return
ResponseUtil
.
error
(
ResponseResult
.
REJECT_FAIL_ORDER_IS_NOT_NEW
,
getOrderManagerResponse
(
orderBean
));
}
return
ResponseUtil
.
success
();
}
/**
* 拒单
*
* @param orderBean
* @param request
* @return
*/
public
BaseResponse
mcCafeOrderRejectVerify
(
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
,
OrderManagerRequest
request
)
{
if
(
orderBean
==
null
)
{
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_NOT_EXIST
);
}
Integer
status
=
orderBean
.
getStatus
();
//判断订单是否已经被拒单
if
(
OrderStatus
.
REFUSE
.
getCode
().
equals
(
status
))
{
return
ResponseUtil
.
error
(
ResponseResult
.
REJECT_FAIL_REPETITION
,
getOrderManagerResponse
(
orderBean
));
}
//判断订单是否已经取消
if
(
OrderStatus
.
CANCEL
.
getCode
().
equals
(
status
))
{
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_HAS_CANCELED
,
getOrderManagerResponse
(
orderBean
));
}
//判断订单是否在配送中
if
(
OrderStatus
.
DISTRIBUTION
.
getCode
().
equals
(
status
))
{
return
ResponseUtil
.
error
(
ResponseResult
.
REJECT_FAIL_ORDER_IS_DELIVERY
,
getOrderManagerResponse
(
orderBean
));
}
//判断订单是否已送达
if
(
OrderStatus
.
COMPLETE
.
getCode
().
equals
(
status
))
{
return
ResponseUtil
.
error
(
ResponseResult
.
REJECT_FAIL_ORDER_IS_COMPLETE
,
getOrderManagerResponse
(
orderBean
));
}
if
(!
OrderStatus
.
TAKE_ORDER
.
getCode
().
equals
(
status
)
&&
!
OldOrderType
.
TAKE_OUT
.
getCode
().
equals
(
orderBean
.
getOrderType
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
REJECT_FAIL_ORDER_IS_NOT_NEW
,
getOrderManagerResponse
(
orderBean
));
}
...
...
order-management/src/main/java/cn/freemud/management/service/handle/PaymentHandle.java
View file @
b44dc9a9
...
...
@@ -145,12 +145,12 @@ public class PaymentHandle {
public
PayRefundResponse
multiRefund
(
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
){
PayRefundStatus
refundStatus
=
PayRefundStatus
.
SUCCESS
;
MultiOrderRefundRequest
multiOrderRefundRequest
=
paymentSdkAdapter
.
getMultiOrderPayRefundRequest
(
orderBean
);
MultiOrderRefundResponse
<
MultiOrderRefundResponse
.
Data
>
multiOrderRefundResponse
=
mulitiPaymentClient
.
paymentApplicationRefund
(
multiOrderRefundRequest
,
orderBean
.
getCompanyId
());
MultiOrderRefundResponse
multiOrderRefundResponse
=
mulitiPaymentClient
.
paymentApplicationRefund
(
multiOrderRefundRequest
,
orderBean
.
getCompanyId
());
if
(
multiOrderRefundResponse
==
null
||
multiOrderRefundResponse
.
getData
()
==
null
||
!
com
.
freemud
.
sdk
.
api
.
assortment
.
order
.
domain
.
ResponseCodeConstant
.
ORDER_PAY_RESPONSE_SUCCESS
.
equals
(
multiOrderRefundResponse
.
getCode
()))
{
throw
new
OrderServiceException
(
ResponseResult
.
REFUND_EXCEPTION
);
}
List
<
MultiOrderRefundResponse
.
RefundPlatformResponse
>
refundPlatformResponseList
=
multiOrderRefundResponse
.
getData
().
getRefundPlatformResponseList
()
;
refundPlatformResponseList
=
refundPlatformResponseList
.
stream
().
filter
(
m
->
!
m
.
getEb
Code
().
equalsIgnoreCase
(
"4
"
)).
collect
(
Collectors
.
toList
());
List
<
MultiOrderRefundResponse
.
RefundPlatformResponse
>
refundPlatformResponseList
=
multiOrderRefundResponse
.
getData
().
refundPlatformResponseList
;
refundPlatformResponseList
=
refundPlatformResponseList
.
stream
().
filter
(
m
->
!
m
.
getEb
code
().
equalsIgnoreCase
(
"10102
"
)).
collect
(
Collectors
.
toList
());
if
(
null
!=
refundPlatformResponseList
&&
refundPlatformResponseList
.
size
()>
0
){
redisCache
.
save
(
RedisUtil
.
getPaymentTransIdSequenceKey
(
refundPlatformResponseList
.
get
(
0
).
getTransId
()),
orderBean
.
getOid
(),
1L
,
TimeUnit
.
DAYS
);
}
...
...
order-management/src/main/java/cn/freemud/management/service/impl/SaasOrderMangerServiceImpl.java
View file @
b44dc9a9
...
...
@@ -128,7 +128,11 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
//支付退款
PayRefundResponse
refundResponse
=
new
PayRefundResponse
();
try
{
refundResponse
=
paymentHandle
.
refund
(
request
,
orderBean
);
if
(
orderBean
.
getPayChannelType
().
equalsIgnoreCase
(
"4"
)){
refundResponse
=
paymentHandle
.
multiRefund
(
orderBean
);
}
else
{
refundResponse
=
paymentHandle
.
refund
(
request
,
orderBean
);
}
}
catch
(
OrderServiceException
orderEx
){
// 爱马哥兼容,不抛错
return
ResponseUtil
.
error
(
orderEx
.
getResult
());
}
...
...
@@ -158,11 +162,10 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
//支付退款
PayRefundResponse
refundResponse
=
new
PayRefundResponse
();
try
{
if
(
orderBean
.
getPayChannelType
()
!=
"4"
){
refundResponse
=
paymentHandle
.
refund
(
request
,
orderBean
);
}
else
{
if
(
orderBean
.
getPayChannelType
().
equalsIgnoreCase
(
"4"
)){
refundResponse
=
paymentHandle
.
multiRefund
(
orderBean
);
}
else
{
refundResponse
=
paymentHandle
.
refund
(
request
,
orderBean
);
}
}
catch
(
OrderServiceException
orderEx
){
// 爱马哥兼容,不抛错
return
ResponseUtil
.
error
(
orderEx
.
getResult
());
...
...
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/response/OrderPayItemResp.java
0 → 100644
View file @
b44dc9a9
package
com
.
freemud
.
application
.
sdk
.
api
.
ordercenter
.
response
;
import
lombok.Data
;
import
java.math.BigDecimal
;
@Data
public
class
OrderPayItemResp
{
private
Long
id
;
private
Long
orderId
;
private
String
orderCode
;
private
String
partnerId
;
private
String
storeId
;
private
String
payChannelType
;
private
String
payChannelName
;
private
String
operator
;
private
BigDecimal
payAmount
;
private
String
transId
;
private
String
fmTradeNo
;
private
String
outOrderNo
;
private
String
platformTradeNo
;
private
String
endTransTradeNo
;
}
\ No newline at end of file
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/response/orderInfo/OrderInfoReqs.java
View file @
b44dc9a9
...
...
@@ -13,6 +13,8 @@
package
com
.
freemud
.
application
.
sdk
.
api
.
ordercenter
.
response
.
orderInfo
;
import
com.freemud.application.sdk.api.ordercenter.request.OrderExtendedReq
;
import
com.freemud.application.sdk.api.ordercenter.request.OrderTraceInfoResp
;
import
com.freemud.application.sdk.api.ordercenter.response.OrderPayItemResp
;
import
lombok.Data
;
import
java.math.BigDecimal
;
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/mcoffee/calculation/CalculationServiceImpl.java
View file @
b44dc9a9
...
...
@@ -181,8 +181,12 @@ public class CalculationServiceImpl {
shoppingCartGoodsDto
.
setTotalDiscountAmount
(
shoppingCartGoodsResponseVo
.
getTotalDiscountAmount
());
//随单购 月卡价格
shoppingCartGoodsDto
.
setPayCardFee
(
shoppingCartGoodsResponseVo
.
getPayCardFee
());
// long buyThreeGiveOneCouponFee = calculationDiscountResult.getDiscounts().stream().filter(t -> t.getExtendType() == 7).mapToLong(apportionGoods -> apportionGoods.getCardAmount()).sum();
shoppingCartGoodsDto
.
setBuyThreeGiveOneCouponFee
(
0L
);
if
(
calculationDiscountResult
!=
null
)
{
if
(
CollectionUtils
.
isNotEmpty
(
calculationDiscountResult
.
getDiscounts
()))
{
long
buyThreeGiveOneCouponFee
=
calculationDiscountResult
.
getDiscounts
().
stream
().
filter
(
t
->
t
.
getExtendType
()
==
7
).
mapToLong
(
apportionGoods
->
apportionGoods
.
getCardAmount
()).
sum
();
shoppingCartGoodsDto
.
setBuyThreeGiveOneCouponFee
(
buyThreeGiveOneCouponFee
);
}
}
shoppingCartGoodsDto
.
setDeliveryAmount
(
shoppingCartGoodsResponseVo
.
getDeliveryAmount
());
shoppingCartGoodsDto
.
setDiscountDeliveryAmount
(
shoppingCartGoodsResponseVo
.
getDiscountDeliveryAmount
());
shoppingCartGoodsDto
.
setThresholdAmount
(
shoppingCartGoodsResponseVo
.
getThresholdAmount
());
...
...
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