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
4fa350c7
Commit
4fa350c7
authored
Sep 27, 2021
by
周晓航
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'KA-支持门店手动创建运单,通知骑手到店取餐20210915-zxh'
parents
1ed62631
a4ad05ad
Hide whitespace changes
Inline
Side-by-side
Showing
27 changed files
with
922 additions
and
51 deletions
+922
-51
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/request/order/BaseQueryOrderRequest.java
+6
-0
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/service/order/OrderCenterSdkServiceImpl.java
+3
-2
order-application-service/src/main/java/cn/freemud/service/impl/SellCouponOrderServiceImpl.java
+0
-3
order-management/src/main/java/cn/freemud/management/adapter/DeliverySdkAdapter.java
+18
-16
order-management/src/main/java/cn/freemud/management/controller/OrderManagerController.java
+4
-0
order-management/src/main/java/cn/freemud/management/entities/dto/request/console/BizDTO.java
+28
-0
order-management/src/main/java/cn/freemud/management/entities/dto/request/console/BusinessInfoDTO.java
+216
-0
order-management/src/main/java/cn/freemud/management/entities/dto/request/console/ConsoleResponseDTO.java
+25
-0
order-management/src/main/java/cn/freemud/management/entities/dto/request/console/DeliveryInfoDTO.java
+74
-0
order-management/src/main/java/cn/freemud/management/entities/dto/request/console/ExpandFieldsDTO.java
+71
-0
order-management/src/main/java/cn/freemud/management/entities/dto/request/console/GetStoreMixRequest.java
+29
-0
order-management/src/main/java/cn/freemud/management/entities/dto/request/console/QueryFlag.java
+44
-0
order-management/src/main/java/cn/freemud/management/entities/dto/request/console/StoreInfoDTO.java
+174
-0
order-management/src/main/java/cn/freemud/management/entities/dto/request/order/OrderManagerRequest.java
+6
-0
order-management/src/main/java/cn/freemud/management/enums/OperateType.java
+3
-1
order-management/src/main/java/cn/freemud/management/enums/ResponseResult.java
+1
-0
order-management/src/main/java/cn/freemud/management/service/OrderBaseService.java
+2
-2
order-management/src/main/java/cn/freemud/management/service/OrderManagerService.java
+21
-0
order-management/src/main/java/cn/freemud/management/service/adapter/OrderManagerAdapter.java
+52
-4
order-management/src/main/java/cn/freemud/management/service/handle/DeliveryHandle.java
+24
-6
order-management/src/main/java/cn/freemud/management/service/handle/PaymentHandle.java
+3
-1
order-management/src/main/java/cn/freemud/management/service/handle/SaasOrderHandle.java
+1
-0
order-management/src/main/java/cn/freemud/management/service/impl/OrderDeliveryService.java
+14
-6
order-management/src/main/java/cn/freemud/management/service/impl/SaasOrderMangerServiceImpl.java
+61
-10
order-management/src/main/java/cn/freemud/management/thirdparty/ConsoleApiClient.java
+36
-0
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/request/OrderExpressReq.java
+1
-0
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/request/POSOrderOperationBaseReq.java
+5
-0
No files found.
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/request/order/BaseQueryOrderRequest.java
View file @
4fa350c7
...
@@ -64,4 +64,10 @@ public class BaseQueryOrderRequest extends BaseConfig {
...
@@ -64,4 +64,10 @@ public class BaseQueryOrderRequest extends BaseConfig {
// 合阔pos 商户订单状态不自动扭转
// 合阔pos 商户订单状态不自动扭转
private
Boolean
notAutomaticTwist
;
private
Boolean
notAutomaticTwist
;
/**
* 派单模式(0-系统自动派单;1-手动派单)
* 内置传参使用
*/
private
String
dispatchType
;
}
}
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/service/order/OrderCenterSdkServiceImpl.java
View file @
4fa350c7
...
@@ -62,13 +62,11 @@ import com.freemud.application.sdk.api.structure.service.MessageCenterClient;
...
@@ -62,13 +62,11 @@ import com.freemud.application.sdk.api.structure.service.MessageCenterClient;
import
com.freemud.sdk.api.assortment.order.adapter.*
;
import
com.freemud.sdk.api.assortment.order.adapter.*
;
import
com.freemud.sdk.api.assortment.order.constant.CommonConstant
;
import
com.freemud.sdk.api.assortment.order.constant.CommonConstant
;
import
com.freemud.sdk.api.assortment.order.domain.ResponseCodeConstant
;
import
com.freemud.sdk.api.assortment.order.domain.ResponseCodeConstant
;
import
com.freemud.sdk.api.assortment.order.entities.OrderEditInfo
;
import
com.freemud.sdk.api.assortment.order.enums.*
;
import
com.freemud.sdk.api.assortment.order.enums.*
;
import
com.freemud.sdk.api.assortment.order.request.order.CreateOrderRequest
;
import
com.freemud.sdk.api.assortment.order.request.order.CreateOrderRequest
;
import
com.freemud.sdk.api.assortment.order.request.order.OrderDownloadRequest
;
import
com.freemud.sdk.api.assortment.order.request.order.OrderDownloadRequest
;
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.*
;
//import com.freemud.sdk.api.assortment.order.response.payment.OrderPayResponse;
import
com.freemud.sdk.api.assortment.order.service.OrderCenterSdkService
;
import
com.freemud.sdk.api.assortment.order.service.OrderCenterSdkService
;
import
com.freemud.sdk.api.assortment.order.util.AssortOrderLogUtil
;
import
com.freemud.sdk.api.assortment.order.util.AssortOrderLogUtil
;
import
com.freemud.sdk.api.assortment.order.vo.AssortmentOrderProductVo
;
import
com.freemud.sdk.api.assortment.order.vo.AssortmentOrderProductVo
;
...
@@ -87,6 +85,8 @@ import java.util.stream.Collectors;
...
@@ -87,6 +85,8 @@ import java.util.stream.Collectors;
import
static
com
.
freemud
.
application
.
sdk
.
api
.
membercenter
.
constant
.
InterfaceAddressConstant
.
MEMBER_EXTEND_INFO
;
import
static
com
.
freemud
.
application
.
sdk
.
api
.
membercenter
.
constant
.
InterfaceAddressConstant
.
MEMBER_EXTEND_INFO
;
import
static
com
.
freemud
.
sdk
.
api
.
assortment
.
order
.
domain
.
ResponseCodeConstant
.
RESPONSE_SUCCESS
;
import
static
com
.
freemud
.
sdk
.
api
.
assortment
.
order
.
domain
.
ResponseCodeConstant
.
RESPONSE_SUCCESS
;
import
static
com
.
freemud
.
sdk
.
api
.
assortment
.
order
.
domain
.
ResponseCodeConstant
.
RESPONSE_SUCCESS_STR
;
import
static
com
.
freemud
.
sdk
.
api
.
assortment
.
order
.
domain
.
ResponseCodeConstant
.
RESPONSE_SUCCESS_STR
;
//import com.freemud.sdk.api.assortment.order.response.payment.OrderPayResponse;
@Import
(
ManagerOrderBeanConfig
.
class
)
@Import
(
ManagerOrderBeanConfig
.
class
)
@Service
@Service
public
class
OrderCenterSdkServiceImpl
implements
OrderCenterSdkService
{
public
class
OrderCenterSdkServiceImpl
implements
OrderCenterSdkService
{
...
@@ -878,6 +878,7 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
...
@@ -878,6 +878,7 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
POSOrderOperationBaseReq
request
=
new
POSOrderOperationBaseReq
();
POSOrderOperationBaseReq
request
=
new
POSOrderOperationBaseReq
();
request
.
setOrderCode
(
baseQueryOrderRequest
.
getOrderId
());
request
.
setOrderCode
(
baseQueryOrderRequest
.
getOrderId
());
request
.
setOperator
(
baseQueryOrderRequest
.
getOperator
());
request
.
setOperator
(
baseQueryOrderRequest
.
getOperator
());
request
.
setDispatchType
(
baseQueryOrderRequest
.
getDispatchType
());
// 引入门店基础服务 查询自动制作完成配置时间
// 引入门店基础服务 查询自动制作完成配置时间
setTimeout
(
baseQueryOrderRequest
,
request
);
setTimeout
(
baseQueryOrderRequest
,
request
);
com
.
freemud
.
application
.
sdk
.
api
.
ordercenter
.
response
.
OrderBaseResp
response
=
orderSdkService
.
acceptOrder
(
request
,
baseQueryOrderRequest
.
getTrackingNo
());
com
.
freemud
.
application
.
sdk
.
api
.
ordercenter
.
response
.
OrderBaseResp
response
=
orderSdkService
.
acceptOrder
(
request
,
baseQueryOrderRequest
.
getTrackingNo
());
...
...
order-application-service/src/main/java/cn/freemud/service/impl/SellCouponOrderServiceImpl.java
View file @
4fa350c7
...
@@ -51,9 +51,6 @@ import com.freemud.application.sdk.api.ordercenter.request.create.CreateOrderReq
...
@@ -51,9 +51,6 @@ import com.freemud.application.sdk.api.ordercenter.request.create.CreateOrderReq
import
com.freemud.application.sdk.api.ordercenter.request.create.DeliveryContactInfoCreateReq
;
import
com.freemud.application.sdk.api.ordercenter.request.create.DeliveryContactInfoCreateReq
;
import
com.freemud.application.sdk.api.ordercenter.request.create.OrderItemCreateReq
;
import
com.freemud.application.sdk.api.ordercenter.request.create.OrderItemCreateReq
;
import
com.freemud.application.sdk.api.ordercenter.request.create.OrderSettlementCreateReq
;
import
com.freemud.application.sdk.api.ordercenter.request.create.OrderSettlementCreateReq
;
import
com.freemud.application.sdk.api.ordercenter.request.create.DeliveryContactInfoCreateReq
;
import
com.freemud.application.sdk.api.ordercenter.request.create.OrderItemCreateReq
;
import
com.freemud.application.sdk.api.ordercenter.request.create.OrderSettlementCreateReq
;
import
com.freemud.application.sdk.api.ordercenter.response.OrderBaseResp
;
import
com.freemud.application.sdk.api.ordercenter.response.OrderBaseResp
;
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.service.OrderSdkService
;
import
com.freemud.application.sdk.api.ordercenter.service.OrderSdkService
;
...
...
order-management/src/main/java/cn/freemud/management/adapter/DeliverySdkAdapter.java
View file @
4fa350c7
package
cn
.
freemud
.
management
.
adapter
;
package
cn
.
freemud
.
management
.
adapter
;
import
cn.freemud.management.entities.dto.request.console.BizDTO
;
import
cn.freemud.management.entities.dto.request.console.ConsoleResponseDTO
;
import
cn.freemud.management.entities.dto.request.console.StoreInfoDTO
;
import
com.freemud.application.sdk.api.deliverycenter.dto.CreateDeliveryOrderRequestDto
;
import
com.freemud.application.sdk.api.deliverycenter.dto.CreateDeliveryOrderRequestDto
;
import
com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1
;
import
com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1
;
import
com.freemud.application.sdk.api.ordercenter.enums.OrderType
;
import
com.freemud.application.sdk.api.ordercenter.enums.OrderType
;
import
com.freemud.application.sdk.api.storecenter.response.StoreResponse
;
import
org.apache.commons.lang.math.NumberUtils
;
import
org.apache.commons.lang.math.NumberUtils
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
...
@@ -20,13 +22,13 @@ public class DeliverySdkAdapter {
...
@@ -20,13 +22,13 @@ public class DeliverySdkAdapter {
* 创建配送单请求对象
* 创建配送单请求对象
*
*
* @param order
* @param order
* @param
storeInfo
* @param
bizDTO
* @param deliveryCallBackUrl
* @param deliveryCallBackUrl
* @return
* @return
*/
*/
public
CreateDeliveryOrderRequestDto
buildDeliveryOrderRequestDto
(
OrderBeanV1
order
public
CreateDeliveryOrderRequestDto
buildDeliveryOrderRequestDto
(
OrderBeanV1
order
,
StoreResponse
storeInfo
,
String
deliveryCallBackUrl
)
{
,
ConsoleResponseDTO
<
BizDTO
>
bizDTO
,
String
deliveryCallBackUrl
)
{
StoreInfoDTO
storeInfo
=
bizDTO
.
getBizVO
().
getStoreInfo
();
CreateDeliveryOrderRequestDto
deliveryOrderRequestDto
=
new
CreateDeliveryOrderRequestDto
();
CreateDeliveryOrderRequestDto
deliveryOrderRequestDto
=
new
CreateDeliveryOrderRequestDto
();
deliveryOrderRequestDto
.
setDepatchWeight
(
new
BigDecimal
(
1
));
deliveryOrderRequestDto
.
setDepatchWeight
(
new
BigDecimal
(
1
));
deliveryOrderRequestDto
.
setSerialNumber
(
order
.
getOtherCode
());
deliveryOrderRequestDto
.
setSerialNumber
(
order
.
getOtherCode
());
...
@@ -36,23 +38,23 @@ public class DeliverySdkAdapter {
...
@@ -36,23 +38,23 @@ public class DeliverySdkAdapter {
deliveryOrderRequestDto
.
setOrderActualAmount
(
order
.
getAmount
().
intValue
());
deliveryOrderRequestDto
.
setOrderActualAmount
(
order
.
getAmount
().
intValue
());
deliveryOrderRequestDto
.
setPartnerId
(
order
.
getCompanyId
());
deliveryOrderRequestDto
.
setPartnerId
(
order
.
getCompanyId
());
deliveryOrderRequestDto
.
setOrderChannel
(
order
.
getSource
());
deliveryOrderRequestDto
.
setOrderChannel
(
order
.
getSource
());
deliveryOrderRequestDto
.
setStoreId
(
storeInfo
.
get
BizVO
().
get
StoreId
());
deliveryOrderRequestDto
.
setStoreId
(
storeInfo
.
getStoreId
());
deliveryOrderRequestDto
.
setStoreCode
(
storeInfo
.
get
BizVO
().
get
StoreCode
());
deliveryOrderRequestDto
.
setStoreCode
(
storeInfo
.
getStoreCode
());
StringBuffer
address
=
new
StringBuffer
(
storeInfo
.
get
BizVO
().
get
City
())
StringBuffer
address
=
new
StringBuffer
(
storeInfo
.
getCity
())
.
append
(
storeInfo
.
get
BizVO
().
get
Province
())
.
append
(
storeInfo
.
getProvince
())
.
append
(
storeInfo
.
get
BizVO
().
get
Region
())
.
append
(
storeInfo
.
getRegion
())
.
append
(
storeInfo
.
get
BizVO
().
get
Address
());
.
append
(
storeInfo
.
getAddress
());
deliveryOrderRequestDto
.
setStoreAddress
(
address
.
toString
());
deliveryOrderRequestDto
.
setStoreAddress
(
address
.
toString
());
deliveryOrderRequestDto
.
setStoreLng
(
new
BigDecimal
(
storeInfo
.
get
BizVO
().
get
Longitude
()));
deliveryOrderRequestDto
.
setStoreLng
(
new
BigDecimal
(
storeInfo
.
getLongitude
()));
deliveryOrderRequestDto
.
setStoreLat
(
new
BigDecimal
(
storeInfo
.
get
BizVO
().
get
Latitude
()));
deliveryOrderRequestDto
.
setStoreLat
(
new
BigDecimal
(
storeInfo
.
getLatitude
()));
deliveryOrderRequestDto
.
setStorePhone
(
storeInfo
.
get
BizVO
().
get
Phone
());
deliveryOrderRequestDto
.
setStorePhone
(
storeInfo
.
getPhone
());
deliveryOrderRequestDto
.
setStoreName
(
order
.
getShopName
());
deliveryOrderRequestDto
.
setStoreName
(
order
.
getShopName
());
deliveryOrderRequestDto
.
setCityName
(
storeInfo
.
get
BizVO
().
get
City
());
deliveryOrderRequestDto
.
setCityName
(
storeInfo
.
getCity
());
deliveryOrderRequestDto
.
setReceiverName
(
order
.
getUserName
());
deliveryOrderRequestDto
.
setReceiverName
(
order
.
getUserName
());
deliveryOrderRequestDto
.
setReceiverPrimaryPhone
(
order
.
getPhone
());
deliveryOrderRequestDto
.
setReceiverPrimaryPhone
(
order
.
getPhone
());
deliveryOrderRequestDto
.
setReceiverAddress
(
order
.
getAddress
());
deliveryOrderRequestDto
.
setReceiverAddress
(
order
.
getAddress
());
deliveryOrderRequestDto
.
setReceiverLng
(
new
BigDecimal
(
order
.
getLongitude
()));
deliveryOrderRequestDto
.
setReceiverLng
(
BigDecimal
.
valueOf
(
order
.
getLongitude
()));
deliveryOrderRequestDto
.
setReceiverLat
(
new
BigDecimal
(
order
.
getLatitude
()));
deliveryOrderRequestDto
.
setReceiverLat
(
BigDecimal
.
valueOf
(
order
.
getLatitude
()));
deliveryOrderRequestDto
.
setOrderTime
(
new
Date
(
order
.
getGmtCreate
()));
deliveryOrderRequestDto
.
setOrderTime
(
new
Date
(
order
.
getGmtCreate
()));
deliveryOrderRequestDto
.
setCallbackUrl
(
deliveryCallBackUrl
);
deliveryOrderRequestDto
.
setCallbackUrl
(
deliveryCallBackUrl
);
deliveryOrderRequestDto
.
setOrderClient
(
NumberUtils
.
toInt
(
order
.
getOrderClient
()));
deliveryOrderRequestDto
.
setOrderClient
(
NumberUtils
.
toInt
(
order
.
getOrderClient
()));
...
...
order-management/src/main/java/cn/freemud/management/controller/OrderManagerController.java
View file @
4fa350c7
...
@@ -63,6 +63,10 @@ public class OrderManagerController {
...
@@ -63,6 +63,10 @@ public class OrderManagerController {
return
orderManagerAdapter
.
orderRejectRefund
(
request
);
return
orderManagerAdapter
.
orderRejectRefund
(
request
);
case
ORDER_CANCEL:
case
ORDER_CANCEL:
return
orderManagerAdapter
.
orderCancel
(
request
);
return
orderManagerAdapter
.
orderCancel
(
request
);
case
ORDER_CREATE_DELIVERY:
return
orderManagerAdapter
.
orderCreateDelivery
(
request
);
case
ORDER_CANCEL_DELIVERY:
return
orderManagerAdapter
.
orderCancelDelivery
(
request
);
default
:
default
:
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_OPERATE_TYPE_NOT_VALIDATE
);
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_OPERATE_TYPE_NOT_VALIDATE
);
}
}
...
...
order-management/src/main/java/cn/freemud/management/entities/dto/request/console/BizDTO.java
0 → 100644
View file @
4fa350c7
package
cn
.
freemud
.
management
.
entities
.
dto
.
request
.
console
;
import
lombok.Data
;
/**
* @author : xh.Z
* @email : fisherman0510@163.com
* @Date : 2021/7/22 下午3:38
* @description :
*/
@Data
public
class
BizDTO
{
/**
* 业务配置信息
*/
private
BusinessInfoDTO
businessInfo
;
/**
* 配送信息
*/
private
DeliveryInfoDTO
deliveryInfo
;
/**
*
*/
private
StoreInfoDTO
storeInfo
;
}
order-management/src/main/java/cn/freemud/management/entities/dto/request/console/BusinessInfoDTO.java
0 → 100644
View file @
4fa350c7
package
cn
.
freemud
.
management
.
entities
.
dto
.
request
.
console
;
import
lombok.Data
;
/**
* @author : xh.Z
* @email : fisherman0510@163.com
* @Date : 2021/7/22 下午3:01
* @description : 业务配置信息
*/
@Data
public
class
BusinessInfoDTO
{
/**
* 预约自建外卖制作完成后自动流程时间 1:2小时;2:1小时;3:30分钟;4:15分钟;5:10分钟;6:5分钟;
*/
private
Integer
appointAutoDeliveryTakeOrderWorkflowFinishTime
;
/**
* 预约自提单制作完成后自动流程时间 1:2小时;2:1小时;3:30分钟;4:15分钟;5:10分钟;6:5分钟;
*/
private
Integer
appointAutoSelfmentionMakerWorkflowFinishTime
;
/**
* 预约自提单接单后自动流程时间 1:2小时;2:1小时;3:30分钟;4:15分钟;5:10分钟;6:5分钟;
*/
private
Integer
appointAutoSelfmentionTakeOrderWorkflowFinishTime
;
/**
* 预约自建外卖接单后自动流程时间 1:2小时;2:1小时;3:30分钟;4:15分钟;5:10分钟;6:5分钟;
*/
private
Integer
appointAutoTakeOutTakeOrderWorkflowFinishTime
;
/**
* 三方外卖预订单自动拣货完成时间 1:2小时;2:1小时;3:30分钟;4:15分钟;5:10分钟;6:5分钟;7:3分钟;8:2分钟;
*/
private
Integer
appointThirdDeliveryPickCompleteWorkflowFinishTime
;
/**
* 预约三方外卖制作完成后自动流程时间 1:2小时;2:1小时;3:30分钟;4:15分钟;5:10分钟;6:5分钟;7:3分钟;8:2分钟
*/
private
Integer
appointThirdDeliveryTakeOrderWorkflowFinishTime
;
/**
* 自动退单时间
*/
private
Integer
autoChargebackOrderTime
;
/**
* 退单模式 1手动退单 2自动退单
*/
private
Integer
autoChargebackOrderType
;
/**
* 自建外卖制作完成后自动流程时间 1:2小时;2:1小时;3:30分钟;4:15分钟;5:10分钟;6:5分钟;
*/
private
Integer
autoDeliveryTakeOrderWorkflowFinishTime
;
/**
* 自提单制作完成后自动流程时间 1:2小时;2:1小时;3:30分钟;4:15分钟;5:10分钟;6:5分钟;
*/
private
Integer
autoSelfmentionMakerWorkflowFinishTime
;
/**
* 自提单接单后自动流程时间 1:2小时;2:1小时;3:30分钟;4:15分钟;5:10分钟;6:5分钟;
*/
private
Integer
autoSelfmentionTakeOrderWorkflowFinishTime
;
/**
* 自建外卖接单后自动流程时间 1:2小时;2:1小时;3:30分钟;4:15分钟;5:10分钟;6:5分钟;
*/
private
Integer
autoTakeOutTakeOrderWorkflowFinishTime
;
/**
* 三方外卖订单自动拣货完成时间 1:2小时;2:1小时;3:30分钟;4:15分钟;5:10分钟;6:5分钟;7:3分钟;8:2分钟
*/
private
Integer
autoThirdDeliveryPickCompleteWorkflowFinishTime
;
/**
* 实时三方外卖制作完成后自动流程时间 1:2小时;2:1小时;3:30分钟;4:15分钟;5:10分钟;6:5分钟;7:3分钟;8:2分钟
*/
private
Integer
autoThirdDeliveryTakeOrderWorkflowFinishTime
;
/**
* 是否自动同意退款(同意:1,不同意:0)
*/
private
Integer
automaticRefund
;
/**
* 外卖预约单开关(0:关闭,1:开启)
*/
private
Integer
deliveryAppoint
;
/**
* 外卖预约单时间(分钟) 65分钟、90分钟、120分钟
*/
private
Integer
deliveryAppointTime
;
/**
* 自建外卖订单,商家自配送xx分钟后,订单状态更改为【已完成】
*/
private
Integer
deliveryFinishedAfterMinute
;
/**
* 外卖时间:00:00-23:59
*/
private
String
deliveryHours
;
/**
* 外卖预订单提醒时间{1:15分钟;2:30分钟;3:45分钟;4:60分钟;5:5分钟;6:10分钟}
*/
private
String
deliveryOrderWarnTime
;
/**
* 自建外卖订单-实时单,商家自配送,门店接单xx分钟后,订单状态变更为配送中
*/
private
Integer
deliveryProcessingAfterMinute
;
/**
* 自建外卖订单-预约单,商家自配送,预约商家前xx分钟,订单更改为配送中
*/
private
Integer
deliveryProcessingBeforeMinute
;
/**
* 预计送达时间(分钟)
*/
private
Integer
expectedTime
;
/**
* 商品平均制作时常(分钟)
*/
private
Integer
goodsAvgTimeOfMaking
;
/**
* 是否支持发票 1是 0否
*/
private
Integer
invoice
;
/**
* 发票特殊说明
*/
private
String
invoiceExplain
;
/**
* 是否支持自动接单(1是2否)
*/
private
Integer
isAutoTakeOrder
;
/**
* 最大接单量,单位笔
*/
private
Integer
maxOrderQuantity
;
/**
* 可开票的最小价格
*/
private
Integer
minPriceForInvoice
;
/**
* 预订单打印时间{1:提醒时打印;2:接单时打印}
*/
private
String
orderPrintConfig
;
/**
* 订单进度条,1 开启,2 关闭
*/
private
Integer
orderProgressBarStatus
;
/**
* 点餐方式(,隔开):pickup,delivery
*/
private
String
orderType
;
/**
* 预订单提醒时间{1:15分钟;2:30分钟;3:45分钟;4:60分钟;5:5分钟;6:10分钟}
*/
private
String
orderWarnTime
;
/**
* 超时关单 1开启 2关闭
*/
private
Integer
overTimeCloseOrder
;
/**
* 接单超时关单时间,默认30分钟
*/
private
Integer
overTimeCloseOrderTime
;
/**
* 自提-服务端自动接单时间 1:立即;2:1分钟;3:5分钟(顾客下单XX后,订单状态自动更改为已接单)
*/
private
Integer
pickupAutomaticOrderTime
;
/**
* 自提预约单开关(0:关闭,1:开启)
*/
private
Integer
selfMentionSwitch
;
/**
* 是否需要餐具 1 需要 0 不需要
*/
private
Integer
tableware
;
/**
* 参与结算(1:是、2:否)
*/
private
Integer
takePartInSettleAccounts
;
/**
* 外卖-服务端自动接单时间 1:立即;2:1分钟;3:5分钟(顾客下单XX后,订单状态自动更改为已接单)
*/
private
Integer
takeoutAutomaticOrderTime
;
/**
* 所属商户号
*/
private
String
partnerId
;
/**
* 退款时间,time_type_of_refund 为1时格式为HH:mm:ss,为2时默认48小时
*/
private
String
timeOfRefund
;
/**
* 退款时间类型:1指定时间,2默认48小时后
*/
private
Integer
timeTypeOfRefund
;
/**
* 开启制作时间 1 :是 , 2 :否
*/
private
Integer
turnOnTimeOfMaking
;
/**
* 拓展业务字段
*/
private
ExpandFieldsDTO
expandFields
;
}
order-management/src/main/java/cn/freemud/management/entities/dto/request/console/ConsoleResponseDTO.java
0 → 100644
View file @
4fa350c7
package
cn
.
freemud
.
management
.
entities
.
dto
.
request
.
console
;
import
lombok.Data
;
/**
* @author : xh.Z
* @email : fisherman0510@163.com
* @Date : 2021/7/22 下午2:57
* @description : 门店服务 响应基类
*/
@Data
public
class
ConsoleResponseDTO
<
T
>
{
/**
* 状态码
*/
private
String
statusCode
;
/**
*状态码描述
*/
private
String
msg
;
private
T
bizVO
;
}
order-management/src/main/java/cn/freemud/management/entities/dto/request/console/DeliveryInfoDTO.java
0 → 100644
View file @
4fa350c7
package
cn
.
freemud
.
management
.
entities
.
dto
.
request
.
console
;
import
lombok.Data
;
/**
* @author : xh.Z
* @email : fisherman0510@163.com
* @Date : 2021/7/22 下午3:12
* @description :
*/
@Data
public
class
DeliveryInfoDTO
{
/**
* 每增加公里(单位米)
*/
private
String
addRange
;
/**
* 每增加公里增加配送费(单位分)
*/
private
Integer
addRangeAmount
;
/**
* 基础配送费(分)
*/
private
Integer
deliveryAmount
;
/**
* 配送方式:1-三方物流配送、2-商家自配送
*/
private
Integer
deliveryMethod
;
/**
* 配送半径
*/
private
Integer
deliveryRadius
;
/**
* 基础配送距离(单位米)
*/
private
String
deliveryRange
;
/**
* 手绘经纬度集合
*/
private
String
deliveryScope
;
/**
* 外卖起送条件(1:杯数,2:金额)
*/
private
Integer
deliveryType
;
/**
* 起送杯数
*/
private
Integer
freeDeliveryCup
;
/**
* 起送价格(单位分)
*/
private
Integer
freeDeliveryPrice
;
/**
* 所属商户号
*/
private
String
partnerId
;
/**
* 配送范围类型 1 自定义 2 半径
*/
private
Integer
scopeConfig
;
}
order-management/src/main/java/cn/freemud/management/entities/dto/request/console/ExpandFieldsDTO.java
0 → 100644
View file @
4fa350c7
package
cn
.
freemud
.
management
.
entities
.
dto
.
request
.
console
;
import
lombok.Data
;
/**
* @author : xh.Z
* @email : fisherman0510@163.com
* @Date : 2021/7/22 下午4:30
* @description :
*/
@Data
public
class
ExpandFieldsDTO
{
/**
* 是 or 开启
*/
public
static
String
STR_TRUE
=
"1"
;
/**
* 否 or 关闭
*/
public
static
String
STR_FALSE
=
"0"
;
/**
* 月销量配置值
*/
private
String
monthlySalesConfigValue
;
/**
* 月销量是否展示(1-是;0-否)
*/
private
String
monthlySalesShow
;
/**
* 点赞数是否展示(1-是;0-否)
*/
private
String
likesShow
;
/**
* 点赞数配置值
*/
private
String
likesConfigValue
;
/**
* 扫桌码下单(1-开启;0-关闭) 开启该配置的门店在下单的时候,需要判断有没有桌号,如果没有桌号需要扫码获取桌号后再下单
*/
private
String
scanOrderSwitch
;
// TODO 省略了 高峰时间配送时间 List<Map> 字段对接 peakTimeDelivery
/**
* 每增加一公里增加的时长(分钟)
*/
private
String
appendMinutePerKilometer
;
/**
* 自提打包是否收取餐具费(1-开启;0-关闭)
*/
private
String
pickupPackageFeeSwitch
;
/**
* 外卖打包是否收取餐具费(1-开启;0-关闭)
*/
private
String
deliveryPackageFeeSwitch
;
/**
* 派单模式(0-系统自动派单;1-手动派单)
*/
private
String
dispatchType
;
}
order-management/src/main/java/cn/freemud/management/entities/dto/request/console/GetStoreMixRequest.java
0 → 100644
View file @
4fa350c7
package
cn
.
freemud
.
management
.
entities
.
dto
.
request
.
console
;
import
lombok.Builder
;
import
lombok.Data
;
/**
* @author : xh.Z
* @email : fisherman0510@163.com
* @Date : 2021/7/22 下午2:49
* @description : http://yapi.sandload.cn:3000/project/257/interface/api/60053 接口调用使用
*/
@Data
@Builder
public
class
GetStoreMixRequest
{
/**
* 商户ID
*/
private
String
partnerId
;
/**
* 门店号
*/
private
String
storeCode
;
/**
* 查询数据标志位
*/
private
QueryFlag
query
;
}
order-management/src/main/java/cn/freemud/management/entities/dto/request/console/QueryFlag.java
0 → 100644
View file @
4fa350c7
package
cn
.
freemud
.
management
.
entities
.
dto
.
request
.
console
;
import
lombok.Builder
;
import
lombok.Data
;
/**
* @author : xh.Z
* @email : fisherman0510@163.com
* @Date : 2021/7/22 下午2:53
* @description :
*/
@Data
@Builder
public
class
QueryFlag
{
/**
* 查询门店基本信息
*/
private
boolean
queryStoreInfo
;
/**
* 查询门店的渠道上级列表
*/
private
boolean
queryParentUntilTop
;
/**
* 查询配送设置信息
*/
private
boolean
queryDeliveryInfo
;
/**
* 查询业务设置信息
*/
private
boolean
queryBusinessInfo
;
/**
* 查询门店图片
*/
private
boolean
queryStoreImage
;
/**
* 查询门店繁忙时间
*/
private
boolean
queryStoreBusyTime
;
}
order-management/src/main/java/cn/freemud/management/entities/dto/request/console/StoreInfoDTO.java
0 → 100644
View file @
4fa350c7
package
cn
.
freemud
.
management
.
entities
.
dto
.
request
.
console
;
import
lombok.Data
;
/**
* @author : xh.Z
* @email : fisherman0510@163.com
* @Date : 2021/7/22 下午3:28
* @description :
*/
@Data
public
class
StoreInfoDTO
{
/**
* 是否繁忙置休,1-是,0-否
*/
private
Integer
activeFlag
;
/**
* 门店地址
*/
private
String
address
;
/**
* 英文门店地址
*/
private
String
addressEn
;
/**
* 门店简称
*/
private
String
briefName
;
/**
* 营业时间
*/
private
String
businessHours
;
/**
* 当日营业时间
*/
private
String
businessHoursDay
;
/**
* 营业时间类型:1-按天,2-按周
*/
private
String
businessType
;
/**
* 市
*/
private
String
city
;
/**
* 是否开通Delivery{1.是;2.否}
*/
private
String
delivery
;
/**
* 配送时间
*/
private
String
deliveryHours
;
/**
* 当日外卖营业时间
*/
private
String
deliveryHoursDay
;
/**
* 到店自取(1是 2否)
*/
private
Integer
isSelfMention
;
/**
* 纬度
*/
private
String
latitude
;
/**
* 门店logo
*/
private
String
logoUrl
;
/**
* 经度
*/
private
String
longitude
;
/**
* 父级商户编码
*/
private
String
parentCode
;
/**
* 父级商户编号
*/
private
String
parentId
;
/**
* 父级商户名称
*/
private
String
parentName
;
/**
* 商户号
*/
private
String
partnerId
;
/**
* 电话
*/
private
String
phone
;
/**
* 省
*/
private
String
province
;
/**
* 区
*/
private
String
region
;
/**
* 备注
*/
private
String
remark
;
/**
* 是否展示优惠(0-不展示; 1-展示)
*/
private
Integer
showDiscount
;
/**
* 营业状态
*/
private
String
state
;
/**
* 门店营运状态(营运1,停运-2,删除-3)
*/
private
String
status
;
/**
* 门店编号
*/
private
String
storeCode
;
/**
* 门店id
*/
private
String
storeId
;
/**
* 门店名称
*/
private
String
storeName
;
/**
* 英文门店名称
*/
private
String
storeNameEn
;
/**
* 门店公告
*/
private
String
storeNotice
;
/**
* 第三方门店编号
*/
private
String
thirdPartCode
;
}
order-management/src/main/java/cn/freemud/management/entities/dto/request/order/OrderManagerRequest.java
View file @
4fa350c7
...
@@ -62,4 +62,10 @@ public class OrderManagerRequest {
...
@@ -62,4 +62,10 @@ public class OrderManagerRequest {
private
String
remark
;
private
String
remark
;
private
Boolean
horseman
;
private
Boolean
horseman
;
/**
* 派单模式(0-系统自动派单;1-手动派单)
* 内置传参使用
*/
private
String
dispatchType
;
}
}
order-management/src/main/java/cn/freemud/management/enums/OperateType.java
View file @
4fa350c7
...
@@ -11,7 +11,9 @@ public enum OperateType {
...
@@ -11,7 +11,9 @@ public enum OperateType {
ORDER_AFFIRM
(
"orderAffirm"
,
"完成"
),
ORDER_AFFIRM
(
"orderAffirm"
,
"完成"
),
ORDER_AGREE_REFUND
(
"orderAgreeRefund"
,
"同意退款"
),
ORDER_AGREE_REFUND
(
"orderAgreeRefund"
,
"同意退款"
),
ORDER_REJECT_REFUND
(
"orderRejectRefund"
,
"拒绝退款"
),
ORDER_REJECT_REFUND
(
"orderRejectRefund"
,
"拒绝退款"
),
ORDER_CANCEL
(
"orderCancel"
,
"订单取消"
);
ORDER_CANCEL
(
"orderCancel"
,
"订单取消"
),
ORDER_CREATE_DELIVERY
(
"orderCreateDelivery"
,
"创建配送"
),
ORDER_CANCEL_DELIVERY
(
"orderCancelDelivery"
,
"取消配送"
);
/**
/**
* 操作类型
* 操作类型
...
...
order-management/src/main/java/cn/freemud/management/enums/ResponseResult.java
View file @
4fa350c7
...
@@ -172,6 +172,7 @@ public enum ResponseResult {
...
@@ -172,6 +172,7 @@ public enum ResponseResult {
AGREE_REFUND_APPLY_ORDER_FAIL
(
"45087"
,
"同意退款申请失败"
),
AGREE_REFUND_APPLY_ORDER_FAIL
(
"45087"
,
"同意退款申请失败"
),
AGREE_REFUND_APPLY_ORDER_NOT_ALLOW
(
"45088"
,
"商户配置不允许退款,请检查商户配置"
),
AGREE_REFUND_APPLY_ORDER_NOT_ALLOW
(
"45088"
,
"商户配置不允许退款,请检查商户配置"
),
PARTNER_ORDER_CANCEL_ERROR
(
"45089"
,
"取消订单失败"
),
PARTNER_ORDER_CANCEL_ERROR
(
"45089"
,
"取消订单失败"
),
ORDER_DELIVERY_EDIT_FAILED
(
"45090"
,
"修改配送状态失败"
),
/**
/**
* 支付
* 支付
...
...
order-management/src/main/java/cn/freemud/management/service/OrderBaseService.java
View file @
4fa350c7
...
@@ -89,9 +89,9 @@ public class OrderBaseService {
...
@@ -89,9 +89,9 @@ public class OrderBaseService {
* @param orderCode
* @param orderCode
* @param deliveryId
* @param deliveryId
*/
*/
public
void
updateDeliveryAbnormal
(
String
partnerId
,
String
orderCode
,
String
deliveryId
,
String
operator
)
{
public
void
updateDeliveryAbnormal
(
String
partnerId
,
String
orderCode
,
String
deliveryId
,
String
operator
,
String
msg
)
{
AssortmentUpdateDeliveryAbnormalRequest
request
=
AssortmentUpdateDeliveryAbnormalRequest
.
builder
()
AssortmentUpdateDeliveryAbnormalRequest
request
=
AssortmentUpdateDeliveryAbnormalRequest
.
builder
()
.
abnormalDesc
(
"配送异常"
)
.
abnormalDesc
(
"配送异常"
+
msg
)
.
deliveryId
(
deliveryId
)
.
deliveryId
(
deliveryId
)
.
orderCode
(
orderCode
)
.
orderCode
(
orderCode
)
.
partnerId
(
partnerId
)
.
partnerId
(
partnerId
)
...
...
order-management/src/main/java/cn/freemud/management/service/OrderManagerService.java
View file @
4fa350c7
...
@@ -89,4 +89,25 @@ public interface OrderManagerService {
...
@@ -89,4 +89,25 @@ public interface OrderManagerService {
}
}
/**
* 创建配送单
* 【ID1036616】【野萃山】【万象&小助手】支持门店手动创建运单,通知骑手到店取餐
* @param request
* @param orderBean
* @return
*/
default
BaseResponse
<
OrderManagerResponse
>
orderCreateDelivery
(
OrderManagerRequest
request
,
OrderBeanV1
orderBean
){
return
ResponseUtil
.
success
();
}
/**
* 取消配送
* 【ID1036616】【野萃山】【万象&小助手】支持门店手动创建运单,通知骑手到店取餐
* @param request
* @param orderBean
* @return
*/
default
BaseResponse
<
OrderManagerResponse
>
orderCancelDelivery
(
OrderManagerRequest
request
,
OrderBeanV1
orderBean
){
return
ResponseUtil
.
success
();
};
}
}
order-management/src/main/java/cn/freemud/management/service/adapter/OrderManagerAdapter.java
View file @
4fa350c7
...
@@ -20,6 +20,8 @@ import org.springframework.beans.factory.annotation.Autowired;
...
@@ -20,6 +20,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
java.util.Objects
;
@Component
@Component
public
class
OrderManagerAdapter
{
public
class
OrderManagerAdapter
{
...
@@ -41,11 +43,11 @@ public class OrderManagerAdapter {
...
@@ -41,11 +43,11 @@ public class OrderManagerAdapter {
*/
*/
public
BaseResponse
<
OrderManagerResponse
>
orderConfirmTake
(
OrderManagerRequest
request
)
{
public
BaseResponse
<
OrderManagerResponse
>
orderConfirmTake
(
OrderManagerRequest
request
)
{
//查询订单
//查询订单
OrderBeanV1
orderBean
=
orderBaseService
.
getByOrderCode
(
request
.
getOrderId
());
BaseResponse
<
OrderBeanV1
>
orderBeanResp
=
this
.
getOrderBean
(
request
.
getOrderId
());
// 防止NPE
if
(!
Objects
.
equals
(
orderBeanResp
.
getCode
(),
ResponseResult
.
SUCCESS
.
getCode
()))
{
if
(
orderBean
==
null
)
{
return
ResponseUtil
.
error
(
orderBeanResp
.
getMessage
());
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_NOT_EXIST
);
}
}
OrderBeanV1
orderBean
=
orderBeanResp
.
getResult
();
//订单接单参数校验
//订单接单参数校验
String
companyId
=
orderBean
.
getCompanyId
();
String
companyId
=
orderBean
.
getCompanyId
();
if
(!
macCafePartnerId
.
equals
(
companyId
))
{
if
(!
macCafePartnerId
.
equals
(
companyId
))
{
...
@@ -278,4 +280,50 @@ public class OrderManagerAdapter {
...
@@ -278,4 +280,50 @@ public class OrderManagerAdapter {
result
.
setResult
(
new
OrderManagerResponse
(
orderStatus
,
refundStatus
));
result
.
setResult
(
new
OrderManagerResponse
(
orderStatus
,
refundStatus
));
return
result
;
return
result
;
}
}
/**
* 创建配送单
* @param request
* @return
*/
public
BaseResponse
orderCreateDelivery
(
OrderManagerRequest
request
)
{
//查询订单
BaseResponse
<
OrderBeanV1
>
orderBeanResp
=
this
.
getOrderBean
(
request
.
getOrderId
());
if
(!
Objects
.
equals
(
orderBeanResp
.
getCode
(),
ResponseResult
.
SUCCESS
.
getCode
()))
{
return
ResponseUtil
.
error
(
orderBeanResp
.
getMessage
());
}
OrderBeanV1
orderBean
=
orderBeanResp
.
getResult
();
//订单接单参数校验
if
(
orderBean
==
null
)
{
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_NOT_EXIST
);
}
BaseResponse
<
OrderManagerResponse
>
orderManagerResponse
=
orderBeanFactory
.
getOrderManagerService
(
orderBean
).
orderCreateDelivery
(
request
,
orderBean
);
return
handleResponse
(
request
,
orderBean
,
orderManagerResponse
);
}
private
BaseResponse
<
OrderBeanV1
>
getOrderBean
(
String
orderId
){
//查询订单
OrderBeanV1
orderBean
=
orderBaseService
.
getByOrderCode
(
orderId
);
// 防止NPE
if
(
orderBean
==
null
)
{
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_NOT_EXIST
);
}
return
ResponseUtil
.
success
(
orderBean
);
}
/**
* 取消配送
* @param request
* @return
*/
public
BaseResponse
orderCancelDelivery
(
OrderManagerRequest
request
)
{
//查询订单
BaseResponse
<
OrderBeanV1
>
orderBeanResp
=
this
.
getOrderBean
(
request
.
getOrderId
());
if
(!
Objects
.
equals
(
orderBeanResp
.
getCode
(),
ResponseResult
.
SUCCESS
.
getCode
()))
{
return
ResponseUtil
.
error
(
orderBeanResp
.
getMessage
());
}
OrderBeanV1
orderBean
=
orderBeanResp
.
getResult
();
BaseResponse
<
OrderManagerResponse
>
orderManagerResponse
=
orderBeanFactory
.
getOrderManagerService
(
orderBean
).
orderCancelDelivery
(
request
,
orderBean
);
return
handleResponse
(
request
,
orderBean
,
orderManagerResponse
);
}
}
}
order-management/src/main/java/cn/freemud/management/service/handle/DeliveryHandle.java
View file @
4fa350c7
...
@@ -2,6 +2,10 @@ package cn.freemud.management.service.handle;
...
@@ -2,6 +2,10 @@ package cn.freemud.management.service.handle;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.management.adapter.DeliverySdkAdapter
;
import
cn.freemud.management.adapter.DeliverySdkAdapter
;
import
cn.freemud.management.entities.dto.request.console.BizDTO
;
import
cn.freemud.management.entities.dto.request.console.BusinessInfoDTO
;
import
cn.freemud.management.entities.dto.request.console.ConsoleResponseDTO
;
import
cn.freemud.management.entities.dto.request.console.ExpandFieldsDTO
;
import
cn.freemud.management.entities.dto.request.delivery.DeliveryOrderHaltedRequest
;
import
cn.freemud.management.entities.dto.request.delivery.DeliveryOrderHaltedRequest
;
import
cn.freemud.management.entities.dto.request.order.OrderManagerRequest
;
import
cn.freemud.management.entities.dto.request.order.OrderManagerRequest
;
import
cn.freemud.management.enums.DeliveryStatus
;
import
cn.freemud.management.enums.DeliveryStatus
;
...
@@ -9,22 +13,25 @@ import cn.freemud.management.enums.ResponseResult;
...
@@ -9,22 +13,25 @@ import cn.freemud.management.enums.ResponseResult;
import
cn.freemud.management.service.OrderBaseService
;
import
cn.freemud.management.service.OrderBaseService
;
import
cn.freemud.management.thirdparty.DeliveryMCCafeClient
;
import
cn.freemud.management.thirdparty.DeliveryMCCafeClient
;
import
cn.freemud.management.util.ResponseUtil
;
import
cn.freemud.management.util.ResponseUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.freemud.application.sdk.api.deliverycenter.dto.CancelDeliveryOrderRequestDto
;
import
com.freemud.application.sdk.api.deliverycenter.dto.CancelDeliveryOrderRequestDto
;
import
com.freemud.application.sdk.api.deliverycenter.dto.CreateDeliveryOrderRequestDto
;
import
com.freemud.application.sdk.api.deliverycenter.dto.CreateDeliveryOrderRequestDto
;
import
com.freemud.application.sdk.api.deliverycenter.response.CreateDeliveryOrderResponseDto
;
import
com.freemud.application.sdk.api.deliverycenter.response.CreateDeliveryOrderResponseDto
;
import
com.freemud.application.sdk.api.deliverycenter.response.DeliveryResponseDto
;
import
com.freemud.application.sdk.api.deliverycenter.response.DeliveryResponseDto
;
import
com.freemud.application.sdk.api.deliverycenter.service.DeliveryService
;
import
com.freemud.application.sdk.api.deliverycenter.service.DeliveryService
;
import
com.freemud.application.sdk.api.log.ApiLog
;
import
com.freemud.application.sdk.api.log.LogThreadLocal
;
import
com.freemud.application.sdk.api.log.LogThreadLocal
;
import
com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1
;
import
com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1
;
import
com.freemud.application.sdk.api.service.EmailAlertService
;
import
com.freemud.application.sdk.api.service.EmailAlertService
;
import
com.freemud.application.sdk.api.storecenter.response.StoreResponse
;
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
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
java.util.Objects
;
/**
/**
* All rights Reserved, Designed By www.freemud.cn
* All rights Reserved, Designed By www.freemud.cn
...
@@ -64,15 +71,26 @@ public class DeliveryHandle {
...
@@ -64,15 +71,26 @@ public class DeliveryHandle {
/**
/**
* 创建配送单
* 创建配送单
*
*
【ID1036616】 【野萃山】【万象&小助手】支持门店手动创建运单,通知骑手到店取餐
* @param orderBean
* @param orderBean
* @param request
* @param request
* @return
* @return
*/
*/
public
BaseResponse
createDelivery
(
OrderBeanV1
orderBean
,
OrderManagerRequest
request
,
StoreResponse
storeInfo
)
{
public
BaseResponse
createDelivery
(
OrderBeanV1
orderBean
,
OrderManagerRequest
request
,
ConsoleResponseDTO
<
BizDTO
>
storeInfo
,
boolean
idAutoCreate
)
{
if
(
storeInfo
==
null
||
ObjectUtils
.
notEqual
(
ResponseResult
.
SUCCESS
.
getCode
(),
storeInfo
.
getStatusCode
()
.
toString
())
||
storeInfo
.
getBizVO
()
==
null
)
{
if
(
storeInfo
==
null
||
ObjectUtils
.
notEqual
(
ResponseResult
.
SUCCESS
.
getCode
(),
storeInfo
.
getStatusCode
()
)
||
storeInfo
.
getBizVO
()
==
null
||
storeInfo
.
getBizVO
().
getStoreInfo
()
==
null
)
{
return
ResponseUtil
.
error
(
ResponseResult
.
STORE_INFO_NOT_FOUND
);
return
ResponseUtil
.
error
(
ResponseResult
.
STORE_INFO_NOT_FOUND
);
}
}
// 【ID1036616】 【野萃山】【万象&小助手】支持门店手动创建运单,通知骑手到店取餐
BusinessInfoDTO
businessInfo
=
storeInfo
.
getBizVO
().
getBusinessInfo
();
if
(
idAutoCreate
&&
Objects
.
nonNull
(
businessInfo
)
&&
Objects
.
nonNull
(
businessInfo
.
getExpandFields
()))
{
ExpandFieldsDTO
expandFields
=
businessInfo
.
getExpandFields
();
String
dispatchType
=
expandFields
.
getDispatchType
();
// 1. 手动派单
if
(
Objects
.
equals
(
dispatchType
,
"1"
))
{
ApiLog
.
printLog
(
"oms 门店自动创建运单->"
,
JSON
.
toJSONString
(
orderBean
.
getOid
()),
null
,
null
);
return
ResponseUtil
.
success
();
}
}
if
(!
checkOrderOfDelivery
(
orderBean
))
{
if
(!
checkOrderOfDelivery
(
orderBean
))
{
return
ResponseUtil
.
success
();
return
ResponseUtil
.
success
();
}
}
...
@@ -84,8 +102,8 @@ public class DeliveryHandle {
...
@@ -84,8 +102,8 @@ public class DeliveryHandle {
//创建配送单失败,更新订单为异常单
//创建配送单失败,更新订单为异常单
if
(
deliveryResponse
==
null
||
SUCCESS
!=
deliveryResponse
.
getCode
()
||
deliveryResponse
.
getData
()
==
null
)
{
if
(
deliveryResponse
==
null
||
SUCCESS
!=
deliveryResponse
.
getCode
()
||
deliveryResponse
.
getData
()
==
null
)
{
String
deliveryId
=
deliveryResponse
!=
null
&&
deliveryResponse
.
getData
()
!=
null
?
deliveryResponse
.
getData
().
getDeliveryId
()
:
""
;
String
deliveryId
=
deliveryResponse
!=
null
&&
deliveryResponse
.
getData
()
!=
null
?
deliveryResponse
.
getData
().
getDeliveryId
()
:
""
;
orderBaseService
.
updateDeliveryAbnormal
(
orderBean
.
getCompanyId
(),
orderBean
.
getOid
(),
deliveryId
,
operator
);
orderBaseService
.
updateDeliveryAbnormal
(
orderBean
.
getCompanyId
(),
orderBean
.
getOid
(),
deliveryId
,
operator
,
deliveryResponse
==
null
?
""
:
deliveryResponse
.
getMsg
()
);
return
ResponseUtil
.
success
(
);
return
ResponseUtil
.
error
(
deliveryResponse
==
null
?
"调用配送服务失败"
:
deliveryResponse
.
getMsg
()
);
}
}
// 创建配送单成功
// 创建配送单成功
orderBaseService
.
updateDeliverySuccess
(
orderBean
.
getOid
(),
deliveryResponse
.
getData
().
getDeliveryId
(),
operator
);
orderBaseService
.
updateDeliverySuccess
(
orderBean
.
getOid
(),
deliveryResponse
.
getData
().
getDeliveryId
(),
operator
);
...
...
order-management/src/main/java/cn/freemud/management/service/handle/PaymentHandle.java
View file @
4fa350c7
...
@@ -95,7 +95,9 @@ public class PaymentHandle {
...
@@ -95,7 +95,9 @@ public class PaymentHandle {
if
(
ResponseResult
.
NOT_SUFFICIENT_FUNDS
.
getCode
().
equals
(
orderRefundResponse
.
getCode
())){
if
(
ResponseResult
.
NOT_SUFFICIENT_FUNDS
.
getCode
().
equals
(
orderRefundResponse
.
getCode
())){
throw
new
OrderServiceException
(
ResponseResult
.
NOT_SUFFICIENT_FUNDS
);
throw
new
OrderServiceException
(
ResponseResult
.
NOT_SUFFICIENT_FUNDS
);
}
}
throw
new
OrderServiceException
(
ResponseResult
.
REFUND_FAIL
,
orderRefundResponse
.
getMessage
());
ResponseResult
refundFail
=
ResponseResult
.
REFUND_FAIL
;
refundFail
.
setMessage
(
orderRefundResponse
.
getMessage
());
throw
new
OrderServiceException
(
refundFail
);
}
}
refundStatus
=
ObjectUtils
.
equals
(
PayRefundStatus
.
SUCCESS
.
getCode
(),
orderRefundResponse
.
getData
().
getRefundStatus
())?
PayRefundStatus
.
SUCCESS
:
PayRefundStatus
.
RUNNING
;
refundStatus
=
ObjectUtils
.
equals
(
PayRefundStatus
.
SUCCESS
.
getCode
(),
orderRefundResponse
.
getData
().
getRefundStatus
())?
PayRefundStatus
.
SUCCESS
:
PayRefundStatus
.
RUNNING
;
return
handlePayRefundResponse
(
refundStatus
,
orderRefundRequest
.
getRefundId
());
return
handlePayRefundResponse
(
refundStatus
,
orderRefundRequest
.
getRefundId
());
...
...
order-management/src/main/java/cn/freemud/management/service/handle/SaasOrderHandle.java
View file @
4fa350c7
...
@@ -72,6 +72,7 @@ public class SaasOrderHandle {
...
@@ -72,6 +72,7 @@ public class SaasOrderHandle {
public
BaseResponse
orderConfirm
(
OrderManagerRequest
request
,
OrderBeanV1
orderBean
)
{
public
BaseResponse
orderConfirm
(
OrderManagerRequest
request
,
OrderBeanV1
orderBean
)
{
//订单接单
//订单接单
BaseQueryOrderRequest
orderConfirmRequest
=
orderSdkAdapter
.
getOrderConfirmRequest
(
request
.
getOperator
(),
orderBean
);
BaseQueryOrderRequest
orderConfirmRequest
=
orderSdkAdapter
.
getOrderConfirmRequest
(
request
.
getOperator
(),
orderBean
);
orderConfirmRequest
.
setDispatchType
(
request
.
getDispatchType
());
orderSdkAdapter
.
convert2wmDeliveryTimeOut
(
orderConfirmRequest
,
this
.
wmDeliveryTimeOut
);
orderSdkAdapter
.
convert2wmDeliveryTimeOut
(
orderConfirmRequest
,
this
.
wmDeliveryTimeOut
);
//合阔pos 商户订单状态不自动扭转
//合阔pos 商户订单状态不自动扭转
// 2021-07-07 合阔自动
// 2021-07-07 合阔自动
...
...
order-management/src/main/java/cn/freemud/management/service/impl/OrderDeliveryService.java
View file @
4fa350c7
package
cn
.
freemud
.
management
.
service
.
impl
;
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.console.BizDTO
;
import
cn.freemud.management.entities.dto.request.console.ConsoleResponseDTO
;
import
cn.freemud.management.entities.dto.request.console.GetStoreMixRequest
;
import
cn.freemud.management.entities.dto.request.console.QueryFlag
;
import
cn.freemud.management.entities.dto.request.delivery.DeliveryOrderRequest
;
import
cn.freemud.management.entities.dto.request.delivery.DeliveryOrderRequest
;
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.handle.DeliveryHandle
;
import
cn.freemud.management.service.handle.DeliveryHandle
;
import
cn.freemud.management.thirdparty.ConsoleApiClient
;
import
cn.freemud.management.util.ResponseUtil
;
import
cn.freemud.management.util.ResponseUtil
;
import
com.freemud.application.sdk.api.log.LogThreadLocal
;
import
com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1
;
import
com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1
;
import
com.freemud.application.sdk.api.storecenter.request.StoreInfoRequest
;
import
com.freemud.application.sdk.api.storecenter.response.StoreResponse
;
import
com.freemud.application.sdk.api.storecenter.service.StoreCenterService
;
import
com.freemud.application.sdk.api.storecenter.service.StoreCenterService
;
import
org.apache.commons.lang.ObjectUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
...
@@ -23,6 +26,8 @@ public class OrderDeliveryService {
...
@@ -23,6 +26,8 @@ public class OrderDeliveryService {
private
OrderBaseService
orderBaseService
;
private
OrderBaseService
orderBaseService
;
@Autowired
@Autowired
private
DeliveryHandle
deliveryHandle
;
private
DeliveryHandle
deliveryHandle
;
@Autowired
private
ConsoleApiClient
consoleApiClient
;
private
static
final
int
SUCCESS
=
100
;
private
static
final
int
SUCCESS
=
100
;
...
@@ -37,11 +42,14 @@ public class OrderDeliveryService {
...
@@ -37,11 +42,14 @@ public class OrderDeliveryService {
if
(
null
==
orderBean
)
{
if
(
null
==
orderBean
)
{
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_NOT_EXIST
);
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_NOT_EXIST
);
}
}
StoreResponse
storeInfo
=
storeCenterService
.
getStoreInfo
(
new
StoreInfoRequest
(
orderBean
.
getCompanyId
(),
orderBean
.
getShopId
()),
LogThreadLocal
.
getTrackingNo
());
GetStoreMixRequest
getStoreMixRequest
=
GetStoreMixRequest
.
builder
().
partnerId
(
orderBean
.
getCompanyId
()).
storeCode
(
orderBean
.
getShopId
()).
build
();
if
(
SUCCESS
!=
storeInfo
.
getStatusCode
()
||
storeInfo
.
getBizVO
()
==
null
)
{
QueryFlag
query
=
QueryFlag
.
builder
().
queryBusinessInfo
(
true
).
queryStoreInfo
(
true
).
build
();
getStoreMixRequest
.
setQuery
(
query
);
ConsoleResponseDTO
<
BizDTO
>
storeMix
=
consoleApiClient
.
getStoreMix
(
getStoreMixRequest
);
if
(
ObjectUtils
.
notEqual
(
ResponseResult
.
SUCCESS
.
getCode
(),
storeMix
.
getStatusCode
())
||
storeMix
.
getBizVO
()
==
null
||
storeMix
.
getBizVO
().
getStoreInfo
()==
null
)
{
return
ResponseUtil
.
error
(
ResponseResult
.
STORE_INFO_NOT_FOUND
);
return
ResponseUtil
.
error
(
ResponseResult
.
STORE_INFO_NOT_FOUND
);
}
}
return
deliveryHandle
.
createDelivery
(
orderBean
,
null
,
store
Info
);
return
deliveryHandle
.
createDelivery
(
orderBean
,
null
,
store
Mix
,
false
);
}
}
...
...
order-management/src/main/java/cn/freemud/management/service/impl/SaasOrderMangerServiceImpl.java
View file @
4fa350c7
package
cn
.
freemud
.
management
.
service
.
impl
;
package
cn
.
freemud
.
management
.
service
.
impl
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.management.constant.ResponseCodeConstant
;
import
cn.freemud.management.entities.dto.request.console.*
;
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.entities.dto.response.pay.PayRefundResponse
;
import
cn.freemud.management.entities.dto.response.pay.PayRefundResponse
;
import
cn.freemud.management.enums.CreateEventEnum
;
import
cn.freemud.management.enums.*
;
import
cn.freemud.management.enums.OperateType
;
import
cn.freemud.management.enums.RefundStatus
;
import
cn.freemud.management.enums.ResponseResult
;
import
cn.freemud.management.intercept.OrderServiceException
;
import
cn.freemud.management.intercept.OrderServiceException
;
import
cn.freemud.management.service.OrderBaseService
;
import
cn.freemud.management.service.OrderBaseService
;
import
cn.freemud.management.service.OrderManagerService
;
import
cn.freemud.management.service.OrderManagerService
;
import
cn.freemud.management.service.handle.*
;
import
cn.freemud.management.service.handle.*
;
import
cn.freemud.management.thirdparty.ConsoleApiClient
;
import
cn.freemud.management.thirdparty.OrderCallbackClient
;
import
cn.freemud.management.thirdparty.OrderCallbackClient
;
import
cn.freemud.management.util.ResponseUtil
;
import
cn.freemud.management.util.ResponseUtil
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.freemud.application.sdk.api.log.ApiLog
;
import
com.freemud.application.sdk.api.log.ApiLog
;
import
com.freemud.application.sdk.api.log.LogThreadLocal
;
import
com.freemud.application.sdk.api.ordercenter.config.OrderCenterProperties
;
import
com.freemud.application.sdk.api.ordercenter.config.OrderCenterProperties
;
import
com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1
;
import
com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1
;
import
com.freemud.application.sdk.api.ordercenter.entities.vo.OrderCallBackRequestVo
;
import
com.freemud.application.sdk.api.ordercenter.entities.vo.OrderCallBackRequestVo
;
import
com.freemud.application.sdk.api.ordercenter.enums.AfterSalesType
;
import
com.freemud.application.sdk.api.ordercenter.enums.AfterSalesType
;
import
com.freemud.application.sdk.api.ordercenter.enums.OrderClientType
;
import
com.freemud.application.sdk.api.ordercenter.enums.OrderClientType
;
import
com.freemud.application.sdk.api.ordercenter.request.OrderCancelReq
;
import
com.freemud.application.sdk.api.ordercenter.request.OrderCancelReq
;
import
com.freemud.application.sdk.api.ordercenter.request.OrderExpressReq
;
import
com.freemud.application.sdk.api.ordercenter.request.OrderExtInfoDto
;
import
com.freemud.application.sdk.api.ordercenter.request.OrderExtInfoDto
;
import
com.freemud.application.sdk.api.ordercenter.response.OrderBaseResp
;
import
com.freemud.application.sdk.api.ordercenter.response.OrderBaseResp
;
import
com.freemud.application.sdk.api.ordercenter.service.OrderSdkService
;
import
com.freemud.application.sdk.api.ordercenter.service.OrderSdkService
;
import
com.freemud.application.sdk.api.service.EmailAlertService
;
import
com.freemud.application.sdk.api.service.EmailAlertService
;
import
com.freemud.application.sdk.api.storecenter.request.StoreInfoRequest
;
import
com.freemud.application.sdk.api.storecenter.response.StoreResponse
;
import
com.freemud.application.sdk.api.storecenter.service.StoreCenterService
;
import
com.freemud.application.sdk.api.storecenter.service.StoreCenterService
;
import
com.freemud.sdk.api.assortment.order.enums.OldOrderStatus
;
import
com.freemud.sdk.api.assortment.order.enums.OldOrderStatus
;
import
com.freemud.sdk.api.assortment.order.enums.OrderSourceType
;
import
com.freemud.sdk.api.assortment.order.enums.OrderSourceType
;
...
@@ -90,6 +90,8 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
...
@@ -90,6 +90,8 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
@Autowired
@Autowired
private
OrderCallbackClient
orderCallbackClient
;
private
OrderCallbackClient
orderCallbackClient
;
@Autowired
private
ConsoleApiClient
consoleApiClient
;
/**
/**
* 接单
* 接单
*
*
...
@@ -99,12 +101,20 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
...
@@ -99,12 +101,20 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
*/
*/
@Override
@Override
public
BaseResponse
<
OrderManagerResponse
>
orderConfirm
(
OrderManagerRequest
request
,
OrderBeanV1
orderBean
)
{
public
BaseResponse
<
OrderManagerResponse
>
orderConfirm
(
OrderManagerRequest
request
,
OrderBeanV1
orderBean
)
{
QueryFlag
query
=
QueryFlag
.
builder
().
queryBusinessInfo
(
true
).
queryStoreInfo
(
true
).
build
();
ConsoleResponseDTO
<
BizDTO
>
storeMix
=
this
.
getStoreMix
(
query
,
orderBean
.
getCompanyId
(),
orderBean
.
getShopId
());
if
(
storeMix
!=
null
&&
ObjectUtils
.
equals
(
ResponseResult
.
SUCCESS
.
getCode
(),
storeMix
.
getStatusCode
()))
{
BizDTO
bizVO
=
storeMix
.
getBizVO
();
if
(
bizVO
!=
null
&&
bizVO
.
getBusinessInfo
()
!=
null
)
{
ExpandFieldsDTO
expandFields
=
bizVO
.
getBusinessInfo
().
getExpandFields
();
request
.
setDispatchType
(
expandFields
.
getDispatchType
());
}
}
// 订单接单
// 订单接单
BaseResponse
baseResponse
=
saasOrderHandle
.
orderConfirm
(
request
,
orderBean
);
BaseResponse
baseResponse
=
saasOrderHandle
.
orderConfirm
(
request
,
orderBean
);
//获取门店信息
// 使用feign调用 获取门店信息
StoreResponse
storeInfo
=
storeCenterService
.
getStoreInfo
(
new
StoreInfoRequest
(
orderBean
.
getCompanyId
(),
orderBean
.
getShopId
()),
""
);
// 创建配送单
// 创建配送单
deliveryHandle
.
createDelivery
(
orderBean
,
request
,
store
Info
);
deliveryHandle
.
createDelivery
(
orderBean
,
request
,
store
Mix
,
true
);
// 推送pos、微信消息中心 重复接单不重复推消息(针对蜜雪做的修改)
// 推送pos、微信消息中心 重复接单不重复推消息(针对蜜雪做的修改)
if
(
baseResponse
!=
null
&&
baseResponse
.
getResult
()
==
null
){
if
(
baseResponse
!=
null
&&
baseResponse
.
getResult
()
==
null
){
orderBaseService
.
sendMessage
(
orderBean
,
OperateType
.
ORDER_CONFIRM
,
request
.
getReason
());
orderBaseService
.
sendMessage
(
orderBean
,
OperateType
.
ORDER_CONFIRM
,
request
.
getReason
());
...
@@ -115,7 +125,7 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
...
@@ -115,7 +125,7 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
ApiLog
.
infoMessage
(
"紧急方案 接单成功直接调用callback,orderCode:{},requestId:{}"
,
requestVo
.
getOrderCode
(),
requestVo
.
getRequestId
());
ApiLog
.
infoMessage
(
"紧急方案 接单成功直接调用callback,orderCode:{},requestId:{}"
,
requestVo
.
getOrderCode
(),
requestVo
.
getRequestId
());
orderCallbackClient
.
callbackOrder
(
requestVo
);
orderCallbackClient
.
callbackOrder
(
requestVo
);
}
}
return
ResponseUtil
.
success
(
new
OrderManagerResponse
(
store
Info
.
getBizVO
().
getOrderPrintConfig
(),
orderBean
.
getGmtExpect
(),
return
ResponseUtil
.
success
(
new
OrderManagerResponse
(
store
Mix
.
getBizVO
().
getBusinessInfo
().
getOrderPrintConfig
(),
orderBean
.
getGmtExpect
(),
CollectionUtils
.
isEmpty
(
orderBean
.
getRefundList
())
?
null
:
RefundStatus
.
getByCode
(
orderBean
.
getRefundList
().
get
(
0
).
getStatus
())));
CollectionUtils
.
isEmpty
(
orderBean
.
getRefundList
())
?
null
:
RefundStatus
.
getByCode
(
orderBean
.
getRefundList
().
get
(
0
).
getStatus
())));
}
}
...
@@ -357,4 +367,45 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
...
@@ -357,4 +367,45 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
private
void
commonSendEmailAlert
(
OrderBeanV1
order
,
OrderBaseResp
baseResponse
,
String
desc
){
private
void
commonSendEmailAlert
(
OrderBeanV1
order
,
OrderBaseResp
baseResponse
,
String
desc
){
emailAlertService
.
sendEmailAlert
(
desc
,
"请求json:"
+
JSONObject
.
toJSONString
(
order
)
+
"返回msg:"
+
baseResponse
.
getMessage
());
emailAlertService
.
sendEmailAlert
(
desc
,
"请求json:"
+
JSONObject
.
toJSONString
(
order
)
+
"返回msg:"
+
baseResponse
.
getMessage
());
}
}
@Override
public
BaseResponse
<
OrderManagerResponse
>
orderCreateDelivery
(
OrderManagerRequest
request
,
OrderBeanV1
orderBean
)
{
// 使用feign调用 获取门店信息
QueryFlag
query
=
QueryFlag
.
builder
().
queryBusinessInfo
(
true
).
queryStoreInfo
(
true
).
build
();
ConsoleResponseDTO
<
BizDTO
>
storeMix
=
this
.
getStoreMix
(
query
,
orderBean
.
getCompanyId
(),
orderBean
.
getShopId
());
// 创建配送单
return
deliveryHandle
.
createDelivery
(
orderBean
,
request
,
storeMix
,
false
);
}
@Override
public
BaseResponse
orderCancelDelivery
(
OrderManagerRequest
request
,
OrderBeanV1
orderBean
)
{
BaseResponse
response
=
deliveryHandle
.
cancelDelivery
(
orderBean
,
request
);
if
(!
Objects
.
equals
(
response
.
getCode
(),
ResponseCodeConstant
.
RESPONSE_SUCCESS_STR
)){
return
response
;
}
OrderExpressReq
expressReq
=
new
OrderExpressReq
();
expressReq
.
setOrderCode
(
orderBean
.
getOid
());
expressReq
.
setPartnerId
(
orderBean
.
getCompanyId
());
expressReq
.
setOrderSubState
(
DeliveryStatus
.
DELIVERYCANCEL
.
getCode
());
OrderBaseResp
orderBaseResp
=
orderSdkService
.
updateDeliveryInfo
(
expressReq
,
LogThreadLocal
.
getTrackingNo
());
if
(!
Objects
.
equals
(
orderBaseResp
.
getCode
(),
ResponseCodeConstant
.
RESPONSE_SUCCESS_STR
)){
this
.
commonSendEmailAlert
(
orderBean
,
orderBaseResp
,
"取消配送,修改订单配送状态失败"
);
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_DELIVERY_EDIT_FAILED
);
}
return
ResponseUtil
.
success
();
}
/**
*
* @param query
* @param partnerId
* @param storeId
* @return
*/
private
ConsoleResponseDTO
<
BizDTO
>
getStoreMix
(
QueryFlag
query
,
String
partnerId
,
String
storeId
)
{
GetStoreMixRequest
getStoreMixRequest
=
GetStoreMixRequest
.
builder
().
partnerId
(
partnerId
).
storeCode
(
storeId
).
build
();
getStoreMixRequest
.
setQuery
(
query
);
ConsoleResponseDTO
<
BizDTO
>
storeMix
=
consoleApiClient
.
getStoreMix
(
getStoreMixRequest
);
return
storeMix
;
}
}
}
order-management/src/main/java/cn/freemud/management/thirdparty/ConsoleApiClient.java
0 → 100644
View file @
4fa350c7
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @Title: StoreItemClient
* @Package cn.freemud.service.thirdparty
* @Description:
* @author: liming.guo
* @date: 2018/5/16 9:39
* @version V1.0
* @Copyright: 2018 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
package
cn
.
freemud
.
management
.
thirdparty
;
import
cn.freemud.management.entities.dto.request.console.BizDTO
;
import
cn.freemud.management.entities.dto.request.console.ConsoleResponseDTO
;
import
cn.freemud.management.entities.dto.request.console.GetStoreMixRequest
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.http.MediaType
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
@FeignClient
(
"CONSOLE-API"
)
@RequestMapping
(
produces
=
{
MediaType
.
APPLICATION_JSON_UTF8_VALUE
})
public
interface
ConsoleApiClient
{
/**
* v2获取门店信息
* http://yapi.sandload.cn:3000/project/257/interface/api/60053 接口调用使用
*
* @param request
* @return
*/
@PostMapping
(
value
=
"/api/v2/organization/getStoreMix"
)
ConsoleResponseDTO
<
BizDTO
>
getStoreMix
(
GetStoreMixRequest
request
);
}
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/request/OrderExpressReq.java
View file @
4fa350c7
...
@@ -17,6 +17,7 @@ import lombok.Data;
...
@@ -17,6 +17,7 @@ import lombok.Data;
@Data
@Data
public
class
OrderExpressReq
{
public
class
OrderExpressReq
{
private
String
partnerId
;
//订单编号
//订单编号
private
String
orderCode
;
private
String
orderCode
;
...
...
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/request/POSOrderOperationBaseReq.java
View file @
4fa350c7
...
@@ -27,4 +27,9 @@ public class POSOrderOperationBaseReq {
...
@@ -27,4 +27,9 @@ public class POSOrderOperationBaseReq {
//预约单接单提醒时间 提醒触发时间=预约时间-提醒时间
//预约单接单提醒时间 提醒触发时间=预约时间-提醒时间
private
Integer
remindTime
;
private
Integer
remindTime
;
/**
* 派单模式(0-系统自动派单;1-手动派单)
* 内置传参使用
*/
private
String
dispatchType
;
}
}
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