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
bfe3d675
Commit
bfe3d675
authored
Apr 29, 2022
by
查志伟
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feature/v1.0.14' into qa
parents
9706d172
e0c68566
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
337 additions
and
113 deletions
+337
-113
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/adapter/OrderSdkAdapter.java
+2
-0
order-application-service/src/main/java/cn/freemud/controller/ExposureOrderController.java
+15
-73
order-application-service/src/main/java/cn/freemud/entities/vo/GetPayConfigVo.java
+5
-0
order-application-service/src/main/java/cn/freemud/entities/vo/GetPaySuccessDataRequest.java
+1
-1
order-application-service/src/main/java/cn/freemud/entities/vo/GetPaySuccessTimeoutVo.java
+0
-14
order-application-service/src/main/java/cn/freemud/entities/vo/order/PayConfigVo.java
+27
-0
order-application-service/src/main/java/cn/freemud/entities/vo/order/PaySuccessDataVo.java
+23
-0
order-application-service/src/main/java/cn/freemud/service/ExposureOrderService.java
+55
-0
order-application-service/src/main/java/cn/freemud/service/impl/OrderAdapterServiceImpl.java
+2
-0
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
+2
-3
order-application-service/src/main/java/cn/freemud/service/impl/PayServiceImpl.java
+1
-9
order-management/src/main/java/cn/freemud/management/entities/dto/request/pay/AgentPayQueryReq.java
+21
-0
order-management/src/main/java/cn/freemud/management/entities/dto/request/pay/AgentPayRefundReq.java
+25
-0
order-management/src/main/java/cn/freemud/management/entities/dto/response/pay/AgentPayQueryResp.java
+43
-0
order-management/src/main/java/cn/freemud/management/entities/dto/response/pay/AgentPayRefundResp.java
+43
-0
order-management/src/main/java/cn/freemud/management/service/handle/PaymentHandle.java
+30
-0
order-management/src/main/java/cn/freemud/management/service/impl/SaasOrderMangerServiceImpl.java
+10
-5
order-management/src/main/java/cn/freemud/management/thirdparty/MulitiPaymentClient.java
+19
-0
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/adapter/OrderCenterSdkAdapter.java
+2
-0
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/request/OrderExtendedReq.java
+11
-8
No files found.
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/adapter/OrderSdkAdapter.java
View file @
bfe3d675
...
@@ -1423,6 +1423,8 @@ public class OrderSdkAdapter {
...
@@ -1423,6 +1423,8 @@ public class OrderSdkAdapter {
.
spellGroupCode
(
orderExtended
.
getSpellGroupCode
())
.
spellGroupCode
(
orderExtended
.
getSpellGroupCode
())
.
userPhone
(
orderExtended
.
getUserPhone
())
.
userPhone
(
orderExtended
.
getUserPhone
())
.
sendWord
(
orderExtended
.
getSendWord
())
.
sendWord
(
orderExtended
.
getSendWord
())
.
agentPayerId
(
orderExtended
.
getAgentPayerId
())
.
agentPayerName
(
orderExtended
.
getAgentPayerName
())
.
build
();
.
build
();
}
}
...
...
order-application-service/src/main/java/cn/freemud/controller/ExposureOrderController.java
View file @
bfe3d675
...
@@ -2,22 +2,21 @@ package cn.freemud.controller;
...
@@ -2,22 +2,21 @@ package cn.freemud.controller;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.entities.vo.*
;
import
cn.freemud.entities.vo.*
;
import
cn.freemud.enums.OrderTackCodeFactory
;
import
cn.freemud.entities.vo.order.PayConfigVo
;
import
cn.freemud.enums.TakeCodeOrderType
;
import
cn.freemud.entities.vo.order.PaySuccessDataVo
;
import
cn.freemud.manager.OrderTackCodeManager
;
import
cn.freemud.service.ExposureOrderService
;
import
cn.freemud.service.business.OrderBusinessService
;
import
cn.freemud.service.business.impl.OrderBusinessServiceImpl
;
import
cn.freemud.service.impl.OrderQueueService
;
import
cn.freemud.service.impl.OrderQueueService
;
import
cn.freemud.service.impl.OrderServiceImpl
;
import
cn.freemud.service.impl.OrderServiceImpl
;
import
cn.freemud.service.impl.PayServiceImpl
;
import
cn.freemud.service.impl.PayServiceImpl
;
import
cn.freemud.utils.ResponseUtil
;
import
cn.freemud.utils.ResponseUtil
;
import
com.freemud.application.sdk.api.log.ApiAnnotation
;
import
com.freemud.application.sdk.api.log.ApiAnnotation
;
import
com.freemud.application.sdk.api.log.LogParams
;
import
com.freemud.application.sdk.api.log.LogParams
;
import
com.freemud.application.sdk.api.ordercenter.adapter.OrderCenterSdkAdapter
;
import
com.freemud.sdk.api.assortment.message.enums.OrderType
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
/**
/**
* 暴露订单相关的业务接口,提供给applet项目
* 暴露订单相关的业务接口,提供给applet项目
...
@@ -29,10 +28,7 @@ public class ExposureOrderController {
...
@@ -29,10 +28,7 @@ public class ExposureOrderController {
@Autowired
@Autowired
private
PayServiceImpl
payService
;
private
PayServiceImpl
payService
;
@Autowired
@Autowired
private
OrderTackCodeManager
orderTackCodeManager
;
private
ExposureOrderService
exposureOrderService
;
@Autowired
private
OrderBusinessServiceImpl
orderBusinessService
;
@Autowired
@Autowired
private
OrderServiceImpl
orderService
;
private
OrderServiceImpl
orderService
;
...
@@ -40,38 +36,13 @@ public class ExposureOrderController {
...
@@ -40,38 +36,13 @@ public class ExposureOrderController {
@Autowired
@Autowired
private
OrderQueueService
orderQueueService
;
private
OrderQueueService
orderQueueService
;
@Autowired
private
OrderCenterSdkAdapter
orderCenterSdkAdapter
;
/**
/**
* 创建支付单,查询支付配置
* 创建支付单,查询支付配置
*/
*/
@ApiAnnotation
(
logMessage
=
"创建支付单,查询支付配置"
)
@ApiAnnotation
(
logMessage
=
"创建支付单,查询支付配置"
)
@PostMapping
(
"/getPayConfig"
)
@PostMapping
(
"/getPayConfig"
)
public
BaseResponse
<
String
>
getPayConfig
(
@Validated
@LogParams
@RequestBody
GetPayConfigVo
getPayConfigVo
)
{
public
BaseResponse
<
PayConfigVo
>
getPayConfig
(
@Validated
@LogParams
@RequestBody
GetPayConfigVo
req
)
{
String
payConfig
=
payService
.
getPayConfig
(
getPayConfigVo
.
getPartnerId
(),
getPayConfigVo
.
getAppId
());
return
ResponseUtil
.
success
(
exposureOrderService
.
getPayConfig
(
req
));
return
ResponseUtil
.
success
(
payConfig
);
}
/**
* 创建支付单,查询超时时间
*/
@ApiAnnotation
(
logMessage
=
"创建支付单,查询超时时间"
)
@PostMapping
(
"/getPayTimeout"
)
public
BaseResponse
<
String
>
getPayTimeout
(
@Validated
@LogParams
@RequestBody
GetPayTimeoutVo
getPayTimeoutVo
)
{
String
partnerPayOvertime
=
payService
.
getPartnerPayOvertime
(
getPayTimeoutVo
.
getPartnerId
());
return
ResponseUtil
.
success
(
partnerPayOvertime
);
}
/**
* 创建支付单,查询payCode
*/
@ApiAnnotation
(
logMessage
=
"创建支付单,查询payCode"
)
@PostMapping
(
"/getPayCodeByChanel"
)
public
BaseResponse
<
String
>
getPayCodeByChanel
(
@Validated
@LogParams
@RequestBody
GetPayCodeByChanelVo
getPayCodeByChanelVo
)
{
String
payCodeByCondition
=
payService
.
getPayCodeByCondition
(
getPayCodeByChanelVo
.
getAppId
(),
getPayCodeByChanelVo
.
getStoreId
(),
getPayCodeByChanelVo
.
getChannel
());
return
ResponseUtil
.
success
(
payCodeByCondition
);
}
}
/**
/**
...
@@ -84,34 +55,14 @@ public class ExposureOrderController {
...
@@ -84,34 +55,14 @@ public class ExposureOrderController {
return
ResponseUtil
.
success
();
return
ResponseUtil
.
success
();
}
}
/**
* 生成取餐码
*/
@ApiAnnotation
(
logMessage
=
"生成取餐码"
)
@PostMapping
(
"/generateTackCode"
)
public
BaseResponse
<
String
>
generateTackCode
(
@Validated
@LogParams
@RequestBody
GenerateTackCodeVo
generateTackCodeVo
)
{
Integer
orderTye
=
TakeCodeOrderType
.
getTakeCodeOrderType
(
generateTackCodeVo
.
getOrderType
());
String
tackCode
=
orderTackCodeManager
.
generateTackCode
(
orderTye
,
generateTackCodeVo
.
getPartnerId
(),
generateTackCodeVo
.
getStoreId
(),
null
,
OrderTackCodeFactory
.
getByOrderClient
(
generateTackCodeVo
.
getOrderClient
()).
getGenerateTackCodeFunc
());
return
ResponseUtil
.
success
(
tackCode
);
}
/**
@ApiAnnotation
(
logMessage
=
"获取超时时间, 生成取餐码"
)
* 从支付成功开始计时,超时未接单的时间(单位:分钟)
@PostMapping
(
"/getPaySuccessData"
)
*/
public
BaseResponse
<
PaySuccessDataVo
>
generateTackCode
(
@Validated
@LogParams
@RequestBody
GetPaySuccessDataRequest
request
)
{
@ApiAnnotation
(
logMessage
=
"获取超时时间"
)
return
ResponseUtil
.
success
(
exposureOrderService
.
getPaySuccessData
(
request
));
@PostMapping
(
"/paySuccessTimeout"
)
public
BaseResponse
<
Integer
>
generateTackCode
(
@Validated
@LogParams
@RequestBody
GetPaySuccessTimeoutVo
getPaySuccessTimeoutVo
)
{
Integer
orderTye
=
orderCenterSdkAdapter
.
getOldOrderType
(
getPaySuccessTimeoutVo
.
getOrderType
());
Integer
tackCode
=
orderBusinessService
.
getPaySuccessTimeout
(
getPaySuccessTimeoutVo
.
getPartnerId
(),
getPaySuccessTimeoutVo
.
getStoreId
(),
orderTye
);
return
ResponseUtil
.
success
(
tackCode
);
}
}
/**
/**
* 发送支付成功模板消息
* 发送支付成功模板消息
*/
*/
...
@@ -122,15 +73,6 @@ public class ExposureOrderController {
...
@@ -122,15 +73,6 @@ public class ExposureOrderController {
return
ResponseUtil
.
success
();
return
ResponseUtil
.
success
();
}
}
/**
* 生成0元支付fmId
*/
@ApiAnnotation
(
logMessage
=
"生成0元支付fmId"
)
@GetMapping
(
"/generateZeroPayFmId"
)
public
BaseResponse
generateZeroPayFmId
()
{
String
fmId
=
payService
.
generateZeroPayFmId
();
return
ResponseUtil
.
success
(
fmId
);
}
/**
/**
* 现金支付,设置轮循队列
* 现金支付,设置轮循队列
...
...
order-application-service/src/main/java/cn/freemud/entities/vo/GetPayConfigVo.java
View file @
bfe3d675
...
@@ -10,6 +10,11 @@ public class GetPayConfigVo {
...
@@ -10,6 +10,11 @@ public class GetPayConfigVo {
@NotBlank
(
message
=
"商户号不能为空"
)
@NotBlank
(
message
=
"商户号不能为空"
)
private
String
partnerId
;
private
String
partnerId
;
@NotBlank
(
message
=
"门店id不能为空"
)
private
String
storeId
;
@NotBlank
(
message
=
"小程序id不能为空"
)
@NotBlank
(
message
=
"小程序id不能为空"
)
private
String
appId
;
private
String
appId
;
private
String
channel
;
}
}
order-application-service/src/main/java/cn/freemud/entities/vo/Ge
nerateTackCodeVo
.java
→
order-application-service/src/main/java/cn/freemud/entities/vo/Ge
tPaySuccessDataRequest
.java
View file @
bfe3d675
...
@@ -3,7 +3,7 @@ package cn.freemud.entities.vo;
...
@@ -3,7 +3,7 @@ package cn.freemud.entities.vo;
import
lombok.Data
;
import
lombok.Data
;
@Data
@Data
public
class
Ge
nerateTackCodeVo
{
public
class
Ge
tPaySuccessDataRequest
{
private
Integer
orderType
;
private
Integer
orderType
;
...
...
order-application-service/src/main/java/cn/freemud/entities/vo/GetPaySuccessTimeoutVo.java
deleted
100644 → 0
View file @
9706d172
package
cn
.
freemud
.
entities
.
vo
;
import
lombok.Data
;
@Data
public
class
GetPaySuccessTimeoutVo
{
private
Integer
orderType
;
private
String
partnerId
;
private
String
storeId
;
}
order-application-service/src/main/java/cn/freemud/entities/vo/order/PayConfigVo.java
0 → 100644
View file @
bfe3d675
package
cn
.
freemud
.
entities
.
vo
.
order
;
import
lombok.Data
;
/**
* @author Clover.z
* @version 1.0.0
* @since 1.0.0
*/
@Data
public
class
PayConfigVo
{
/**
* 商户支付主体名称
*/
private
String
principalName
;
/**
* 支付超时时间
*/
private
String
payTimeOut
;
/**
* 门店支付编号
*/
private
String
payCode
;
}
order-application-service/src/main/java/cn/freemud/entities/vo/order/PaySuccessDataVo.java
0 → 100644
View file @
bfe3d675
package
cn
.
freemud
.
entities
.
vo
.
order
;
import
lombok.Data
;
/**
* @author Clover.z
* @version 1.0.0
* @since 1.0.0
*/
@Data
public
class
PaySuccessDataVo
{
/**
* 取餐码
*/
private
String
takeCode
;
/**
* 从支付成功开始计时,超时未接单的时间(单位:分钟)
*/
private
Integer
timeout
;
}
order-application-service/src/main/java/cn/freemud/service/ExposureOrderService.java
0 → 100644
View file @
bfe3d675
package
cn
.
freemud
.
service
;
import
cn.freemud.entities.vo.GetPayConfigVo
;
import
cn.freemud.entities.vo.GetPaySuccessDataRequest
;
import
cn.freemud.entities.vo.order.PayConfigVo
;
import
cn.freemud.entities.vo.order.PaySuccessDataVo
;
import
cn.freemud.enums.OrderTackCodeFactory
;
import
cn.freemud.enums.TakeCodeOrderType
;
import
cn.freemud.manager.OrderTackCodeManager
;
import
cn.freemud.service.business.impl.OrderBusinessServiceImpl
;
import
cn.freemud.service.impl.PayServiceImpl
;
import
com.freemud.application.sdk.api.ordercenter.adapter.OrderCenterSdkAdapter
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.stereotype.Service
;
/**
* @author Clover.z
* @version 1.0.0
* @since 1.0.0
*/
@Service
@RequiredArgsConstructor
public
class
ExposureOrderService
{
private
final
PayServiceImpl
payService
;
private
final
OrderTackCodeManager
orderTackCodeManager
;
private
final
OrderBusinessServiceImpl
orderBusinessService
;
private
final
OrderCenterSdkAdapter
orderCenterSdkAdapter
;
public
PayConfigVo
getPayConfig
(
GetPayConfigVo
req
)
{
PayConfigVo
vo
=
new
PayConfigVo
();
vo
.
setPrincipalName
(
payService
.
getPaymentPrincipalName
(
req
.
getPartnerId
(),
req
.
getAppId
()));
vo
.
setPayTimeOut
(
payService
.
getPartnerPayOvertime
(
req
.
getPartnerId
()));
vo
.
setPayCode
(
payService
.
getPayCodeByCondition
(
req
.
getAppId
(),
req
.
getStoreId
(),
req
.
getChannel
()));
return
vo
;
}
public
PaySuccessDataVo
getPaySuccessData
(
GetPaySuccessDataRequest
reqVo
)
{
Integer
type
=
TakeCodeOrderType
.
getTakeCodeOrderType
(
reqVo
.
getOrderType
());
String
takeCode
=
orderTackCodeManager
.
generateTackCode
(
type
,
reqVo
.
getPartnerId
(),
reqVo
.
getStoreId
(),
null
,
OrderTackCodeFactory
.
getByOrderClient
(
reqVo
.
getOrderClient
()).
getGenerateTackCodeFunc
());
Integer
v1Type
=
orderCenterSdkAdapter
.
getOldOrderType
(
reqVo
.
getOrderType
());
Integer
timeout
=
orderBusinessService
.
getPaySuccessTimeout
(
reqVo
.
getPartnerId
(),
reqVo
.
getStoreId
(),
v1Type
);
PaySuccessDataVo
vo
=
new
PaySuccessDataVo
();
vo
.
setTakeCode
(
takeCode
);
vo
.
setTimeout
(
timeout
);
return
vo
;
}
}
order-application-service/src/main/java/cn/freemud/service/impl/OrderAdapterServiceImpl.java
View file @
bfe3d675
...
@@ -44,6 +44,7 @@ import org.apache.commons.collections4.MapUtils;
...
@@ -44,6 +44,7 @@ import org.apache.commons.collections4.MapUtils;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.context.annotation.Lazy
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.text.MessageFormat
;
import
java.text.MessageFormat
;
...
@@ -140,6 +141,7 @@ public class OrderAdapterServiceImpl {
...
@@ -140,6 +141,7 @@ public class OrderAdapterServiceImpl {
private
SellCouponOrderServiceImpl
sellCouponOrderServiceImpl
;
private
SellCouponOrderServiceImpl
sellCouponOrderServiceImpl
;
@Autowired
@Autowired
private
ApolloVariableConfig
apolloVariable
;
private
ApolloVariableConfig
apolloVariable
;
@Lazy
@Autowired
@Autowired
private
CashierOrderService
cashierOrderService
;
private
CashierOrderService
cashierOrderService
;
@Autowired
@Autowired
...
...
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
View file @
bfe3d675
...
@@ -97,9 +97,6 @@ import com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1;
...
@@ -97,9 +97,6 @@ import com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1;
import
com.freemud.application.sdk.api.ordercenter.entities.v1.RefundBeanV1
;
import
com.freemud.application.sdk.api.ordercenter.entities.v1.RefundBeanV1
;
import
com.freemud.application.sdk.api.ordercenter.enums.*
;
import
com.freemud.application.sdk.api.ordercenter.enums.*
;
import
com.freemud.application.sdk.api.ordercenter.enums.orderv1.OrderStatusV1
;
import
com.freemud.application.sdk.api.ordercenter.enums.orderv1.OrderStatusV1
;
import
com.freemud.application.sdk.api.ordercenter.enums.OrderType
;
import
com.freemud.application.sdk.api.ordercenter.enums.orderv1.OrderSourceV1
;
import
com.freemud.application.sdk.api.ordercenter.enums.orderv1.OrderStatusV1
;
import
com.freemud.application.sdk.api.ordercenter.enums.orderv1.OrderTypeV1
;
import
com.freemud.application.sdk.api.ordercenter.enums.orderv1.OrderTypeV1
;
import
com.freemud.application.sdk.api.ordercenter.request.*
;
import
com.freemud.application.sdk.api.ordercenter.request.*
;
import
com.freemud.application.sdk.api.ordercenter.request.carpark.ParkingOrderCreateReq
;
import
com.freemud.application.sdk.api.ordercenter.request.carpark.ParkingOrderCreateReq
;
...
@@ -3747,4 +3744,6 @@ public class OrderServiceImpl implements Orderservice {
...
@@ -3747,4 +3744,6 @@ public class OrderServiceImpl implements Orderservice {
this
.
sendPaySuccessMessage
(
orderBean
);
this
.
sendPaySuccessMessage
(
orderBean
);
}
}
}
}
order-application-service/src/main/java/cn/freemud/service/impl/PayServiceImpl.java
View file @
bfe3d675
...
@@ -458,7 +458,7 @@ public class PayServiceImpl {
...
@@ -458,7 +458,7 @@ public class PayServiceImpl {
/**
/**
* 查询支付配置
* 查询支付配置
*/
*/
p
rivate
String
getPaymentPrincipalName
(
String
partnerId
,
String
appId
)
{
p
ublic
String
getPaymentPrincipalName
(
String
partnerId
,
String
appId
)
{
String
redisKey
=
MessageFormat
.
format
(
OrderRedisKeyConstant
.
PARTNER_PAYMENT_PRINCIPAL_NAME
,
partnerId
);
String
redisKey
=
MessageFormat
.
format
(
OrderRedisKeyConstant
.
PARTNER_PAYMENT_PRINCIPAL_NAME
,
partnerId
);
// 先从redis中查询支付商户名称
// 先从redis中查询支付商户名称
String
principalName
=
redisCache
.
hashGet
(
redisKey
,
appId
);
String
principalName
=
redisCache
.
hashGet
(
redisKey
,
appId
);
...
@@ -482,10 +482,6 @@ public class PayServiceImpl {
...
@@ -482,10 +482,6 @@ public class PayServiceImpl {
return
principalName
;
return
principalName
;
}
}
public
String
getPayConfig
(
String
partnerId
,
String
appId
)
{
return
this
.
getPaymentPrincipalName
(
partnerId
,
appId
);
}
/**
/**
* 电子风味卡支付
* 电子风味卡支付
...
@@ -1530,10 +1526,6 @@ public class PayServiceImpl {
...
@@ -1530,10 +1526,6 @@ public class PayServiceImpl {
return
checkSvcAmountResponse
;
return
checkSvcAmountResponse
;
}
}
public
String
generateZeroPayFmId
()
{
String
fmId
=
"SPAY"
+
ValidationCode
.
getRandomUuid
();
return
fmId
;
}
public
void
putRoundRobin
(
PutRoundRobinVo
putRoundRobinVo
)
{
public
void
putRoundRobin
(
PutRoundRobinVo
putRoundRobinVo
)
{
//加入轮训队列
//加入轮训队列
...
...
order-management/src/main/java/cn/freemud/management/entities/dto/request/pay/AgentPayQueryReq.java
0 → 100644
View file @
bfe3d675
package
cn
.
freemud
.
management
.
entities
.
dto
.
request
.
pay
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @author Clover.z
* @version 1.0.0
* @since 1.0.0
*/
@NoArgsConstructor
@Data
public
class
AgentPayQueryReq
{
private
String
outOrderNo
;
private
String
partnerId
;
private
String
storeId
;
private
String
fmTradeNo
;
private
String
platformTradeNo
;
private
String
endTransTradeNo
;
private
String
ver
;
}
order-management/src/main/java/cn/freemud/management/entities/dto/request/pay/AgentPayRefundReq.java
0 → 100644
View file @
bfe3d675
package
cn
.
freemud
.
management
.
entities
.
dto
.
request
.
pay
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @author Clover.z
* @version 1.0.0
* @since 1.0.0
*/
@NoArgsConstructor
@Data
public
class
AgentPayRefundReq
{
private
String
refundTradeNo
;
private
String
partnerId
;
private
String
storeId
;
private
String
fmTradeNo
;
private
String
outOrderNo
;
private
String
endTransTradeNo
;
private
String
platformTradeNo
;
private
Long
refundAmount
;
private
String
refundDesc
;
private
String
notifyUrl
;
private
String
ver
;
}
order-management/src/main/java/cn/freemud/management/entities/dto/response/pay/AgentPayQueryResp.java
0 → 100644
View file @
bfe3d675
package
cn
.
freemud
.
management
.
entities
.
dto
.
response
.
pay
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.util.Objects
;
/**
* @author Clover.z
* @version 1.0.0
* @since 1.0.0
*/
@NoArgsConstructor
@Data
public
class
AgentPayQueryResp
{
private
Integer
code
;
private
DataDTO
data
;
private
String
msg
;
@NoArgsConstructor
@Data
public
static
class
DataDTO
{
private
String
ebCode
;
private
String
fmTradeNo
;
private
String
transId
;
private
String
platformTradeNo
;
private
String
outOrderNo
;
private
Integer
payAmount
;
private
String
endTransTradeNo
;
private
Integer
mcouponAmount
;
private
Integer
pcouponAmount
;
private
String
status
;
private
String
ver
;
private
String
openId
;
private
String
transCurrency
;
private
String
tradeTime
;
private
String
platformMchId
;
}
public
boolean
isOk
()
{
return
Objects
.
equals
(
code
,
100
);
}
}
order-management/src/main/java/cn/freemud/management/entities/dto/response/pay/AgentPayRefundResp.java
0 → 100644
View file @
bfe3d675
package
cn
.
freemud
.
management
.
entities
.
dto
.
response
.
pay
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.util.Objects
;
/**
* @author Clover.z
* @version 1.0.0
* @since 1.0.0
*/
@NoArgsConstructor
@Data
public
class
AgentPayRefundResp
{
private
Integer
code
;
private
DataDTO
data
;
private
String
msg
;
@NoArgsConstructor
@Data
public
static
class
DataDTO
{
private
String
fmTradeNo
;
private
String
endTransTradeNo
;
private
String
platformTradeNo
;
private
String
fmRefundNo
;
private
String
refundEndTransTradeNo
;
private
Integer
refundAmount
;
private
Integer
settleRefundAmount
;
private
Integer
mcouponAmount
;
private
Integer
pcouponAmount
;
private
Integer
totalAmount
;
private
String
refundCurrency
;
private
String
refundDesc
;
private
String
refundTime
;
private
String
transId
;
private
String
ebcode
;
}
public
boolean
isOk
()
{
return
Objects
.
equals
(
code
,
100
);
}
}
order-management/src/main/java/cn/freemud/management/service/handle/PaymentHandle.java
View file @
bfe3d675
...
@@ -2,6 +2,7 @@ package cn.freemud.management.service.handle;
...
@@ -2,6 +2,7 @@ package cn.freemud.management.service.handle;
import
cn.freemud.management.adapter.PaymentSdkAdapter
;
import
cn.freemud.management.adapter.PaymentSdkAdapter
;
import
cn.freemud.management.entities.dto.request.order.OrderManagerRequest
;
import
cn.freemud.management.entities.dto.request.order.OrderManagerRequest
;
import
cn.freemud.management.entities.dto.request.pay.AgentPayRefundReq
;
import
cn.freemud.management.entities.dto.request.pay.PayRefundRequestDto
;
import
cn.freemud.management.entities.dto.request.pay.PayRefundRequestDto
;
import
cn.freemud.management.entities.dto.request.pay.PaymentQueryOrderRequestDto
;
import
cn.freemud.management.entities.dto.request.pay.PaymentQueryOrderRequestDto
;
import
cn.freemud.management.entities.dto.response.pay.*
;
import
cn.freemud.management.entities.dto.response.pay.*
;
...
@@ -12,6 +13,7 @@ import cn.freemud.management.thirdparty.MulitiPaymentClient;
...
@@ -12,6 +13,7 @@ import cn.freemud.management.thirdparty.MulitiPaymentClient;
import
cn.freemud.management.thirdparty.OMSPaymentClient
;
import
cn.freemud.management.thirdparty.OMSPaymentClient
;
import
cn.freemud.management.util.RedisUtil
;
import
cn.freemud.management.util.RedisUtil
;
import
cn.freemud.redis.RedisCache
;
import
cn.freemud.redis.RedisCache
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.freemud.api.assortment.datamanager.entity.db.AssortmentOpenPlatformIappWxappStore
;
import
com.freemud.api.assortment.datamanager.entity.db.AssortmentOpenPlatformIappWxappStore
;
import
com.freemud.api.assortment.datamanager.manager.AssortmentOpenPlatformIappWxappStoreManager
;
import
com.freemud.api.assortment.datamanager.manager.AssortmentOpenPlatformIappWxappStoreManager
;
...
@@ -118,6 +120,34 @@ public class PaymentHandle {
...
@@ -118,6 +120,34 @@ public class PaymentHandle {
}
}
/**
/**
* 代付订单退款
*
* @param request
* @param orderBean
* @return
*/
public
PayRefundResponse
agentPayRefund
(
OrderManagerRequest
request
,
OrderBeanV1
orderBean
)
{
PayRefundResponse
ret
=
new
PayRefundResponse
();
try
{
OrderExtInfoDto
ext
=
JSON
.
parseObject
(
orderBean
.
getExtInfo
(),
OrderExtInfoDto
.
class
);
AgentPayRefundReq
req
=
new
AgentPayRefundReq
();
req
.
setPartnerId
(
orderBean
.
getCompanyId
());
req
.
setStoreId
(
orderBean
.
getShopId
());
req
.
setFmTradeNo
(
ext
.
getPayTransId
());
req
.
setOutOrderNo
(
orderBean
.
getOid
());
req
.
setVer
(
"V1"
);
AgentPayRefundResp
resp
=
mulitiPaymentClient
.
agentPayRefund
(
req
);
if
(!
resp
.
isOk
())
throw
new
Exception
(
"退款失败"
);
ret
.
setRefundId
(
resp
.
getData
().
getFmRefundNo
());
ret
.
setPayRefundStatus
(
PayRefundStatus
.
SUCCESS
);
}
catch
(
Throwable
e
)
{
ret
.
setPayRefundStatus
(
PayRefundStatus
.
FAIL
);
}
return
ret
;
}
/**
* 卖券调用退款
* 卖券调用退款
* @param reason
* @param reason
* @param orderBean
* @param orderBean
...
...
order-management/src/main/java/cn/freemud/management/service/impl/SaasOrderMangerServiceImpl.java
View file @
bfe3d675
...
@@ -6,8 +6,8 @@ import cn.freemud.management.entities.dto.request.console.*;
...
@@ -6,8 +6,8 @@ import cn.freemud.management.entities.dto.request.console.*;
import
cn.freemud.management.entities.dto.request.order.OrderManagerRequest
;
import
cn.freemud.management.entities.dto.request.order.OrderManagerRequest
;
import
cn.freemud.management.entities.dto.response.order.OrderManagerResponse
;
import
cn.freemud.management.entities.dto.response.order.OrderManagerResponse
;
import
cn.freemud.management.entities.dto.response.pay.PayRefundResponse
;
import
cn.freemud.management.entities.dto.response.pay.PayRefundResponse
;
import
cn.freemud.management.enums.*
;
import
cn.freemud.management.enums.OperateType
;
import
cn.freemud.management.enums.OperateType
;
import
cn.freemud.management.enums.*
;
import
cn.freemud.management.intercept.OrderServiceException
;
import
cn.freemud.management.intercept.OrderServiceException
;
import
cn.freemud.management.service.OrderBaseService
;
import
cn.freemud.management.service.OrderBaseService
;
import
cn.freemud.management.service.OrderManagerService
;
import
cn.freemud.management.service.OrderManagerService
;
...
@@ -15,7 +15,6 @@ import cn.freemud.management.service.handle.*;
...
@@ -15,7 +15,6 @@ import cn.freemud.management.service.handle.*;
import
cn.freemud.management.thirdparty.ConsoleApiClient
;
import
cn.freemud.management.thirdparty.ConsoleApiClient
;
import
cn.freemud.management.thirdparty.OrderCallbackClient
;
import
cn.freemud.management.thirdparty.OrderCallbackClient
;
import
cn.freemud.management.util.ResponseUtil
;
import
cn.freemud.management.util.ResponseUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.freemud.application.sdk.api.log.ApiLog
;
import
com.freemud.application.sdk.api.log.ApiLog
;
import
com.freemud.application.sdk.api.log.LogThreadLocal
;
import
com.freemud.application.sdk.api.log.LogThreadLocal
;
...
@@ -28,14 +27,13 @@ import com.freemud.application.sdk.api.ordercenter.enums.orderv1.OrderStatusV1;
...
@@ -28,14 +27,13 @@ import com.freemud.application.sdk.api.ordercenter.enums.orderv1.OrderStatusV1;
import
com.freemud.application.sdk.api.ordercenter.request.OrderCancelReq
;
import
com.freemud.application.sdk.api.ordercenter.request.OrderCancelReq
;
import
com.freemud.application.sdk.api.ordercenter.request.OrderExpressReq
;
import
com.freemud.application.sdk.api.ordercenter.request.OrderExpressReq
;
import
com.freemud.application.sdk.api.ordercenter.request.OrderExtInfoDto
;
import
com.freemud.application.sdk.api.ordercenter.request.OrderExtInfoDto
;
import
com.freemud.application.sdk.api.ordercenter.request.OrderExtendedReq
;
import
com.freemud.application.sdk.api.ordercenter.response.OrderBaseResp
;
import
com.freemud.application.sdk.api.ordercenter.response.OrderBaseResp
;
import
com.freemud.application.sdk.api.ordercenter.service.OrderSdkService
;
import
com.freemud.application.sdk.api.ordercenter.service.OrderSdkService
;
import
com.freemud.application.sdk.api.ordercenter.util.LogUtil
;
import
com.freemud.application.sdk.api.service.EmailAlertService
;
import
com.freemud.application.sdk.api.service.EmailAlertService
;
import
com.freemud.application.sdk.api.storecenter.service.StoreCenterService
;
import
com.freemud.application.sdk.api.storecenter.service.StoreCenterService
;
import
com.freemud.sdk.api.assortment.order.enums.PayRefundStatus
;
import
com.freemud.sdk.api.assortment.order.enums.PayRefundStatus
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.io.ByteOrderMark
;
import
org.apache.commons.lang.ObjectUtils
;
import
org.apache.commons.lang.ObjectUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
@@ -246,7 +244,14 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
...
@@ -246,7 +244,14 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
if
(
null
!=
orderBean
.
getOrderPayItem
()
&&
orderBean
.
getOrderPayItem
().
size
()>
0
){
if
(
null
!=
orderBean
.
getOrderPayItem
()
&&
orderBean
.
getOrderPayItem
().
size
()>
0
){
refundResponse
=
paymentHandle
.
multiRefund
(
orderBean
);
refundResponse
=
paymentHandle
.
multiRefund
(
orderBean
);
}
else
{
}
else
{
refundResponse
=
paymentHandle
.
refund
(
request
,
orderBean
);
OrderExtendedReq
ext
=
orderBean
.
getOrderExtended
();
if
(
StringUtils
.
isNotBlank
(
ext
.
getAgentPayerId
())
&&
!
Objects
.
equals
(
ext
.
getAgentPayerId
(),
orderBean
.
getUserId
()))
{
//代付人信息不为空 并且和订单创建人不一样,表示代付单
refundResponse
=
paymentHandle
.
agentPayRefund
(
request
,
orderBean
);
}
else
{
//正常订单现金退款
refundResponse
=
paymentHandle
.
refund
(
request
,
orderBean
);
}
}
}
}
catch
(
OrderServiceException
orderEx
){
// 爱马哥兼容,不抛错
}
catch
(
OrderServiceException
orderEx
){
// 爱马哥兼容,不抛错
return
ResponseUtil
.
error
(
orderEx
.
getResult
());
return
ResponseUtil
.
error
(
orderEx
.
getResult
());
...
...
order-management/src/main/java/cn/freemud/management/thirdparty/MulitiPaymentClient.java
View file @
bfe3d675
...
@@ -17,6 +17,10 @@ import cn.freemud.management.annotations.LogIgnoreFeign;
...
@@ -17,6 +17,10 @@ import cn.freemud.management.annotations.LogIgnoreFeign;
import
cn.freemud.management.constant.ResponseCodeConstant
;
import
cn.freemud.management.constant.ResponseCodeConstant
;
import
cn.freemud.management.constant.ResponseCodeKeyConstant
;
import
cn.freemud.management.constant.ResponseCodeKeyConstant
;
import
cn.freemud.management.entities.dto.request.BatchOrderRefundV2Request
;
import
cn.freemud.management.entities.dto.request.BatchOrderRefundV2Request
;
import
cn.freemud.management.entities.dto.request.pay.AgentPayQueryReq
;
import
cn.freemud.management.entities.dto.request.pay.AgentPayRefundReq
;
import
cn.freemud.management.entities.dto.response.pay.AgentPayQueryResp
;
import
cn.freemud.management.entities.dto.response.pay.AgentPayRefundResp
;
import
cn.freemud.management.entities.dto.response.pay.PayBatchRefundResponse
;
import
cn.freemud.management.entities.dto.response.pay.PayBatchRefundResponse
;
import
com.freemud.sdk.api.assortment.order.request.order.MultiOrderRefundRequest
;
import
com.freemud.sdk.api.assortment.order.request.order.MultiOrderRefundRequest
;
import
com.freemud.sdk.api.assortment.order.response.order.MultiOrderRefundResponse
;
import
com.freemud.sdk.api.assortment.order.response.order.MultiOrderRefundResponse
;
...
@@ -42,4 +46,19 @@ public interface MulitiPaymentClient {
...
@@ -42,4 +46,19 @@ public interface MulitiPaymentClient {
@PostMapping
(
"/payment/application/batch/refund"
)
@PostMapping
(
"/payment/application/batch/refund"
)
@LogIgnoreFeign
(
excludeStatusCodes
=
{
ResponseCodeConstant
.
RESPONSE_SUCCESS_STR
},
messageFieldName
=
ResponseCodeKeyConstant
.
MSG
,
printLog
=
true
)
@LogIgnoreFeign
(
excludeStatusCodes
=
{
ResponseCodeConstant
.
RESPONSE_SUCCESS_STR
},
messageFieldName
=
ResponseCodeKeyConstant
.
MSG
,
printLog
=
true
)
PayBatchRefundResponse
batchRefund
(
BatchOrderRefundV2Request
batchOrderRefundV2Request
);
PayBatchRefundResponse
batchRefund
(
BatchOrderRefundV2Request
batchOrderRefundV2Request
);
/**
* 代付退款
*/
@PostMapping
(
"/payment/application/agentRefund"
)
@LogIgnoreFeign
(
excludeStatusCodes
=
{
ResponseCodeConstant
.
RESPONSE_SUCCESS_STR
},
messageFieldName
=
ResponseCodeKeyConstant
.
MSG
,
printLog
=
true
)
AgentPayRefundResp
agentPayRefund
(
AgentPayRefundReq
req
);
/**
* 代付查询
*/
@PostMapping
(
"/payment/application/agentQuery"
)
@LogIgnoreFeign
(
excludeStatusCodes
=
{
ResponseCodeConstant
.
RESPONSE_SUCCESS_STR
},
messageFieldName
=
ResponseCodeKeyConstant
.
MSG
,
printLog
=
true
)
AgentPayQueryResp
agentPayQuery
(
AgentPayQueryReq
req
);
}
}
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/adapter/OrderCenterSdkAdapter.java
View file @
bfe3d675
...
@@ -696,6 +696,8 @@ public class OrderCenterSdkAdapter {
...
@@ -696,6 +696,8 @@ public class OrderCenterSdkAdapter {
.
spellGroupCode
(
orderExtended
.
getSpellGroupCode
())
.
spellGroupCode
(
orderExtended
.
getSpellGroupCode
())
.
userPhone
(
orderExtended
.
getUserPhone
())
.
userPhone
(
orderExtended
.
getUserPhone
())
.
sendWord
(
orderExtended
.
getSendWord
())
.
sendWord
(
orderExtended
.
getSendWord
())
.
agentPayerId
(
orderExtended
.
getAgentPayerId
())
.
agentPayerName
(
orderExtended
.
getAgentPayerName
())
.
build
();
.
build
();
}
}
...
...
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/request/OrderExtendedReq.java
View file @
bfe3d675
...
@@ -48,15 +48,18 @@ public class OrderExtendedReq {
...
@@ -48,15 +48,18 @@ public class OrderExtendedReq {
*/
*/
private
String
sendWord
;
private
String
sendWord
;
/**
* 代付人userId
*/
private
String
agentPayerId
;
/**
* 代付人用户名称
*/
private
String
agentPayerName
;
public
OrderExtendedReq
()
{
public
OrderExtendedReq
()
{
}
public
OrderExtendedReq
(
String
orderClientGroup
,
String
orderClientGroupCode
,
String
storeNameEn
,
String
spellGroupCode
,
String
userPhone
,
String
sendWord
)
{
this
.
orderClientGroup
=
orderClientGroup
;
this
.
orderClientGroupCode
=
orderClientGroupCode
;
this
.
storeNameEn
=
storeNameEn
;
this
.
spellGroupCode
=
spellGroupCode
;
this
.
userPhone
=
userPhone
;
this
.
sendWord
=
sendWord
;
}
}
}
}
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