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
2177ca8a
Commit
2177ca8a
authored
Apr 23, 2020
by
shuhu.hou@freemud.cn
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
oms订单正向流程
parent
34dbe1b4
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
276 additions
and
32 deletions
+276
-32
order-management/src/main/java/cn/freemud/management/adapter/WaimaiSdkAdapter.java
+1
-1
order-management/src/main/java/cn/freemud/management/controller/OrderManagerController.java
+1
-1
order-management/src/main/java/cn/freemud/management/entities/dto/response/order/OrderManagerResponse.java
+6
-0
order-management/src/main/java/cn/freemud/management/enums/OrderStatus.java
+2
-2
order-management/src/main/java/cn/freemud/management/enums/ResponseResult.java
+2
-1
order-management/src/main/java/cn/freemud/management/intercept/OrderExceptionHandler.java
+34
-0
order-management/src/main/java/cn/freemud/management/intercept/OrderServiceException.java
+52
-0
order-management/src/main/java/cn/freemud/management/service/adapter/OrderManagerAdapter.java
+54
-9
order-management/src/main/java/cn/freemud/management/service/impl/OrderVerifyService.java
+38
-17
order-management/src/main/java/cn/freemud/management/service/impl/SaasOrderMangerServiceImpl.java
+6
-1
order-management/src/main/java/cn/freemud/management/service/impl/SaasOrderService.java
+80
-0
No files found.
order-management/src/main/java/cn/freemud/management/adapter/WaimaiSdkAdapter.java
View file @
2177ca8a
...
@@ -62,7 +62,7 @@ public class WaimaiSdkAdapter {
...
@@ -62,7 +62,7 @@ public class WaimaiSdkAdapter {
* @return
* @return
*/
*/
public
OrderSendOutRequest
getOrderArriveRequest
(
OrderManagerRequest
request
,
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
){
public
OrderSendOutRequest
getOrderArriveRequest
(
OrderManagerRequest
request
,
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
){
BaseOrderRequest
arriveReq
=
new
BaseOrder
Request
();
OrderSendOutRequest
arriveReq
=
new
OrderSendOut
Request
();
arriveReq
.
setOrderId
(
orderBean
.
getOid
());
arriveReq
.
setOrderId
(
orderBean
.
getOid
());
arriveReq
.
setChannel
(
orderBean
.
getSource
());
arriveReq
.
setChannel
(
orderBean
.
getSource
());
arriveReq
.
setCompanyId
(
orderBean
.
getCompanyId
());
arriveReq
.
setCompanyId
(
orderBean
.
getCompanyId
());
...
...
order-management/src/main/java/cn/freemud/management/controller/OrderManagerController.java
View file @
2177ca8a
...
@@ -52,7 +52,7 @@ public class OrderManagerController {
...
@@ -52,7 +52,7 @@ public class OrderManagerController {
case
ORDER_SEND:
case
ORDER_SEND:
return
orderManagerAdapter
.
orderDelivery
(
request
);
return
orderManagerAdapter
.
orderDelivery
(
request
);
case
ORDER_AFFIRM:
case
ORDER_AFFIRM:
return
orderManagerAdapter
.
orderAffirm
(
request
);
return
orderManagerAdapter
.
orderAffirm
(
request
,
null
);
case
ORDER_REJECT:
case
ORDER_REJECT:
return
orderManagerAdapter
.
orderReject
(
request
);
return
orderManagerAdapter
.
orderReject
(
request
);
default
:
default
:
...
...
order-management/src/main/java/cn/freemud/management/entities/dto/response/order/OrderManagerResponse.java
View file @
2177ca8a
...
@@ -50,6 +50,12 @@ public class OrderManagerResponse {
...
@@ -50,6 +50,12 @@ public class OrderManagerResponse {
this
.
refundStatus
=
refundStatus
.
getCode
();
this
.
refundStatus
=
refundStatus
.
getCode
();
}
}
}
}
public
OrderManagerResponse
(
Long
gmtExpect
,
Integer
status
,
Integer
refundStatus
)
{
this
.
gmtExpect
=
gmtExpect
;
this
.
status
=
status
;
this
.
refundStatus
=
refundStatus
;
}
public
OrderManagerResponse
(
String
orderPrintConfig
,
Long
gmtExpect
,
RefundStatus
refundStatus
){
public
OrderManagerResponse
(
String
orderPrintConfig
,
Long
gmtExpect
,
RefundStatus
refundStatus
){
this
.
orderPrintConfig
=
orderPrintConfig
;
this
.
orderPrintConfig
=
orderPrintConfig
;
this
.
gmtExpect
=
gmtExpect
;
this
.
gmtExpect
=
gmtExpect
;
...
...
order-management/src/main/java/cn/freemud/management/enums/OrderStatus.java
View file @
2177ca8a
...
@@ -17,11 +17,11 @@ public enum OrderStatus {
...
@@ -17,11 +17,11 @@ public enum OrderStatus {
TAKE_ORDER
(
1
,
"下单"
),
TAKE_ORDER
(
1
,
"下单"
),
WAIT_PAY
(
2
,
"待支付"
),
WAIT_PAY
(
2
,
"待支付"
),
RECEIPT
(
3
,
"接单"
),
RECEIPT
(
3
,
"接单"
),
COMPLETE_MAKE
(
31
,
"制作完成"
),
DISTRIBUTION
(
4
,
"配送中"
),
DISTRIBUTION
(
4
,
"配送中"
),
COMPLETE
(
5
,
"完成"
),
COMPLETE
(
5
,
"完成"
),
CANCEL
(
6
,
"取消"
),
CANCEL
(
6
,
"取消"
),
REFUSE
(
7
,
"拒单"
),
REFUSE
(
7
,
"拒单"
);
COMPLETE_MAKE
(
31
,
"制作完成"
);
private
Integer
code
;
private
Integer
code
;
private
String
desc
;
private
String
desc
;
...
...
order-management/src/main/java/cn/freemud/management/enums/ResponseResult.java
View file @
2177ca8a
...
@@ -135,7 +135,7 @@ public enum ResponseResult {
...
@@ -135,7 +135,7 @@ public enum ResponseResult {
ORDER_REPEAT_DO_COMPLETE
(
"45052"
,
"重复操作,订单已经完成"
),
ORDER_REPEAT_DO_COMPLETE
(
"45052"
,
"重复操作,订单已经完成"
),
ORDER_HAS_CANCELED
(
"45053"
,
"订单已经被取消"
),
ORDER_HAS_CANCELED
(
"45053"
,
"订单已经被取消"
),
ORDER_MALL_NOT_MATCH
(
"45054"
,
"非商城订单,无法操作"
),
ORDER_MALL_NOT_MATCH
(
"45054"
,
"非商城订单,无法操作"
),
AFFIRM_ORDER_FAIL
(
"45055"
,
"
确认订单
失败"
),
AFFIRM_ORDER_FAIL
(
"45055"
,
"
订单完成
失败"
),
ORDER_CANNOT_CONFIRM
(
"45056"
,
"该笔订单不是新订单,不能接单"
),
ORDER_CANNOT_CONFIRM
(
"45056"
,
"该笔订单不是新订单,不能接单"
),
ORDER_ACCEPT_FAILED
(
"45057"
,
"接单失败"
),
ORDER_ACCEPT_FAILED
(
"45057"
,
"接单失败"
),
ORDER_ACCEPT_FAILED_CREATE_DELIVERY_FAILED
(
"45058"
,
"创建配送单失败导致接单失败"
),
ORDER_ACCEPT_FAILED_CREATE_DELIVERY_FAILED
(
"45058"
,
"创建配送单失败导致接单失败"
),
...
@@ -151,6 +151,7 @@ public enum ResponseResult {
...
@@ -151,6 +151,7 @@ public enum ResponseResult {
AFFIRM_FAIL_APPLY_REFUND
(
"45068"
,
"订单已经申请退款,不能完成"
),
AFFIRM_FAIL_APPLY_REFUND
(
"45068"
,
"订单已经申请退款,不能完成"
),
DONE_FAIL_NOT_ACCEPT
(
"45069"
,
"订单不是接单状态,不能制作"
),
DONE_FAIL_NOT_ACCEPT
(
"45069"
,
"订单不是接单状态,不能制作"
),
DONE_FAIL_REPETITION
(
"45070"
,
"重复操作,订单已送出"
),
DONE_FAIL_REPETITION
(
"45070"
,
"重复操作,订单已送出"
),
DONE_ORDER_FAIL
(
"45071"
,
"制作完成更改作态失败"
),
/**
/**
* 支付
* 支付
*/
*/
...
...
order-management/src/main/java/cn/freemud/management/intercept/OrderExceptionHandler.java
0 → 100644
View file @
2177ca8a
package
cn
.
freemud
.
management
.
intercept
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.management.util.ResponseUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.web.bind.annotation.ExceptionHandler
;
import
org.springframework.web.bind.annotation.ResponseStatus
;
import
org.springframework.web.bind.annotation.RestControllerAdvice
;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @version V1.0
* @Title: BizExceptionHandler 拦截校验参数
* @Package com.freemud.base.exception
* @Description: 全局异常处理
* @author: aiqi.gong
* @date: 2017/5/8 11:27
* @Copyright: 2017 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@RestControllerAdvice
@Slf4j
public
class
OrderExceptionHandler
{
@ExceptionHandler
(
OrderServiceException
.
class
)
@ResponseStatus
(
HttpStatus
.
OK
)
public
BaseResponse
bindException
(
OrderServiceException
e
)
{
return
ResponseUtil
.
error
(
e
.
getResult
());
}
}
\ No newline at end of file
order-management/src/main/java/cn/freemud/management/intercept/OrderServiceException.java
0 → 100644
View file @
2177ca8a
package
cn
.
freemud
.
management
.
intercept
;
import
cn.freemud.management.enums.ResponseResult
;
import
com.freemud.application.sdk.api.exception.IgnoreErrorAnnotation
;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @version V1.0
* @Title: OrderServiceException
* @Package cn.freemud.management.intercept
* @Description:
* @author: shuhu.hou
* @date: 2020/4/23 11:37
* @Copyright: 2020 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@IgnoreErrorAnnotation
public
class
OrderServiceException
extends
RuntimeException
{
private
ResponseResult
result
;
private
String
message
;
public
OrderServiceException
(
ResponseResult
result
)
{
this
.
result
=
result
;
this
.
message
=
result
.
getMessage
();
}
public
OrderServiceException
(
ResponseResult
result
,
String
message
)
{
this
.
result
=
result
;
this
.
message
=
message
;
}
public
ResponseResult
getResult
()
{
return
result
;
}
public
void
setResult
(
ResponseResult
result
)
{
this
.
result
=
result
;
}
@Override
public
String
getMessage
()
{
return
message
;
}
public
void
setMessage
(
String
message
)
{
this
.
message
=
message
;
}
}
\ No newline at end of file
order-management/src/main/java/cn/freemud/management/service/adapter/OrderManagerAdapter.java
View file @
2177ca8a
...
@@ -3,11 +3,17 @@ package cn.freemud.management.service.adapter;
...
@@ -3,11 +3,17 @@ package cn.freemud.management.service.adapter;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.base.entity.BaseResponse
;
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.enums.OperateType
;
import
cn.freemud.management.enums.OrderStatus
;
import
cn.freemud.management.enums.RefundStatus
;
import
cn.freemud.management.enums.ResponseResult
;
import
cn.freemud.management.enums.ResponseResult
;
import
cn.freemud.management.service.OrderBaseService
;
import
cn.freemud.management.service.OrderBaseService
;
import
cn.freemud.management.service.impl.OrderVerifyService
;
import
cn.freemud.management.service.impl.OrderVerifyService
;
import
cn.freemud.management.util.ResponseUtil
;
import
cn.freemud.management.util.ResponseUtil
;
import
com.freemud.application.sdk.api.ordercenter.enums.OrderType
;
import
com.freemud.sdk.api.assortment.order.enums.OldOrderType
;
import
com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse
;
import
com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse
;
import
org.apache.commons.collections4.CollectionUtils
;
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
;
...
@@ -52,9 +58,10 @@ public class OrderManagerAdapter {
...
@@ -52,9 +58,10 @@ public class OrderManagerAdapter {
//订单接单参数校验
//订单接单参数校验
BaseResponse
verifyResponse
=
orderVerifyService
.
orderDoneVerify
(
orderBean
,
request
);
BaseResponse
verifyResponse
=
orderVerifyService
.
orderDoneVerify
(
orderBean
,
request
);
if
(
ObjectUtils
.
notEqual
(
verifyResponse
.
getCode
(),
ResponseResult
.
SUCCESS
.
getCode
()))
{
if
(
ObjectUtils
.
notEqual
(
verifyResponse
.
getCode
(),
ResponseResult
.
SUCCESS
.
getCode
()))
{
return
verifyResponse
;
return
handleResponse
(
request
,
orderBean
,
verifyResponse
)
;
}
}
return
orderBeanFactory
.
getOrderManagerService
(
orderBean
).
orderDone
(
request
,
orderBean
);
BaseResponse
<
OrderManagerResponse
>
orderManagerResponse
=
orderBeanFactory
.
getOrderManagerService
(
orderBean
).
orderDone
(
request
,
orderBean
);
return
handleResponse
(
request
,
orderBean
,
orderManagerResponse
);
}
}
/**
/**
...
@@ -65,12 +72,18 @@ public class OrderManagerAdapter {
...
@@ -65,12 +72,18 @@ public class OrderManagerAdapter {
public
BaseResponse
<
OrderManagerResponse
>
orderDelivery
(
OrderManagerRequest
request
)
{
public
BaseResponse
<
OrderManagerResponse
>
orderDelivery
(
OrderManagerRequest
request
)
{
//查询订单
//查询订单
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
=
orderBaseService
.
getByOrderCode
(
request
.
getOrderId
());
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
=
orderBaseService
.
getByOrderCode
(
request
.
getOrderId
());
/*****兼容爱马哥,送出即完成start******/
if
(
orderBean
.
getType
().
equals
(
OldOrderType
.
TAKE_OUT
.
getCode
())){
orderAffirm
(
request
,
orderBean
);
}
/*****容爱马哥,送出即完成end******/
//订单接单参数校验
//订单接单参数校验
BaseResponse
verifyResponse
=
orderVerifyService
.
orderDeliveryVerify
(
orderBean
,
request
);
BaseResponse
verifyResponse
=
orderVerifyService
.
orderDeliveryVerify
(
orderBean
,
request
);
if
(
ObjectUtils
.
notEqual
(
verifyResponse
.
getCode
(),
ResponseResult
.
SUCCESS
.
getCode
()))
{
if
(
ObjectUtils
.
notEqual
(
verifyResponse
.
getCode
(),
ResponseResult
.
SUCCESS
.
getCode
()))
{
return
StringUtils
.
equals
(
verifyResponse
.
getCode
(),
ResponseResult
.
ORDER_IS_COMPLETE_CAN_NOT_DELIVERY
.
getCode
())
?
ResponseUtil
.
success
()
:
verifyResponse
;
return
StringUtils
.
equals
(
verifyResponse
.
getCode
(),
ResponseResult
.
ORDER_IS_COMPLETE_CAN_NOT_DELIVERY
.
getCode
())
?
handleResponse
(
request
,
orderBean
,
ResponseUtil
.
success
())
:
handleResponse
(
request
,
orderBean
,
verifyResponse
)
;
}
}
return
orderBeanFactory
.
getOrderManagerService
(
orderBean
).
orderDelivery
(
request
,
orderBean
);
BaseResponse
<
OrderManagerResponse
>
orderManagerResponse
=
orderBeanFactory
.
getOrderManagerService
(
orderBean
).
orderDelivery
(
request
,
orderBean
);
return
handleResponse
(
request
,
orderBean
,
orderManagerResponse
);
}
}
/**
/**
...
@@ -78,15 +91,47 @@ public class OrderManagerAdapter {
...
@@ -78,15 +91,47 @@ public class OrderManagerAdapter {
* @param request
* @param request
* @return
* @return
*/
*/
public
BaseResponse
<
OrderManagerResponse
>
orderAffirm
(
OrderManagerRequest
request
)
{
public
BaseResponse
<
OrderManagerResponse
>
orderAffirm
(
OrderManagerRequest
request
,
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
)
{
//查询订单
if
(
orderBean
==
null
){
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
=
orderBaseService
.
getByOrderCode
(
request
.
getOrderId
());
//查询订单
orderBean
=
orderBaseService
.
getByOrderCode
(
request
.
getOrderId
());
}
//订单接单参数校验
//订单接单参数校验
BaseResponse
verifyResponse
=
orderVerifyService
.
orderAffirmVerify
(
orderBean
,
request
);
BaseResponse
verifyResponse
=
orderVerifyService
.
orderAffirmVerify
(
orderBean
,
request
);
if
(
ObjectUtils
.
notEqual
(
verifyResponse
.
getCode
(),
ResponseResult
.
SUCCESS
.
getCode
()))
{
if
(
ObjectUtils
.
notEqual
(
verifyResponse
.
getCode
(),
ResponseResult
.
SUCCESS
.
getCode
()))
{
return
StringUtils
.
equals
(
verifyResponse
.
getCode
(),
ResponseResult
.
ORDER_IS_COMPLETE_CAN_NOT_DELIVERY
.
getCode
())
?
ResponseUtil
.
success
()
:
verifyResponse
;
return
handleResponse
(
request
,
orderBean
,
verifyResponse
);
}
BaseResponse
<
OrderManagerResponse
>
orderManagerResponse
=
orderBeanFactory
.
getOrderManagerService
(
orderBean
).
orderAffirm
(
request
,
orderBean
);
return
handleResponse
(
request
,
orderBean
,
orderManagerResponse
);
}
private
BaseResponse
<
OrderManagerResponse
>
handleResponse
(
OrderManagerRequest
request
,
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
,
BaseResponse
result
)
{
if
(
orderBean
==
null
){
return
result
;
}
RefundStatus
refundStatus
=
CollectionUtils
.
isNotEmpty
(
orderBean
.
getRefundList
())
?
RefundStatus
.
getByCode
(
orderBean
.
getRefundList
().
get
(
0
).
getStatus
())
:
null
;
OrderStatus
orderStatus
=
OrderStatus
.
getByCode
(
orderBean
.
getStatus
());
if
(
ObjectUtils
.
equals
(
ResponseResult
.
SUCCESS
.
getCode
(),
result
.
getCode
())){
OperateType
byOpType
=
OperateType
.
getByOpType
(
request
.
getOperateType
());
switch
(
byOpType
)
{
case
ORDER_CONFIRM:
orderStatus
=
OrderStatus
.
RECEIPT
;
break
;
case
ORDER_DONE:
orderStatus
=
OrderStatus
.
COMPLETE_MAKE
;
break
;
case
ORDER_SEND:
orderStatus
=
OrderStatus
.
DISTRIBUTION
;
break
;
case
ORDER_AFFIRM:
orderStatus
=
OrderStatus
.
COMPLETE
;
break
;
default
:
}
return
ResponseUtil
.
success
(
new
OrderManagerResponse
(
orderStatus
,
refundStatus
));
}
}
return
orderBeanFactory
.
getOrderManagerService
(
orderBean
).
orderAffirm
(
request
,
orderBean
);
result
.
setResult
(
new
OrderManagerResponse
(
orderStatus
,
refundStatus
));
return
result
;
}
}
/**
/**
...
...
order-management/src/main/java/cn/freemud/management/service/impl/OrderVerifyService.java
View file @
2177ca8a
...
@@ -2,12 +2,14 @@ package cn.freemud.management.service.impl;
...
@@ -2,12 +2,14 @@ package cn.freemud.management.service.impl;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.base.entity.BaseResponse
;
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.enums.OrderSource
;
import
cn.freemud.management.enums.OrderSource
;
import
cn.freemud.management.enums.OrderStatus
;
import
cn.freemud.management.enums.OrderStatus
;
import
cn.freemud.management.enums.ResponseResult
;
import
cn.freemud.management.enums.ResponseResult
;
import
cn.freemud.management.util.ResponseUtil
;
import
cn.freemud.management.util.ResponseUtil
;
import
com.freemud.application.sdk.api.ordercenter.enums.OperateClient
;
import
com.freemud.application.sdk.api.ordercenter.enums.OperateClient
;
import
com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse
;
import
com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang.ObjectUtils
;
import
org.apache.commons.lang.ObjectUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
...
@@ -38,7 +40,7 @@ public class OrderVerifyService {
...
@@ -38,7 +40,7 @@ public class OrderVerifyService {
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_NOT_EXIST
);
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_NOT_EXIST
);
}
}
if
(!
OrderStatus
.
TAKE_ORDER
.
getCode
().
equals
(
orderBean
.
getStatus
()))
{
if
(!
OrderStatus
.
TAKE_ORDER
.
getCode
().
equals
(
orderBean
.
getStatus
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_CANNOT_CONFIRM
);
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_CANNOT_CONFIRM
,
getOrderManagerResponse
(
orderBean
)
);
}
}
return
commonVerify
(
orderBean
,
request
);
return
commonVerify
(
orderBean
,
request
);
}
}
...
@@ -55,22 +57,22 @@ public class OrderVerifyService {
...
@@ -55,22 +57,22 @@ public class OrderVerifyService {
}
}
//已完成的订单不能配送
//已完成的订单不能配送
if
(
OrderStatus
.
COMPLETE
.
getCode
().
equals
(
orderBean
.
getStatus
())){
if
(
OrderStatus
.
COMPLETE
.
getCode
().
equals
(
orderBean
.
getStatus
())){
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_IS_COMPLETE_CAN_NOT_DELIVERY
);
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_IS_COMPLETE_CAN_NOT_DELIVERY
,
getOrderManagerResponse
(
orderBean
)
);
}
}
//订单已经发送过配送
//订单已经发送过配送
if
(
OrderStatus
.
DISTRIBUTION
.
getCode
().
equals
(
orderBean
.
getStatus
())){
if
(
OrderStatus
.
DISTRIBUTION
.
getCode
().
equals
(
orderBean
.
getStatus
())){
return
ResponseUtil
.
error
(
ResponseResult
.
DELIVERY_SEND_REPETITION
);
return
ResponseUtil
.
error
(
ResponseResult
.
DELIVERY_SEND_REPETITION
,
getOrderManagerResponse
(
orderBean
)
);
}
}
//判断订单状态是否为已经申请退款订单
//判断订单状态是否为已经申请退款订单
if
(
orderBean
.
getHasRefund
()
!=
null
if
(
orderBean
.
getHasRefund
()
!=
null
&&
orderBean
.
getHasRefund
()
&&
orderBean
.
getHasRefund
()
&&
(
orderBean
.
getRefundList
().
get
(
orderBean
.
getRefundList
().
size
()
-
1
).
getStatus
()
==
1
&&
(
orderBean
.
getRefundList
().
get
(
orderBean
.
getRefundList
().
size
()
-
1
).
getStatus
()
==
1
||
orderBean
.
getRefundList
().
get
(
orderBean
.
getRefundList
().
size
()
-
1
).
getStatus
()
==
4
))
{
||
orderBean
.
getRefundList
().
get
(
orderBean
.
getRefundList
().
size
()
-
1
).
getStatus
()
==
4
))
{
return
ResponseUtil
.
error
(
ResponseResult
.
DELIVERY_SEND_APPLY_REFUND
);
return
ResponseUtil
.
error
(
ResponseResult
.
DELIVERY_SEND_APPLY_REFUND
,
getOrderManagerResponse
(
orderBean
)
);
}
}
//外卖订单不是接单不能送出
//外卖订单不是接单不能送出
if
(!
OrderStatus
.
RECEIPT
.
getCode
().
equals
(
orderBean
.
getStatus
()))
{
if
(!
OrderStatus
.
RECEIPT
.
getCode
().
equals
(
orderBean
.
getStatus
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
DELIVERY_SEND_STATUS_NOTAKE
);
return
ResponseUtil
.
error
(
ResponseResult
.
DELIVERY_SEND_STATUS_NOTAKE
,
getOrderManagerResponse
(
orderBean
)
);
}
}
return
commonVerify
(
orderBean
,
request
);
return
commonVerify
(
orderBean
,
request
);
}
}
...
@@ -83,20 +85,23 @@ public class OrderVerifyService {
...
@@ -83,20 +85,23 @@ public class OrderVerifyService {
* @return
* @return
*/
*/
public
BaseResponse
orderDoneVerify
(
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
,
OrderManagerRequest
request
)
{
public
BaseResponse
orderDoneVerify
(
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
,
OrderManagerRequest
request
)
{
if
(
orderBean
==
null
)
{
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_NOT_EXIST
);
}
//已制作完成的订单不能重复操作
//已制作完成的订单不能重复操作
if
(
OrderStatus
.
COMPLETE_MAKE
.
getCode
().
equals
(
orderBean
.
getStatus
()))
{
if
(
OrderStatus
.
COMPLETE_MAKE
.
getCode
().
equals
(
orderBean
.
getStatus
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
DONE_FAIL_REPETITION
);
return
ResponseUtil
.
error
(
ResponseResult
.
DONE_FAIL_REPETITION
,
getOrderManagerResponse
(
orderBean
)
);
}
}
//订单非接单状态,不能制作完成
//订单非接单状态,不能制作完成
if
(!
OrderStatus
.
RECEIPT
.
getCode
().
equals
(
orderBean
.
getStatus
()))
{
if
(!
OrderStatus
.
RECEIPT
.
getCode
().
equals
(
orderBean
.
getStatus
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
DONE_FAIL_NOT_ACCEPT
);
return
ResponseUtil
.
error
(
ResponseResult
.
DONE_FAIL_NOT_ACCEPT
,
getOrderManagerResponse
(
orderBean
)
);
}
}
//判断订单状态是否为已经申请退款订单
//判断订单状态是否为已经申请退款订单
if
(
orderBean
.
getHasRefund
()
!=
null
if
(
orderBean
.
getHasRefund
()
!=
null
&&
orderBean
.
getHasRefund
()
&&
orderBean
.
getHasRefund
()
&&
(
orderBean
.
getRefundList
().
get
(
orderBean
.
getRefundList
().
size
()
-
1
).
getStatus
()
==
1
&&
(
orderBean
.
getRefundList
().
get
(
orderBean
.
getRefundList
().
size
()
-
1
).
getStatus
()
==
1
||
orderBean
.
getRefundList
().
get
(
orderBean
.
getRefundList
().
size
()
-
1
).
getStatus
()
==
4
))
{
||
orderBean
.
getRefundList
().
get
(
orderBean
.
getRefundList
().
size
()
-
1
).
getStatus
()
==
4
))
{
return
ResponseUtil
.
error
(
ResponseResult
.
DONE_FAIL_APPLY_REFUND
);
return
ResponseUtil
.
error
(
ResponseResult
.
DONE_FAIL_APPLY_REFUND
,
getOrderManagerResponse
(
orderBean
)
);
}
}
return
ResponseUtil
.
success
();
return
ResponseUtil
.
success
();
}
}
...
@@ -108,42 +113,53 @@ public class OrderVerifyService {
...
@@ -108,42 +113,53 @@ public class OrderVerifyService {
* @return
* @return
*/
*/
public
BaseResponse
orderAffirmVerify
(
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
,
OrderManagerRequest
request
)
{
public
BaseResponse
orderAffirmVerify
(
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
,
OrderManagerRequest
request
)
{
if
(
orderBean
==
null
)
{
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_NOT_EXIST
);
}
//判断订单是否已送达
//判断订单是否已送达
if
(
OrderStatus
.
COMPLETE
.
getCode
().
equals
(
orderBean
.
getStatus
()))
{
if
(
OrderStatus
.
COMPLETE
.
getCode
().
equals
(
orderBean
.
getStatus
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
DELIVERY_SEND_REPETITION
);
return
ResponseUtil
.
error
(
ResponseResult
.
DELIVERY_SEND_REPETITION
,
getOrderManagerResponse
(
orderBean
)
);
}
}
//已取消的订单不能操作
//已取消的订单不能操作
if
(
OrderStatus
.
CANCEL
.
getCode
().
equals
(
orderBean
.
getStatus
())){
if
(
OrderStatus
.
CANCEL
.
getCode
().
equals
(
orderBean
.
getStatus
())){
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_HAS_CANCELED
);
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_HAS_CANCELED
,
getOrderManagerResponse
(
orderBean
)
);
}
}
//判断订单状态是否为已经申请退款订单
//判断订单状态是否为已经申请退款订单
if
(
orderBean
.
getHasRefund
()
!=
null
if
(
orderBean
.
getHasRefund
()
!=
null
&&
orderBean
.
getHasRefund
()
&&
orderBean
.
getHasRefund
()
&&
(
orderBean
.
getRefundList
().
get
(
orderBean
.
getRefundList
().
size
()
-
1
).
getStatus
()
==
1
&&
(
orderBean
.
getRefundList
().
get
(
orderBean
.
getRefundList
().
size
()
-
1
).
getStatus
()
==
1
||
orderBean
.
getRefundList
().
get
(
orderBean
.
getRefundList
().
size
()
-
1
).
getStatus
()
==
4
))
{
||
orderBean
.
getRefundList
().
get
(
orderBean
.
getRefundList
().
size
()
-
1
).
getStatus
()
==
4
))
{
return
ResponseUtil
.
error
(
ResponseResult
.
AFFIRM_FAIL_APPLY_REFUND
);
return
ResponseUtil
.
error
(
ResponseResult
.
AFFIRM_FAIL_APPLY_REFUND
,
getOrderManagerResponse
(
orderBean
)
);
}
}
//校验订单是否为配送状态
//校验订单是否为配送状态
if
(
isWaimai
(
orderBean
)
&&
ObjectUtils
.
notEqual
(
OrderStatus
.
DISTRIBUTION
.
getCode
(),
orderBean
.
getStatus
())){
if
(
isWaimai
(
orderBean
)
&&
ObjectUtils
.
notEqual
(
OrderStatus
.
DISTRIBUTION
.
getCode
(),
orderBean
.
getStatus
())){
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_DELIVERY_FAILED
);
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_DELIVERY_FAILED
,
getOrderManagerResponse
(
orderBean
)
);
}
}
return
commonVerify
(
orderBean
,
request
);
return
commonVerify
(
orderBean
,
request
);
}
}
/**
* 通用校验
* @param orderBean
* @param request
* @return
*/
private
BaseResponse
commonVerify
(
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
,
OrderManagerRequest
request
)
{
private
BaseResponse
commonVerify
(
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
,
OrderManagerRequest
request
)
{
if
(
ObjectUtils
.
notEqual
(
orderBean
.
getCompanyId
(),
request
.
getPartnerId
()))
{
if
(
ObjectUtils
.
notEqual
(
orderBean
.
getCompanyId
(),
request
.
getPartnerId
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_PARTNER_ID_NOT_MATCTH
);
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_PARTNER_ID_NOT_MATCTH
,
getOrderManagerResponse
(
orderBean
)
);
}
}
//开放平台不传入门店
//开放平台不传入门店
if
(
ObjectUtils
.
notEqual
(
request
.
getOperator
(),
OperateClient
.
OPEN_PLATFORM
.
getOpName
())
&&
ObjectUtils
.
notEqual
(
orderBean
.
getShopId
(),
request
.
getStoreId
()))
{
if
(
ObjectUtils
.
notEqual
(
request
.
getOperator
(),
OperateClient
.
OPEN_PLATFORM
.
getOpName
())
&&
ObjectUtils
.
notEqual
(
orderBean
.
getShopId
(),
request
.
getStoreId
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_STORE_ID_NOT_MATCTH
);
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_STORE_ID_NOT_MATCTH
,
getOrderManagerResponse
(
orderBean
)
);
}
}
return
ResponseUtil
.
success
();
return
ResponseUtil
.
success
();
}
}
/**
* 是否是外卖
* @param orderBean
* @return
*/
private
boolean
isWaimai
(
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
){
private
boolean
isWaimai
(
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
){
String
source
=
orderBean
.
getSource
();
String
source
=
orderBean
.
getSource
();
if
(
OrderSource
.
BDWM
.
getSource
().
equals
(
source
)
||
OrderSource
.
JDWM
.
getSource
().
equals
(
source
)
if
(
OrderSource
.
BDWM
.
getSource
().
equals
(
source
)
||
OrderSource
.
JDWM
.
getSource
().
equals
(
source
)
...
@@ -152,4 +168,9 @@ public class OrderVerifyService {
...
@@ -152,4 +168,9 @@ public class OrderVerifyService {
}
}
return
false
;
return
false
;
}
}
private
OrderManagerResponse
getOrderManagerResponse
(
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
){
Integer
refundStatus
=
CollectionUtils
.
isEmpty
(
orderBean
.
getRefundList
())?
null
:
orderBean
.
getRefundList
().
get
(
0
).
getStatus
();
return
new
OrderManagerResponse
(
orderBean
.
getGmtExpect
(),
orderBean
.
getStatus
(),
refundStatus
);
}
}
}
order-management/src/main/java/cn/freemud/management/service/impl/SaasOrderMangerServiceImpl.java
View file @
2177ca8a
...
@@ -4,6 +4,7 @@ import cn.freemud.base.entity.BaseResponse;
...
@@ -4,6 +4,7 @@ import cn.freemud.base.entity.BaseResponse;
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.enums.OperateType
;
import
cn.freemud.management.enums.OperateType
;
import
cn.freemud.management.enums.OrderStatus
;
import
cn.freemud.management.enums.RefundStatus
;
import
cn.freemud.management.enums.RefundStatus
;
import
cn.freemud.management.enums.ResponseResult
;
import
cn.freemud.management.enums.ResponseResult
;
import
cn.freemud.management.service.OrderBaseService
;
import
cn.freemud.management.service.OrderBaseService
;
...
@@ -43,6 +44,8 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
...
@@ -43,6 +44,8 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
@Autowired
@Autowired
private
OrderCenterSdkService
orderCenterSdkService
;
private
OrderCenterSdkService
orderCenterSdkService
;
@Autowired
@Autowired
private
SaasOrderService
saasOrderService
;
@Autowired
private
OrderDeliveryService
orderDeliveryService
;
private
OrderDeliveryService
orderDeliveryService
;
@Autowired
@Autowired
private
OrderBaseService
orderBaseService
;
private
OrderBaseService
orderBaseService
;
...
@@ -94,6 +97,7 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
...
@@ -94,6 +97,7 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
*/
*/
@Override
@Override
public
BaseResponse
<
OrderManagerResponse
>
orderDone
(
OrderManagerRequest
request
,
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
)
{
public
BaseResponse
<
OrderManagerResponse
>
orderDone
(
OrderManagerRequest
request
,
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
)
{
//订单制作完成
BaseQueryOrderRequest
orderDoneRequest
=
orderSdkAdapter
.
getOrderConfirmRequest
(
request
.
getOperator
(),
orderBean
);
BaseQueryOrderRequest
orderDoneRequest
=
orderSdkAdapter
.
getOrderConfirmRequest
(
request
.
getOperator
(),
orderBean
);
BaseOrderResponse
baseOrderResponse
=
orderCenterSdkService
.
orderDone
(
orderDoneRequest
);
BaseOrderResponse
baseOrderResponse
=
orderCenterSdkService
.
orderDone
(
orderDoneRequest
);
if
(
baseOrderResponse
==
null
||
ObjectUtils
.
notEqual
(
ResponseResult
.
SUCCESS
.
getCode
(),
baseOrderResponse
.
getErrcode
().
toString
())){
if
(
baseOrderResponse
==
null
||
ObjectUtils
.
notEqual
(
ResponseResult
.
SUCCESS
.
getCode
(),
baseOrderResponse
.
getErrcode
().
toString
())){
...
@@ -121,7 +125,7 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
...
@@ -121,7 +125,7 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
}
}
// 推送pos消息中心
// 推送pos消息中心
orderBaseService
.
sendMessage
(
orderBean
,
OperateType
.
ORDER_SEND
,
request
.
getReason
());
orderBaseService
.
sendMessage
(
orderBean
,
OperateType
.
ORDER_SEND
,
request
.
getReason
());
return
CollectionUtils
.
isNotEmpty
(
orderBean
.
getRefundList
())?
ResponseUtil
.
success
(
new
OrderManagerResponse
(
RefundStatus
.
getByCode
(
orderBean
.
getRefundList
().
get
(
0
).
getStatus
()))):
ResponseUtil
.
success
();
return
ResponseUtil
.
success
();
}
}
/**
/**
...
@@ -143,4 +147,5 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
...
@@ -143,4 +147,5 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
orderBaseService
.
sendMessage
(
orderBean
,
OperateType
.
ORDER_AFFIRM
,
request
.
getReason
());
orderBaseService
.
sendMessage
(
orderBean
,
OperateType
.
ORDER_AFFIRM
,
request
.
getReason
());
return
ResponseUtil
.
success
();
return
ResponseUtil
.
success
();
}
}
}
}
order-management/src/main/java/cn/freemud/management/service/impl/SaasOrderService.java
0 → 100644
View file @
2177ca8a
package
cn
.
freemud
.
management
.
service
.
impl
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.management.entities.dto.request.order.OrderManagerRequest
;
import
cn.freemud.management.enums.ResponseResult
;
import
cn.freemud.management.intercept.OrderServiceException
;
import
cn.freemud.management.util.ResponseUtil
;
import
com.freemud.sdk.api.assortment.order.adapter.OrderSdkAdapter
;
import
com.freemud.sdk.api.assortment.order.request.order.BaseQueryOrderRequest
;
import
com.freemud.sdk.api.assortment.order.response.order.BaseOrderResponse
;
import
com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse
;
import
com.freemud.sdk.api.assortment.order.service.OrderCenterSdkService
;
import
org.apache.commons.lang.ObjectUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @version V1.0
* @Title: SaasOrderService
* @Package cn.freemud.management.service.impl
* @Description:
* @author: shuhu.hou
* @date: 2020/4/23 11:30
* @Copyright: 2020 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@Component
public
class
SaasOrderService
{
@Autowired
private
OrderSdkAdapter
orderSdkAdapter
;
@Autowired
private
OrderCenterSdkService
orderCenterSdkService
;
/**
* 订单制作完成
* @param request
* @param orderBean
* @return
*/
public
BaseResponse
orderDone
(
OrderManagerRequest
request
,
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
){
BaseQueryOrderRequest
orderDoneRequest
=
orderSdkAdapter
.
getOrderConfirmRequest
(
request
.
getOperator
(),
orderBean
);
BaseOrderResponse
baseOrderResponse
=
orderCenterSdkService
.
orderDone
(
orderDoneRequest
);
if
(
baseOrderResponse
==
null
||
ObjectUtils
.
notEqual
(
ResponseResult
.
SUCCESS
.
getCode
(),
baseOrderResponse
.
getErrcode
().
toString
())){
throw
new
OrderServiceException
(
ResponseResult
.
DONE_ORDER_FAIL
);
}
return
ResponseUtil
.
success
();
}
/**
* 订单配送
* @param request
* @param orderBean
* @return
*/
public
BaseResponse
orderDelivery
(
OrderManagerRequest
request
,
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
){
BaseQueryOrderRequest
orderDeliveryRequest
=
orderSdkAdapter
.
getOrderDeliveryRequest
(
request
.
getOperator
(),
orderBean
);
BaseOrderResponse
baseOrderResponse
=
orderCenterSdkService
.
orderSend
(
orderDeliveryRequest
);
if
(
baseOrderResponse
==
null
||
ObjectUtils
.
notEqual
(
ResponseResult
.
SUCCESS
.
getCode
(),
baseOrderResponse
.
getErrcode
().
toString
())){
throw
new
OrderServiceException
(
ResponseResult
.
DELIVERY_FAIL
);
}
return
ResponseUtil
.
success
();
}
/**
* 订单完成
* @param request
* @param orderBean
* @return
*/
public
BaseResponse
orderAffirm
(
OrderManagerRequest
request
,
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
){
BaseQueryOrderRequest
orderAffirmRequest
=
orderSdkAdapter
.
getOrderDeliveryRequest
(
request
.
getOperator
(),
orderBean
);
BaseOrderResponse
baseOrderResponse
=
orderCenterSdkService
.
orderAffirm
(
orderAffirmRequest
);
if
(
baseOrderResponse
==
null
||
ObjectUtils
.
notEqual
(
ResponseResult
.
SUCCESS
.
getCode
(),
baseOrderResponse
.
getErrcode
().
toString
())){
throw
new
OrderServiceException
(
ResponseResult
.
AFFIRM_ORDER_FAIL
);
}
return
ResponseUtil
.
success
();
}
}
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