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
34dbe1b4
Commit
34dbe1b4
authored
Apr 20, 2020
by
shuhu.hou@freemud.cn
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
接单二期
parent
3f671fe9
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
404 additions
and
11 deletions
+404
-11
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/adapter/OrderSdkAdapter.java
+22
-0
order-management/src/main/java/cn/freemud/management/adapter/WaimaiSdkAdapter.java
+75
-0
order-management/src/main/java/cn/freemud/management/controller/OrderManagerController.java
+6
-0
order-management/src/main/java/cn/freemud/management/entities/dto/response/order/OrderManagerResponse.java
+5
-0
order-management/src/main/java/cn/freemud/management/enums/OrderStatus.java
+1
-1
order-management/src/main/java/cn/freemud/management/enums/ResponseResult.java
+11
-1
order-management/src/main/java/cn/freemud/management/service/OrderManagerService.java
+23
-0
order-management/src/main/java/cn/freemud/management/service/adapter/OrderManagerAdapter.java
+51
-0
order-management/src/main/java/cn/freemud/management/service/impl/OrderVerifyService.java
+99
-1
order-management/src/main/java/cn/freemud/management/service/impl/SaasOrderMangerServiceImpl.java
+59
-0
order-management/src/main/java/cn/freemud/management/service/impl/WaimaiOrderMangerServiceImpl.java
+52
-8
No files found.
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/adapter/OrderSdkAdapter.java
View file @
34dbe1b4
...
@@ -49,6 +49,12 @@ public class OrderSdkAdapter {
...
@@ -49,6 +49,12 @@ public class OrderSdkAdapter {
private
static
final
int
STACK_SUB
=
1
;
private
static
final
int
STACK_SUB
=
1
;
/**
* 接单request
* @param operator
* @param orderBean
* @return
*/
public
BaseQueryOrderRequest
getOrderConfirmRequest
(
String
operator
,
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
){
public
BaseQueryOrderRequest
getOrderConfirmRequest
(
String
operator
,
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
){
BaseQueryOrderRequest
orderRequest
=
new
BaseQueryOrderRequest
();
BaseQueryOrderRequest
orderRequest
=
new
BaseQueryOrderRequest
();
orderRequest
.
setOrderId
(
orderBean
.
getOid
());
orderRequest
.
setOrderId
(
orderBean
.
getOid
());
...
@@ -64,6 +70,22 @@ public class OrderSdkAdapter {
...
@@ -64,6 +70,22 @@ public class OrderSdkAdapter {
return
orderRequest
;
return
orderRequest
;
}
}
/**
* 配送request
* @param operator
* @param orderBean
* @return
*/
public
BaseQueryOrderRequest
getOrderDeliveryRequest
(
String
operator
,
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
){
BaseQueryOrderRequest
orderDeliveryRequest
=
getOrderConfirmRequest
(
operator
,
orderBean
);
if
(
orderBean
.
getType
()
==
1
)
{
orderDeliveryRequest
.
setOrderType
(
com
.
freemud
.
application
.
sdk
.
api
.
ordercenter
.
enums
.
OrderType
.
GENERAL_EXPRESS
);
}
else
{
orderDeliveryRequest
.
setOrderType
(
com
.
freemud
.
application
.
sdk
.
api
.
ordercenter
.
enums
.
OrderType
.
GENERAL_SELF_PICKUP
);
}
return
orderDeliveryRequest
;
}
public
CancelOrderRequest
convent2CancelOrderRequest
(
String
orderId
,
String
partnerId
,
AfterSalesType
afterSalesType
,
public
CancelOrderRequest
convent2CancelOrderRequest
(
String
orderId
,
String
partnerId
,
AfterSalesType
afterSalesType
,
String
reason
,
String
trackingNo
,
Long
refund_id
)
{
String
reason
,
String
trackingNo
,
Long
refund_id
)
{
CancelOrderRequest
cancelOrderRequest
=
new
CancelOrderRequest
();
CancelOrderRequest
cancelOrderRequest
=
new
CancelOrderRequest
();
...
...
order-management/src/main/java/cn/freemud/management/adapter/WaimaiSdkAdapter.java
0 → 100644
View file @
34dbe1b4
package
cn
.
freemud
.
management
.
adapter
;
import
cn.freemud.management.entities.dto.request.order.OrderManagerRequest
;
import
com.freemud.application.sdk.api.takeaway.request.order.BaseOrderRequest
;
import
com.freemud.application.sdk.api.takeaway.request.order.OrderSendOutRequest
;
import
com.freemud.application.sdk.api.takeaway.request.order.PlatformOrderRequest
;
import
com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.stereotype.Component
;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @version V1.0
* @Title: WaimaiSdkAdapter
* @Package cn.freemud.management.adapter
* @Description:
* @author: shuhu.hou
* @date: 2020/4/20 14:38
* @Copyright: 2020 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@Component
public
class
WaimaiSdkAdapter
{
/**
* 接单request
* @param request
* @param orderBean
* @return
*/
public
PlatformOrderRequest
getPlatformOrderRequest
(
OrderManagerRequest
request
,
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
){
PlatformOrderRequest
platformOrderRequest
=
new
PlatformOrderRequest
();
platformOrderRequest
.
setPlatformOrderId
(
orderBean
.
getCustomerOrder
());
platformOrderRequest
.
setChannel
(
orderBean
.
getSource
());
platformOrderRequest
.
setCompanyId
(
orderBean
.
getCompanyId
());
platformOrderRequest
.
setOrderId
(
orderBean
.
getOid
());
platformOrderRequest
.
setShopId
(
orderBean
.
getShopId
());
platformOrderRequest
.
setOperator
(
request
.
getOperator
());
return
platformOrderRequest
;
}
/**
* 配送request
* @param request
* @param orderBean
* @return
*/
public
OrderSendOutRequest
getOrderSendOutRequest
(
OrderManagerRequest
request
,
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
){
OrderSendOutRequest
orderSendOutRequest
=
new
OrderSendOutRequest
();
orderSendOutRequest
.
setCompanyId
(
orderBean
.
getCompanyId
());
orderSendOutRequest
.
setOrderId
(
orderBean
.
getOid
());
orderSendOutRequest
.
setShopId
(
orderBean
.
getShopId
());
orderSendOutRequest
.
setOperator
(
request
.
getOperator
());
return
orderSendOutRequest
;
}
/**
* 送达request
* @param request
* @param orderBean
* @return
*/
public
OrderSendOutRequest
getOrderArriveRequest
(
OrderManagerRequest
request
,
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
){
BaseOrderRequest
arriveReq
=
new
BaseOrderRequest
();
arriveReq
.
setOrderId
(
orderBean
.
getOid
());
arriveReq
.
setChannel
(
orderBean
.
getSource
());
arriveReq
.
setCompanyId
(
orderBean
.
getCompanyId
());
arriveReq
.
setOperator
(
request
.
getOperator
());
arriveReq
.
setShopId
(
request
.
getStoreId
());
return
arriveReq
;
}
}
order-management/src/main/java/cn/freemud/management/controller/OrderManagerController.java
View file @
34dbe1b4
...
@@ -47,6 +47,12 @@ public class OrderManagerController {
...
@@ -47,6 +47,12 @@ public class OrderManagerController {
switch
(
byOpType
)
{
switch
(
byOpType
)
{
case
ORDER_CONFIRM:
case
ORDER_CONFIRM:
return
orderManagerAdapter
.
orderConfirmTake
(
request
);
return
orderManagerAdapter
.
orderConfirmTake
(
request
);
case
ORDER_DONE:
return
orderManagerAdapter
.
orderDone
(
request
);
case
ORDER_SEND:
return
orderManagerAdapter
.
orderDelivery
(
request
);
case
ORDER_AFFIRM:
return
orderManagerAdapter
.
orderAffirm
(
request
);
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 @
34dbe1b4
...
@@ -37,6 +37,11 @@ public class OrderManagerResponse {
...
@@ -37,6 +37,11 @@ public class OrderManagerResponse {
this
.
orderPrintConfig
=
orderPrintConfig
;
this
.
orderPrintConfig
=
orderPrintConfig
;
this
.
gmtExpect
=
gmtExpect
;
this
.
gmtExpect
=
gmtExpect
;
}
}
public
OrderManagerResponse
(
RefundStatus
refundStatus
){
if
(
refundStatus
!=
null
){
this
.
refundStatus
=
refundStatus
.
getCode
();
}
}
public
OrderManagerResponse
(
OrderStatus
status
,
RefundStatus
refundStatus
){
public
OrderManagerResponse
(
OrderStatus
status
,
RefundStatus
refundStatus
){
if
(
status
!=
null
){
if
(
status
!=
null
){
this
.
status
=
status
.
getCode
();
this
.
status
=
status
.
getCode
();
...
...
order-management/src/main/java/cn/freemud/management/enums/OrderStatus.java
View file @
34dbe1b4
...
@@ -19,7 +19,7 @@ public enum OrderStatus {
...
@@ -19,7 +19,7 @@ public enum OrderStatus {
RECEIPT
(
3
,
"接单"
),
RECEIPT
(
3
,
"接单"
),
DISTRIBUTION
(
4
,
"配送中"
),
DISTRIBUTION
(
4
,
"配送中"
),
COMPLETE
(
5
,
"完成"
),
COMPLETE
(
5
,
"完成"
),
CA
L
CEL
(
6
,
"取消"
),
CA
N
CEL
(
6
,
"取消"
),
REFUSE
(
7
,
"拒单"
),
REFUSE
(
7
,
"拒单"
),
COMPLETE_MAKE
(
31
,
"制作完成"
);
COMPLETE_MAKE
(
31
,
"制作完成"
);
...
...
order-management/src/main/java/cn/freemud/management/enums/ResponseResult.java
View file @
34dbe1b4
...
@@ -140,7 +140,17 @@ public enum ResponseResult {
...
@@ -140,7 +140,17 @@ public enum ResponseResult {
ORDER_ACCEPT_FAILED
(
"45057"
,
"接单失败"
),
ORDER_ACCEPT_FAILED
(
"45057"
,
"接单失败"
),
ORDER_ACCEPT_FAILED_CREATE_DELIVERY_FAILED
(
"45058"
,
"创建配送单失败导致接单失败"
),
ORDER_ACCEPT_FAILED_CREATE_DELIVERY_FAILED
(
"45058"
,
"创建配送单失败导致接单失败"
),
ORDER_OPERATE_TYPE_NOT_VALIDATE
(
"45059"
,
"订单操作类型(operateType)不支持"
),
ORDER_OPERATE_TYPE_NOT_VALIDATE
(
"45059"
,
"订单操作类型(operateType)不支持"
),
ORDER_IS_COMPLETE_CAN_NOT_DELIVERY
(
"45060"
,
"订单已经完成,不能送出"
),
DELIVERY_SEND_MAKE_UNFINISHED
(
"45061"
,
"订单不是制作完成,不能送出"
),
DELIVERY_SEND_REPETITION
(
"45062"
,
"重复操作,订单已送出"
),
DELIVERY_SEND_APPLY_REFUND
(
"45063"
,
"订单已经申请退款,不能送出"
),
DELIVERY_SEND_STATUS_NOTAKE
(
"45064"
,
"订单不是接单,不能送出"
),
DELIVERY_FAIL
(
"45065"
,
"送出失败,不能送出"
),
ORDER_DELIVERY_FAILED
(
"45066"
,
"订单不是配送状态,不能送达"
),
DONE_FAIL_APPLY_REFUND
(
"45067"
,
"订单已经申请退款,不能制作"
),
AFFIRM_FAIL_APPLY_REFUND
(
"45068"
,
"订单已经申请退款,不能完成"
),
DONE_FAIL_NOT_ACCEPT
(
"45069"
,
"订单不是接单状态,不能制作"
),
DONE_FAIL_REPETITION
(
"45070"
,
"重复操作,订单已送出"
),
/**
/**
* 支付
* 支付
*/
*/
...
...
order-management/src/main/java/cn/freemud/management/service/OrderManagerService.java
View file @
34dbe1b4
...
@@ -18,5 +18,28 @@ public interface OrderManagerService {
...
@@ -18,5 +18,28 @@ public interface OrderManagerService {
*/
*/
BaseResponse
<
OrderManagerResponse
>
orderConfirm
(
OrderManagerRequest
request
,
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
);
BaseResponse
<
OrderManagerResponse
>
orderConfirm
(
OrderManagerRequest
request
,
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
);
/**
* 制作完成
* @param request
* @param orderBean
* @return
*/
BaseResponse
<
OrderManagerResponse
>
orderDone
(
OrderManagerRequest
request
,
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
);
/**
* 订单配送
* @param request
* @param orderBean
* @return
*/
BaseResponse
<
OrderManagerResponse
>
orderDelivery
(
OrderManagerRequest
request
,
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
);
/**
* 订单完成
* @param request
* @param orderBean
* @return
*/
BaseResponse
<
OrderManagerResponse
>
orderAffirm
(
OrderManagerRequest
request
,
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
);
}
}
order-management/src/main/java/cn/freemud/management/service/adapter/OrderManagerAdapter.java
View file @
34dbe1b4
...
@@ -6,8 +6,10 @@ import cn.freemud.management.entities.dto.response.order.OrderManagerResponse;
...
@@ -6,8 +6,10 @@ import cn.freemud.management.entities.dto.response.order.OrderManagerResponse;
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
com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse
;
import
com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse
;
import
org.apache.commons.lang.ObjectUtils
;
import
org.apache.commons.lang.ObjectUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
...
@@ -40,7 +42,56 @@ public class OrderManagerAdapter {
...
@@ -40,7 +42,56 @@ public class OrderManagerAdapter {
}
}
/**
/**
* 制作完成
* @param request
* @return
*/
public
BaseResponse
<
OrderManagerResponse
>
orderDone
(
OrderManagerRequest
request
)
{
//查询订单
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
=
orderBaseService
.
getByOrderCode
(
request
.
getOrderId
());
//订单接单参数校验
BaseResponse
verifyResponse
=
orderVerifyService
.
orderDoneVerify
(
orderBean
,
request
);
if
(
ObjectUtils
.
notEqual
(
verifyResponse
.
getCode
(),
ResponseResult
.
SUCCESS
.
getCode
()))
{
return
verifyResponse
;
}
return
orderBeanFactory
.
getOrderManagerService
(
orderBean
).
orderDone
(
request
,
orderBean
);
}
/**
* 送出
* @param request
* @return
*/
public
BaseResponse
<
OrderManagerResponse
>
orderDelivery
(
OrderManagerRequest
request
)
{
//查询订单
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
=
orderBaseService
.
getByOrderCode
(
request
.
getOrderId
());
//订单接单参数校验
BaseResponse
verifyResponse
=
orderVerifyService
.
orderDeliveryVerify
(
orderBean
,
request
);
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
orderBeanFactory
.
getOrderManagerService
(
orderBean
).
orderDelivery
(
request
,
orderBean
);
}
/**
* 完成
* @param request
* @return
*/
public
BaseResponse
<
OrderManagerResponse
>
orderAffirm
(
OrderManagerRequest
request
)
{
//查询订单
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
=
orderBaseService
.
getByOrderCode
(
request
.
getOrderId
());
//订单接单参数校验
BaseResponse
verifyResponse
=
orderVerifyService
.
orderAffirmVerify
(
orderBean
,
request
);
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
orderBeanFactory
.
getOrderManagerService
(
orderBean
).
orderAffirm
(
request
,
orderBean
);
}
/**
* 拒单
* 拒单
*
* @param request
* @param request
* @return
* @return
*/
*/
...
...
order-management/src/main/java/cn/freemud/management/service/impl/OrderVerifyService.java
View file @
34dbe1b4
...
@@ -2,11 +2,11 @@ package cn.freemud.management.service.impl;
...
@@ -2,11 +2,11 @@ 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.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.application.sdk.api.ordercenter.enums.OperateType
;
import
com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse
;
import
com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse
;
import
org.apache.commons.lang.ObjectUtils
;
import
org.apache.commons.lang.ObjectUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
...
@@ -43,6 +43,95 @@ public class OrderVerifyService {
...
@@ -43,6 +43,95 @@ public class OrderVerifyService {
return
commonVerify
(
orderBean
,
request
);
return
commonVerify
(
orderBean
,
request
);
}
}
/**
* 订单配送校验
* @param orderBean
* @param request
* @return
*/
public
BaseResponse
orderDeliveryVerify
(
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
,
OrderManagerRequest
request
)
{
if
(
orderBean
==
null
)
{
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_NOT_EXIST
);
}
//已完成的订单不能配送
if
(
OrderStatus
.
COMPLETE
.
getCode
().
equals
(
orderBean
.
getStatus
())){
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_IS_COMPLETE_CAN_NOT_DELIVERY
);
}
//订单已经发送过配送
if
(
OrderStatus
.
DISTRIBUTION
.
getCode
().
equals
(
orderBean
.
getStatus
())){
return
ResponseUtil
.
error
(
ResponseResult
.
DELIVERY_SEND_REPETITION
);
}
//判断订单状态是否为已经申请退款订单
if
(
orderBean
.
getHasRefund
()
!=
null
&&
orderBean
.
getHasRefund
()
&&
(
orderBean
.
getRefundList
().
get
(
orderBean
.
getRefundList
().
size
()
-
1
).
getStatus
()
==
1
||
orderBean
.
getRefundList
().
get
(
orderBean
.
getRefundList
().
size
()
-
1
).
getStatus
()
==
4
))
{
return
ResponseUtil
.
error
(
ResponseResult
.
DELIVERY_SEND_APPLY_REFUND
);
}
//外卖订单不是接单不能送出
if
(!
OrderStatus
.
RECEIPT
.
getCode
().
equals
(
orderBean
.
getStatus
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
DELIVERY_SEND_STATUS_NOTAKE
);
}
return
commonVerify
(
orderBean
,
request
);
}
/**
* 订单制作完成校验
* @param orderBean
* @param request
* @return
*/
public
BaseResponse
orderDoneVerify
(
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
,
OrderManagerRequest
request
)
{
//已制作完成的订单不能重复操作
if
(
OrderStatus
.
COMPLETE_MAKE
.
getCode
().
equals
(
orderBean
.
getStatus
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
DONE_FAIL_REPETITION
);
}
//订单非接单状态,不能制作完成
if
(!
OrderStatus
.
RECEIPT
.
getCode
().
equals
(
orderBean
.
getStatus
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
DONE_FAIL_NOT_ACCEPT
);
}
//判断订单状态是否为已经申请退款订单
if
(
orderBean
.
getHasRefund
()
!=
null
&&
orderBean
.
getHasRefund
()
&&
(
orderBean
.
getRefundList
().
get
(
orderBean
.
getRefundList
().
size
()
-
1
).
getStatus
()
==
1
||
orderBean
.
getRefundList
().
get
(
orderBean
.
getRefundList
().
size
()
-
1
).
getStatus
()
==
4
))
{
return
ResponseUtil
.
error
(
ResponseResult
.
DONE_FAIL_APPLY_REFUND
);
}
return
ResponseUtil
.
success
();
}
/**
* 订单完成校验
* @param orderBean
* @param request
* @return
*/
public
BaseResponse
orderAffirmVerify
(
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
,
OrderManagerRequest
request
)
{
//判断订单是否已送达
if
(
OrderStatus
.
COMPLETE
.
getCode
().
equals
(
orderBean
.
getStatus
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
DELIVERY_SEND_REPETITION
);
}
//已取消的订单不能操作
if
(
OrderStatus
.
CANCEL
.
getCode
().
equals
(
orderBean
.
getStatus
())){
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_HAS_CANCELED
);
}
//判断订单状态是否为已经申请退款订单
if
(
orderBean
.
getHasRefund
()
!=
null
&&
orderBean
.
getHasRefund
()
&&
(
orderBean
.
getRefundList
().
get
(
orderBean
.
getRefundList
().
size
()
-
1
).
getStatus
()
==
1
||
orderBean
.
getRefundList
().
get
(
orderBean
.
getRefundList
().
size
()
-
1
).
getStatus
()
==
4
))
{
return
ResponseUtil
.
error
(
ResponseResult
.
AFFIRM_FAIL_APPLY_REFUND
);
}
//校验订单是否为配送状态
if
(
isWaimai
(
orderBean
)
&&
ObjectUtils
.
notEqual
(
OrderStatus
.
DISTRIBUTION
.
getCode
(),
orderBean
.
getStatus
())){
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_DELIVERY_FAILED
);
}
return
commonVerify
(
orderBean
,
request
);
}
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
()))
{
...
@@ -54,4 +143,13 @@ public class OrderVerifyService {
...
@@ -54,4 +143,13 @@ public class OrderVerifyService {
}
}
return
ResponseUtil
.
success
();
return
ResponseUtil
.
success
();
}
}
private
boolean
isWaimai
(
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
){
String
source
=
orderBean
.
getSource
();
if
(
OrderSource
.
BDWM
.
getSource
().
equals
(
source
)
||
OrderSource
.
JDWM
.
getSource
().
equals
(
source
)
||
OrderSource
.
MTWM
.
getSource
().
equals
(
source
)
||
OrderSource
.
ELEME
.
getSource
().
equals
(
source
)){
return
true
;
}
return
false
;
}
}
}
order-management/src/main/java/cn/freemud/management/service/impl/SaasOrderMangerServiceImpl.java
View file @
34dbe1b4
...
@@ -84,4 +84,63 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
...
@@ -84,4 +84,63 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
orderBaseService
.
sendMessage
(
orderBean
,
OperateType
.
ORDER_CONFIRM
,
request
.
getReason
());
orderBaseService
.
sendMessage
(
orderBean
,
OperateType
.
ORDER_CONFIRM
,
request
.
getReason
());
return
ResponseUtil
.
success
(
new
OrderManagerResponse
(
storeInfo
.
getBizVO
().
getOrderPrintConfig
(),
orderBean
.
getGmtExpect
(),
refundStatus
));
return
ResponseUtil
.
success
(
new
OrderManagerResponse
(
storeInfo
.
getBizVO
().
getOrderPrintConfig
(),
orderBean
.
getGmtExpect
(),
refundStatus
));
}
}
/**
* 制作完成
*
* @param request
* @param orderBean
* @return
*/
@Override
public
BaseResponse
<
OrderManagerResponse
>
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
())){
return
ResponseUtil
.
error
(
ResponseResult
.
DELIVERY_FAIL
);
}
// 推送pos消息中心
orderBaseService
.
sendMessage
(
orderBean
,
OperateType
.
ORDER_DONE
,
request
.
getReason
());
return
ResponseUtil
.
success
();
}
/**
* 订单配送
*
* @param request
* @param orderBean
* @return
*/
@Override
public
BaseResponse
<
OrderManagerResponse
>
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
())){
return
ResponseUtil
.
error
(
ResponseResult
.
DELIVERY_FAIL
);
}
// 推送pos消息中心
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
();
}
/**
* 订单完成
*
* @param request
* @param orderBean
* @return
*/
@Override
public
BaseResponse
<
OrderManagerResponse
>
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
())){
return
ResponseUtil
.
error
(
ResponseResult
.
DELIVERY_FAIL
);
}
// 推送pos消息中心
orderBaseService
.
sendMessage
(
orderBean
,
OperateType
.
ORDER_AFFIRM
,
request
.
getReason
());
return
ResponseUtil
.
success
();
}
}
}
order-management/src/main/java/cn/freemud/management/service/impl/WaimaiOrderMangerServiceImpl.java
View file @
34dbe1b4
...
@@ -2,11 +2,13 @@ package cn.freemud.management.service.impl;
...
@@ -2,11 +2,13 @@ package cn.freemud.management.service.impl;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.base.log.LogTreadLocal
;
import
cn.freemud.base.log.LogTreadLocal
;
import
cn.freemud.management.adapter.WaimaiSdkAdapter
;
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.ResponseResult
;
import
cn.freemud.management.enums.ResponseResult
;
import
cn.freemud.management.service.OrderManagerService
;
import
cn.freemud.management.service.OrderManagerService
;
import
cn.freemud.management.util.ResponseUtil
;
import
cn.freemud.management.util.ResponseUtil
;
import
com.freemud.application.sdk.api.takeaway.request.order.OrderSendOutRequest
;
import
com.freemud.application.sdk.api.takeaway.request.order.PlatformOrderRequest
;
import
com.freemud.application.sdk.api.takeaway.request.order.PlatformOrderRequest
;
import
com.freemud.application.sdk.api.takeaway.service.WaimaiOrderService
;
import
com.freemud.application.sdk.api.takeaway.service.WaimaiOrderService
;
import
com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse
;
import
com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse
;
...
@@ -31,18 +33,60 @@ public class WaimaiOrderMangerServiceImpl implements OrderManagerService {
...
@@ -31,18 +33,60 @@ public class WaimaiOrderMangerServiceImpl implements OrderManagerService {
@Autowired
@Autowired
private
WaimaiOrderService
waimaiOrderService
;
private
WaimaiOrderService
waimaiOrderService
;
@Autowired
private
WaimaiSdkAdapter
waimaiSdkAdapter
;
@Override
@Override
public
BaseResponse
<
OrderManagerResponse
>
orderConfirm
(
OrderManagerRequest
request
,
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
)
{
public
BaseResponse
<
OrderManagerResponse
>
orderConfirm
(
OrderManagerRequest
request
,
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
)
{
PlatformOrderRequest
platformOrderRequest
=
new
PlatformOrderRequest
();
PlatformOrderRequest
platformOrderRequest
=
waimaiSdkAdapter
.
getPlatformOrderRequest
(
request
,
orderBean
);
platformOrderRequest
.
setPlatformOrderId
(
orderBean
.
getCustomerOrder
());
platformOrderRequest
.
setChannel
(
orderBean
.
getSource
());
platformOrderRequest
.
setCompanyId
(
orderBean
.
getCompanyId
());
platformOrderRequest
.
setOrderId
(
orderBean
.
getOid
());
platformOrderRequest
.
setShopId
(
orderBean
.
getShopId
());
platformOrderRequest
.
setOperator
(
request
.
getOperator
());
com
.
freemud
.
application
.
sdk
.
api
.
base
.
BaseResponse
waimaiBaseResponse
=
waimaiOrderService
.
confirm
(
platformOrderRequest
,
LogTreadLocal
.
getTrackingNo
());
com
.
freemud
.
application
.
sdk
.
api
.
base
.
BaseResponse
waimaiBaseResponse
=
waimaiOrderService
.
confirm
(
platformOrderRequest
,
LogTreadLocal
.
getTrackingNo
());
if
(
ObjectUtils
.
notEqual
(
ResponseResult
.
SUCCESS
.
getCode
(),
waimaiBaseResponse
.
getCode
())){
if
(
ObjectUtils
.
notEqual
(
ResponseResult
.
SUCCESS
.
getCode
(),
waimaiBaseResponse
.
getCode
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_ACCEPT_FAILED
);
}
return
ResponseUtil
.
success
();
}
/**
* 制作完成
*
* @param request
* @param orderBean
* @return
*/
@Override
public
BaseResponse
<
OrderManagerResponse
>
orderDone
(
OrderManagerRequest
request
,
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
)
{
return
ResponseUtil
.
success
();
}
/**
* 订单配送
*
* @param request
* @param orderBean
* @return
*/
@Override
public
BaseResponse
<
OrderManagerResponse
>
orderDelivery
(
OrderManagerRequest
request
,
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
)
{
OrderSendOutRequest
orderSendOutRequest
=
waimaiSdkAdapter
.
getOrderSendOutRequest
(
request
,
orderBean
);
com
.
freemud
.
application
.
sdk
.
api
.
base
.
BaseResponse
sendoutResponse
=
waimaiOrderService
.
sendout
(
orderSendOutRequest
,
LogTreadLocal
.
getTrackingNo
());
if
(
ObjectUtils
.
notEqual
(
ResponseResult
.
SUCCESS
.
getCode
(),
sendoutResponse
.
getCode
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_ACCEPT_FAILED
);
}
return
ResponseUtil
.
success
();
}
/**
* 订单完成
*
* @param request
* @param orderBean
* @return
*/
@Override
public
BaseResponse
<
OrderManagerResponse
>
orderAffirm
(
OrderManagerRequest
request
,
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
)
{
OrderSendOutRequest
orderArriveRequest
=
waimaiSdkAdapter
.
getOrderArriveRequest
(
request
,
orderBean
);
com
.
freemud
.
application
.
sdk
.
api
.
base
.
BaseResponse
arriveResponse
=
waimaiOrderService
.
arrive
(
orderArriveRequest
,
LogTreadLocal
.
getTrackingNo
());
if
(
ObjectUtils
.
notEqual
(
ResponseResult
.
SUCCESS
.
getCode
(),
arriveResponse
.
getCode
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_ACCEPT_FAILED
);
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_ACCEPT_FAILED
);
}
}
return
ResponseUtil
.
success
();
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