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
c0493117
Commit
c0493117
authored
Nov 12, 2020
by
chongfu.liang
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feature/2.0.5-配送单异常或取消状态,通知pos'
parents
b8c6416e
d74b5f3f
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
136 additions
and
0 deletions
+136
-0
order-application-service/src/main/java/cn/freemud/entities/dto/PushMessageNoticeDto.java
+96
-0
order-application-service/src/main/java/cn/freemud/service/delivery/ThirdDeliveryServiceImpl.java
+40
-0
No files found.
order-application-service/src/main/java/cn/freemud/entities/dto/PushMessageNoticeDto.java
0 → 100644
View file @
c0493117
package
cn
.
freemud
.
entities
.
dto
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
@Data
public
class
PushMessageNoticeDto
{
/**
* 版本号 默认1
*/
private
String
ver
;
/**
* 商户ID
*/
private
String
partnerId
;
/**
* 门店ID
*/
private
String
storeId
;
/**
* 推送目标 1 小程序 2 pos机
*/
private
Integer
targetType
;
/**
* 推送目标 ID targetId
*/
private
String
targetId
;
private
Integer
cmd
;
private
String
data
;
/**
* "ttl":30 过期时间(秒)
*/
private
Integer
ttl
;
@Data
@NoArgsConstructor
public
static
class
Message
{
/**
* 1 表示新订单接单
*/
private
Integer
type
;
private
cn
.
freemud
.
entities
.
dto
.
PushMessageNoticeDto
.
Message
.
Content
content
;
@Data
@NoArgsConstructor
public
static
class
Content
{
@JsonProperty
(
"take_code"
)
private
String
take_code
;
private
String
queueIndex
;
/**
* 订单号
*/
private
String
oid
;
/**
* 订单状态
*/
private
Integer
deliveryStatus
;
/**
* 下单appid
*/
private
String
fromAppId
;
/**
* 取餐号
*/
private
String
pickUpGoodsNo
;
/**
* 用户id
*/
private
String
userId
;
/**
* 订单状态
*/
private
Integer
orderState
;
/**
* 订单渠道
*/
private
Integer
orderClient
;
/**
* 异常信息
*/
private
String
errorMsg
;
}
}
}
order-application-service/src/main/java/cn/freemud/service/delivery/ThirdDeliveryServiceImpl.java
View file @
c0493117
package
cn
.
freemud
.
service
.
delivery
;
import
cn.freemud.adapter.MessageNoticeAdapter
;
import
cn.freemud.amp.service.ProduceMQService
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.base.log.LogTreadLocal
;
...
...
@@ -29,11 +30,14 @@ import com.freemud.application.sdk.api.deliverycenter.service.DeliveryService;
import
com.freemud.application.sdk.api.log.LogThreadLocal
;
import
com.freemud.application.sdk.api.ordercenter.request.OrderCollectReq
;
import
com.freemud.application.sdk.api.ordercenter.service.OrderSdkService
;
import
com.freemud.application.sdk.api.structure.request.PushMessageNoticeDto
;
import
com.freemud.application.sdk.api.structure.service.MessageCenterClient
;
import
com.freemud.sdk.api.assortment.order.request.order.AssortmentUpdateDeliveryAbnormalRequest
;
import
com.freemud.sdk.api.assortment.order.request.order.UpdateDeliveryInfoByIdRequest
;
import
com.freemud.sdk.api.assortment.order.response.order.OrderBaseResponse
;
import
com.freemud.sdk.api.assortment.order.service.OrderCenterSdkService
;
import
com.google.common.collect.Lists
;
import
com.google.gson.Gson
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang.StringUtils
;
...
...
@@ -72,6 +76,10 @@ public class ThirdDeliveryServiceImpl implements ThirdDeliveryService {
private
OrderManagerAdapter
orderManagerAdapter
;
@Autowired
private
OrderSdkService
orderSdkService
;
@Autowired
private
MessageNoticeAdapter
messageNoticeAdapter
;
@Autowired
private
MessageCenterClient
messageNoticeClient
;
@Override
public
BaseResponse
callbackUrl
(
CallbackUrlRequestDto
request
)
{
...
...
@@ -122,6 +130,13 @@ public class ThirdDeliveryServiceImpl implements ThirdDeliveryService {
// 订单已完成
sendPosService
(
deliveryStatus
,
posBaseRequestDto
);
}
else
if
(
deliveryStatus
==
DeliveryStatus
.
DELIVERYERROR
.
getCode
()
||
deliveryStatus
==
DeliveryStatus
.
DELIVERYCANCEL
.
getCode
())
{
Integer
sendPosDeliveryStatus
;
if
(
deliveryStatus
==
DeliveryStatus
.
DELIVERYERROR
.
getCode
()){
sendPosDeliveryStatus
=
71
;
}
else
{
sendPosDeliveryStatus
=
81
;
}
sendPosMessage
(
partnerId
,
storeCode
,
request
.
getOrderId
(),
sendPosDeliveryStatus
,
request
.
getRemark
());
// 取消外卖中台配送单 订单异常
// 如果 "配送单异常并且顾客更改配送地址" 不取消配送单
...
...
@@ -313,4 +328,29 @@ public class ThirdDeliveryServiceImpl implements ThirdDeliveryService {
orderCenterSdkService
.
updateDeliveryAbnormal
(
request
);
}
/**
* 发送pos端消息
*/
public
void
sendPosMessage
(
String
partnerId
,
String
storeId
,
String
orderId
,
Integer
deliveryStatus
,
String
errorMsg
)
{
PushMessageNoticeDto
pushMessageNoticeDto
=
new
PushMessageNoticeDto
();
pushMessageNoticeDto
.
setPartnerId
(
partnerId
);
pushMessageNoticeDto
.
setStoreId
(
storeId
);
pushMessageNoticeDto
.
setTargetId
(
null
);
pushMessageNoticeDto
.
setTargetType
(
2
);
pushMessageNoticeDto
.
setCmd
(
11
);
cn
.
freemud
.
entities
.
dto
.
PushMessageNoticeDto
.
Message
message
=
new
cn
.
freemud
.
entities
.
dto
.
PushMessageNoticeDto
.
Message
();
message
.
setType
(
1
);
cn
.
freemud
.
entities
.
dto
.
PushMessageNoticeDto
.
Message
.
Content
content
=
new
cn
.
freemud
.
entities
.
dto
.
PushMessageNoticeDto
.
Message
.
Content
();
content
.
setOid
(
orderId
);
content
.
setDeliveryStatus
(
deliveryStatus
);
content
.
setErrorMsg
(
errorMsg
);
message
.
setContent
(
content
);
pushMessageNoticeDto
.
setData
(
new
Gson
().
toJson
(
message
));
messageNoticeClient
.
createMessage
(
pushMessageNoticeDto
,
LogThreadLocal
.
getTrackingNo
());
}
}
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