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
a5f934c3
Commit
a5f934c3
authored
Mar 26, 2020
by
姜海波
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feature-2020/2/10-1.9.15-免配送费二期-海波'
parents
64bd9ee0
cfb77202
Hide whitespace changes
Inline
Side-by-side
Showing
24 changed files
with
358 additions
and
37 deletions
+358
-37
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/adapter/OrderSdkAdapter.java
+3
-0
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/enums/QueryOrderAccountType.java
+1
-0
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/request/order/BaseCreateOrderRequest.java
+1
-1
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/request/order/CreateFatherSonOrderRequest.java
+2
-0
order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
+22
-6
order-application-service/src/main/java/cn/freemud/entities/dto/shoppingCart/ShoppingCartGoodsDto.java
+28
-0
order-application-service/src/main/java/cn/freemud/entities/vo/ShoppingCartInfoRequestVo.java
+2
-0
order-application-service/src/main/java/cn/freemud/enums/ActivityTypeEnum.java
+1
-0
order-application-service/src/main/java/cn/freemud/service/impl/CheckOrder.java
+1
-0
order-management/order-management.iml
+3
-2
shopping-cart-application-service/src/main/java/cn/freemud/constant/ApplicationConstant.java
+4
-0
shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/ActivityCalculationDiscountRequestDto.java
+2
-0
shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/ActivityCalculationDiscountResponseDto.java
+19
-0
shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/BenefitBeanDto.java
+6
-0
shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/activity/ActivityQueryDto.java
+2
-0
shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/shoppingCart/ShoppingCartGoodsDto.java
+28
-0
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/AddShoppingCartGoodsRequestVo.java
+5
-0
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/ShoppingCartGoodsResponseVo.java
+34
-0
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/UpdateShoppingCartGoodsQtyRequestVo.java
+5
-0
shopping-cart-application-service/src/main/java/cn/freemud/enums/ActivityTypeEnum.java
+1
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/ShoppingCartNewService.java
+1
-1
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartMallServiceImpl.java
+1
-1
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartMealServiceImpl.java
+1
-1
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartNewServiceImpl.java
+185
-25
No files found.
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/adapter/OrderSdkAdapter.java
View file @
a5f934c3
...
@@ -1046,6 +1046,9 @@ public class OrderSdkAdapter {
...
@@ -1046,6 +1046,9 @@ public class OrderSdkAdapter {
case
"OFFLINE_PAY"
:
case
"OFFLINE_PAY"
:
type
=
219
;
type
=
219
;
break
;
break
;
case
"FULL_DISTRIBUTION_FEE"
:
type
=
1014
;
break
;
default
:
default
:
break
;
break
;
}
}
...
...
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/enums/QueryOrderAccountType.java
View file @
a5f934c3
...
@@ -35,6 +35,7 @@ public enum QueryOrderAccountType {
...
@@ -35,6 +35,7 @@ public enum QueryOrderAccountType {
XY_DISCOUNT
(
"XY_DISCOUNT"
,
"x件y折"
),
XY_DISCOUNT
(
"XY_DISCOUNT"
,
"x件y折"
),
TOTAL_DISCOUNT
(
"TOTAL_DISCOUNT"
,
"优惠总金额"
),
TOTAL_DISCOUNT
(
"TOTAL_DISCOUNT"
,
"优惠总金额"
),
ONLINE_PAY
(
"ONLINE_PAY"
,
"线上支付"
),
ONLINE_PAY
(
"ONLINE_PAY"
,
"线上支付"
),
FULL_DISTRIBUTION_FEE
(
"FULL_DISTRIBUTION_FEE"
,
"满减配送费"
),
OFFLINE_PAY
(
"OFFLINE_PAY"
,
"线下支付"
);
OFFLINE_PAY
(
"OFFLINE_PAY"
,
"线下支付"
);
private
String
code
;
private
String
code
;
...
...
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/request/order/BaseCreateOrderRequest.java
View file @
a5f934c3
...
@@ -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,4 @@ public class BaseCreateOrderRequest extends BaseConfig {
...
@@ -199,5 +200,4 @@ public class BaseCreateOrderRequest extends BaseConfig {
private
String
ruleId
;
private
String
ruleId
;
}
}
}
}
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/request/order/CreateFatherSonOrderRequest.java
View file @
a5f934c3
...
@@ -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,6 @@ public class CreateFatherSonOrderRequest extends BaseConfig {
...
@@ -160,5 +161,6 @@ public class CreateFatherSonOrderRequest extends BaseConfig {
//预订单任务
//预订单任务
private
OrderTaskReq
orderTask
;
private
OrderTaskReq
orderTask
;
}
}
}
}
order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
View file @
a5f934c3
...
@@ -131,17 +131,23 @@ public class OrderAdapter {
...
@@ -131,17 +131,23 @@ public class OrderAdapter {
if
(
orderTask
!=
null
){
if
(
orderTask
!=
null
){
createOrderDto
.
setOrderTask
(
orderTask
);
createOrderDto
.
setOrderTask
(
orderTask
);
}
}
ArrayList
<
CreateOrderAccountRequest
>
orderAccountDtos
=
new
ArrayList
<>();
long
deliveryAmount
=
0
;
long
deliveryAmount
=
0
;
long
discountDeliveryAmount
=
0
;
if
(
deliveryInfoDto
!=
null
)
{
if
(
deliveryInfoDto
!=
null
)
{
deliveryAmount
=
getUserRealDeliveryAmount
(
deliveryInfoDto
.
getStoreDeliveryInfoDto
(),
deliveryInfoDto
.
getUserLongitude
(),
deliveryInfoDto
.
getUserLatitude
());
deliveryAmount
=
shoppingCartGoodsDto
.
getDeliveryAmount
();
discountDeliveryAmount
=
shoppingCartGoodsDto
.
getDeliveryAmount
();
if
(
shoppingCartGoodsDto
.
getIsDiscountDelivery
()
&&
deliveryAmount
>
shoppingCartGoodsDto
.
getDiscountDeliveryAmount
()){
discountDeliveryAmount
=
shoppingCartGoodsDto
.
getDiscountDeliveryAmount
();
}
}
}
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
();
List
<
CreateOrderProductRequest
>
products
=
new
ArrayList
<>();
List
<
CreateOrderProductRequest
>
products
=
new
ArrayList
<>();
ArrayList
<
CreateOrderAccountRequest
>
orderAccountDtos
=
new
ArrayList
<>();
// 根据购物车商品信息获取优惠信息
// 根据购物车商品信息获取优惠信息
int
orderAccountIndex
=
0
;
int
orderAccountIndex
=
0
;
for
(
ShoppingCartGoodsDto
.
CartGoodsDetailDto
cartGoodsDetailDto
:
cartGoodsDetailDtos
)
{
for
(
ShoppingCartGoodsDto
.
CartGoodsDetailDto
cartGoodsDetailDto
:
cartGoodsDetailDtos
)
{
...
@@ -587,13 +593,20 @@ public class OrderAdapter {
...
@@ -587,13 +593,20 @@ public class OrderAdapter {
// takeMealTime = takeMealTime.append(DateUtil.convert2String(new Date(), "yyyy-MM-dd"))
// takeMealTime = takeMealTime.append(DateUtil.convert2String(new Date(), "yyyy-MM-dd"))
// .append(" ").append(createOrderVo.getTakeMealTime()).append(":00");
// .append(" ").append(createOrderVo.getTakeMealTime()).append(":00");
// }
// }
ArrayList
<
CreateOrderAccountRequest
>
orderAccountDtos
=
new
ArrayList
<>();
long
deliveryAmount
=
0
;
long
deliveryAmount
=
0
;
long
discountDeliveryAmount
=
0
;
if
(
userDeliveryInfoDto
!=
null
)
{
if
(
userDeliveryInfoDto
!=
null
)
{
deliveryAmount
=
getUserRealDeliveryAmount
(
userDeliveryInfoDto
.
getStoreDeliveryInfoDto
(),
userDeliveryInfoDto
.
getUserLongitude
(),
userDeliveryInfoDto
.
getUserLatitude
());
deliveryAmount
=
shoppingCartGoodsDto
.
getDeliveryAmount
();
discountDeliveryAmount
=
shoppingCartGoodsDto
.
getDeliveryAmount
();
if
(
shoppingCartGoodsDto
.
getIsDiscountDelivery
()
&&
deliveryAmount
>
shoppingCartGoodsDto
.
getDiscountDeliveryAmount
()){
discountDeliveryAmount
=
shoppingCartGoodsDto
.
getDiscountDeliveryAmount
();
}
}
}
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
();
...
@@ -614,7 +627,7 @@ public class OrderAdapter {
...
@@ -614,7 +627,7 @@ public class OrderAdapter {
productOrderInfo
.
setProducts
(
products
);
productOrderInfo
.
setProducts
(
products
);
int
orderAccountIndex
=
0
;
int
orderAccountIndex
=
0
;
ArrayList
<
CreateOrderAccountRequest
>
orderAccountDtos
=
new
ArrayList
<>();
for
(
ActivityDiscountsDto
activityDiscountsDto
:
activityDiscountsDtos
)
{
for
(
ActivityDiscountsDto
activityDiscountsDto
:
activityDiscountsDtos
)
{
CreateOrderAccountRequest
createOrderAccountDto
=
CreateOrderAccountRequest
.
builder
()
CreateOrderAccountRequest
createOrderAccountDto
=
CreateOrderAccountRequest
.
builder
()
.
accountId
(
activityDiscountsDto
.
getActivityCode
())
.
accountId
(
activityDiscountsDto
.
getActivityCode
())
...
@@ -1967,6 +1980,9 @@ public class OrderAdapter {
...
@@ -1967,6 +1980,9 @@ public class OrderAdapter {
if
(
ActivityTypeEnum
.
TYPE_104
.
getCode
().
equals
(
activityType
))
{
if
(
ActivityTypeEnum
.
TYPE_104
.
getCode
().
equals
(
activityType
))
{
return
OldOrderAccountType
.
XY_DISCOUNT
;
return
OldOrderAccountType
.
XY_DISCOUNT
;
}
}
if
(
ActivityTypeEnum
.
TYPE_14
.
getCode
().
equals
(
activityType
))
{
return
OldOrderAccountType
.
FULL_DISTRIBUTION_FEE
;
}
return
OldOrderAccountType
.
BUYM_SENDN
;
return
OldOrderAccountType
.
BUYM_SENDN
;
}
}
...
...
order-application-service/src/main/java/cn/freemud/entities/dto/shoppingCart/ShoppingCartGoodsDto.java
View file @
a5f934c3
...
@@ -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,33 @@ public class ShoppingCartGoodsDto {
...
@@ -67,6 +68,33 @@ 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
;
/**
* 配送费活动号
*
*/
private
String
discountDeliveryActivityCode
;
@Data
@Data
public
static
class
CartGoodsDetailDto
{
public
static
class
CartGoodsDetailDto
{
/**
/**
...
...
order-application-service/src/main/java/cn/freemud/entities/vo/ShoppingCartInfoRequestVo.java
View file @
a5f934c3
...
@@ -93,6 +93,8 @@ public class ShoppingCartInfoRequestVo {
...
@@ -93,6 +93,8 @@ public class ShoppingCartInfoRequestVo {
*/
*/
private
String
channelType
;
private
String
channelType
;
private
String
receiveId
;
@Data
@Data
public
final
static
class
SendGoods
{
public
final
static
class
SendGoods
{
/**
/**
...
...
order-application-service/src/main/java/cn/freemud/enums/ActivityTypeEnum.java
View file @
a5f934c3
...
@@ -17,6 +17,7 @@ public enum ActivityTypeEnum {
...
@@ -17,6 +17,7 @@ public enum ActivityTypeEnum {
TYPE_11
(
11
,
"每满减"
),
TYPE_11
(
11
,
"每满减"
),
TYPE_12
(
12
,
"阶梯满减"
),
TYPE_12
(
12
,
"阶梯满减"
),
TYPE_13
(
13
,
"新用户立减"
),
TYPE_13
(
13
,
"新用户立减"
),
TYPE_14
(
14
,
"满减配送费"
),
TYPE_104
(
104
,
"x件y折"
),
TYPE_104
(
104
,
"x件y折"
),
/**
/**
* 限时特价
* 限时特价
...
...
order-application-service/src/main/java/cn/freemud/service/impl/CheckOrder.java
View file @
a5f934c3
...
@@ -310,6 +310,7 @@ public class CheckOrder {
...
@@ -310,6 +310,7 @@ public class CheckOrder {
.
orderType
(
createOrderVo
.
getOrderType
())
.
orderType
(
createOrderVo
.
getOrderType
())
.
reachStoreType
(
createOrderVo
.
getReachStoreType
())
.
reachStoreType
(
createOrderVo
.
getReachStoreType
())
.
flag
(
CouponFlag
.
NO
.
getCode
())
.
flag
(
CouponFlag
.
NO
.
getCode
())
.
receiveId
(
createOrderVo
.
getReceiveId
())
.
useCustomerScore
(
createOrderVo
.
getUseCustomerScore
())
.
useCustomerScore
(
createOrderVo
.
getUseCustomerScore
())
.
buyMemberCard
(
buyMemberCard
)
.
buyMemberCard
(
buyMemberCard
)
.
menuType
(
createOrderVo
.
getMenuType
())
.
menuType
(
createOrderVo
.
getMenuType
())
...
...
order-management/order-management.iml
View file @
a5f934c3
...
@@ -19,6 +19,7 @@
...
@@ -19,6 +19,7 @@
</content>
</content>
<orderEntry
type=
"inheritedJdk"
/>
<orderEntry
type=
"inheritedJdk"
/>
<orderEntry
type=
"sourceFolder"
forTests=
"false"
/>
<orderEntry
type=
"sourceFolder"
forTests=
"false"
/>
<orderEntry
type=
"library"
scope=
"PROVIDED"
name=
"Maven: cn.freemud:assortment-ordercenter-sdk:1.1.5.RELEASE"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"TEST"
name=
"Maven: org.springframework.boot:spring-boot-starter-test:1.5.3.RELEASE"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"TEST"
name=
"Maven: org.springframework.boot:spring-boot-starter-test:1.5.3.RELEASE"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"TEST"
name=
"Maven: org.springframework.boot:spring-boot-test:1.5.3.RELEASE"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"TEST"
name=
"Maven: org.springframework.boot:spring-boot-test:1.5.3.RELEASE"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.springframework.boot:spring-boot:1.5.3.RELEASE"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.springframework.boot:spring-boot:1.5.3.RELEASE"
level=
"project"
/>
...
@@ -40,8 +41,8 @@
...
@@ -40,8 +41,8 @@
<orderEntry
type=
"library"
scope=
"TEST"
name=
"Maven: org.springframework:spring-test:4.3.8.RELEASE"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"TEST"
name=
"Maven: org.springframework:spring-test:4.3.8.RELEASE"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"PROVIDED"
name=
"Maven: org.projectlombok:lombok:1.16.16"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"PROVIDED"
name=
"Maven: org.projectlombok:lombok:1.16.16"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"TEST"
name=
"Maven: junit:junit:4.11"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"TEST"
name=
"Maven: junit:junit:4.11"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"PROVIDED"
name=
"Maven: cn.freemud:assortment-ordercenter-sdk:1.
1.5
.RELEASE"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"PROVIDED"
name=
"Maven: cn.freemud:assortment-ordercenter-sdk:1.
2.3
.RELEASE"
level=
"project"
/>
<orderEntry
type=
"
library"
scope=
"PROVIDED"
name=
"Maven: cn.freemud:ordercenter-sdk:1.1.2.RELEASE"
level=
"project
"
/>
<orderEntry
type=
"
module"
module-name=
"ordercenter-sdk"
scope=
"PROVIDED
"
/>
<orderEntry
type=
"library"
scope=
"RUNTIME"
name=
"Maven: com.google.code.gson:gson:2.8.0"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"RUNTIME"
name=
"Maven: com.google.code.gson:gson:2.8.0"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: cn.freemud.commons:commons-amqp:2.1.0-release"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: cn.freemud.commons:commons-amqp:2.1.0-release"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.springframework.boot:spring-boot-starter-amqp:1.5.3.RELEASE"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.springframework.boot:spring-boot-starter-amqp:1.5.3.RELEASE"
level=
"project"
/>
...
...
shopping-cart-application-service/src/main/java/cn/freemud/constant/ApplicationConstant.java
View file @
a5f934c3
...
@@ -17,4 +17,8 @@ public class ApplicationConstant {
...
@@ -17,4 +17,8 @@ public class ApplicationConstant {
public
final
static
String
CURRENT_VERSION
=
"1.5.2"
;
public
final
static
String
CURRENT_VERSION
=
"1.5.2"
;
public
final
static
String
BURYINGPOINT
=
"POINT"
;
public
final
static
String
BURYINGPOINT
=
"POINT"
;
public
final
static
String
DELIVERY_DISCOUNT_DESC1
=
"订单满%d元 减%d配送费"
;
public
final
static
String
DELIVERY_DISCOUNT_DESC2
=
"订单满%d元 免配送费"
;
public
final
static
String
DELIVERY_DISCOUNT_DESC3
=
"另需配送费%d元"
;
}
}
shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/ActivityCalculationDiscountRequestDto.java
View file @
a5f934c3
...
@@ -62,6 +62,8 @@ public class ActivityCalculationDiscountRequestDto {
...
@@ -62,6 +62,8 @@ public class ActivityCalculationDiscountRequestDto {
*/
*/
private
List
<
CalculationDiscountGoods
>
goods
;
private
List
<
CalculationDiscountGoods
>
goods
;
private
Long
distributionFee
;
@Data
@Data
public
static
class
CalculationDiscountCoupon
{
public
static
class
CalculationDiscountCoupon
{
/**
/**
...
...
shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/ActivityCalculationDiscountResponseDto.java
View file @
a5f934c3
...
@@ -22,6 +22,11 @@ public class ActivityCalculationDiscountResponseDto {
...
@@ -22,6 +22,11 @@ public class ActivityCalculationDiscountResponseDto {
private
String
msg
;
private
String
msg
;
/**
/**
* 优惠后运费
*/
private
Long
distributionFee
;
/**
* 集合外的为系统按照优先级计算出来的优惠信息
* 集合外的为系统按照优先级计算出来的优惠信息
* ,calculationResults集合中的为多种优惠方案
* ,calculationResults集合中的为多种优惠方案
* 计算出来的优惠信息列表,并按优惠力度倒序排列
* 计算出来的优惠信息列表,并按优惠力度倒序排列
...
@@ -84,6 +89,17 @@ public class ActivityCalculationDiscountResponseDto {
...
@@ -84,6 +89,17 @@ public class ActivityCalculationDiscountResponseDto {
*/
*/
private
List
<
SubtractStockVO
>
stocks
;
private
List
<
SubtractStockVO
>
stocks
;
/**
* 配送费
*/
private
Long
deliveryAmount
;
/**
* 优惠后 配送费
*/
private
Long
distributionFee
;
@Data
@Data
public
static
class
ActivityPrompt
{
public
static
class
ActivityPrompt
{
...
@@ -120,6 +136,7 @@ public class ActivityCalculationDiscountResponseDto {
...
@@ -120,6 +136,7 @@ public class ActivityCalculationDiscountResponseDto {
* 11-每满减
* 11-每满减
* 12-阶梯满减
* 12-阶梯满减
* 2-单品特价
* 2-单品特价
* 14-满额减配送费
* 21-单品折扣
* 21-单品折扣
* 3-优惠券
* 3-优惠券
* 5-整单满金额折
* 5-整单满金额折
...
@@ -134,6 +151,8 @@ public class ActivityCalculationDiscountResponseDto {
...
@@ -134,6 +151,8 @@ public class ActivityCalculationDiscountResponseDto {
* 83-整单满数量打折
* 83-整单满数量打折
*/
*/
private
Integer
type
;
private
Integer
type
;
private
Long
thresholdAmount
;
}
}
@Data
@Data
...
...
shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/BenefitBeanDto.java
View file @
a5f934c3
...
@@ -20,4 +20,9 @@ public class BenefitBeanDto {
...
@@ -20,4 +20,9 @@ public class BenefitBeanDto {
* 优惠等级(用于阶梯满减)
* 优惠等级(用于阶梯满减)
*/
*/
private
Integer
benefitSeq
;
private
Integer
benefitSeq
;
private
Integer
benefitType
;
}
}
\ No newline at end of file
shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/activity/ActivityQueryDto.java
View file @
a5f934c3
...
@@ -23,4 +23,6 @@ public class ActivityQueryDto {
...
@@ -23,4 +23,6 @@ public class ActivityQueryDto {
*/
*/
private
Integer
orderType
;
private
Integer
orderType
;
private
ActivityQueryResponseDto
activityQueryResponseDto
;
}
}
shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/shoppingCart/ShoppingCartGoodsDto.java
View file @
a5f934c3
...
@@ -5,6 +5,7 @@ import cn.freemud.entities.dto.activity.ActivityDiscountsDto;
...
@@ -5,6 +5,7 @@ import cn.freemud.entities.dto.activity.ActivityDiscountsDto;
import
cn.freemud.entities.dto.activity.ShareDiscountActivityDto
;
import
cn.freemud.entities.dto.activity.ShareDiscountActivityDto
;
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
;
...
@@ -93,6 +94,33 @@ public class ShoppingCartGoodsDto {
...
@@ -93,6 +94,33 @@ 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
;
/**
* 配送费活动号
*
*/
private
String
discountDeliveryActivityCode
;
@Data
@Data
public
static
class
CartGoodsDetailDto
{
public
static
class
CartGoodsDetailDto
{
...
...
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/AddShoppingCartGoodsRequestVo.java
View file @
a5f934c3
...
@@ -72,4 +72,9 @@ public class AddShoppingCartGoodsRequestVo extends BaseRequestVo{
...
@@ -72,4 +72,9 @@ public class AddShoppingCartGoodsRequestVo extends BaseRequestVo{
*/
*/
private
String
menuType
;
private
String
menuType
;
/**
* 收货地址ID、svc卡支付外卖订单必传
*/
private
String
receiveId
;
}
}
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/ShoppingCartGoodsResponseVo.java
View file @
a5f934c3
...
@@ -12,6 +12,7 @@
...
@@ -12,6 +12,7 @@
*/
*/
package
cn
.
freemud
.
entities
.
vo
;
package
cn
.
freemud
.
entities
.
vo
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.Data
;
import
java.util.List
;
import
java.util.List
;
...
@@ -91,4 +92,37 @@ public class ShoppingCartGoodsResponseVo extends ShoppingCartGoodsBaseResponseV
...
@@ -91,4 +92,37 @@ public class ShoppingCartGoodsResponseVo extends ShoppingCartGoodsBaseResponseV
* 会员卡优惠金额
* 会员卡优惠金额
*/
*/
private
Integer
cardDiscountAmount
;
private
Integer
cardDiscountAmount
;
/**
* 配送费
*/
private
Long
deliveryAmount
;
/**
* 减免后配送费
*/
private
Long
discountDeliveryAmount
;
/**
* 满多少额度 减免
*/
private
Long
thresholdAmount
;
/**
* 是否参加满额减免
*/
@Builder
.
Default
private
Boolean
isDiscountDelivery
=
false
;
/**
* 满额减配送费描述
*/
private
String
deliveryDiscountDesc
;
/**
* 减免后配送费
*/
private
String
discountDeliveryActivityCode
;
}
}
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/UpdateShoppingCartGoodsQtyRequestVo.java
View file @
a5f934c3
...
@@ -48,4 +48,9 @@ public class UpdateShoppingCartGoodsQtyRequestVo extends BaseRequestVo {
...
@@ -48,4 +48,9 @@ public class UpdateShoppingCartGoodsQtyRequestVo extends BaseRequestVo {
*/
*/
private
String
menuType
;
private
String
menuType
;
/**
* 收货地址ID、svc卡支付外卖订单必传
*/
private
String
receiveId
;
}
}
shopping-cart-application-service/src/main/java/cn/freemud/enums/ActivityTypeEnum.java
View file @
a5f934c3
...
@@ -17,6 +17,7 @@ public enum ActivityTypeEnum {
...
@@ -17,6 +17,7 @@ public enum ActivityTypeEnum {
TYPE_11
(
11
,
"每满减"
),
TYPE_11
(
11
,
"每满减"
),
TYPE_12
(
12
,
"阶梯满减"
),
TYPE_12
(
12
,
"阶梯满减"
),
TYPE_13
(
13
,
"新用户立减"
),
TYPE_13
(
13
,
"新用户立减"
),
TYPE_14
(
14
,
"满额减配送费"
),
TYPE_104
(
104
,
"x件y折"
),
TYPE_104
(
104
,
"x件y折"
),
/**
/**
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/ShoppingCartNewService.java
View file @
a5f934c3
...
@@ -95,7 +95,7 @@ public interface ShoppingCartNewService {
...
@@ -95,7 +95,7 @@ public interface ShoppingCartNewService {
Integer
orderType
,
Integer
orderType
,
List
<
CartGoods
>
cartGoodsList
,
List
<
CartGoods
>
cartGoodsList
,
List
<
ActivityCalculationDiscountRequestDto
.
CalculationDiscountCoupon
>
coupons
,
List
<
ActivityCalculationDiscountRequestDto
.
CalculationDiscountCoupon
>
coupons
,
List
<
ShoppingCartInfoRequestVo
.
SendGoods
>
sendGoodsList
,
String
menuType
);
List
<
ShoppingCartInfoRequestVo
.
SendGoods
>
sendGoodsList
,
String
menuType
,
Long
distributionFee
);
List
<
CartGoods
>
updateCartGoodsLegal
(
CartGoods
cartGoods
,
String
userId
,
ShoppingCartGoodsBaseResponseVo
shoppingCartGoodsResponseVo
,
AddShoppingCartGoodsRequestVo
addShoppingCartGoodsRequestVo
,
List
<
CartGoods
>
oldAllCartGoodsList
);
List
<
CartGoods
>
updateCartGoodsLegal
(
CartGoods
cartGoods
,
String
userId
,
ShoppingCartGoodsBaseResponseVo
shoppingCartGoodsResponseVo
,
AddShoppingCartGoodsRequestVo
addShoppingCartGoodsRequestVo
,
List
<
CartGoods
>
oldAllCartGoodsList
);
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartMallServiceImpl.java
View file @
a5f934c3
...
@@ -413,7 +413,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService {
...
@@ -413,7 +413,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService {
@Override
@Override
public
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
getActivityCalculationDiscountResponse
(
public
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
getActivityCalculationDiscountResponse
(
String
partnerId
,
String
storeId
,
String
userId
,
String
appId
,
Integer
orderType
,
List
<
CartGoods
>
cartGoodsList
,
String
partnerId
,
String
storeId
,
String
userId
,
String
appId
,
Integer
orderType
,
List
<
CartGoods
>
cartGoodsList
,
List
<
ActivityCalculationDiscountRequestDto
.
CalculationDiscountCoupon
>
coupons
,
List
<
ShoppingCartInfoRequestVo
.
SendGoods
>
sendGoodsList
,
String
menuType
)
{
List
<
ActivityCalculationDiscountRequestDto
.
CalculationDiscountCoupon
>
coupons
,
List
<
ShoppingCartInfoRequestVo
.
SendGoods
>
sendGoodsList
,
String
menuType
,
Long
distributionFee
)
{
return
null
;
return
null
;
}
}
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartMealServiceImpl.java
View file @
a5f934c3
...
@@ -491,7 +491,7 @@ public class ShoppingCartMealServiceImpl implements ShoppingCartNewService {
...
@@ -491,7 +491,7 @@ public class ShoppingCartMealServiceImpl implements ShoppingCartNewService {
@Override
@Override
public
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
public
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
getActivityCalculationDiscountResponse
(
String
partnerId
,
String
storeId
,
String
userId
,
String
appId
,
Integer
orderType
,
getActivityCalculationDiscountResponse
(
String
partnerId
,
String
storeId
,
String
userId
,
String
appId
,
Integer
orderType
,
List
<
CartGoods
>
cartGoodsList
,
List
<
ActivityCalculationDiscountRequestDto
.
CalculationDiscountCoupon
>
coupons
,
List
<
ShoppingCartInfoRequestVo
.
SendGoods
>
sendGoodsList
,
String
menuType
)
{
List
<
CartGoods
>
cartGoodsList
,
List
<
ActivityCalculationDiscountRequestDto
.
CalculationDiscountCoupon
>
coupons
,
List
<
ShoppingCartInfoRequestVo
.
SendGoods
>
sendGoodsList
,
String
menuType
,
Long
distributionFee
)
{
return
null
;
return
null
;
}
}
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartNewServiceImpl.java
View file @
a5f934c3
...
@@ -21,6 +21,7 @@ import cn.freemud.constant.ResponseCodeConstant;
...
@@ -21,6 +21,7 @@ import cn.freemud.constant.ResponseCodeConstant;
import
cn.freemud.constant.ShoppingCartConstant
;
import
cn.freemud.constant.ShoppingCartConstant
;
import
cn.freemud.entities.dto.*
;
import
cn.freemud.entities.dto.*
;
import
cn.freemud.entities.dto.activity.ActivityQueryDto
;
import
cn.freemud.entities.dto.activity.ActivityQueryDto
;
import
cn.freemud.entities.dto.activity.ActivityQueryResponseDto
;
import
cn.freemud.entities.dto.activity.ShareDiscountActivityDto
;
import
cn.freemud.entities.dto.activity.ShareDiscountActivityDto
;
import
cn.freemud.entities.dto.openplatform.WeixinProductRequestDto
;
import
cn.freemud.entities.dto.openplatform.WeixinProductRequestDto
;
import
cn.freemud.entities.dto.openplatform.WeixinProductResponseDto
;
import
cn.freemud.entities.dto.openplatform.WeixinProductResponseDto
;
...
@@ -48,6 +49,7 @@ import com.freemud.application.sdk.api.paymentcenter.client.request.SVCCardAmoun
...
@@ -48,6 +49,7 @@ import com.freemud.application.sdk.api.paymentcenter.client.request.SVCCardAmoun
import
com.freemud.application.sdk.api.paymentcenter.client.response.SVCCardAmountResponse
;
import
com.freemud.application.sdk.api.paymentcenter.client.response.SVCCardAmountResponse
;
import
com.freemud.application.sdk.api.paymentcenter.client.service.PaymentNewService
;
import
com.freemud.application.sdk.api.paymentcenter.client.service.PaymentNewService
;
import
com.freemud.application.sdk.api.productcenter.domain.ProductBeanDTO
;
import
com.freemud.application.sdk.api.productcenter.domain.ProductBeanDTO
;
import
com.freemud.application.sdk.api.promotioncenter.response.ActivityResponse
;
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.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
;
...
@@ -72,6 +74,7 @@ import java.util.*;
...
@@ -72,6 +74,7 @@ import java.util.*;
import
java.util.function.Function
;
import
java.util.function.Function
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
import
static
cn
.
freemud
.
constant
.
ApplicationConstant
.*;
import
static
cn
.
freemud
.
constant
.
ShoppingCartConstant
.
SHOPPING_CART_EMPTY_GOODS_LIST
;
import
static
cn
.
freemud
.
constant
.
ShoppingCartConstant
.
SHOPPING_CART_EMPTY_GOODS_LIST
;
import
static
cn
.
freemud
.
constant
.
ShoppingCartConstant
.
SHOPPING_CART_INVALIAD_GOODS
;
import
static
cn
.
freemud
.
constant
.
ShoppingCartConstant
.
SHOPPING_CART_INVALIAD_GOODS
;
import
static
java
.
util
.
stream
.
Collectors
.
toList
;
import
static
java
.
util
.
stream
.
Collectors
.
toList
;
...
@@ -133,6 +136,8 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -133,6 +136,8 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
@Autowired
@Autowired
private
ProductService
productService
;
private
ProductService
productService
;
@Autowired
private
ActivityService
activityService
;
/**
/**
* 从微信卡券向购物车中添加商品
* 从微信卡券向购物车中添加商品
...
@@ -215,6 +220,9 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -215,6 +220,9 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
String
spuId
=
addShoppingCartGoodsRequestVo
.
getSpuId
();
String
spuId
=
addShoppingCartGoodsRequestVo
.
getSpuId
();
String
skuId
=
addShoppingCartGoodsRequestVo
.
getSkuId
();
String
skuId
=
addShoppingCartGoodsRequestVo
.
getSkuId
();
String
goodsId
=
StringUtils
.
isEmpty
(
skuId
)
?
spuId
:
skuId
;
String
goodsId
=
StringUtils
.
isEmpty
(
skuId
)
?
spuId
:
skuId
;
String
menuType
=
addShoppingCartGoodsRequestVo
.
getMenuType
();
Integer
orderType
=
addShoppingCartGoodsRequestVo
.
getOrderType
();
String
receiveId
=
addShoppingCartGoodsRequestVo
.
getReceiveId
();
CartGoods
cartGoods
=
ShoppingCartConvertAdapter
.
convent2CartGoods
(
addShoppingCartGoodsRequestVo
);
CartGoods
cartGoods
=
ShoppingCartConvertAdapter
.
convent2CartGoods
(
addShoppingCartGoodsRequestVo
);
List
<
Long
>
productIds
=
new
ArrayList
<>();
List
<
Long
>
productIds
=
new
ArrayList
<>();
...
@@ -238,6 +246,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -238,6 +246,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
}
}
Integer
checkQty
=
allCartGoodsList
.
indexOf
(
cartGoods
)
!=
-
1
?
Integer
checkQty
=
allCartGoodsList
.
indexOf
(
cartGoods
)
!=
-
1
?
allCartGoodsList
.
get
(
allCartGoodsList
.
indexOf
(
cartGoods
)).
getQty
()
+
cartGoods
.
getQty
()
:
cartGoods
.
getQty
();
allCartGoodsList
.
get
(
allCartGoodsList
.
indexOf
(
cartGoods
)).
getQty
()
+
cartGoods
.
getQty
()
:
cartGoods
.
getQty
();
//查询多个商品库存信息
//查询多个商品库存信息
queryManyGoodsStocks
(
addShoppingCartGoodsRequestVo
,
productIds
,
productBeanListSpuClass
,
skuId
,
checkQty
);
queryManyGoodsStocks
(
addShoppingCartGoodsRequestVo
,
productIds
,
productBeanListSpuClass
,
skuId
,
checkQty
);
...
@@ -252,8 +261,13 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -252,8 +261,13 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
spuId
,
allCartGoodsList
,
productBeanListSpuClass
);
spuId
,
allCartGoodsList
,
productBeanListSpuClass
);
}
}
Long
deliveryAmount
=
calculateDeliveryAmount
(
receiveId
,
partnerId
,
storeId
,
userLoginInfoDto
.
getWxAppid
());
// 获取优惠信息
// 获取优惠信息
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
calculationDiscountResult
=
this
.
getActivityCalculationDiscountResponse
(
partnerId
,
storeId
,
userId
,
appId
,
addShoppingCartGoodsRequestVo
.
getOrderType
(),
allCartGoodsList
,
BusinessTypeEnum
.
getByType
(
addShoppingCartGoodsRequestVo
.
getMenuType
()).
getCode
());
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
calculationDiscountResult
=
getCalculationDiscountResult
(
menuType
,
partnerId
,
storeId
,
userId
,
appId
,
userLoginInfoDto
.
getWxAppid
(),
orderType
,
allCartGoodsList
,
new
ArrayList
(),
new
ArrayList
<>(),
null
,
deliveryAmount
);
// 当商品数量被设为0时
// 当商品数量被设为0时
if
(
Objects
.
equals
(
cartGoods
.
getQty
(),
0
))
{
if
(
Objects
.
equals
(
cartGoods
.
getQty
(),
0
))
{
assortmentSdkService
.
updateGoodsQtyBySdk
(
partnerId
,
userId
,
storeId
,
cartGoods
.
getCartGoodsUid
(),
0
,
""
,
shoppingCartBaseService
);
assortmentSdkService
.
updateGoodsQtyBySdk
(
partnerId
,
userId
,
storeId
,
cartGoods
.
getCartGoodsUid
(),
0
,
""
,
shoppingCartBaseService
);
...
@@ -262,7 +276,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -262,7 +276,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
ActivityQueryDto
activityQueryDto
=
activityAdapter
.
getActivityQueryDto
(
partnerId
,
storeId
,
userId
,
appId
,
addShoppingCartGoodsRequestVo
.
getOrderType
());
ActivityQueryDto
activityQueryDto
=
activityAdapter
.
getActivityQueryDto
(
partnerId
,
storeId
,
userId
,
appId
,
addShoppingCartGoodsRequestVo
.
getOrderType
());
// 促销活动的优惠金额计算
// 促销活动的优惠金额计算
updateShoppingCartGoodsDiscount
(
null
,
activityQueryDto
,
calculationDiscountResult
,
allCartGoodsList
,
shoppingCartGoodsResponseVo
,
null
,
userLoginInfoDto
);
updateShoppingCartGoodsDiscount
(
null
,
activityQueryDto
,
calculationDiscountResult
,
allCartGoodsList
,
shoppingCartGoodsResponseVo
,
null
,
userLoginInfoDto
,
addShoppingCartGoodsRequestVo
.
getMenuType
(),
deliveryAmount
);
//设置更新响应信息
//设置更新响应信息
setAddAndUpdateResponse
(
shoppingCartGoodsResponseVo
,
calculationDiscountResult
,
allCartGoodsList
,
null
,
partnerId
,
storeId
,
userId
,
ShoppingCartConstant
.
ADD_AND_UPDATE
,
null
);
setAddAndUpdateResponse
(
shoppingCartGoodsResponseVo
,
calculationDiscountResult
,
allCartGoodsList
,
null
,
partnerId
,
storeId
,
userId
,
ShoppingCartConstant
.
ADD_AND_UPDATE
,
null
);
...
@@ -314,6 +328,10 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -314,6 +328,10 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
String
appId
=
updateShoppingCartGoodsQtyRequestVo
.
getAppId
();
String
appId
=
updateShoppingCartGoodsQtyRequestVo
.
getAppId
();
String
cartGoodsUid
=
updateShoppingCartGoodsQtyRequestVo
.
getCartGoodsUid
();
String
cartGoodsUid
=
updateShoppingCartGoodsQtyRequestVo
.
getCartGoodsUid
();
Integer
qty
=
updateShoppingCartGoodsQtyRequestVo
.
getQty
();
Integer
qty
=
updateShoppingCartGoodsQtyRequestVo
.
getQty
();
String
menuType
=
updateShoppingCartGoodsQtyRequestVo
.
getMenuType
();
Integer
orderType
=
updateShoppingCartGoodsQtyRequestVo
.
getOrderType
();
String
receiveId
=
updateShoppingCartGoodsQtyRequestVo
.
getReceiveId
();
// 先验证商品是否存在
// 先验证商品是否存在
CartGoods
cartGoods
=
assortmentSdkService
.
getCartGoodsBySdk
(
partnerId
,
userId
,
storeId
,
cartGoodsUid
,
""
,
shoppingCartBaseService
);
CartGoods
cartGoods
=
assortmentSdkService
.
getCartGoodsBySdk
(
partnerId
,
userId
,
storeId
,
cartGoodsUid
,
""
,
shoppingCartBaseService
);
if
(
cartGoods
==
null
)
{
if
(
cartGoods
==
null
)
{
...
@@ -335,8 +353,11 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -335,8 +353,11 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
// 重新存储最新购物车
// 重新存储最新购物车
assortmentSdkService
.
setShoppingCart
(
partnerId
,
storeId
,
userId
,
cartGoodsList
,
updateShoppingCartGoodsQtyRequestVo
.
getSessionId
(),
""
,
shoppingCartBaseService
);
assortmentSdkService
.
setShoppingCart
(
partnerId
,
storeId
,
userId
,
cartGoodsList
,
updateShoppingCartGoodsQtyRequestVo
.
getSessionId
(),
""
,
shoppingCartBaseService
);
Long
deliveryAmount
=
calculateDeliveryAmount
(
receiveId
,
partnerId
,
storeId
,
userLoginInfoDto
.
getWxAppid
());
// 获取优惠信息
// 获取优惠信息
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
calculationDiscountResult
=
this
.
getActivityCalculationDiscountResponse
(
partnerId
,
storeId
,
userId
,
appId
,
updateShoppingCartGoodsQtyRequestVo
.
getOrderType
(),
cartGoodsList
,
BusinessTypeEnum
.
getByType
(
updateShoppingCartGoodsQtyRequestVo
.
getMenuType
()).
getCode
());
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
calculationDiscountResult
=
getCalculationDiscountResult
(
menuType
,
partnerId
,
storeId
,
userId
,
appId
,
userLoginInfoDto
.
getWxAppid
(),
orderType
,
cartGoodsList
,
new
ArrayList
(),
new
ArrayList
<>(),
null
,
deliveryAmount
);
if
(
calculationDiscountResult
==
null
)
{
if
(
calculationDiscountResult
==
null
)
{
shoppingCartGoodsResponseVo
.
setProducts
(
cartGoodsList
);
shoppingCartGoodsResponseVo
.
setProducts
(
cartGoodsList
);
// return shoppingCartGoodsResponseVo;
// return shoppingCartGoodsResponseVo;
...
@@ -345,7 +366,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -345,7 +366,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
ActivityQueryDto
activityQueryDto
=
activityAdapter
.
getActivityQueryDto
(
partnerId
,
storeId
,
userId
,
appId
,
updateShoppingCartGoodsQtyRequestVo
.
getOrderType
());
ActivityQueryDto
activityQueryDto
=
activityAdapter
.
getActivityQueryDto
(
partnerId
,
storeId
,
userId
,
appId
,
updateShoppingCartGoodsQtyRequestVo
.
getOrderType
());
// 促销活动的优惠金额计算
// 促销活动的优惠金额计算
updateShoppingCartGoodsDiscount
(
null
,
activityQueryDto
,
calculationDiscountResult
,
cartGoodsList
,
shoppingCartGoodsResponseVo
,
null
,
userLoginInfoDto
);
updateShoppingCartGoodsDiscount
(
null
,
activityQueryDto
,
calculationDiscountResult
,
cartGoodsList
,
shoppingCartGoodsResponseVo
,
null
,
userLoginInfoDto
,
updateShoppingCartGoodsQtyRequestVo
.
getMenuType
(),
deliveryAmount
);
//设置更新响应信息
//设置更新响应信息
setAddAndUpdateResponse
(
shoppingCartGoodsResponseVo
,
calculationDiscountResult
,
cartGoodsList
,
shoppingCartGoodsResponseVo
.
getToastMsg
(),
partnerId
,
storeId
,
userId
,
ShoppingCartConstant
.
ADD_AND_UPDATE
,
null
);
setAddAndUpdateResponse
(
shoppingCartGoodsResponseVo
,
calculationDiscountResult
,
cartGoodsList
,
shoppingCartGoodsResponseVo
.
getToastMsg
(),
partnerId
,
storeId
,
userId
,
ShoppingCartConstant
.
ADD_AND_UPDATE
,
null
);
...
@@ -409,6 +430,9 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -409,6 +430,9 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
String
appId
=
shoppingCartInfoRequestVo
.
getAppId
();
String
appId
=
shoppingCartInfoRequestVo
.
getAppId
();
String
couponCode
=
shoppingCartInfoRequestVo
.
getCouponCode
();
String
couponCode
=
shoppingCartInfoRequestVo
.
getCouponCode
();
String
activityCode
=
shoppingCartInfoRequestVo
.
getActivityCode
();
String
activityCode
=
shoppingCartInfoRequestVo
.
getActivityCode
();
String
menuType
=
shoppingCartInfoRequestVo
.
getMenuType
();
Integer
orderType
=
shoppingCartInfoRequestVo
.
getOrderType
();
String
receiveId
=
shoppingCartInfoRequestVo
.
getReceiveId
();
// 获取购物车商品
// 获取购物车商品
List
<
CartGoods
>
cartGoodsList
=
assortmentSdkService
.
getShoppingCart
(
partnerId
,
storeId
,
userId
,
null
,
""
,
shoppingCartBaseService
);
List
<
CartGoods
>
cartGoodsList
=
assortmentSdkService
.
getShoppingCart
(
partnerId
,
storeId
,
userId
,
null
,
""
,
shoppingCartBaseService
);
...
@@ -431,8 +455,11 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -431,8 +455,11 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
coupon
.
setActivityCode
(
activityCode
);
coupon
.
setActivityCode
(
activityCode
);
coupons
.
add
(
coupon
);
coupons
.
add
(
coupon
);
}
}
Long
deliveryAmount
=
calculateDeliveryAmount
(
receiveId
,
partnerId
,
storeId
,
userLoginInfoDto
.
getWxAppid
());
// 获取优惠信息
// 获取优惠信息
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
calculationDiscountResult
=
this
.
getActivityCalculationDiscountResponse
(
partnerId
,
storeId
,
userId
,
appId
,
shoppingCartInfoRequestVo
.
getOrderType
(),
cartGoodsList
,
coupons
,
null
,
BusinessTypeEnum
.
getByType
(
shoppingCartInfoRequestVo
.
getMenuType
()).
getCode
());
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
calculationDiscountResult
=
getCalculationDiscountResult
(
menuType
,
partnerId
,
storeId
,
userId
,
appId
,
userLoginInfoDto
.
getWxAppid
(),
orderType
,
cartGoodsList
,
coupons
,
null
,
shoppingCartInfoRequestVo
.
getReceiveId
(),
deliveryAmount
);
if
(
calculationDiscountResult
==
null
)
{
if
(
calculationDiscountResult
==
null
)
{
shoppingCartGoodsResponseVo
.
setProducts
(
cartGoodsList
);
shoppingCartGoodsResponseVo
.
setProducts
(
cartGoodsList
);
}
}
...
@@ -441,7 +468,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -441,7 +468,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
CouponPromotionVO
couponPromotionVO
=
couponAdapter
.
getCouponPromotionVO
(
shoppingCartInfoRequestVo
,
userLoginInfoDto
);
CouponPromotionVO
couponPromotionVO
=
couponAdapter
.
getCouponPromotionVO
(
shoppingCartInfoRequestVo
,
userLoginInfoDto
);
// 促销活动的优惠金额计算
// 促销活动的优惠金额计算
this
.
updateShoppingCartGoodsDiscount
(
couponPromotionVO
,
activityQueryDto
,
calculationDiscountResult
,
cartGoodsList
,
shoppingCartGoodsResponseVo
,
shoppingCartInfoRequestVo
,
userLoginInfoDto
);
this
.
updateShoppingCartGoodsDiscount
(
couponPromotionVO
,
activityQueryDto
,
calculationDiscountResult
,
cartGoodsList
,
shoppingCartGoodsResponseVo
,
shoppingCartInfoRequestVo
,
userLoginInfoDto
,
shoppingCartInfoRequestVo
.
getMenuType
(),
deliveryAmount
);
//设置更新响应信息
//设置更新响应信息
setAddAndUpdateResponse
(
shoppingCartGoodsResponseVo
,
calculationDiscountResult
,
cartGoodsList
,
shoppingCartGoodsResponseVo
.
getToastMsg
(),
partnerId
,
storeId
,
userId
,
ShoppingCartConstant
.
QUERY_INFO
,
shoppingCartInfoRequestVo
);
setAddAndUpdateResponse
(
shoppingCartGoodsResponseVo
,
calculationDiscountResult
,
cartGoodsList
,
shoppingCartGoodsResponseVo
.
getToastMsg
(),
partnerId
,
storeId
,
userId
,
ShoppingCartConstant
.
QUERY_INFO
,
shoppingCartInfoRequestVo
);
// 在原价、现价、折扣价上增加第一次使用会员卡的费用
// 在原价、现价、折扣价上增加第一次使用会员卡的费用
...
@@ -530,6 +557,9 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -530,6 +557,9 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
String
couponCode
=
shoppingCartInfoRequestVo
.
getCouponCode
();
String
couponCode
=
shoppingCartInfoRequestVo
.
getCouponCode
();
String
activityCode
=
shoppingCartInfoRequestVo
.
getActivityCode
();
String
activityCode
=
shoppingCartInfoRequestVo
.
getActivityCode
();
String
tableNumber
=
assortmentCustomerInfoVo
.
getTableNumber
();
String
tableNumber
=
assortmentCustomerInfoVo
.
getTableNumber
();
String
menuType
=
shoppingCartInfoRequestVo
.
getMenuType
();
Integer
orderType
=
shoppingCartInfoRequestVo
.
getOrderType
();
String
receiveId
=
shoppingCartInfoRequestVo
.
getReceiveId
();
List
<
ShoppingCartInfoRequestVo
.
SendGoods
>
sendGoodsList
=
shoppingCartInfoRequestVo
.
getSendGoods
();
List
<
ShoppingCartInfoRequestVo
.
SendGoods
>
sendGoodsList
=
shoppingCartInfoRequestVo
.
getSendGoods
();
...
@@ -590,8 +620,10 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -590,8 +620,10 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
shoppingCartInfoRequestVo
.
setSendGoods
(
sendGoods
);
shoppingCartInfoRequestVo
.
setSendGoods
(
sendGoods
);
}
}
}
}
Long
deliveryAmount
=
calculateDeliveryAmount
(
receiveId
,
partnerId
,
storeId
,
userLoginInfoDto
.
getWxAppid
());
// 获取优惠信息
// 获取优惠信息
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
calculationDiscountResult
=
this
.
getActivityCalculationDiscountResponse
(
partnerId
,
storeId
,
userId
,
appId
,
shoppingCartInfoRequestVo
.
getOrderType
(),
cartGoodsList
,
coupons
,
sendGoodsList
,
BusinessTypeEnum
.
getByType
(
shoppingCartInfoRequestVo
.
getMenuType
()).
getCode
()
);
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
calculationDiscountResult
=
getCalculationDiscountResult
(
menuType
,
partnerId
,
storeId
,
userId
,
appId
,
userLoginInfoDto
.
getWxAppid
(),
orderType
,
cartGoodsList
,
coupons
,
sendGoodsList
,
shoppingCartInfoRequestVo
.
getReceiveId
(),
deliveryAmount
);
ActivityQueryDto
activityQueryDto
=
activityAdapter
.
getActivityQueryDto
(
partnerId
,
storeId
,
userId
,
appId
,
shoppingCartInfoRequestVo
.
getOrderType
());
ActivityQueryDto
activityQueryDto
=
activityAdapter
.
getActivityQueryDto
(
partnerId
,
storeId
,
userId
,
appId
,
shoppingCartInfoRequestVo
.
getOrderType
());
...
@@ -599,7 +631,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -599,7 +631,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
//临时方案
//临时方案
packgeAdditional
(
shoppingCartInfoRequestVo
,
premiumExchangeActivity
);
packgeAdditional
(
shoppingCartInfoRequestVo
,
premiumExchangeActivity
);
// 促销活动的优惠金额计算
// 促销活动的优惠金额计算
updateShoppingCartGoodsDiscount
(
couponPromotionVO
,
activityQueryDto
,
calculationDiscountResult
,
cartGoodsList
,
shoppingCartGoodsResponseVo
,
shoppingCartInfoRequestVo
,
userLoginInfoDto
);
updateShoppingCartGoodsDiscount
(
couponPromotionVO
,
activityQueryDto
,
calculationDiscountResult
,
cartGoodsList
,
shoppingCartGoodsResponseVo
,
shoppingCartInfoRequestVo
,
userLoginInfoDto
,
shoppingCartInfoRequestVo
.
getMenuType
(),
deliveryAmount
);
//设置更新响应信息
//设置更新响应信息
setAddAndUpdateResponse
(
shoppingCartGoodsResponseVo
,
calculationDiscountResult
,
cartGoodsList
,
shoppingCartGoodsResponseVo
.
getToastMsg
(),
partnerId
,
storeId
,
userId
,
ShoppingCartConstant
.
QUERY_INFO
,
shoppingCartInfoRequestVo
);
setAddAndUpdateResponse
(
shoppingCartGoodsResponseVo
,
calculationDiscountResult
,
cartGoodsList
,
shoppingCartGoodsResponseVo
.
getToastMsg
(),
partnerId
,
storeId
,
userId
,
ShoppingCartConstant
.
QUERY_INFO
,
shoppingCartInfoRequestVo
);
...
@@ -607,10 +639,11 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -607,10 +639,11 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
updateShoppingCartGoodsApportion
(
shoppingCartGoodsResponseVo
,
calculationDiscountResult
,
shoppingCartGoodsDto
,
premiumExchangeActivity
,
shoppingCartInfoRequestVo
);
updateShoppingCartGoodsApportion
(
shoppingCartGoodsResponseVo
,
calculationDiscountResult
,
shoppingCartGoodsDto
,
premiumExchangeActivity
,
shoppingCartInfoRequestVo
);
getNeedCardAmount
(
shoppingCartInfoRequestVo
,
shoppingCartGoodsDto
);
getNeedCardAmount
(
shoppingCartInfoRequestVo
,
shoppingCartGoodsDto
);
/*Long packAmount = shoppingCartGoodsResponseVo.getPackAmount() == null ? 0 : shoppingCartGoodsResponseVo.getPackAmount();
shoppingCartGoodsDto
.
setDeliveryAmount
(
shoppingCartGoodsResponseVo
.
getDeliveryAmount
());
shoppingCartGoodsDto.setTotalAmount(shoppingCartGoodsDto.getTotalAmount() - packAmount);
shoppingCartGoodsDto
.
setDiscountDeliveryAmount
(
shoppingCartGoodsResponseVo
.
getDiscountDeliveryAmount
());
shoppingCartGoodsDto.setOriginalTotalAmount(shoppingCartGoodsDto.getOriginalTotalAmount() - packAmount);
shoppingCartGoodsDto
.
setThresholdAmount
(
shoppingCartGoodsResponseVo
.
getThresholdAmount
());
shoppingCartGoodsDto.setPackageAmount(packAmount);*/
shoppingCartGoodsDto
.
setIsDiscountDelivery
(
shoppingCartGoodsResponseVo
.
getIsDiscountDelivery
());
shoppingCartGoodsDto
.
setDiscountDeliveryActivityCode
(
shoppingCartGoodsResponseVo
.
getDiscountDeliveryActivityCode
());
return
ResponseUtil
.
success
(
shoppingCartGoodsDto
);
return
ResponseUtil
.
success
(
shoppingCartGoodsDto
);
}
}
...
@@ -671,8 +704,8 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -671,8 +704,8 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
* @return
* @return
*/
*/
public
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
getActivityCalculationDiscountResponse
(
public
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
getActivityCalculationDiscountResponse
(
String
partnerId
,
String
storeId
,
String
userId
,
String
wxAppid
,
Integer
orderType
,
List
<
CartGoods
>
cartGoodsList
,
String
menuType
)
{
String
partnerId
,
String
storeId
,
String
userId
,
String
wxAppid
,
Integer
orderType
,
List
<
CartGoods
>
cartGoodsList
,
String
menuType
,
Long
distributionFee
)
{
return
getActivityCalculationDiscountResponse
(
partnerId
,
storeId
,
userId
,
wxAppid
,
orderType
,
cartGoodsList
,
new
ArrayList
<>(),
new
ArrayList
<>(),
menuType
);
return
getActivityCalculationDiscountResponse
(
partnerId
,
storeId
,
userId
,
wxAppid
,
orderType
,
cartGoodsList
,
new
ArrayList
<>(),
new
ArrayList
<>(),
menuType
,
distributionFee
);
}
}
/**
/**
...
@@ -687,15 +720,8 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -687,15 +720,8 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
public
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
getActivityCalculationDiscountResponse
(
public
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
getActivityCalculationDiscountResponse
(
String
partnerId
,
String
storeId
,
String
userId
,
String
appId
,
Integer
orderType
,
List
<
CartGoods
>
cartGoodsList
,
String
partnerId
,
String
storeId
,
String
userId
,
String
appId
,
Integer
orderType
,
List
<
CartGoods
>
cartGoodsList
,
List
<
ActivityCalculationDiscountRequestDto
.
CalculationDiscountCoupon
>
coupons
,
List
<
ActivityCalculationDiscountRequestDto
.
CalculationDiscountCoupon
>
coupons
,
List
<
ShoppingCartInfoRequestVo
.
SendGoods
>
sendGoodsList
,
String
menuType
)
{
List
<
ShoppingCartInfoRequestVo
.
SendGoods
>
sendGoodsList
,
String
menuType
,
Long
distributionFee
)
{
// 当购物车中只有商品券并且未使用折扣券时,不调用接口计算
// if (cartGoodsList.size() == 1
// && coupons.size() == 0) {
// if (cartGoodsList.get(0).getCartGoodsUid().startsWith(CommonsConstant.COUPON_PREFIX)) {
// return null;
// }
// }
//cartGoodsList = cartGoodsList.stream().filter(goods -> ObjectUtils.notEqual(GoodsTypeEnum.SET_MEAL_GOODS.getGoodsType(), goods.getGoodsType())).collect(Collectors.toList());
ActivityCalculationDiscountRequestDto
activityCalculationDiscountRequestDto
=
getActivityCalculationDiscountRequestDto
(
partnerId
,
storeId
,
userId
,
appId
,
orderType
);
ActivityCalculationDiscountRequestDto
activityCalculationDiscountRequestDto
=
getActivityCalculationDiscountRequestDto
(
partnerId
,
storeId
,
userId
,
appId
,
orderType
);
List
<
ActivityCalculationDiscountRequestDto
.
CalculationDiscountGoods
>
calculationDiscountGoodsList
=
new
ArrayList
<>();
List
<
ActivityCalculationDiscountRequestDto
.
CalculationDiscountGoods
>
calculationDiscountGoodsList
=
new
ArrayList
<>();
// 校验后有效的商品券map
// 校验后有效的商品券map
...
@@ -746,6 +772,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -746,6 +772,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
activityCalculationDiscountRequestDto
.
setGoods
(
calculationDiscountGoodsList
);
activityCalculationDiscountRequestDto
.
setGoods
(
calculationDiscountGoodsList
);
activityCalculationDiscountRequestDto
.
setCoupons
(
coupons
);
activityCalculationDiscountRequestDto
.
setCoupons
(
coupons
);
activityCalculationDiscountRequestDto
.
setOrgIds
(
commonService
.
getOrgIds
(
partnerId
,
storeId
));
activityCalculationDiscountRequestDto
.
setOrgIds
(
commonService
.
getOrgIds
(
partnerId
,
storeId
));
activityCalculationDiscountRequestDto
.
setDistributionFee
(
distributionFee
);
ActivityCalculationDiscountResponseDto
activityCalculationDiscountResponseDto
;
ActivityCalculationDiscountResponseDto
activityCalculationDiscountResponseDto
;
try
{
try
{
activityCalculationDiscountResponseDto
=
activityClient
.
calculationDiscount
(
activityCalculationDiscountRequestDto
);
activityCalculationDiscountResponseDto
=
activityClient
.
calculationDiscount
(
activityCalculationDiscountRequestDto
);
...
@@ -757,6 +784,8 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -757,6 +784,8 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
if
(
activityCalculationDiscountResponseDto
!=
null
&&
StringUtils
.
equals
(
activityCalculationDiscountResponseDto
.
getStatusCode
(),
ResponseCodeConstant
.
RESPONSE_SUCCESS_STR
))
{
if
(
activityCalculationDiscountResponseDto
!=
null
&&
StringUtils
.
equals
(
activityCalculationDiscountResponseDto
.
getStatusCode
(),
ResponseCodeConstant
.
RESPONSE_SUCCESS_STR
))
{
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
result
=
activityCalculationDiscountResponseDto
.
getResult
();
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
result
=
activityCalculationDiscountResponseDto
.
getResult
();
result
.
setValidCouponMap
(
validCouponMap
);
result
.
setValidCouponMap
(
validCouponMap
);
result
.
setDeliveryAmount
(
distributionFee
);
result
.
setDistributionFee
(
result
.
getDistributionFee
());
return
result
;
return
result
;
}
}
throw
new
ServiceException
(
ResponseResult
.
OPERATE_TOO_OFTEN
);
throw
new
ServiceException
(
ResponseResult
.
OPERATE_TOO_OFTEN
);
...
@@ -804,6 +833,33 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -804,6 +833,33 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
return
activityCalculationDiscountRequestDto
;
return
activityCalculationDiscountRequestDto
;
}
}
/**
* * 构建 ActivityCalculationDiscountRequestDto
*
* @param partnerId
* @param storeId
* @param userId
* @param appId
* @param orderType
* @param distributionFee
* @return
*/
private
ActivityCalculationDiscountRequestDto
getActivityCalculationDiscountRequestDto
(
String
partnerId
,
String
storeId
,
String
userId
,
String
appId
,
Integer
orderType
,
Long
distributionFee
)
{
ActivityCalculationDiscountRequestDto
activityCalculationDiscountRequestDto
=
new
ActivityCalculationDiscountRequestDto
();
activityCalculationDiscountRequestDto
.
setPartnerCode
(
partnerId
);
activityCalculationDiscountRequestDto
.
setStoreId
(
storeId
);
activityCalculationDiscountRequestDto
.
setIsShowGoodsActivity
(
1
);
activityCalculationDiscountRequestDto
.
setUserId
(
userId
);
activityCalculationDiscountRequestDto
.
setVer
(
1
);
activityCalculationDiscountRequestDto
.
setAppId
(
appId
);
activityCalculationDiscountRequestDto
.
setDistributionFee
(
distributionFee
);
ActivityChannelEnum
activityChannelEnum
=
PropertyConvertUtil
.
orderTypeConvert2ActivityChannel
(
orderType
);
if
(!
Objects
.
isNull
(
activityChannelEnum
))
{
activityCalculationDiscountRequestDto
.
setChannel
(
activityChannelEnum
.
getCode
());
}
return
activityCalculationDiscountRequestDto
;
}
/**
/**
* 累加需加入计算的商品
* 累加需加入计算的商品
...
@@ -871,7 +927,8 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -871,7 +927,8 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
* @param cartGoodsList
* @param cartGoodsList
* @param shoppingCartGoodsResponseVo
* @param shoppingCartGoodsResponseVo
*/
*/
private
void
updateShoppingCartGoodsDiscount
(
CouponPromotionVO
couponPromotionVO
,
ActivityQueryDto
activityQueryDto
,
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
calculationDiscountResult
,
List
<
CartGoods
>
cartGoodsList
,
ShoppingCartGoodsResponseVo
shoppingCartGoodsResponseVo
,
ShoppingCartInfoRequestVo
shoppingCartInfoRequestVo
,
UserLoginInfoDto
userLoginInfoDto
)
{
private
void
updateShoppingCartGoodsDiscount
(
CouponPromotionVO
couponPromotionVO
,
ActivityQueryDto
activityQueryDto
,
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
calculationDiscountResult
,
List
<
CartGoods
>
cartGoodsList
,
ShoppingCartGoodsResponseVo
shoppingCartGoodsResponseVo
,
ShoppingCartInfoRequestVo
shoppingCartInfoRequestVo
,
UserLoginInfoDto
userLoginInfoDto
,
String
menuType
,
Long
deliveryAmount
)
{
//默认计算优惠
//默认计算优惠
DefaultPromotionService
defaultPromotionService
=
(
DefaultPromotionService
)
PromotionFactory
.
getPromotionService
(
ShoppingCartPromotionEnum
.
DEFAULT_PROMOTION
);
DefaultPromotionService
defaultPromotionService
=
(
DefaultPromotionService
)
PromotionFactory
.
getPromotionService
(
ShoppingCartPromotionEnum
.
DEFAULT_PROMOTION
);
defaultPromotionService
.
updateShoppingCartGoodsDiscount
(
couponPromotionVO
,
activityQueryDto
,
calculationDiscountResult
,
cartGoodsList
,
shoppingCartGoodsResponseVo
,
userLoginInfoDto
,
shoppingCartInfoRequestVo
);
defaultPromotionService
.
updateShoppingCartGoodsDiscount
(
couponPromotionVO
,
activityQueryDto
,
calculationDiscountResult
,
cartGoodsList
,
shoppingCartGoodsResponseVo
,
userLoginInfoDto
,
shoppingCartInfoRequestVo
);
...
@@ -943,6 +1000,72 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -943,6 +1000,72 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
BuyAndGiftsPromotionService
buyAndGiftsPromotionService
=(
BuyAndGiftsPromotionService
)
PromotionFactory
.
getPromotionService
(
ShoppingCartPromotionEnum
.
BUY_GIFTS
);
BuyAndGiftsPromotionService
buyAndGiftsPromotionService
=(
BuyAndGiftsPromotionService
)
PromotionFactory
.
getPromotionService
(
ShoppingCartPromotionEnum
.
BUY_GIFTS
);
buyAndGiftsPromotionService
.
updateShoppingCartGoodsDiscount
(
couponPromotionVO
,
activityQueryDto
,
calculationDiscountResult
,
cartGoodsList
,
shoppingCartGoodsResponseVo
,
userLoginInfoDto
,
shoppingCartInfoRequestVo
);
buyAndGiftsPromotionService
.
updateShoppingCartGoodsDiscount
(
couponPromotionVO
,
activityQueryDto
,
calculationDiscountResult
,
cartGoodsList
,
shoppingCartGoodsResponseVo
,
userLoginInfoDto
,
shoppingCartInfoRequestVo
);
/**
* 满额减配送费
*/
if
(
BusinessTypeEnum
.
SAAS_DELIVERY
.
getCode
().
equals
(
menuType
))
{
List
<
ActivityTypeEnum
>
activityTypeEnums
=
new
LinkedList
<>();
activityTypeEnums
.
add
(
ActivityTypeEnum
.
TYPE_14
);
ActivityQueryResponseDto
activityQueryResponseDto
=
activityService
.
queryActivityByType
(
activityQueryDto
,
activityTypeEnums
,
null
);
ActivityResponseDto
activityResponse
=
null
;
BenefitBeanDto
beanDto
=
null
;
if
(
activityQueryResponseDto
!=
null
&&
activityQueryResponseDto
.
getResult
()!=
null
&&
activityQueryResponseDto
.
getResult
().
size
()>
0
)
{
activityResponse
=
activityQueryResponseDto
.
getResult
().
get
(
0
);
shoppingCartGoodsResponseVo
.
setDiscountDeliveryActivityCode
(
activityResponse
.
getActivityCode
());
beanDto
=
activityResponse
.
getBenefits
().
get
(
0
);
}
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
Discount
discount
=
null
;
if
(
calculationDiscountResult
!=
null
&&
CollectionUtils
.
isNotEmpty
(
calculationDiscountResult
.
getDiscounts
()))
{
Optional
<
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
Discount
>
discountop
=
calculationDiscountResult
.
getDiscounts
().
stream
()
.
filter
(
discount1
->
{
return
ActivityTypeEnum
.
TYPE_14
.
getCode
().
equals
(
discount1
.
getType
());
})
.
findFirst
();
discount
=
discountop
.
orElseGet
(()
->
{
return
null
;});
}
if
(
discount
!=
null
){
if
(
beanDto
.
getBenefitType
()
==
1
){
String
desc
=
DELIVERY_DISCOUNT_DESC2
;
shoppingCartGoodsResponseVo
.
setDeliveryDiscountDesc
(
String
.
format
(
desc
,
beanDto
.
getThresholdAmount
()
/
100
));
}
else
{
String
desc
=
DELIVERY_DISCOUNT_DESC1
;
shoppingCartGoodsResponseVo
.
setDeliveryDiscountDesc
(
String
.
format
(
desc
,
beanDto
.
getThresholdAmount
()
/
100
,
beanDto
.
getDiscountAmount
()
/
100
));
}
shoppingCartGoodsResponseVo
.
setDeliveryAmount
(
calculationDiscountResult
.
getDeliveryAmount
());
shoppingCartGoodsResponseVo
.
setDiscountDeliveryAmount
(
calculationDiscountResult
.
getDistributionFee
());
shoppingCartGoodsResponseVo
.
setThresholdAmount
(
discount
.
getThresholdAmount
());
shoppingCartGoodsResponseVo
.
setIsDiscountDelivery
(
true
);
}
else
{
if
(
activityResponse
!=
null
)
{
if
(
beanDto
.
getBenefitType
()
==
1
){
String
desc
=
DELIVERY_DISCOUNT_DESC2
;
shoppingCartGoodsResponseVo
.
setDeliveryDiscountDesc
(
String
.
format
(
desc
,
beanDto
.
getThresholdAmount
()
/
100
));
}
else
{
String
desc
=
DELIVERY_DISCOUNT_DESC1
;
shoppingCartGoodsResponseVo
.
setDeliveryDiscountDesc
(
String
.
format
(
desc
,
beanDto
.
getThresholdAmount
()
/
100
,
beanDto
.
getDiscountAmount
()
/
100
));
}
shoppingCartGoodsResponseVo
.
setDeliveryAmount
(
deliveryAmount
);
shoppingCartGoodsResponseVo
.
setDiscountDeliveryAmount
(
deliveryAmount
);
shoppingCartGoodsResponseVo
.
setIsDiscountDelivery
(
false
);
}
else
{
String
desc
=
DELIVERY_DISCOUNT_DESC3
;
shoppingCartGoodsResponseVo
.
setDeliveryDiscountDesc
(
String
.
format
(
desc
,
deliveryAmount
.
doubleValue
()
/
100
));
shoppingCartGoodsResponseVo
.
setDeliveryAmount
(
deliveryAmount
);
shoppingCartGoodsResponseVo
.
setDiscountDeliveryAmount
(
deliveryAmount
);
shoppingCartGoodsResponseVo
.
setIsDiscountDelivery
(
false
);
}
}
}
}
}
/**
/**
...
@@ -1246,8 +1369,10 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -1246,8 +1369,10 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
if
(
response
.
getData
()
==
null
||
response
.
getData
().
getData
()
==
null
||
response
.
getData
().
getData
().
getCardSimpleInfos
().
size
()
>
1
)
{
if
(
response
.
getData
()
==
null
||
response
.
getData
().
getData
()
==
null
||
response
.
getData
().
getData
().
getCardSimpleInfos
().
size
()
>
1
)
{
throw
new
ServiceException
(
ResponseResult
.
USER_SVC_CARD_ERROR
);
throw
new
ServiceException
(
ResponseResult
.
USER_SVC_CARD_ERROR
);
}
}
//获取实际配送费
if
(
StringUtils
.
isNotBlank
(
receiveId
))
{
if
(
StringUtils
.
isNotBlank
(
receiveId
))
{
Integer
deliveryAmount
=
getDeliveryAmount
(
receiveId
,
partnerId
,
storeId
);
// Integer deliveryAmount = getDeliveryAmount(receiveId, partnerId, storeId);
Integer
deliveryAmount
=
shoppingCartGoodsResponseVo
.
getDiscountDeliveryAmount
().
intValue
();
orderAmount
+=
deliveryAmount
;
orderAmount
+=
deliveryAmount
;
}
}
Integer
amount1
=
response
.
getData
().
getData
().
getCardSimpleInfos
().
get
(
0
).
getAmount
();
Integer
amount1
=
response
.
getData
().
getData
().
getCardSimpleInfos
().
get
(
0
).
getAmount
();
...
@@ -1341,4 +1466,39 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -1341,4 +1466,39 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
return
point2DList
;
return
point2DList
;
}
}
/**
* 获取优惠
*/
private
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
getCalculationDiscountResult
(
String
menuType
,
String
partnerId
,
String
storeId
,
String
userId
,
String
appId
,
String
wxappid
,
Integer
orderType
,
List
<
CartGoods
>
cartGoodsList
,
List
<
ActivityCalculationDiscountRequestDto
.
CalculationDiscountCoupon
>
coupons
,
List
<
ShoppingCartInfoRequestVo
.
SendGoods
>
sendGoodsList
,
String
receiveId
,
Long
deliveryAmount
){
// 获取优惠信息
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
calculationDiscountResult
=
null
;
//外卖场景下 查询门店配送信息
if
(
BusinessTypeEnum
.
SAAS_DELIVERY
.
getCode
().
equals
(
menuType
)){
calculationDiscountResult
=
this
.
getActivityCalculationDiscountResponse
(
partnerId
,
storeId
,
userId
,
appId
,
orderType
,
cartGoodsList
,
coupons
,
sendGoodsList
,
BusinessTypeEnum
.
getByType
(
menuType
).
getCode
(),
deliveryAmount
);
}
else
{
calculationDiscountResult
=
this
.
getActivityCalculationDiscountResponse
(
partnerId
,
storeId
,
userId
,
appId
,
orderType
,
cartGoodsList
,
coupons
,
sendGoodsList
,
BusinessTypeEnum
.
getByType
(
menuType
).
getCode
(),
null
);
}
return
calculationDiscountResult
;
}
private
Long
calculateDeliveryAmount
(
String
receiveId
,
String
partnerId
,
String
storeId
,
String
wxappid
){
Long
deliveryAmount
=
0
l
;
if
(
receiveId
==
null
)
{
//TODO 查询门店信息
StoreResponseDto
storeResponseDto
=
storeService
.
getStoreInfo
(
partnerId
,
storeId
);
//TODO 查询门店外卖信息
StoreDeliveryInfoDto
storeDeliveryInfoDto
=
storeService
.
getStoreDeliveryInfo
(
storeResponseDto
,
wxappid
);
deliveryAmount
=
storeDeliveryInfoDto
.
getDeliveryAmount
();
}
else
{
deliveryAmount
=
Long
.
parseLong
(
getDeliveryAmount
(
receiveId
,
partnerId
,
storeId
).
toString
());
}
return
deliveryAmount
;
}
}
}
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