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
58e7a763
Commit
58e7a763
authored
Apr 26, 2020
by
dingkai
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
门店配送
parent
b651af2e
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
79 additions
and
3 deletions
+79
-3
order-application-service/pom.xml
+1
-1
order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
+12
-1
order-application-service/src/main/java/cn/freemud/service/impl/CheckOrder.java
+66
-1
No files found.
order-application-service/pom.xml
View file @
58e7a763
...
@@ -93,7 +93,7 @@
...
@@ -93,7 +93,7 @@
<dependency>
<dependency>
<groupId>
com.freemud.application.service.sdk
</groupId>
<groupId>
com.freemud.application.service.sdk
</groupId>
<artifactId>
storecenter-sdk
</artifactId>
<artifactId>
storecenter-sdk
</artifactId>
<version>
2.
3.3
-SNAPSHOT
</version>
<version>
2.
6.1
-SNAPSHOT
</version>
</dependency>
</dependency>
<dependency>
<dependency>
<groupId>
cn.freemud
</groupId>
<groupId>
cn.freemud
</groupId>
...
...
order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
View file @
58e7a763
...
@@ -761,12 +761,23 @@ public class OrderAdapter {
...
@@ -761,12 +761,23 @@ public class OrderAdapter {
fatherOrderInfo
.
setPayChannel
(
"10102"
);
fatherOrderInfo
.
setPayChannel
(
"10102"
);
fatherOrderInfo
.
setPayChannelName
(
"储值卡支付"
);
fatherOrderInfo
.
setPayChannelName
(
"储值卡支付"
);
}
}
/**
long deliveryAmount = 0;
long deliveryAmount = 0;
if (userDeliveryInfoDto != null) {
if (userDeliveryInfoDto != null) {
deliveryAmount = getUserRealDeliveryAmount(userDeliveryInfoDto.getStoreDeliveryInfoDto(), userDeliveryInfoDto.getUserLongitude(), userDeliveryInfoDto.getUserLatitude());
deliveryAmount = getUserRealDeliveryAmount(userDeliveryInfoDto.getStoreDeliveryInfoDto(), userDeliveryInfoDto.getUserLongitude(), userDeliveryInfoDto.getUserLatitude());
}*/
long
discountDeliveryAmount
=
0
;
if
(
BusinessTypeEnum
.
SAAS_DELIVERY
.
getCode
().
equals
(
createOrderVo
.
getMenuType
()))
{
long
deliveryAmount
=
shoppingCartGoodsDto
.
getDeliveryAmount
();
discountDeliveryAmount
=
shoppingCartGoodsDto
.
getDeliveryAmount
();
if
(
shoppingCartGoodsDto
.
getIsDiscountDelivery
()
&&
deliveryAmount
>
shoppingCartGoodsDto
.
getDiscountDeliveryAmount
()){
discountDeliveryAmount
=
shoppingCartGoodsDto
.
getDiscountDeliveryAmount
();
}
}
}
Long
packageAmount
=
shoppingCartGoodsDto
.
getPackageAmount
()
==
null
?
0
:
shoppingCartGoodsDto
.
getPackageAmount
();
Long
packageAmount
=
shoppingCartGoodsDto
.
getPackageAmount
()
==
null
?
0
:
shoppingCartGoodsDto
.
getPackageAmount
();
fatherOrderInfo
.
setAmount
(
shoppingCartGoodsDto
.
getTotalAmount
()
+
deliveryAmount
+
packageAmount
);
fatherOrderInfo
.
setAmount
(
shoppingCartGoodsDto
.
getTotalAmount
()
+
d
iscountD
eliveryAmount
+
packageAmount
);
return
fatherOrderInfo
;
return
fatherOrderInfo
;
}
}
...
...
order-application-service/src/main/java/cn/freemud/service/impl/CheckOrder.java
View file @
58e7a763
...
@@ -46,7 +46,9 @@ import com.freemud.application.sdk.api.membercenter.response.GetSvcInfoByMemberI
...
@@ -46,7 +46,9 @@ import com.freemud.application.sdk.api.membercenter.response.GetSvcInfoByMemberI
import
com.freemud.application.sdk.api.membercenter.response.QueryReceiveAddressResponse
;
import
com.freemud.application.sdk.api.membercenter.response.QueryReceiveAddressResponse
;
import
com.freemud.application.sdk.api.membercenter.service.MemberCenterService
;
import
com.freemud.application.sdk.api.membercenter.service.MemberCenterService
;
import
com.freemud.application.sdk.api.membercenter.service.MemberPropertyService
;
import
com.freemud.application.sdk.api.membercenter.service.MemberPropertyService
;
import
com.freemud.application.sdk.api.storecenter.request.QueryDeliveryRequest
;
import
com.freemud.application.sdk.api.storecenter.request.StoreInfoRequest
;
import
com.freemud.application.sdk.api.storecenter.request.StoreInfoRequest
;
import
com.freemud.application.sdk.api.storecenter.response.QueryDeliverDetailResponse
;
import
com.freemud.application.sdk.api.storecenter.response.StoreResponse
;
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.google.common.collect.Lists
;
import
com.google.common.collect.Lists
;
...
@@ -55,6 +57,7 @@ import org.apache.commons.collections4.CollectionUtils;
...
@@ -55,6 +57,7 @@ import org.apache.commons.collections4.CollectionUtils;
import
org.apache.commons.lang.ObjectUtils
;
import
org.apache.commons.lang.ObjectUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
java.awt.geom.Point2D
;
import
java.awt.geom.Point2D
;
...
@@ -66,6 +69,10 @@ import java.util.stream.Collectors;
...
@@ -66,6 +69,10 @@ import java.util.stream.Collectors;
@Component
@Component
public
class
CheckOrder
{
public
class
CheckOrder
{
// 配送费逻辑是否使用旧的
@Value
(
"${store.delivery.use:old:false}"
)
private
boolean
storeDeliveryUseOld
;
@Autowired
@Autowired
private
StoreTableNumberManager
storeTableNumberManager
;
private
StoreTableNumberManager
storeTableNumberManager
;
@Autowired
@Autowired
...
@@ -242,7 +249,12 @@ public class CheckOrder {
...
@@ -242,7 +249,12 @@ public class CheckOrder {
throw
new
ServiceException
(
ResponseResult
.
STORE_ITEM_NOT_DELIVERY
);
throw
new
ServiceException
(
ResponseResult
.
STORE_ITEM_NOT_DELIVERY
);
}
}
//获取门店配送信息
//获取门店配送信息
StoreDeliveryInfoDto
storeDeliveryInfoDto
=
getStoreDeliveryInfo
(
storeResponseDto
,
config
,
appId
);
StoreDeliveryInfoDto
storeDeliveryInfoDto
=
null
;
if
(
storeDeliveryUseOld
)
{
storeDeliveryInfoDto
=
getStoreDeliveryInfo
(
storeResponseDto
,
config
,
appId
);
}
else
{
storeDeliveryInfoDto
=
getNewStoreDeliveryInfo
(
storeResponseDto
,
config
,
appId
,
trackingNo
);
}
//订单金额小于起送费提示
//订单金额小于起送费提示
if
(
storeDeliveryInfoDto
.
getDeliveryLimitAmount
()
>
totalAmount
)
{
if
(
storeDeliveryInfoDto
.
getDeliveryLimitAmount
()
>
totalAmount
)
{
throw
new
ServiceException
(
ResponseResult
.
STORE_DISCONTENT_DELIVERY_FEE
);
throw
new
ServiceException
(
ResponseResult
.
STORE_DISCONTENT_DELIVERY_FEE
);
...
@@ -410,6 +422,59 @@ public class CheckOrder {
...
@@ -410,6 +422,59 @@ public class CheckOrder {
}
}
/**
/**
* 获取门店配送信息
*/
public
StoreDeliveryInfoDto
getNewStoreDeliveryInfo
(
StoreResponse
.
BizVO
storeResponseDto
,
OpenPlatformIappWxappConfig
openPlatformIappWxappConfig
,
String
wxAppid
,
String
trackingNo
)
{
StoreDeliveryInfoDto
storeDeliveryInfoDto
=
new
StoreDeliveryInfoDto
();
storeDeliveryInfoDto
.
setPartnerId
(
storeResponseDto
.
getPartnerId
());
storeDeliveryInfoDto
.
setStoreId
(
storeResponseDto
.
getStoreCode
());
storeDeliveryInfoDto
.
setStoreName
(
storeResponseDto
.
getStoreName
());
// 查询外卖配送信息
QueryDeliveryRequest
queryDeliveryRequest
=
new
QueryDeliveryRequest
();
queryDeliveryRequest
.
setPartnerId
(
storeResponseDto
.
getPartnerId
());
queryDeliveryRequest
.
setStoreCode
(
storeResponseDto
.
getStoreCode
());
BaseResponse
<
QueryDeliverDetailResponse
>
queryDeliverDetailResponse
=
storeCenterService
.
queryDeliverDetail
(
queryDeliveryRequest
,
trackingNo
);
if
(
queryDeliverDetailResponse
==
null
||
queryDeliverDetailResponse
.
getStatusCode
()
!=
100
||
queryDeliverDetailResponse
.
getData
()
==
null
)
{
throw
new
ServiceException
(
ResponseResult
.
STORE_ITEM_NOT_DELIVERY
);
}
QueryDeliverDetailResponse
deliveryDetail
=
queryDeliverDetailResponse
.
getData
();
// 判断门店是否启用外卖,只有当小程序开通外卖,且门店开通外卖,设置 外卖配送时间 才开启外卖功能
storeDeliveryInfoDto
.
setDeliveryLimitAmount
(
StringUtils
.
isBlank
(
deliveryDetail
.
getMinOrderPrice
())
?
0L
:
Long
.
parseLong
(
deliveryDetail
.
getMinOrderPrice
()));
storeDeliveryInfoDto
.
setDeliveryAmount
(
StringUtils
.
isBlank
(
deliveryDetail
.
getDeliveryFee
())
?
0L
:
Long
.
parseLong
(
deliveryDetail
.
getDeliveryFee
()));
storeDeliveryInfoDto
.
setDefaultDeliveryRange
(
StringUtils
.
isBlank
(
deliveryDetail
.
getDeliveryRange
())
?
0L
:
Long
.
parseLong
(
deliveryDetail
.
getDeliveryRange
()));
storeDeliveryInfoDto
.
setAddRangeAmount
(
StringUtils
.
isBlank
(
deliveryDetail
.
getAddRangeAmount
())
?
0L
:
Long
.
parseLong
(
deliveryDetail
.
getAddRangeAmount
()));
storeDeliveryInfoDto
.
setAddRangeCount
(
StringUtils
.
isBlank
(
deliveryDetail
.
getAddRange
())
?
0L
:
Long
.
parseLong
(
deliveryDetail
.
getAddRange
()));
storeDeliveryInfoDto
.
setPoint2DList
(
getDeliveryPoint2DList
(
storeResponseDto
.
getDistributionScope
()));
storeDeliveryInfoDto
.
setDeliveryHoursDay
(
storeResponseDto
.
getDeliveryHoursDay
());
storeDeliveryInfoDto
.
setLongitude
(
storeResponseDto
.
getLongitude
());
storeDeliveryInfoDto
.
setLatitude
(
storeResponseDto
.
getLatitude
());
storeDeliveryInfoDto
.
setScopeConfig
(
storeResponseDto
.
getScopeConfig
());
if
(
StringUtils
.
isNotEmpty
(
storeResponseDto
.
getDeliveryRadius
()))
{
storeDeliveryInfoDto
.
setDeliveryRadius
(
Integer
.
valueOf
(
storeResponseDto
.
getDeliveryRadius
()));
}
else
{
storeDeliveryInfoDto
.
setDeliveryRadius
(
0
);
}
// 只有小程序设置了外卖,并且开通了第三方配送账户,才是第三方配送单
if
(
openPlatformIappWxappConfig
==
null
)
{
openPlatformIappWxappConfig
=
openPlatformIappWxappConfigManager
.
selectIappWxappConfigByWxAppId
(
wxAppid
);
}
if
(
openPlatformIappWxappConfig
==
null
)
{
storeDeliveryInfoDto
.
setDeliveryType
(
"self"
);
storeDeliveryInfoDto
.
setPushOrderTime
(
0
);
}
else
{
if
(
ObjectUtils
.
equals
(
openPlatformIappWxappConfig
.
getTakeType
(),
1
))
{
storeDeliveryInfoDto
.
setDeliveryType
(
"self"
);
storeDeliveryInfoDto
.
setPushOrderTime
(
0
);
}
else
{
storeDeliveryInfoDto
.
setDeliveryType
(
"third"
);
storeDeliveryInfoDto
.
setPushOrderTime
(
0
);
}
}
return
storeDeliveryInfoDto
;
}
/**
* 获取配送范围内集合
* 获取配送范围内集合
*/
*/
public
List
<
Point2D
.
Double
>
getDeliveryPoint2DList
(
String
distributionScope
)
{
public
List
<
Point2D
.
Double
>
getDeliveryPoint2DList
(
String
distributionScope
)
{
...
...
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