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
d9ef6590
Commit
d9ef6590
authored
Nov 02, 2020
by
chongfu.liang
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feature/2.0.5-配送单异常或取消状态,通知pos' into develop
parents
f1672502
d74b5f3f
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
143 additions
and
5 deletions
+143
-5
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
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/calculate/CalculationCommonService.java
+7
-5
No files found.
order-application-service/src/main/java/cn/freemud/entities/dto/PushMessageNoticeDto.java
0 → 100644
View file @
d9ef6590
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 @
d9ef6590
package
cn
.
freemud
.
service
.
delivery
;
package
cn
.
freemud
.
service
.
delivery
;
import
cn.freemud.adapter.MessageNoticeAdapter
;
import
cn.freemud.amp.service.ProduceMQService
;
import
cn.freemud.amp.service.ProduceMQService
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.base.log.LogTreadLocal
;
import
cn.freemud.base.log.LogTreadLocal
;
...
@@ -29,11 +30,14 @@ import com.freemud.application.sdk.api.deliverycenter.service.DeliveryService;
...
@@ -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.log.LogThreadLocal
;
import
com.freemud.application.sdk.api.ordercenter.request.OrderCollectReq
;
import
com.freemud.application.sdk.api.ordercenter.request.OrderCollectReq
;
import
com.freemud.application.sdk.api.ordercenter.service.OrderSdkService
;
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.AssortmentUpdateDeliveryAbnormalRequest
;
import
com.freemud.sdk.api.assortment.order.request.order.UpdateDeliveryInfoByIdRequest
;
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.response.order.OrderBaseResponse
;
import
com.freemud.sdk.api.assortment.order.service.OrderCenterSdkService
;
import
com.freemud.sdk.api.assortment.order.service.OrderCenterSdkService
;
import
com.google.common.collect.Lists
;
import
com.google.common.collect.Lists
;
import
com.google.gson.Gson
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.commons.lang.StringUtils
;
...
@@ -72,6 +76,10 @@ public class ThirdDeliveryServiceImpl implements ThirdDeliveryService {
...
@@ -72,6 +76,10 @@ public class ThirdDeliveryServiceImpl implements ThirdDeliveryService {
private
OrderManagerAdapter
orderManagerAdapter
;
private
OrderManagerAdapter
orderManagerAdapter
;
@Autowired
@Autowired
private
OrderSdkService
orderSdkService
;
private
OrderSdkService
orderSdkService
;
@Autowired
private
MessageNoticeAdapter
messageNoticeAdapter
;
@Autowired
private
MessageCenterClient
messageNoticeClient
;
@Override
@Override
public
BaseResponse
callbackUrl
(
CallbackUrlRequestDto
request
)
{
public
BaseResponse
callbackUrl
(
CallbackUrlRequestDto
request
)
{
...
@@ -122,6 +130,13 @@ public class ThirdDeliveryServiceImpl implements ThirdDeliveryService {
...
@@ -122,6 +130,13 @@ public class ThirdDeliveryServiceImpl implements ThirdDeliveryService {
// 订单已完成
// 订单已完成
sendPosService
(
deliveryStatus
,
posBaseRequestDto
);
sendPosService
(
deliveryStatus
,
posBaseRequestDto
);
}
else
if
(
deliveryStatus
==
DeliveryStatus
.
DELIVERYERROR
.
getCode
()
||
deliveryStatus
==
DeliveryStatus
.
DELIVERYCANCEL
.
getCode
())
{
}
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
());
// 取消外卖中台配送单 订单异常
// 取消外卖中台配送单 订单异常
// 如果 "配送单异常并且顾客更改配送地址" 不取消配送单
// 如果 "配送单异常并且顾客更改配送地址" 不取消配送单
...
@@ -307,4 +322,29 @@ public class ThirdDeliveryServiceImpl implements ThirdDeliveryService {
...
@@ -307,4 +322,29 @@ public class ThirdDeliveryServiceImpl implements ThirdDeliveryService {
orderCenterSdkService
.
updateDeliveryAbnormal
(
request
);
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
());
}
}
}
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/calculate/CalculationCommonService.java
View file @
d9ef6590
...
@@ -398,8 +398,10 @@ public class CalculationCommonService {
...
@@ -398,8 +398,10 @@ public class CalculationCommonService {
List
<
ShoppingCartGoodsDto
.
CartGoodsDetailDto
>
comboLists
=
this
.
com2DetailGoods
(
gxDiscount
,
cartGoods
.
getProductComboList
(),
cartGoods
,
true
);
List
<
ShoppingCartGoodsDto
.
CartGoodsDetailDto
>
comboLists
=
this
.
com2DetailGoods
(
gxDiscount
,
cartGoods
.
getProductComboList
(),
cartGoods
,
true
);
combs
.
addAll
(
comboLists
);
combs
.
addAll
(
comboLists
);
cartGoodsDetailDto
.
setProductType
(
ProductType
.
SETMEAL
.
getCode
());
cartGoodsDetailDto
.
setProductType
(
ProductType
.
SETMEAL
.
getCode
());
//originalPriceSum = comboLists.stream().mapToLong(ShoppingCartGoodsDto.CartGoodsDetailDto::getOriginalPrice).sum();
for
(
ShoppingCartGoodsDto
.
CartGoodsDetailDto
comboList
:
comboLists
)
{
//cartGoodsDetailDto.setOriginalPrice(originalPriceSum);
originalPriceSum
+=
(
comboList
.
getQty
()
/
cartGoods
.
getQty
())
*
comboList
.
getOriginalPrice
();
}
cartGoodsDetailDto
.
setOriginalPrice
(
originalPriceSum
);
}
}
/**
/**
* 可选商品
* 可选商品
...
@@ -413,10 +415,10 @@ public class CalculationCommonService {
...
@@ -413,10 +415,10 @@ public class CalculationCommonService {
cartGoodsDetailDto
.
setTotalDiscountAmount
(
cartGoodsDetailDto
.
getTotalDiscountAmount
()
+
discountSum
);
cartGoodsDetailDto
.
setTotalDiscountAmount
(
cartGoodsDetailDto
.
getTotalDiscountAmount
()
+
discountSum
);
originalPriceSum
=
0L
;
originalPriceSum
=
0L
;
for
(
ShoppingCartGoodsDto
.
CartGoodsDetailDto
goodsDetailDto
:
groupList
)
{
for
(
ShoppingCartGoodsDto
.
CartGoodsDetailDto
goodsDetailDto
:
groupList
)
{
//
originalPriceSum += goodsDetailDto.getOriginalPrice() * (goodsDetailDto.getQty() / cartGoods.getQty());
originalPriceSum
+=
goodsDetailDto
.
getOriginalPrice
()
*
(
goodsDetailDto
.
getQty
()
/
cartGoods
.
getQty
());
//originalPriceSum += goodsDetailDto.getOriginalPrice() *
cartGoods
.getQty();
//originalPriceSum += goodsDetailDto.getOriginalPrice() *
goodsDetailDto
.getQty();
}
}
//cartGoodsDetailDto.setOriginalPrice(cartGoodsDetailDto.getOriginalPrice()+
originalPriceSum);
cartGoodsDetailDto
.
setOriginalPrice
(
cartGoodsDetailDto
.
getOriginalPrice
()
+
originalPriceSum
);
}
}
cartGoodsDetailDto
.
setComboProducts
(
combs
);
cartGoodsDetailDto
.
setComboProducts
(
combs
);
List
<
ShoppingCartGoodsDto
.
CartGoodsDetailDto
.
CartGoodsExtra
>
cartGoodsExtras
=
BeanUtil
.
convertBeans
(
cartGoods
.
getExtra
(),
ShoppingCartGoodsDto
.
CartGoodsDetailDto
.
CartGoodsExtra
::
new
);
List
<
ShoppingCartGoodsDto
.
CartGoodsDetailDto
.
CartGoodsExtra
>
cartGoodsExtras
=
BeanUtil
.
convertBeans
(
cartGoods
.
getExtra
(),
ShoppingCartGoodsDto
.
CartGoodsDetailDto
.
CartGoodsExtra
::
new
);
...
...
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