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
jenkins
order-group
Commits
2c5600b5
Commit
2c5600b5
authored
Mar 09, 2020
by
姜海波
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
订单计算满额减配送费
parent
001782c0
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
113 additions
and
2 deletions
+113
-2
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/enums/OldOrderAccountType.java
+1
-0
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/request/order/BaseCreateOrderRequest.java
+31
-0
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/request/order/CreateFatherSonOrderRequest.java
+31
-0
order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
+28
-2
order-application-service/src/main/java/cn/freemud/entities/dto/shoppingCart/ShoppingCartGoodsDto.java
+22
-0
No files found.
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/enums/OldOrderAccountType.java
View file @
2c5600b5
...
@@ -34,6 +34,7 @@ public enum OldOrderAccountType {
...
@@ -34,6 +34,7 @@ public enum OldOrderAccountType {
SET_MEAL
(
211
,
"套餐商品优惠"
,
"SET_MEAL"
),
SET_MEAL
(
211
,
"套餐商品优惠"
,
"SET_MEAL"
),
CARD_DISCOUNT_AMOUNT
(
26
,
"会员卡优惠金额"
,
"CARD_DISCOUNT_AMOUNT"
),
CARD_DISCOUNT_AMOUNT
(
26
,
"会员卡优惠金额"
,
"CARD_DISCOUNT_AMOUNT"
),
XY_DISCOUNT
(
104
,
"x件y折"
,
"XY_DISCOUNT"
),
XY_DISCOUNT
(
104
,
"x件y折"
,
"XY_DISCOUNT"
),
FULL_DISTRIBUTION_FEE
(
1014
,
"满减配送费"
,
"FULL_DISTRIBUTION_FEE"
),
TOTAL_DISCOUNT
(
205
,
"优惠总金额"
,
"TOTAL_DISCOUNT"
);
TOTAL_DISCOUNT
(
205
,
"优惠总金额"
,
"TOTAL_DISCOUNT"
);
private
Integer
code
;
private
Integer
code
;
...
...
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/request/order/BaseCreateOrderRequest.java
View file @
2c5600b5
...
@@ -6,6 +6,7 @@ import com.freemud.application.sdk.api.ordercenter.request.create.OrderTaskReq;
...
@@ -6,6 +6,7 @@ import com.freemud.application.sdk.api.ordercenter.request.create.OrderTaskReq;
import
com.freemud.application.sdk.api.promotioncenter.request.promotion.ActivityUpdateStockRequest
;
import
com.freemud.application.sdk.api.promotioncenter.request.promotion.ActivityUpdateStockRequest
;
import
com.freemud.sdk.api.assortment.order.config.BaseConfig
;
import
com.freemud.sdk.api.assortment.order.config.BaseConfig
;
import
com.freemud.sdk.api.assortment.order.enums.*
;
import
com.freemud.sdk.api.assortment.order.enums.*
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.Data
;
import
java.util.Date
;
import
java.util.Date
;
...
@@ -199,5 +200,35 @@ public class BaseCreateOrderRequest extends BaseConfig {
...
@@ -199,5 +200,35 @@ public class BaseCreateOrderRequest extends BaseConfig {
private
String
ruleId
;
private
String
ruleId
;
}
}
private
List
<
OrderSettlement
>
orderSettlements
;
@Data
@Builder
public
static
class
OrderSettlement
{
/**
* 优惠结算类型
*/
private
OldOrderAccountType
settlementType
;
/**
* 平台优惠
*/
private
Long
platformDiscountAmount
;
/**
* 商家优惠
*/
private
Long
shopDiscountAmount
;
/**
* 结算金额
*/
private
Long
settlementAmount
;
/**
* 备注
*/
private
String
note
;
}
}
}
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/request/order/CreateFatherSonOrderRequest.java
View file @
2c5600b5
...
@@ -5,6 +5,7 @@ import com.freemud.application.sdk.api.promotioncenter.request.promotion.Activit
...
@@ -5,6 +5,7 @@ import com.freemud.application.sdk.api.promotioncenter.request.promotion.Activit
import
com.freemud.application.sdk.api.ordercenter.request.OrderExtendedReq
;
import
com.freemud.application.sdk.api.ordercenter.request.OrderExtendedReq
;
import
com.freemud.sdk.api.assortment.order.config.BaseConfig
;
import
com.freemud.sdk.api.assortment.order.config.BaseConfig
;
import
com.freemud.sdk.api.assortment.order.enums.*
;
import
com.freemud.sdk.api.assortment.order.enums.*
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.Data
;
import
java.util.Date
;
import
java.util.Date
;
...
@@ -160,5 +161,35 @@ public class CreateFatherSonOrderRequest extends BaseConfig {
...
@@ -160,5 +161,35 @@ public class CreateFatherSonOrderRequest extends BaseConfig {
//预订单任务
//预订单任务
private
OrderTaskReq
orderTask
;
private
OrderTaskReq
orderTask
;
private
List
<
OrderSettlement
>
orderSettlements
;
@Data
@Builder
public
static
class
OrderSettlement
{
/**
* 优惠结算类型
*/
private
OldOrderAccountType
settlementType
;
/**
* 平台优惠
*/
private
Long
platformDiscountAmount
;
/**
* 商家优惠
*/
private
Long
shopDiscountAmount
;
/**
* 结算金额
*/
private
Long
settlementAmount
;
/**
* 备注
*/
private
String
note
;
}
}
}
}
}
order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
View file @
2c5600b5
...
@@ -123,15 +123,27 @@ public class OrderAdapter {
...
@@ -123,15 +123,27 @@ public class OrderAdapter {
UserDeliveryInfoDto
deliveryInfoDto
=
createOrderVo
.
getUserDeliveryInfoDto
();
UserDeliveryInfoDto
deliveryInfoDto
=
createOrderVo
.
getUserDeliveryInfoDto
();
BaseCreateOrderRequest
createOrderDto
=
getCreateOrderDto
(
createOrderVo
);
BaseCreateOrderRequest
createOrderDto
=
getCreateOrderDto
(
createOrderVo
);
long
deliveryAmount
=
0
;
long
deliveryAmount
=
0
;
long
discountDeliveryAmount
=
0
;
if
(
deliveryInfoDto
!=
null
)
{
if
(
deliveryInfoDto
!=
null
)
{
deliveryAmount
=
getUserRealDeliveryAmount
(
deliveryInfoDto
.
getStoreDeliveryInfoDto
(),
deliveryInfoDto
.
getUserLongitude
(),
deliveryInfoDto
.
getUserLatitude
());
deliveryAmount
=
getUserRealDeliveryAmount
(
deliveryInfoDto
.
getStoreDeliveryInfoDto
(),
deliveryInfoDto
.
getUserLongitude
(),
deliveryInfoDto
.
getUserLatitude
());
if
(
shoppingCartGoodsDto
.
getIsDiscountDelivery
()){
discountDeliveryAmount
=
shoppingCartGoodsDto
.
getDiscountDeliveryAmount
();
BaseCreateOrderRequest
.
OrderSettlement
settlement
=
BaseCreateOrderRequest
.
OrderSettlement
.
builder
().
settlementAmount
(
deliveryAmount
-
discountDeliveryAmount
)
.
settlementType
(
OldOrderAccountType
.
FULL_DISTRIBUTION_FEE
)
.
note
(
OldOrderAccountType
.
FULL_DISTRIBUTION_FEE
.
getDesc
()).
build
();
createOrderDto
.
setOrderSettlements
(
Arrays
.
asList
(
settlement
));
}
}
}
if
(
createOrderDto
.
getGmtExpect
()
!=
null
&&
createOrderDto
.
getGmtExpect
()
!=
0
){
if
(
createOrderDto
.
getGmtExpect
()
!=
null
&&
createOrderDto
.
getGmtExpect
()
!=
0
){
//预订单任务
//预订单任务
createOrderDto
.
setOrderTask
(
saveOrderTaskReq
(
orderWarnTime
,
createOrderDto
.
getGmtExpect
()));
createOrderDto
.
setOrderTask
(
saveOrderTaskReq
(
orderWarnTime
,
createOrderDto
.
getGmtExpect
()));
}
}
Long
packageAmount
=
shoppingCartGoodsDto
.
getPackageAmount
()
==
null
?
0L
:
shoppingCartGoodsDto
.
getPackageAmount
();
Long
packageAmount
=
shoppingCartGoodsDto
.
getPackageAmount
()
==
null
?
0L
:
shoppingCartGoodsDto
.
getPackageAmount
();
createOrderDto
.
setAmount
(
shoppingCartGoodsDto
.
getTotalAmount
()
+
deliveryAmount
+
packageAmount
);
createOrderDto
.
setAmount
(
shoppingCartGoodsDto
.
getTotalAmount
()
+
d
iscountD
eliveryAmount
+
packageAmount
);
// 解析购物车信息
// 解析购物车信息
List
<
ShoppingCartGoodsDto
.
CartGoodsDetailDto
>
cartGoodsDetailDtos
=
shoppingCartGoodsDto
.
getProducts
();
List
<
ShoppingCartGoodsDto
.
CartGoodsDetailDto
>
cartGoodsDetailDtos
=
shoppingCartGoodsDto
.
getProducts
();
List
<
ActivityDiscountsDto
>
activityDiscountsDtos
=
shoppingCartGoodsDto
.
getActivityDiscountsDtos
();
List
<
ActivityDiscountsDto
>
activityDiscountsDtos
=
shoppingCartGoodsDto
.
getActivityDiscountsDtos
();
...
@@ -570,12 +582,26 @@ public class OrderAdapter {
...
@@ -570,12 +582,26 @@ public class OrderAdapter {
.
append
(
" "
).
append
(
createOrderVo
.
getTakeMealTime
()).
append
(
":00"
);
.
append
(
" "
).
append
(
createOrderVo
.
getTakeMealTime
()).
append
(
":00"
);
}
}
long
deliveryAmount
=
0
;
long
deliveryAmount
=
0
;
long
discountDeliveryAmount
=
0
;
if
(
userDeliveryInfoDto
!=
null
)
{
if
(
userDeliveryInfoDto
!=
null
)
{
deliveryAmount
=
getUserRealDeliveryAmount
(
userDeliveryInfoDto
.
getStoreDeliveryInfoDto
(),
userDeliveryInfoDto
.
getUserLongitude
(),
userDeliveryInfoDto
.
getUserLatitude
());
deliveryAmount
=
getUserRealDeliveryAmount
(
userDeliveryInfoDto
.
getStoreDeliveryInfoDto
(),
userDeliveryInfoDto
.
getUserLongitude
(),
userDeliveryInfoDto
.
getUserLatitude
());
if
(
shoppingCartGoodsDto
.
getIsDiscountDelivery
()){
discountDeliveryAmount
=
shoppingCartGoodsDto
.
getDiscountDeliveryAmount
();
CreateFatherSonOrderRequest
.
OrderInfo
.
OrderSettlement
settlement
=
CreateFatherSonOrderRequest
.
OrderInfo
.
OrderSettlement
.
builder
().
settlementAmount
(
deliveryAmount
-
discountDeliveryAmount
)
.
settlementType
(
OldOrderAccountType
.
FULL_DISTRIBUTION_FEE
)
.
note
(
OldOrderAccountType
.
FULL_DISTRIBUTION_FEE
.
getDesc
()).
build
();
productOrderInfo
.
setOrderSettlements
(
Arrays
.
asList
(
settlement
));
}
}
}
Long
cardDiscountAmount
=
shoppingCartGoodsDto
.
getCardDiscountAmount
()
!=
null
?
shoppingCartGoodsDto
.
getCardDiscountAmount
()
:
0L
;
Long
cardDiscountAmount
=
shoppingCartGoodsDto
.
getCardDiscountAmount
()
!=
null
?
shoppingCartGoodsDto
.
getCardDiscountAmount
()
:
0L
;
Long
packageAmount
=
shoppingCartGoodsDto
.
getPackageAmount
()
==
null
?
0L
:
shoppingCartGoodsDto
.
getPackageAmount
();
Long
packageAmount
=
shoppingCartGoodsDto
.
getPackageAmount
()
==
null
?
0L
:
shoppingCartGoodsDto
.
getPackageAmount
();
productOrderInfo
.
setAmount
(
shoppingCartGoodsDto
.
getTotalAmount
()
+
deliveryAmount
+
packageAmount
productOrderInfo
.
setAmount
(
shoppingCartGoodsDto
.
getTotalAmount
()
+
d
iscountD
eliveryAmount
+
packageAmount
-
shoppingCartGoodsDto
.
getCardOriginalAmount
()
+
cardDiscountAmount
);
-
shoppingCartGoodsDto
.
getCardOriginalAmount
()
+
cardDiscountAmount
);
// 解析购物车信息
// 解析购物车信息
List
<
ShoppingCartGoodsDto
.
CartGoodsDetailDto
>
cartGoodsDetailDtos
=
shoppingCartGoodsDto
.
getProducts
();
List
<
ShoppingCartGoodsDto
.
CartGoodsDetailDto
>
cartGoodsDetailDtos
=
shoppingCartGoodsDto
.
getProducts
();
...
...
order-application-service/src/main/java/cn/freemud/entities/dto/shoppingCart/ShoppingCartGoodsDto.java
View file @
2c5600b5
...
@@ -3,6 +3,7 @@ package cn.freemud.entities.dto.shoppingCart;
...
@@ -3,6 +3,7 @@ package cn.freemud.entities.dto.shoppingCart;
import
cn.freemud.entities.dto.OrderProductAddInfo
;
import
cn.freemud.entities.dto.OrderProductAddInfo
;
import
cn.freemud.entities.vo.SubtractStockVO
;
import
cn.freemud.entities.vo.SubtractStockVO
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.Data
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.CollectionUtils
;
...
@@ -67,6 +68,27 @@ public class ShoppingCartGoodsDto {
...
@@ -67,6 +68,27 @@ public class ShoppingCartGoodsDto {
*/
*/
private
List
<
SubtractStockVO
>
stocks
;
private
List
<
SubtractStockVO
>
stocks
;
/**
* 配送费
*/
private
Long
deliveryAmount
;
/**
* 减免后配送费
*/
private
Long
discountDeliveryAmount
;
/**
* 满多少额度 减免
*/
private
Long
thresholdAmount
;
/**
* 是否参加满额减免
*/
@Builder
.
Default
private
Boolean
isDiscountDelivery
=
false
;
@Data
@Data
public
static
class
CartGoodsDetailDto
{
public
static
class
CartGoodsDetailDto
{
/**
/**
...
...
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