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
6ef434ed
Commit
6ef434ed
authored
Jan 09, 2023
by
咸鱼
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
还原部分退功能走老接口
parent
c9a3c653
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
25 additions
and
157 deletions
+25
-157
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/request/order/CancelOrderRequest.java
+13
-0
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/request/order/V2CancelOrderRequest.java
+0
-90
order-application-service/src/main/java/cn/freemud/adapter/CancelOrderRequestAdapter.java
+7
-1
order-application-service/src/main/java/cn/freemud/adapter/V2CancelOrderRequestAdapter.java
+0
-49
order-application-service/src/main/java/cn/freemud/service/RefundService.java
+5
-11
order-application-service/src/main/java/cn/freemud/service/thirdparty/OrderServiceClient.java
+0
-6
No files found.
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/request/order/CancelOrderRequest.java
View file @
6ef434ed
...
...
@@ -19,6 +19,8 @@ import lombok.Builder;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.math.BigDecimal
;
@Data
public
class
CancelOrderRequest
extends
BaseConfig
{
...
...
@@ -73,6 +75,17 @@ public class CancelOrderRequest extends BaseConfig {
@Builder
.
Default
private
boolean
isRefundDeliveryAmount
=
true
;
/**
* 部分退申请金额
*/
private
BigDecimal
reqAmount
;
/**
* 是否部分退,默认否(全退)
*/
@Builder
.
Default
private
boolean
isPartRefund
=
false
;
//用户预约时间,仅为预约单时存放
private
String
expectTime
;
...
...
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/request/order/V2CancelOrderRequest.java
deleted
100644 → 0
View file @
c9a3c653
package
com
.
freemud
.
sdk
.
api
.
assortment
.
order
.
request
.
order
;
import
com.freemud.application.sdk.api.ordercenter.request.create.OrderTaskReq
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Builder
;
import
lombok.Data
;
import
org.hibernate.validator.constraints.Range
;
import
javax.validation.constraints.NotNull
;
import
java.math.BigDecimal
;
@Data
public
class
V2CancelOrderRequest
{
@ApiModelProperty
(
value
=
"商户号"
,
required
=
true
)
@NotNull
private
String
partnerId
;
@ApiModelProperty
(
value
=
"操作人"
)
private
String
operator
;
@ApiModelProperty
(
value
=
"订单编号,与thirdOrderCode二选一,如果orderCode为null则使用thirdOrderCode查询订单"
)
private
String
orderCode
;
@ApiModelProperty
(
value
=
"第三方订单编码,与orderCode二选一,三平台订单号,例如百度、饿了么、美团"
)
private
String
thirdOrderCode
;
@NotNull
(
message
=
"下单渠道不能为空"
)
@Range
(
min
=
1
,
max
=
127
)
private
Byte
orderClient
;
@ApiModelProperty
(
value
=
"退的配送费,单位:分"
)
private
BigDecimal
deliveryAmount
;
@ApiModelProperty
(
value
=
"售后原因"
)
private
String
afterSalesReason
;
@ApiModelProperty
(
value
=
"取消原因"
,
hidden
=
true
)
private
String
cancelReason
;
@ApiModelProperty
(
value
=
"申请说明"
)
private
String
reqRemark
=
""
;
@ApiModelProperty
(
value
=
"从创建售后单开始计时,超时完成的时间(单位:分钟),超时后通知。若不需要通知,则不填写。"
)
private
Integer
timeout
;
@ApiModelProperty
(
value
=
"订单定时任务"
)
private
OrderTaskReq
orderTask
;
/**
* 操作来源客户端
*/
@ApiModelProperty
(
value
=
"操作来源客户端 1:POS插件 2:小助手 3:开放平台 4:自动任务 5:用户端 6:系统 7:万象 8:太一"
)
private
Byte
operationClient
;
/**
* 售后退款状态
*/
@ApiModelProperty
(
value
=
"售后退款状态 0:未定义(存量数据) 1:未退款 2:退款中 3:退款失败 4:已退款"
)
private
Byte
refundState
;
/**
* 退款失败原因
*/
@ApiModelProperty
(
value
=
"退款失败原因"
)
private
String
refundFailReason
;
@ApiModelProperty
(
value
=
"售后单类型"
,
required
=
true
)
@NotNull
private
Byte
afterSalesType
;
@ApiModelProperty
(
value
=
"是否退配送费,默认值:是"
)
@Builder
.
Default
private
boolean
isRefundDeliveryAmount
=
true
;
@ApiModelProperty
(
value
=
"申请金额,单位分,如果是全部退款,并且传递null,则自动填入 订单用户需支付金额"
,
required
=
true
)
private
BigDecimal
reqAmount
;
@ApiModelProperty
(
value
=
"若为null,默认只做【创建】,售后单状态为【待处理】\n"
+
"若为2,默认做【创建】+【审核通过】,售后单状态为【退货中】\n"
+
"若为5,默认做【创建】+【同意并退货完成】,售后单状态【已退货】\n"
+
"若为4,默认做【创建】+【同意并退款完成】,售后单状态为【完成】"
)
private
Byte
createEvent
;
@ApiModelProperty
(
value
=
"扩展字段"
)
private
String
extInfo
=
"{}"
;
@ApiModelProperty
(
value
=
"订单是否需要挂起,默认挂起"
)
private
boolean
suspended
=
true
;
}
order-application-service/src/main/java/cn/freemud/adapter/CancelOrderRequestAdapter.java
View file @
6ef434ed
...
...
@@ -8,6 +8,8 @@ import com.freemud.sdk.api.assortment.order.enums.OperationClientEnum;
import
com.freemud.sdk.api.assortment.order.request.order.CancelOrderRequest
;
import
org.apache.commons.lang.StringUtils
;
import
java.math.BigDecimal
;
/**
* @author Clover.z
* @version 1.0.0
...
...
@@ -15,7 +17,7 @@ import org.apache.commons.lang.StringUtils;
*/
public
class
CancelOrderRequestAdapter
{
public
static
CancelOrderRequest
convert
(
OrderInfoReqs
order
,
String
refundId
,
AfterSalesType
afterSalesType
,
String
reason
,
String
remark
,
Boolean
refundDeliveryFee
,
Byte
refundMode
)
{
public
static
CancelOrderRequest
convert
(
OrderInfoReqs
order
,
String
refundId
,
AfterSalesType
afterSalesType
,
Long
refundAmount
,
String
reason
,
String
remark
,
Boolean
refundDeliveryFee
,
Byte
refundMode
)
{
CancelOrderRequest
req
=
new
CancelOrderRequest
();
req
.
setOrderId
(
order
.
getOrderCode
());
req
.
setPartnerId
(
order
.
getPartnerId
());
...
...
@@ -27,6 +29,10 @@ public class CancelOrderRequestAdapter {
req
.
setReason
(
reason
);
req
.
setTrackingNo
(
LogThreadLocal
.
getTrackingNo
());
req
.
setRefundSerialNo
(
refundId
);
req
.
setPartRefund
(
refundAmount
!=
null
);
// 是否部分退
req
.
setReqAmount
(
refundAmount
!=
null
?
new
BigDecimal
(
refundAmount
)
:
null
);
// 退款金额
//操作来源客户端 1:POS插件 2:小助手 3:开放平台 4:自动任务 5:用户端 6:系统 7:万象 8:太一
req
.
setOperationClient
(
OperationClientEnum
.
STATE_5
.
getIndex
());
req
.
setOperator
(
order
.
getUserName
());
...
...
order-application-service/src/main/java/cn/freemud/adapter/V2CancelOrderRequestAdapter.java
deleted
100644 → 0
View file @
c9a3c653
package
cn
.
freemud
.
adapter
;
import
com.alibaba.fastjson.JSON
;
import
com.freemud.application.sdk.api.ordercenter.enums.AfterSalesType
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInfoReqs
;
import
com.freemud.sdk.api.assortment.order.enums.AfterSalesRefunStateEnum
;
import
com.freemud.sdk.api.assortment.order.enums.OperationClientEnum
;
import
com.freemud.sdk.api.assortment.order.request.order.CancelOrderRequest
;
import
com.freemud.sdk.api.assortment.order.request.order.V2CancelOrderRequest
;
import
org.apache.commons.lang.StringUtils
;
import
java.math.BigDecimal
;
public
class
V2CancelOrderRequestAdapter
{
public
static
V2CancelOrderRequest
convert
(
OrderInfoReqs
order
,
Long
refundAmount
,
AfterSalesType
afterSalesType
,
String
reason
,
String
remark
,
Boolean
refundDeliveryFee
,
Byte
refundMode
)
{
V2CancelOrderRequest
req
=
new
V2CancelOrderRequest
();
req
.
setPartnerId
(
order
.
getPartnerId
());
req
.
setOperator
(
order
.
getUserName
());
if
(
AfterSalesType
.
SYSTEM_CANCEL
.
getIndex
().
equals
(
afterSalesType
.
getIndex
()))
{
req
.
setOperator
(
"admin"
);
req
.
setOperationClient
(
OperationClientEnum
.
STATE_6
.
getIndex
().
byteValue
());
}
req
.
setOrderCode
(
order
.
getOrderCode
());
req
.
setReqAmount
(
refundAmount
!=
null
?
new
BigDecimal
(
refundAmount
)
:
null
);
req
.
setOrderClient
(
order
.
getOrderClient
().
byteValue
());
req
.
setOperationClient
(
OperationClientEnum
.
STATE_5
.
getIndex
().
byteValue
());
if
(
StringUtils
.
isNotBlank
(
reason
)
&&
reason
.
length
()
>
50
)
{
reason
=
reason
.
substring
(
0
,
50
);
}
req
.
setAfterSalesReason
(
reason
);
req
.
setCancelReason
(
reason
);
req
.
setReqRemark
(
remark
);
req
.
setAfterSalesType
(
afterSalesType
.
getIndex
().
byteValue
());
// 这里给默认值,外面调用者 自己的根据业务判断退款 状态
req
.
setRefundState
(
AfterSalesRefunStateEnum
.
STATE_1
.
getIndex
().
byteValue
());
req
.
setRefundDeliveryAmount
(
refundDeliveryFee
);
// 商城订单 增加拓展信息
CancelOrderRequest
.
AfterSalesOrderExtInfoReq
ext
=
new
CancelOrderRequest
.
AfterSalesOrderExtInfoReq
();
ext
.
setRefundMode
(
refundMode
);
req
.
setExtInfo
(
JSON
.
toJSONString
(
ext
));
return
req
;
}
}
order-application-service/src/main/java/cn/freemud/service/RefundService.java
View file @
6ef434ed
...
...
@@ -3,8 +3,6 @@ package cn.freemud.service;
import
cn.freemud.adapter.CancelOrderRequestAdapter
;
import
cn.freemud.adapter.MessageNoticeAdapter
;
import
cn.freemud.adapter.OrderPrintDtoAdapter
;
import
cn.freemud.adapter.V2CancelOrderRequestAdapter
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.base.util.DateUtil
;
import
cn.freemud.entities.dto.delivery.QueryFreightRefundSupportedResponse
;
import
cn.freemud.entities.dto.delivery.QueryFreightRefundSupportedVo
;
...
...
@@ -26,7 +24,6 @@ import cn.freemud.service.impl.OrderQueueService;
import
cn.freemud.service.thirdparty.DeliveryFeiginClient
;
import
cn.freemud.service.thirdparty.EcologyAdminApplicationClient
;
import
cn.freemud.service.thirdparty.FMAssistantCloudPrintClient
;
import
cn.freemud.service.thirdparty.OrderServiceClient
;
import
com.alibaba.fastjson.JSON
;
import
com.freemud.api.assortment.datamanager.entity.db.AssortmentCloudPrinter
;
import
com.freemud.api.assortment.datamanager.manager.AssortmentCloudPrinterManager
;
...
...
@@ -44,7 +41,6 @@ import com.freemud.application.sdk.api.structure.service.MessageCenterClient;
import
com.freemud.sdk.api.assortment.order.constant.OrderRedisKeyConstant
;
import
com.freemud.sdk.api.assortment.order.entities.OrderRefundConfigEntity
;
import
com.freemud.sdk.api.assortment.order.request.order.CancelOrderRequest
;
import
com.freemud.sdk.api.assortment.order.request.order.V2CancelOrderRequest
;
import
com.freemud.sdk.api.assortment.order.response.order.BaseOrderResponse
;
import
com.freemud.sdk.api.assortment.order.service.OrderCenterSdkService
;
import
lombok.RequiredArgsConstructor
;
...
...
@@ -81,7 +77,6 @@ public class RefundService {
private
final
FMAssistantCloudPrintClient
fmAssistantCloudPrintClient
;
private
final
OrderManagerAdapter
orderManagerAdapter
;
private
final
OrderVerifyHandle
orderVerifyHandle
;
private
final
OrderServiceClient
orderServiceClient
;
private
OrderInfoReqs
preValidRefund
(
String
partnerId
,
String
orderCode
,
Byte
refundMode
)
{
// 查询订单信息
...
...
@@ -287,7 +282,7 @@ public class RefundService {
}
CancelOrderRequest
req
=
CancelOrderRequestAdapter
.
convert
(
order
,
UUID
.
randomUUID
().
toString
(),
AfterSalesType
.
USER_CANCEL
,
reason
,
remark
,
isRefundDeliveryFee
,
refundMode
);
AfterSalesType
.
USER_CANCEL
,
null
,
reason
,
remark
,
isRefundDeliveryFee
,
refundMode
);
req
.
setRefundState
(
AfterSalesRefunStateEnum
.
STATE_4
.
getIndex
());
if
(
Objects
.
equals
(
PayRefundStatus
.
SUCCESS
.
getCode
(),
state
))
{
//退款成功
...
...
@@ -318,11 +313,10 @@ public class RefundService {
private
void
createAfterSales
(
OrderInfoReqs
order
,
Long
refundAmount
,
String
reason
,
String
remark
,
Boolean
refundDeliveryFee
,
Byte
refundMode
)
{
AfterSalesType
type
=
NewOrderStatus
.
COMPLETE
.
getIndex
().
equals
(
order
.
getOrderState
())
?
AfterSalesType
.
USER_SALE_RETURN
:
AfterSalesType
.
USER_CANCEL
;
V2CancelOrderRequest
req
=
V2CancelOrderRequestAdapter
.
convert
(
order
,
refundAmount
,
type
,
reason
,
remark
,
refundDeliveryFee
,
refundMode
);
BaseResponse
<
Void
>
resp
=
orderServiceClient
.
refundOrder
(
req
);
if
(!
ResponseConstant
.
SUCCESS_RESPONSE_CODE_STR
.
equals
(
resp
.
getCode
()))
{
throw
new
ServiceException
(
ResponseResult
.
ORDER__ERRORREFUND
.
getCode
(),
resp
.
getMessage
());
CancelOrderRequest
req
=
CancelOrderRequestAdapter
.
convert
(
order
,
null
,
type
,
refundAmount
,
reason
,
remark
,
refundDeliveryFee
,
refundMode
);
BaseOrderResponse
resp
=
orderCenterSdkService
.
orderCancel
(
req
);
if
(!
Objects
.
equals
(
resp
.
getErrcode
(),
100
))
{
throw
new
ServiceException
(
ResponseResult
.
ORDER__ERRORREFUND
.
getCode
(),
resp
.
getErrmsg
());
}
// 金额大于0的退款,发送到消息中心推送到pos
...
...
order-application-service/src/main/java/cn/freemud/service/thirdparty/OrderServiceClient.java
View file @
6ef434ed
...
...
@@ -15,7 +15,6 @@ import cn.freemud.entities.dto.pay.QueryInvoiceByCodesRequest;
import
cn.freemud.entities.vo.QueryInvoiceReq
;
import
cn.freemud.entities.vo.QueryRefundFailuresListReq
;
import
cn.freemud.entities.vo.RefundFailuresSuccessfulReq
;
import
com.freemud.sdk.api.assortment.order.request.order.V2CancelOrderRequest
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.http.MediaType
;
import
org.springframework.web.bind.annotation.PostMapping
;
...
...
@@ -90,9 +89,4 @@ public interface OrderServiceClient {
@LogIgnoreFeign
(
logMessage
=
"queryByKeys"
)
@PostMapping
(
value
=
"/order/config/queryByKeys"
)
BaseResponse
<
List
<
QueryByKeysResp
>>
queryByKeys
(
@RequestBody
QueryByKeysReq
req
);
@LogIgnoreFeign
(
logMessage
=
"createInvoice"
)
@PostMapping
(
"/order/v2/cancelPortion"
)
BaseResponse
<
Void
>
refundOrder
(
@RequestBody
V2CancelOrderRequest
v2CancelOrderRequest
);
}
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