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
deeef4d2
Commit
deeef4d2
authored
Sep 22, 2021
by
周晓航
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
下单新增 起送费校验规则
Signed-off-by: 周晓航 <xiaohang.zhou@freemud.com>
parent
276945c5
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
145 additions
and
6 deletions
+145
-6
order-application-service/src/main/java/cn/freemud/entities/dto/store/DeliveryInfoDTO.java
+80
-0
order-application-service/src/main/java/cn/freemud/entities/dto/store/DeliveryInfoExpFields.java
+18
-0
order-application-service/src/main/java/cn/freemud/entities/dto/store/SoreMixResponseDto.java
+1
-1
order-application-service/src/main/java/cn/freemud/service/impl/CheckOrder.java
+46
-5
No files found.
order-application-service/src/main/java/cn/freemud/entities/dto/store/DeliveryInfoDTO.java
0 → 100644
View file @
deeef4d2
package
cn
.
freemud
.
entities
.
dto
.
store
;
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
;
/**
* 扩展字段信息
*/
private
DeliveryInfoExpFields
expandFields
;
}
order-application-service/src/main/java/cn/freemud/entities/dto/store/DeliveryInfoExpFields.java
0 → 100644
View file @
deeef4d2
package
cn
.
freemud
.
entities
.
dto
.
store
;
import
lombok.Data
;
/**
* @author : xh.Z
* @email : fisherman0510@163.com
* @Date : 2021/9/22 下午3:24
* @description :
*/
@Data
public
class
DeliveryInfoExpFields
{
/**
* 外卖起送价规则:1-按原价计算、2-按优惠价计算
*/
private
String
deliveryAmountType
;
}
order-application-service/src/main/java/cn/freemud/entities/dto/store/SoreMixResponseDto.java
View file @
deeef4d2
...
...
@@ -10,7 +10,7 @@ public class SoreMixResponseDto {
private
BusinessInfoDto
businessInfo
;
private
Object
deliveryInfo
;
private
DeliveryInfoDTO
deliveryInfo
;
private
Object
parentUntilTop
;
...
...
order-application-service/src/main/java/cn/freemud/service/impl/CheckOrder.java
View file @
deeef4d2
...
...
@@ -219,6 +219,22 @@ public class CheckOrder {
}
/**
* 查询门店信息新接口
*/
public
SoreMixResponseDto
getStoreInfoNew
(
String
partnerId
,
String
shopId
,
StoreInfoRequestDto
.
QueryInfo
query
)
{
// 获取门店信息
StoreInfoRequestDto
request
=
new
StoreInfoRequestDto
();
request
.
setPartnerId
(
partnerId
);
request
.
setStoreCode
(
shopId
);
request
.
setQuery
(
query
);
StoreBaseResponseDto
<
SoreMixResponseDto
>
storeInfoNew
=
storeClient
.
getStoreInfoNew
(
request
);
if
(
storeInfoNew
==
null
||
storeInfoNew
.
getBizVO
()
==
null
)
{
throw
new
ServiceException
(
ResponseResult
.
STORE_NOT_FOUND
);
}
return
storeInfoNew
.
getBizVO
();
}
/**
* 下单门店相关校验
*/
public
StoreResponse
.
BizVO
checkOrderByStore
(
CreateOrderVo
createOrderVo
,
String
trackingNo
)
{
...
...
@@ -264,6 +280,19 @@ public class CheckOrder {
}
/**
* 调用该方法 需要自己判断 业务对象是否为null
* @param partnerId
* @param shopId
* @param query
* @return
*/
public
SoreMixResponseDto
getStoremixDto
(
String
partnerId
,
String
shopId
,
StoreInfoRequestDto
.
QueryInfo
query
)
{
// 获取门店信息
SoreMixResponseDto
storeInfoNew
=
getStoreInfoNew
(
partnerId
,
shopId
,
query
);
return
storeInfoNew
;
}
/**
* 下单订单类型校验
*/
public
Integer
checkOrderByOrderType
(
CreateOrderVo
createOrderVo
,
AssortmentCustomerInfoVo
userLoginInfoDto
,
...
...
@@ -409,14 +438,26 @@ public class CheckOrder {
}
}
//订单金额小于起送费提示
else
if
((
2
==
storeDeliveryInfoDto
.
getDeliveryCondition
()
&&
storeDeliveryInfoDto
.
getDeliveryLimitAmount
()
>
shoppingCartGoodsDto
.
getTotalAmount
())
else
if
(
2
==
storeDeliveryInfoDto
.
getDeliveryCondition
()
&&
!
cocoPartnerId
.
contains
(
createOrderVo
.
getPartnerId
()))
{
// fisherman 【ID1037103】【野翠山】【B】外卖起送价规则取订单总金额 这特么用sdk就很吊, 得重新调用接口
if
(
businessInfoDto
==
null
)
{
businessInfoDto
=
this
.
queryBusinessInfoNew
(
createOrderVo
);
// 先暂时这么写, 到时候需要优化这一块 对于门店的请求操作
StoreInfoRequestDto
.
QueryInfo
query
=
new
StoreInfoRequestDto
.
QueryInfo
();
query
.
setQueryDeliveryInfo
(
Boolean
.
TRUE
);
SoreMixResponseDto
storemixDto
=
this
.
getStoremixDto
(
createOrderVo
.
getPartnerId
(),
createOrderVo
.
getShopId
(),
query
);
DeliveryInfoDTO
deliveryInfo
=
storemixDto
.
getDeliveryInfo
();
Long
deliveryLimitAmount
=
storeDeliveryInfoDto
.
getDeliveryLimitAmount
();
Long
totalAmount
=
shoppingCartGoodsDto
.
getTotalAmount
();
if
(
Objects
.
nonNull
(
deliveryInfo
)
&&
Objects
.
nonNull
(
deliveryInfo
.
getExpandFields
()))
{
DeliveryInfoExpFields
expandFields
=
deliveryInfo
.
getExpandFields
();
if
(
Objects
.
equals
(
expandFields
.
getDeliveryAmountType
(),
"1"
))
{
//原价起送
totalAmount
=
shoppingCartGoodsDto
.
getOriginalTotalAmount
();
}
}
if
(
deliveryLimitAmount
.
compareTo
(
totalAmount
)
>
0
)
{
throw
new
ServiceException
(
ResponseResult
.
STORE_DISCONTENT_DELIVERY_FEE
);
}
throw
new
ServiceException
(
ResponseResult
.
STORE_DISCONTENT_DELIVERY_FEE
);
}
storeDeliveryInfoDto
.
setEnableTakeaway
(
true
);
...
...
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