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
ac378d25
Commit
ac378d25
authored
Dec 01, 2021
by
周晓航
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feature-券包支持退款ID1039143-zxh' into feature/xukang_20211201_虚拟订单退款
parents
3bdb9f2c
dfb7e3aa
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
218 additions
and
24 deletions
+218
-24
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/service/OrderCenterSdkService.java
+8
-1
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/service/order/OrderCenterSdkServiceImpl.java
+12
-0
order-application-service/src/main/java/cn/freemud/controller/OrderController.java
+11
-13
order-application-service/src/main/java/cn/freemud/enums/BaseOrderStatus.java
+84
-0
order-application-service/src/main/java/cn/freemud/enums/OrderStatus.java
+11
-0
order-application-service/src/main/java/cn/freemud/service/Orderservice.java
+6
-0
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
+86
-10
No files found.
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/service/OrderCenterSdkService.java
View file @
ac378d25
...
@@ -5,7 +5,7 @@ import com.freemud.application.sdk.api.ordercenter.request.OrderModifyRelatingCo
...
@@ -5,7 +5,7 @@ import com.freemud.application.sdk.api.ordercenter.request.OrderModifyRelatingCo
import
com.freemud.application.sdk.api.ordercenter.request.QueryAfterSalesOrderConditionsReq
;
import
com.freemud.application.sdk.api.ordercenter.request.QueryAfterSalesOrderConditionsReq
;
import
com.freemud.application.sdk.api.ordercenter.request.QueryLineUpOrderReq
;
import
com.freemud.application.sdk.api.ordercenter.request.QueryLineUpOrderReq
;
import
com.freemud.application.sdk.api.ordercenter.response.AfterSalesListResp
;
import
com.freemud.application.sdk.api.ordercenter.response.AfterSalesListResp
;
//import com.freemud.application.sdk.api.ordercenter.response.OrderStateInfoResp
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.QueryByCodeResponse
;
import
com.freemud.sdk.api.assortment.order.request.order.*
;
import
com.freemud.sdk.api.assortment.order.request.order.*
;
import
com.freemud.sdk.api.assortment.order.response.order.*
;
import
com.freemud.sdk.api.assortment.order.response.order.*
;
...
@@ -420,4 +420,11 @@ public interface OrderCenterSdkService {
...
@@ -420,4 +420,11 @@ public interface OrderCenterSdkService {
* 小助手日结统计订单信息查询(分页,从库查询)
* 小助手日结统计订单信息查询(分页,从库查询)
*/
*/
QueryOrdersResponse
getOrderListByDb
(
QueryOrdersByConditionsRequest
queryOrdersByConditionsRequest
);
QueryOrdersResponse
getOrderListByDb
(
QueryOrdersByConditionsRequest
queryOrdersByConditionsRequest
);
/**
* 查询订单信息 基于基础服务
* @param baseQueryOrderRequest
* @return
*/
QueryByCodeResponse
queryOrderByIdV2
(
BaseQueryOrderRequest
baseQueryOrderRequest
);
}
}
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/service/order/OrderCenterSdkServiceImpl.java
View file @
ac378d25
...
@@ -2358,4 +2358,16 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
...
@@ -2358,4 +2358,16 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
return
orderSdkAdapter
.
convent2OrdersResponseByES
(
baseDownLoadResponse
);
return
orderSdkAdapter
.
convent2OrdersResponseByES
(
baseDownLoadResponse
);
}
}
/**
* 查询订单信息 基于基础服务
* @param request
* @return
*/
@Override
public
QueryByCodeResponse
queryOrderByIdV2
(
BaseQueryOrderRequest
request
)
{
QueryByCodeResponse
orderInfo
=
orderSdkService
.
getOrderInfo
(
request
.
getOrderClient
(),
request
.
getOrderId
(),
request
.
getThirdOrderCode
(),
request
.
getWithOperationHistory
(),
request
.
getTrackingNo
());
return
orderInfo
;
}
}
}
order-application-service/src/main/java/cn/freemud/controller/OrderController.java
View file @
ac378d25
...
@@ -20,14 +20,8 @@ import cn.freemud.entities.dto.order.OrderInvoiceConfigVo;
...
@@ -20,14 +20,8 @@ import cn.freemud.entities.dto.order.OrderInvoiceConfigVo;
import
cn.freemud.entities.vo.*
;
import
cn.freemud.entities.vo.*
;
import
cn.freemud.entities.vo.encircle.CreateReserveOrderVo
;
import
cn.freemud.entities.vo.encircle.CreateReserveOrderVo
;
import
cn.freemud.entities.vo.encircle.EncircleReserveBaseVo
;
import
cn.freemud.entities.vo.encircle.EncircleReserveBaseVo
;
import
cn.freemud.entities.vo.order.CreateCashierOrderVo
;
import
cn.freemud.entities.vo.order.*
;
import
cn.freemud.entities.vo.order.CreateOrderInvoiceRequest
;
import
cn.freemud.entities.vo.order.GetInvoiceConfigRequest
;
import
cn.freemud.entities.vo.order.OrderAppealVo
;
import
cn.freemud.entities.vo.order.PaymentConfigVo
;
import
cn.freemud.handler.OrderReportJobHandler
;
import
cn.freemud.handler.OrderReportJobHandler
;
import
cn.freemud.handler.WeChatLiveMsgHandle
;
import
cn.freemud.monitorcenter.tools.HealthUtil
;
import
cn.freemud.service.EncircleOrderService
;
import
cn.freemud.service.EncircleOrderService
;
import
cn.freemud.service.Orderservice
;
import
cn.freemud.service.Orderservice
;
import
cn.freemud.service.PointsMallOrderService
;
import
cn.freemud.service.PointsMallOrderService
;
...
@@ -38,12 +32,6 @@ import cn.freemud.utils.ResponseUtil;
...
@@ -38,12 +32,6 @@ import cn.freemud.utils.ResponseUtil;
import
cn.freemud.xxljob.OrderCountJobHandler
;
import
cn.freemud.xxljob.OrderCountJobHandler
;
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.thirdparty.wechat.WeChatClient
;
import
com.freemud.thirdparty.wechat.constant.WeChatConstant
;
import
com.freemud.thirdparty.wechat.entities.WeChatBaseResponse
;
import
com.freemud.thirdparty.wechat.entities.vo.NullFieldVo
;
import
com.freemud.thirdparty.wechat.entities.vo.request.OrderDeliverySendRequestVO
;
import
com.freemud.thirdparty.wechat.entities.vo.request.OrderSycnPayRequestVO
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
@@ -520,5 +508,15 @@ public class OrderController {
...
@@ -520,5 +508,15 @@ public class OrderController {
return
orderAdapterService
.
getPaymentConfig
(
createOrderVo
);
return
orderAdapterService
.
getPaymentConfig
(
createOrderVo
);
}
}
/**
* 卖券订单申请退款
*/
@ApiAnnotation
(
logMessage
=
"couponOrderRefund"
)
@PostMapping
(
"/couponOrderRefund"
)
public
BaseResponse
couponOrderRefund
(
@Validated
@LogParams
@RequestBody
OrderRefundVo
orderRefundVo
)
{
return
orderservice
.
couponOrderRefund
(
orderRefundVo
);
}
}
}
order-application-service/src/main/java/cn/freemud/enums/BaseOrderStatus.java
0 → 100644
View file @
ac378d25
package
cn
.
freemud
.
enums
;
/**
* @author : xh.Z
* @email : fisherman0510@163.com
* @Date : 2021/12/1 下午3:32
* @description :
* @warning 这里的订单状态是依据 基础服务给出的原始库订单状态,和很老的订单状态有冲突
* 在使用的过程中注意识别冲突
* * 1待支付
* * 2下单
* * 3已接单
* * 4制作完成 5配送中 4/5的状态根据订单类型(自提/外卖)二选一不会同时出现
* * 6已完成
* * 7已关闭(退款完成)
* <p>
* ********** 老的订单状态 如下
* @see OrderStatus
*/
public
enum
BaseOrderStatus
{
WAIT_PAY
(
1
,
"待支付"
,
"To be paid"
),
TAKE_ORDER
(
2
,
"下单"
,
"place an order"
),
RECEIPT
(
3
,
"接单"
,
"Receiving orders"
),
COMPLETE_MAKE
(
4
,
"制作完成"
,
"Complete Make"
),
DISTRIBUTION
(
5
,
"配送中"
,
"In delivery"
),
COMPLETE
(
6
,
"已完成"
,
"Complete"
),
CALCEL
(
7
,
"已关闭(退款完成)"
,
"Cancel"
);
private
Integer
code
;
private
String
desc
;
private
String
descEn
;
BaseOrderStatus
(
Integer
code
,
String
desc
,
String
descEn
)
{
this
.
code
=
code
;
this
.
desc
=
desc
;
this
.
descEn
=
descEn
;
}
public
static
Integer
[]
getAllCodes
()
{
Integer
[]
codeArray
=
new
Integer
[
values
().
length
];
int
i
=
0
;
for
(
BaseOrderStatus
orderStatus
:
values
())
{
codeArray
[
i
]
=
orderStatus
.
getCode
();
i
++;
}
return
codeArray
;
}
public
static
BaseOrderStatus
getByCode
(
Integer
code
)
{
if
(
code
==
null
)
{
return
null
;
}
for
(
BaseOrderStatus
orderStatus
:
values
())
{
if
(
orderStatus
.
getCode
().
equals
(
code
))
{
return
orderStatus
;
}
}
return
null
;
}
public
String
getDescEn
()
{
return
descEn
;
}
public
void
setDescEn
(
String
descEn
)
{
this
.
descEn
=
descEn
;
}
public
Integer
getCode
()
{
return
code
;
}
public
void
setCode
(
Integer
code
)
{
this
.
code
=
code
;
}
public
String
getDesc
()
{
return
desc
;
}
public
void
setDesc
(
String
desc
)
{
this
.
desc
=
desc
;
}
}
order-application-service/src/main/java/cn/freemud/enums/OrderStatus.java
View file @
ac378d25
...
@@ -12,6 +12,17 @@
...
@@ -12,6 +12,17 @@
*/
*/
package
cn
.
freemud
.
enums
;
package
cn
.
freemud
.
enums
;
/**
* @warning !!!
* 这里的订单状态依据的是 老订单的转换操作, 基础服务给出的订单状态如下:
* 1待支付
* 2下单
* 3已接单
* 4制作完成 5配送中 4/5的状态根据订单类型(自提/外卖)二选一不会同时出现
* 6已完成
* 7已关闭(退款完成)
* @see BaseOrderStatus
*/
public
enum
OrderStatus
{
public
enum
OrderStatus
{
TAKE_ORDER
(
1
,
"下单"
,
"place an order"
),
TAKE_ORDER
(
1
,
"下单"
,
"place an order"
),
...
...
order-application-service/src/main/java/cn/freemud/service/Orderservice.java
View file @
ac378d25
...
@@ -209,4 +209,10 @@ public interface Orderservice extends OrderFactoryService{
...
@@ -209,4 +209,10 @@ public interface Orderservice extends OrderFactoryService{
BaseResponse
<
OrderInvoiceConfigVo
>
queryInvoiceConfig
(
GetInvoiceConfigRequest
request
);
BaseResponse
<
OrderInvoiceConfigVo
>
queryInvoiceConfig
(
GetInvoiceConfigRequest
request
);
/**
* 卖券订单 申请退款
* @param orderRefundVo
* @return
*/
BaseResponse
couponOrderRefund
(
OrderRefundVo
orderRefundVo
);
}
}
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
View file @
ac378d25
...
@@ -89,6 +89,7 @@ import com.freemud.application.sdk.api.ordercenter.response.OrderCountResp;
...
@@ -89,6 +89,7 @@ import com.freemud.application.sdk.api.ordercenter.response.OrderCountResp;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInfoReqs
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInfoReqs
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderPayItemResp
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderPayItemResp
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderSettlementResp
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderSettlementResp
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.QueryByCodeResponse
;
import
com.freemud.application.sdk.api.ordercenter.service.OrderDownLoadSdkService
;
import
com.freemud.application.sdk.api.ordercenter.service.OrderDownLoadSdkService
;
import
com.freemud.application.sdk.api.ordercenter.service.OrderSdkService
;
import
com.freemud.application.sdk.api.ordercenter.service.OrderSdkService
;
import
com.freemud.application.sdk.api.storecenter.request.GetListByCodesRequest
;
import
com.freemud.application.sdk.api.storecenter.request.GetListByCodesRequest
;
...
@@ -3458,23 +3459,98 @@ public class OrderServiceImpl implements Orderservice {
...
@@ -3458,23 +3459,98 @@ public class OrderServiceImpl implements Orderservice {
return
ResponseUtil
.
success
(
configVo
);
return
ResponseUtil
.
success
(
configVo
);
}
}
@Override
public
BaseResponse
couponOrderRefund
(
OrderRefundVo
orderRefundVo
)
{
if
(
StringUtils
.
isEmpty
(
orderRefundVo
.
getReason
()))
{
orderRefundVo
.
setReason
(
"退款"
);
}
// 校验用户是否登录
BaseResponse
<
AssortmentCustomerInfoVo
>
baseResponse
=
this
.
checkUserLoginInfoDto
(
orderRefundVo
.
getSessionId
());
if
(!
Objects
.
equals
(
baseResponse
.
getCode
(),
ResponseResult
.
SUCCESS
.
getCode
()))
{
return
baseResponse
;
}
AssortmentCustomerInfoVo
userLoginInfoDto
=
baseResponse
.
getResult
();
// 查询订单
BaseResponse
<
OrderInfoReqs
>
orderResponse
=
this
.
checkOrderAndGetOrderBean
(
orderRefundVo
.
getOid
());
if
(!
Objects
.
equals
(
orderResponse
.
getCode
(),
ResponseResult
.
SUCCESS
.
getCode
()))
{
return
orderResponse
;
}
OrderInfoReqs
orderBean
=
orderResponse
.
getResult
();
// 校验操作
BaseResponse
checkResult
=
this
.
couponOrderRefundCheck
(
userLoginInfoDto
,
orderBean
);
if
(!
Objects
.
equals
(
checkResult
.
getCode
(),
ResponseResult
.
SUCCESS
.
getCode
()))
{
return
checkResult
;
}
// fisherman 未完成调用券码 核销券
// 走正常退款订单逻辑
return
ResponseUtil
.
success
();
}
/**
/**
*
标准点餐参数校验
*
校验订单是否可退款等
*
*
@param userLoginInfoDto
* @param
createOrderVo
* @param
orderBean
* @return
* @return
*/
*/
private
BaseResponse
checkStandardParamInfo
(
CreateOrderVo
createOrderVo
)
{
private
BaseResponse
couponOrderRefundCheck
(
AssortmentCustomerInfoVo
userLoginInfoDto
,
OrderInfoReqs
orderBean
)
{
if
(
StringUtils
.
isEmpty
(
createOrderVo
.
getSessionId
()))
{
// 校验是否是用户订单
return
ResponseUtil
.
error
(
ResponseResult
.
CREATE_ORDER_CHECK_SESSION_ERROR
);
if
(!
Objects
.
equals
(
userLoginInfoDto
.
getMemberId
(),
orderBean
.
getUserId
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
OPERATE_NOT_SUPPORT
.
getCode
(),
"不能操作非本人的订单"
);
}
// 是否是卖券订单
if
(
orderBean
.
getBizType
().
compareTo
(
BizTypeEnum
.
SALE_COUPON
.
getBizType
())
!=
0
)
{
return
ResponseUtil
.
error
(
ResponseResult
.
OPERATE_NOT_SUPPORT
.
getCode
(),
"只可操作卖券订单"
);
}
}
if
(
StringUtils
.
isEmpty
(
createOrderVo
.
getShopId
()))
{
// 校验订单状态 卖券订单只有在6已完成状态下 才能退款
return
ResponseUtil
.
error
(
ResponseResult
.
CREATE_ORDER_CHECK_STORE_ERROR
);
if
(
orderBean
.
getOrderState
().
compareTo
(
BaseOrderStatus
.
COMPLETE
.
getCode
())
!=
0
)
{
return
ResponseUtil
.
error
(
ResponseResult
.
OPERATE_NOT_SUPPORT
.
getCode
(),
"只可操作完成的订单"
);
}
}
if
(
createOrderVo
.
getOrderType
()
==
null
)
{
// 校验一遍是否有售后单
return
ResponseUtil
.
error
(
ResponseResult
.
CREATE_ORDER_CHECK_ORDERTYPE_ERROR
);
if
(
CollectionUtils
.
isNotEmpty
(
orderBean
.
getAfterSalesOrderList
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
OPERATE_NOT_SUPPORT
.
getCode
(),
"已存在退款申请,请耐心等待处理"
);
}
}
// fisherman 需要核实一下 是否申请退款,订单主状态还不会变
return
ResponseUtil
.
success
();
return
ResponseUtil
.
success
();
}
}
/**
* 调用基础服务 获取订单信息
* @param oid
* @return
*/
private
BaseResponse
<
OrderInfoReqs
>
checkOrderAndGetOrderBean
(
String
oid
)
{
if
(
StringUtils
.
isBlank
(
oid
))
{
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_CODE_EMPTY
);
}
BaseQueryOrderRequest
baseQueryOrderRequest
=
new
BaseQueryOrderRequest
();
baseQueryOrderRequest
.
setOrderId
(
oid
);
baseQueryOrderRequest
.
setTrackingNo
(
LogThreadLocal
.
getTrackingNo
());
QueryByCodeResponse
queryOrderByIdResponse
=
orderCenterSdkService
.
queryOrderByIdV2
(
baseQueryOrderRequest
);
if
(
queryOrderByIdResponse
==
null
||
queryOrderByIdResponse
.
getResult
()
==
null
)
{
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_NOT_EXIST
);
}
OrderInfoReqs
result
=
queryOrderByIdResponse
.
getResult
();
return
ResponseUtil
.
success
(
result
);
}
/**
* 查询用户 是否登录
* @param sessionId
* @return
*/
private
BaseResponse
<
AssortmentCustomerInfoVo
>
checkUserLoginInfoDto
(
String
sessionId
){
AssortmentCustomerInfoVo
userLoginInfoDto
=
customerInfoManager
.
getCustomerInfoByObject
(
sessionId
);
if
(
userLoginInfoDto
==
null
||
StringUtils
.
isEmpty
(
userLoginInfoDto
.
getMemberId
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
NOT_LOGIN
);
}
return
ResponseUtil
.
success
(
userLoginInfoDto
);
}
}
}
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