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
1866e737
Commit
1866e737
authored
Apr 20, 2021
by
王世昌
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
批量退款
parent
70c5c72b
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
207 additions
and
24 deletions
+207
-24
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/request/order/BatchOrderRefundV2Request.java
+62
-0
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/request/order/CancelOrderRequest.java
+4
-0
order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
+21
-0
order-application-service/src/main/java/cn/freemud/entities/dto/promotion/GroupWorkQueryRequest.java
+3
-0
order-application-service/src/main/java/cn/freemud/entities/vo/AfterSalesOrderExtInfoVo.java
+0
-15
order-application-service/src/main/java/cn/freemud/entities/vo/SpellGroupBatchOrderRefundVo.java
+42
-0
order-application-service/src/main/java/cn/freemud/entities/vo/SpellGroupFailRefundVo.java
+8
-5
order-application-service/src/main/java/cn/freemud/enums/RefundReasonEnum.java
+29
-0
order-application-service/src/main/java/cn/freemud/service/impl/MallOrderServiceImpl.java
+5
-4
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
+0
-0
order-application-service/src/main/java/cn/freemud/service/thirdparty/PaymentNewClient.java
+8
-0
order-management/src/main/java/cn/freemud/management/entities/dto/response/pay/PayBatchRefundResponse.java
+25
-0
No files found.
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/request/order/BatchOrderRefundV2Request.java
0 → 100644
View file @
1866e737
package
com
.
freemud
.
sdk
.
api
.
assortment
.
order
.
request
.
order
;
import
lombok.Data
;
import
lombok.ToString
;
import
java.util.List
;
@Data
public
class
BatchOrderRefundV2Request
{
/**
* 退款订单列表信息
*/
private
List
<
BatchOrderRefundItem
>
batchSubRefundRequest
;
/**
* 退款回调地址
*/
private
String
notifyUrl
;
/**
* 商户编号(由非码提供)
*/
private
String
partnerId
;
/**
* 商家门店号(在线支付需要提前定义)
*/
private
String
storeId
;
/**
* 商家POS机编号(可以使用固定值)
*/
private
String
stationId
;
/**
* 接口版本,必须为2
*/
private
String
ver
;
/**
* 退款订单信息
*/
@Data
public
static
class
BatchOrderRefundItem
{
/**
* 非码订单号
*/
private
String
fmId
;
/**
* 外部交易流水号,由上游系统生成,需保证唯一(支付标识)
*/
private
String
frontTransId
;
/**
* 退款金额
*/
private
Long
refundAmount
;
}
}
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/request/order/CancelOrderRequest.java
View file @
1866e737
...
@@ -89,5 +89,9 @@ public class CancelOrderRequest extends BaseConfig {
...
@@ -89,5 +89,9 @@ public class CancelOrderRequest extends BaseConfig {
* 微商城退款方式
* 微商城退款方式
*/
*/
private
Byte
refundMode
;
private
Byte
refundMode
;
/**
* 拼团订单批量退款批次号
*/
private
Long
batchRefundId
;
}
}
}
}
order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
View file @
1866e737
...
@@ -4166,4 +4166,25 @@ public class OrderAdapter {
...
@@ -4166,4 +4166,25 @@ public class OrderAdapter {
}
}
return
payTurnoffRefund
;
return
payTurnoffRefund
;
}
}
public
BatchOrderRefundV2Request
getBatchOrderRefundV2Request
(
List
<
QueryOrdersResponseDto
.
DataBean
.
OrderBean
>
orderBeans
,
String
partnerId
,
String
storeId
)
{
BatchOrderRefundV2Request
orderPayRefundRequest
=
new
BatchOrderRefundV2Request
();
// 请自行过滤金额为0的订单
List
<
BatchOrderRefundV2Request
.
BatchOrderRefundItem
>
items
=
orderBeans
.
stream
().
map
(
orderBean
->{
BatchOrderRefundV2Request
.
BatchOrderRefundItem
item
=
new
BatchOrderRefundV2Request
.
BatchOrderRefundItem
();
item
.
setFmId
(
orderBean
.
getPayVoucher
());
// TODO 暂时不考虑第三方订单
item
.
setFrontTransId
(
orderBean
.
getOid
());
item
.
setRefundAmount
(
orderBean
.
getAmount
());
return
item
;
}).
collect
(
Collectors
.
toList
());
orderPayRefundRequest
.
setBatchSubRefundRequest
(
items
);
orderPayRefundRequest
.
setPartnerId
(
partnerId
);
orderPayRefundRequest
.
setStoreId
(
storeId
);
orderPayRefundRequest
.
setVer
(
"2"
);
orderPayRefundRequest
.
setStationId
(
"001"
);
orderPayRefundRequest
.
setNotifyUrl
(
refundNotifyCallback
);
return
orderPayRefundRequest
;
}
}
}
order-application-service/src/main/java/cn/freemud/entities/dto/promotion/GroupWorkQueryRequest.java
View file @
1866e737
package
cn
.
freemud
.
entities
.
dto
.
promotion
;
package
cn
.
freemud
.
entities
.
dto
.
promotion
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
/**
* @author wanghanghang
* @author wanghanghang
...
...
order-application-service/src/main/java/cn/freemud/entities/vo/AfterSalesOrderExtInfoVo.java
deleted
100644 → 0
View file @
70c5c72b
package
cn
.
freemud
.
entities
.
vo
;
import
lombok.Data
;
/**
* 售后单拓展信息
*/
@Data
public
class
AfterSalesOrderExtInfoVo
{
/**
* 微商城退款方式
*/
private
Byte
refundMode
;
}
order-application-service/src/main/java/cn/freemud/entities/vo/SpellGroupBatchOrderRefundVo.java
0 → 100644
View file @
1866e737
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @Title: GetProductVo
* @Package cn.freemud.entities.vo
* @Description:
* @author: liming.guo
* @date: 2018/5/16 17:35
* @version V1.0
* @Copyright: 2018 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
package
cn
.
freemud
.
entities
.
vo
;
import
cn.freemud.enums.RefundModeEnum
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
org.hibernate.validator.constraints.NotEmpty
;
/**
* 拼团批量退款申请
*
* @author shichang.wang 2021/4/20
*/
@Data
public
class
SpellGroupBatchOrderRefundVo
{
private
String
partnerId
;
private
String
storeId
;
/**
* 退款方式
*/
private
Byte
refundMode
;
private
String
reason
;
private
String
remarks
;
}
order-application-service/src/main/java/cn/freemud/entities/vo/SpellGroupFailRefundVo.java
View file @
1866e737
...
@@ -12,6 +12,7 @@
...
@@ -12,6 +12,7 @@
*/
*/
package
cn
.
freemud
.
entities
.
vo
;
package
cn
.
freemud
.
entities
.
vo
;
import
cn.freemud.enums.RefundReasonEnum
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.Data
;
...
@@ -35,18 +36,20 @@ public class SpellGroupFailRefundVo {
...
@@ -35,18 +36,20 @@ public class SpellGroupFailRefundVo {
/**
/**
* 原因
* 取消原因
* {@link cn.freemud.enums.RefundReasonEnum#Other}
* {@link cn.freemud.enums.RefundReasonEnum#SPELL_GROUP_FAIL_TIME_OUT}
* {@link cn.freemud.enums.RefundReasonEnum#SPELL_GROUP_FAIL_SPONSOR_CANCEL}
*/
*/
@ApiModelProperty
(
"原因"
)
@ApiModelProperty
(
value
=
"取消原因"
,
notes
=
"取消原因"
+
RefundReasonEnum
.
SPELL_GROUP_FAIL_API_DOC
)
private
String
reason
;
private
Integer
reason
;
/**
/**
*
物流单号
*
订单号列表
*/
*/
@NotEmpty
(
message
=
"订单号列表 不能为空"
)
@NotEmpty
(
message
=
"订单号列表 不能为空"
)
@ApiModelProperty
(
"订单号列表"
)
@ApiModelProperty
(
"订单号列表"
)
private
List
<
String
>
orderCodeList
;
private
List
<
String
>
orderCodeList
;
}
}
order-application-service/src/main/java/cn/freemud/enums/RefundReasonEnum.java
View file @
1866e737
package
cn
.
freemud
.
enums
;
package
cn
.
freemud
.
enums
;
import
java.util.Arrays
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
import
java.util.stream.Stream
;
/**
/**
* All rights Reserved, Designed By www.freemud.cn
* All rights Reserved, Designed By www.freemud.cn
*
*
...
@@ -21,6 +26,9 @@ public enum RefundReasonEnum {
...
@@ -21,6 +26,9 @@ public enum RefundReasonEnum {
Misdelivery_Leakage_of_Goods
(
5
,
"商品送错送漏"
),
Misdelivery_Leakage_of_Goods
(
5
,
"商品送错送漏"
),
Riders_confirm_service_ahead_of_schedule
(
6
,
"骑手提前点确认送达"
),
Riders_confirm_service_ahead_of_schedule
(
6
,
"骑手提前点确认送达"
),
SPELL_GROUP_FAIL_TIME_OUT
(
10
,
"拼团超时取消"
),
SPELL_GROUP_FAIL_SPONSOR_CANCEL
(
11
,
"团长取消"
),
;
;
...
@@ -47,4 +55,25 @@ public enum RefundReasonEnum {
...
@@ -47,4 +55,25 @@ public enum RefundReasonEnum {
public
void
setDesc
(
String
desc
)
{
public
void
setDesc
(
String
desc
)
{
this
.
desc
=
desc
;
this
.
desc
=
desc
;
}
}
public
static
final
String
SPELL_GROUP_FAIL_API_DOC
=
"微商城拼团失败原因 1:其他 10:拼团超时取消 11:团长取消"
;
private
static
class
EnumCacheHolder
{
private
static
final
Map
<
Integer
,
RefundReasonEnum
>
CACHE
;
private
static
final
Map
<
Integer
,
RefundReasonEnum
>
SPELL_GROUP_FAIL_CACHE
;
static
{
CACHE
=
Arrays
.
stream
(
RefundReasonEnum
.
values
()).
collect
(
Collectors
.
toMap
(
RefundReasonEnum:
:
getCode
,
v
->
v
));
SPELL_GROUP_FAIL_CACHE
=
Stream
.
of
(
Other
,
SPELL_GROUP_FAIL_TIME_OUT
,
SPELL_GROUP_FAIL_SPONSOR_CANCEL
).
collect
(
Collectors
.
toMap
(
RefundReasonEnum:
:
getCode
,
v
->
v
));
}
}
public
static
RefundReasonEnum
getByIndex
(
Integer
index
)
{
return
EnumCacheHolder
.
CACHE
.
get
(
index
);
}
public
static
RefundReasonEnum
getSpellGroupReasonByIndex
(
Integer
index
)
{
return
EnumCacheHolder
.
SPELL_GROUP_FAIL_CACHE
.
get
(
index
);
}
}
}
order-application-service/src/main/java/cn/freemud/service/impl/MallOrderServiceImpl.java
View file @
1866e737
...
@@ -840,23 +840,24 @@ public class MallOrderServiceImpl implements MallOrderService {
...
@@ -840,23 +840,24 @@ public class MallOrderServiceImpl implements MallOrderService {
}
}
// 是否为 退款退货方式
// 是否为 退款退货方式
AfterSalesOrderExtInfoVo
afterSalesOrderExtInfoVo
=
getAfterSalesOrderExtInfoVo
(
afterSalesOrderResp
);
CancelOrderRequest
.
AfterSalesOrderExtInfoReq
afterSalesOrderExtInfoVo
=
getAfterSalesOrderExtInfoVo
(
afterSalesOrderResp
);
log
.
debug
(
"售后单信息方式为:{}"
,
afterSalesOrderResp
);
log
.
debug
(
"售后单信息方式为:{}"
,
afterSalesOrderResp
);
if
(
Objects
.
isNull
(
afterSalesOrderExtInfoVo
)
||
!
Objects
.
equals
(
RefundModeEnum
.
REFUND_ALL
.
getIndex
(),
afterSalesOrderExtInfoVo
.
getRefundMode
()))
{
if
(
Objects
.
isNull
(
afterSalesOrderExtInfoVo
)
||
!
Objects
.
equals
(
RefundModeEnum
.
REFUND_ALL
.
getIndex
(),
afterSalesOrderExtInfoVo
.
getRefundMode
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_REFUND_EXPRESS_ERROR
.
getCode
(),
"当前退款方式无需填写"
);
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_REFUND_EXPRESS_ERROR
.
getCode
(),
"当前退款方式无需填写"
);
}
}
return
ResponseUtil
.
success
();
return
ResponseUtil
.
success
();
}
}
private
AfterSalesOrderExtInfoVo
getAfterSalesOrderExtInfoVo
(
AfterSalesOrderResp
afterSalesOrderResp
)
{
private
CancelOrderRequest
.
AfterSalesOrderExtInfoReq
getAfterSalesOrderExtInfoVo
(
AfterSalesOrderResp
afterSalesOrderResp
)
{
if
(
afterSalesOrderResp
==
null
)
{
if
(
afterSalesOrderResp
==
null
)
{
return
null
;
return
null
;
}
}
AfterSalesOrderExtInfoVo
afterSalesOrderExtInfoVo
=
null
;
CancelOrderRequest
.
AfterSalesOrderExtInfoReq
afterSalesOrderExtInfoVo
=
null
;
try
{
try
{
afterSalesOrderExtInfoVo
=
JSON
.
parseObject
(
afterSalesOrderResp
.
getExtInfo
(),
new
com
.
alibaba
.
fastjson
.
TypeReference
<
AfterSalesOrderExtInfoVo
>()
{
afterSalesOrderExtInfoVo
=
JSON
.
parseObject
(
afterSalesOrderResp
.
getExtInfo
(),
new
com
.
alibaba
.
fastjson
.
TypeReference
<
CancelOrderRequest
.
AfterSalesOrderExtInfoReq
>()
{
}.
getType
());
}.
getType
());
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
log
.
error
(
"解析售后单 extInfo 失败"
);
log
.
error
(
"解析售后单 extInfo 失败"
);
...
...
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
View file @
1866e737
This diff is collapsed.
Click to expand it.
order-application-service/src/main/java/cn/freemud/service/thirdparty/PaymentNewClient.java
View file @
1866e737
...
@@ -2,6 +2,8 @@ package cn.freemud.service.thirdparty;
...
@@ -2,6 +2,8 @@ package cn.freemud.service.thirdparty;
import
cn.freemud.entities.dto.order.FacePayRequestDto
;
import
cn.freemud.entities.dto.order.FacePayRequestDto
;
import
cn.freemud.entities.dto.order.FacePayResponseDto
;
import
cn.freemud.entities.dto.order.FacePayResponseDto
;
import
cn.freemud.management.entities.dto.response.pay.PayBatchRefundResponse
;
import
com.freemud.sdk.api.assortment.order.request.order.BatchOrderRefundV2Request
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestBody
;
...
@@ -29,4 +31,10 @@ public interface PaymentNewClient {
...
@@ -29,4 +31,10 @@ public interface PaymentNewClient {
@PostMapping
(
"paymentcenter/facePay"
)
@PostMapping
(
"paymentcenter/facePay"
)
com
.
freemud
.
application
.
sdk
.
api
.
base
.
BaseResponse
<
FacePayResponseDto
>
facePay
(
@RequestBody
FacePayRequestDto
orderPayDto
);
com
.
freemud
.
application
.
sdk
.
api
.
base
.
BaseResponse
<
FacePayResponseDto
>
facePay
(
@RequestBody
FacePayRequestDto
orderPayDto
);
/**
* 批量支付退款
*/
@PostMapping
(
"/payment/application/batch/refund"
)
PayBatchRefundResponse
batchRefund
(
BatchOrderRefundV2Request
batchOrderRefundV2Request
);
}
}
order-management/src/main/java/cn/freemud/management/entities/dto/response/pay/PayBatchRefundResponse.java
0 → 100644
View file @
1866e737
package
cn
.
freemud
.
management
.
entities
.
dto
.
response
.
pay
;
import
lombok.Data
;
/**
* 批量退款
* @author shichang.wang 2021/4/20
*/
@Data
public
class
PayBatchRefundResponse
{
private
int
code
;
private
BatchRefundBatchIdData
data
;
private
String
msg
;
@Data
public
static
class
BatchRefundBatchIdData
{
/**
* 退款批次号
*/
private
Long
batchId
;
}
}
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