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
f3a6f275
Commit
f3a6f275
authored
Dec 02, 2020
by
缪晖
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
拼单加购人包装费
parent
bd9db432
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
113 additions
and
23 deletions
+113
-23
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/adapter/OrderSdkAdapter.java
+4
-0
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/request/order/CreateOrderProductRequest.java
+5
-0
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/response/order/QueryOrdersResponse.java
+5
-0
order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
+1
-0
order-application-service/src/main/java/cn/freemud/entities/dto/shoppingCart/ShoppingCartGoodsDto.java
+5
-0
order-application-service/src/main/java/cn/freemud/entities/dto/wechat/GroupBuyDetailResp.java
+1
-0
order-application-service/src/main/java/cn/freemud/entities/vo/ProductVo.java
+5
-0
order-application-service/src/main/java/cn/freemud/service/impl/CheckOrder.java
+28
-15
order-application-service/src/main/java/cn/freemud/service/impl/CollageOrderServiceImpl.java
+27
-8
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/request/create/OrderItemCreateReq.java
+5
-0
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/response/orderInfo/OrderItemResp.java
+3
-0
shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/shoppingCart/ShoppingCartGoodsDto.java
+4
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartCollageServiceImpl.java
+20
-0
No files found.
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/adapter/OrderSdkAdapter.java
View file @
f3a6f275
...
@@ -809,6 +809,7 @@ public class OrderSdkAdapter {
...
@@ -809,6 +809,7 @@ public class OrderSdkAdapter {
productBean
.
setOpenId
(
orderItemResp
.
getOpenId
());
productBean
.
setOpenId
(
orderItemResp
.
getOpenId
());
productBean
.
setNickName
(
orderItemResp
.
getNickName
());
productBean
.
setNickName
(
orderItemResp
.
getNickName
());
productBean
.
setPhotoUrl
(
orderItemResp
.
getPhotoUrl
());
productBean
.
setPhotoUrl
(
orderItemResp
.
getPhotoUrl
());
productBean
.
setPackPrice
(
orderItemResp
.
getPackPrice
());
List
<
QueryOrdersResponse
.
DataBean
.
OrderBean
.
ProductBean
.
ProductDiscount
>
discountList
=
new
ArrayList
<
QueryOrdersResponse
.
DataBean
.
OrderBean
.
ProductBean
.
ProductDiscount
>();
List
<
QueryOrdersResponse
.
DataBean
.
OrderBean
.
ProductBean
.
ProductDiscount
>
discountList
=
new
ArrayList
<
QueryOrdersResponse
.
DataBean
.
OrderBean
.
ProductBean
.
ProductDiscount
>();
List
<
OrderSettlementResp
>
orderSettlementResps1
=
orderSettlementResps
==
null
?
new
ArrayList
<>()
:
orderSettlementResps
;
List
<
OrderSettlementResp
>
orderSettlementResps1
=
orderSettlementResps
==
null
?
new
ArrayList
<>()
:
orderSettlementResps
;
...
@@ -1069,6 +1070,8 @@ public class OrderSdkAdapter {
...
@@ -1069,6 +1070,8 @@ public class OrderSdkAdapter {
data
.
setMarketingType
(
ClassUtils
.
toByte
(
orderInfoReqs
.
getMarketingType
()));
data
.
setMarketingType
(
ClassUtils
.
toByte
(
orderInfoReqs
.
getMarketingType
()));
}
}
return
data
;
return
data
;
}
}
...
@@ -2642,6 +2645,7 @@ public class OrderSdkAdapter {
...
@@ -2642,6 +2645,7 @@ public class OrderSdkAdapter {
orderItemCreateReq
.
setOpenId
(
product
.
getOpenId
());
orderItemCreateReq
.
setOpenId
(
product
.
getOpenId
());
orderItemCreateReq
.
setNickName
(
product
.
getNickName
());
orderItemCreateReq
.
setNickName
(
product
.
getNickName
());
orderItemCreateReq
.
setPhotoUrl
(
product
.
getPhotoUrl
());
orderItemCreateReq
.
setPhotoUrl
(
product
.
getPhotoUrl
());
orderItemCreateReq
.
setPackPrice
(
product
.
getPackPrice
());
// 拼单加购人信息 add by miaohui 2020.10.12 end
// 拼单加购人信息 add by miaohui 2020.10.12 end
orderItemList
.
add
(
orderItemCreateReq
);
orderItemList
.
add
(
orderItemCreateReq
);
...
...
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/request/order/CreateOrderProductRequest.java
View file @
f3a6f275
...
@@ -196,4 +196,9 @@ public class CreateOrderProductRequest extends BaseConfig {
...
@@ -196,4 +196,9 @@ public class CreateOrderProductRequest extends BaseConfig {
* 加购人头像
* 加购人头像
*/
*/
private
String
photoUrl
;
private
String
photoUrl
;
/**
* 加购人包装费
*/
private
Long
packPrice
;
}
}
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/response/order/QueryOrdersResponse.java
View file @
f3a6f275
...
@@ -542,6 +542,11 @@ public class QueryOrdersResponse {
...
@@ -542,6 +542,11 @@ public class QueryOrdersResponse {
private
String
photoUrl
;
private
String
photoUrl
;
/**
/**
* 加购人包装费
*/
private
Long
packPrice
;
/**
* 套餐子商品
* 套餐子商品
*/
*/
public
List
<
ProductBean
>
comboProduct
;
public
List
<
ProductBean
>
comboProduct
;
...
...
order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
View file @
f3a6f275
...
@@ -2187,6 +2187,7 @@ public class OrderAdapter {
...
@@ -2187,6 +2187,7 @@ public class OrderAdapter {
createOrderProductDemoDto
.
setOpenId
(
cartGoodsDetailDto
.
getOpenId
());
createOrderProductDemoDto
.
setOpenId
(
cartGoodsDetailDto
.
getOpenId
());
createOrderProductDemoDto
.
setNickName
(
cartGoodsDetailDto
.
getUserName
());
createOrderProductDemoDto
.
setNickName
(
cartGoodsDetailDto
.
getUserName
());
createOrderProductDemoDto
.
setPhotoUrl
(
cartGoodsDetailDto
.
getPhotoUrl
());
createOrderProductDemoDto
.
setPhotoUrl
(
cartGoodsDetailDto
.
getPhotoUrl
());
createOrderProductDemoDto
.
setPackPrice
(
cartGoodsDetailDto
.
getPackPrice
());
return
createOrderProductDemoDto
;
return
createOrderProductDemoDto
;
}
}
...
...
order-application-service/src/main/java/cn/freemud/entities/dto/shoppingCart/ShoppingCartGoodsDto.java
View file @
f3a6f275
...
@@ -227,6 +227,11 @@ public class ShoppingCartGoodsDto {
...
@@ -227,6 +227,11 @@ public class ShoppingCartGoodsDto {
private
String
photoUrl
;
private
String
photoUrl
;
/**
/**
* 加购人包装费
*/
private
Long
packPrice
;
/**
* 购物车行id
* 购物车行id
*/
*/
private
String
cartGoodsUid
;
private
String
cartGoodsUid
;
...
...
order-application-service/src/main/java/cn/freemud/entities/dto/wechat/GroupBuyDetailResp.java
View file @
f3a6f275
...
@@ -22,6 +22,7 @@ public class GroupBuyDetailResp {
...
@@ -22,6 +22,7 @@ public class GroupBuyDetailResp {
private
int
payerNum
;
private
int
payerNum
;
private
Long
totalAmount
;
private
Long
totalAmount
;
private
Long
orderAmount
;
private
List
<
GroupBuyDto
>
payerList
;
private
List
<
GroupBuyDto
>
payerList
;
}
}
order-application-service/src/main/java/cn/freemud/entities/vo/ProductVo.java
View file @
f3a6f275
...
@@ -64,6 +64,11 @@ public class ProductVo {
...
@@ -64,6 +64,11 @@ public class ProductVo {
private
String
photoUrl
;
private
String
photoUrl
;
/**
/**
* 加购人包装费
*/
private
Long
packPrice
;
/**
* 商品的规格信息加属性信息
* 商品的规格信息加属性信息
*/
*/
private
String
extras
;
private
String
extras
;
...
...
order-application-service/src/main/java/cn/freemud/service/impl/CheckOrder.java
View file @
f3a6f275
...
@@ -507,11 +507,27 @@ public class CheckOrder {
...
@@ -507,11 +507,27 @@ public class CheckOrder {
requestDto
.
setPremiumExchangeActivity
(
createOrderVo
.
getPremiumExchangeActivity
());
requestDto
.
setPremiumExchangeActivity
(
createOrderVo
.
getPremiumExchangeActivity
());
// 若为拼单类型,购物车信息从新的拼单购物车获取 update by miaohui for 【ID1010972】 多人拼单
// 若为拼单类型,购物车信息从新的拼单购物车获取 update by miaohui for 【ID1010972】 多人拼单
cn
.
freemud
.
base
.
entity
.
BaseResponse
<
ShoppingCartGoodsDto
>
apportionResponse
;
cn
.
freemud
.
base
.
entity
.
BaseResponse
<
ShoppingCartGoodsDto
>
apportionResponse
;
if
(
createOrderVo
.
getMarketingType
()
!=
null
&&
OrderMarketType
.
COLLAGE
.
getIndex
()
==
createOrderVo
.
getMarketingType
(
))
{
if
(
this
.
isCollageOrder
(
createOrderVo
))
{
apportionResponse
=
shoppingCartClient
.
getCollageShoppingCartGoodsApportion
(
requestDto
);
apportionResponse
=
shoppingCartClient
.
getCollageShoppingCartGoodsApportion
(
requestDto
);
}
else
{
apportionResponse
=
shoppingCartClient
.
getShoppingCartGoodsApportionNew
(
requestDto
);
}
if
(!
ObjectUtils
.
equals
(
ResponseCodeConstant
.
RESPONSE_SUCCESS_STR
,
apportionResponse
.
getCode
()))
{
ResponseResult
responseResult
=
ResponseResult
.
getResponseResult
(
apportionResponse
.
getCode
());
throw
new
ServiceException
(
responseResult
!=
null
?
responseResult
:
ResponseResult
.
SHOPPING_CART_GETINFO_ERROR
);
}
if
(
apportionResponse
.
getResult
()
==
null
||
CollectionUtils
.
isEmpty
(
apportionResponse
.
getResult
().
getProducts
()))
{
throw
new
ServiceException
(
ResponseResult
.
SHOPPING_CART_GETINFO_INVAILD
);
}
ShoppingCartGoodsDto
shoppingCartGoodsDto
=
apportionResponse
.
getResult
();
if
(
shoppingCartGoodsDto
.
getOriginalTotalAmount
()
==
null
)
{
throw
new
ServiceException
(
ResponseResult
.
SHOPPING_CART_GETINFO_INVAILD
);
}
// 拼单处理
if
(
this
.
isCollageOrder
(
createOrderVo
))
{
// 处理拼单加购人信息
// 处理拼单加购人信息
List
<
ShoppingCartGoodsDto
.
CartGoodsDetailDto
>
products
=
apportionResponse
.
getResult
()
.
getProducts
();
List
<
ShoppingCartGoodsDto
.
CartGoodsDetailDto
>
products
=
shoppingCartGoodsDto
.
getProducts
();
ShoppingCartGoodsDto
.
CartGoodsDetailDto
createUserGood
=
products
.
stream
().
filter
(
good
->
createOrderVo
.
getUserId
().
equals
(
good
.
getUserId
())).
findFirst
().
orElse
(
null
);
ShoppingCartGoodsDto
.
CartGoodsDetailDto
createUserGood
=
products
.
stream
().
filter
(
good
->
createOrderVo
.
getUserId
().
equals
(
good
.
getUserId
())).
findFirst
().
orElse
(
null
);
if
(
null
==
createUserGood
)
{
if
(
null
==
createUserGood
)
{
...
@@ -531,20 +547,8 @@ public class CheckOrder {
...
@@ -531,20 +547,8 @@ public class CheckOrder {
cartGoodsNullUser
.
setPhotoUrl
(
createUserGood
.
getPhotoUrl
());
cartGoodsNullUser
.
setPhotoUrl
(
createUserGood
.
getPhotoUrl
());
});
});
}
}
}
else
{
apportionResponse
=
shoppingCartClient
.
getShoppingCartGoodsApportionNew
(
requestDto
);
}
if
(!
ObjectUtils
.
equals
(
ResponseCodeConstant
.
RESPONSE_SUCCESS_STR
,
apportionResponse
.
getCode
()))
{
ResponseResult
responseResult
=
ResponseResult
.
getResponseResult
(
apportionResponse
.
getCode
());
throw
new
ServiceException
(
responseResult
!=
null
?
responseResult
:
ResponseResult
.
SHOPPING_CART_GETINFO_ERROR
);
}
if
(
apportionResponse
.
getResult
()
==
null
||
CollectionUtils
.
isEmpty
(
apportionResponse
.
getResult
().
getProducts
()))
{
throw
new
ServiceException
(
ResponseResult
.
SHOPPING_CART_GETINFO_INVAILD
);
}
ShoppingCartGoodsDto
shoppingCartGoodsDto
=
apportionResponse
.
getResult
();
if
(
shoppingCartGoodsDto
.
getOriginalTotalAmount
()
==
null
)
{
throw
new
ServiceException
(
ResponseResult
.
SHOPPING_CART_GETINFO_INVAILD
);
}
}
return
shoppingCartGoodsDto
;
return
shoppingCartGoodsDto
;
}
}
...
@@ -774,4 +778,13 @@ public class CheckOrder {
...
@@ -774,4 +778,13 @@ public class CheckOrder {
// }
// }
}
}
/**
* 判断是否为拼单订单
* @param createOrderVo
* @return
*/
private
boolean
isCollageOrder
(
CreateOrderVo
createOrderVo
)
{
return
createOrderVo
.
getMarketingType
()
!=
null
&&
OrderMarketType
.
COLLAGE
.
getIndex
()
==
createOrderVo
.
getMarketingType
();
}
}
}
order-application-service/src/main/java/cn/freemud/service/impl/CollageOrderServiceImpl.java
View file @
f3a6f275
...
@@ -16,20 +16,16 @@ package cn.freemud.service.impl;
...
@@ -16,20 +16,16 @@ package cn.freemud.service.impl;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.base.log.LogTreadLocal
;
import
cn.freemud.base.log.LogTreadLocal
;
import
cn.freemud.base.util.DateUtil
;
import
cn.freemud.base.util.DateUtil
;
import
cn.freemud.entities.dto.order.CreateOrderOperateDto
;
import
cn.freemud.entities.dto.wechat.*
;
import
cn.freemud.entities.dto.wechat.*
;
import
cn.freemud.entities.vo.CreateOrderResponseVo
;
import
cn.freemud.entities.vo.QueryOrderVo
;
import
cn.freemud.entities.vo.QueryOrderVo
;
import
cn.freemud.enums.ResponseResult
;
import
cn.freemud.enums.ResponseResult
;
import
cn.freemud.inteceptor.CommonServiceException
;
import
cn.freemud.service.thirdparty.EcologyAdminApplicationClient
;
import
cn.freemud.service.thirdparty.EcologyAdminApplicationClient
;
import
cn.freemud.service.thirdparty.ShoppingCartClient
;
import
cn.freemud.service.thirdparty.ShoppingCartClient
;
import
cn.freemud.service.thirdparty.WeChatClient
;
import
cn.freemud.service.thirdparty.WeChatClient
;
import
com.alibaba.fastjson.JSONObject
;
import
com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo
;
import
com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo
;
import
com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustomerInfoManager
;
import
com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustomerInfoManager
;
import
com.freemud.application.sdk.api.ordercenter.enums.ResponseResultEnum
;
import
com.freemud.application.sdk.api.ordercenter.enums.ResponseResultEnum
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.Order
Settlemen
tResp
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.Order
Cos
tResp
;
import
com.freemud.sdk.api.assortment.order.request.order.BaseQueryOrderRequest
;
import
com.freemud.sdk.api.assortment.order.request.order.BaseQueryOrderRequest
;
import
com.freemud.sdk.api.assortment.order.request.order.GroupBuyRequest
;
import
com.freemud.sdk.api.assortment.order.request.order.GroupBuyRequest
;
import
com.freemud.sdk.api.assortment.order.response.order.GroupBuyResponse
;
import
com.freemud.sdk.api.assortment.order.response.order.GroupBuyResponse
;
...
@@ -46,6 +42,7 @@ import org.checkerframework.checker.units.qual.A;
...
@@ -46,6 +42,7 @@ import org.checkerframework.checker.units.qual.A;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Optional
;
import
java.util.Optional
;
...
@@ -124,6 +121,7 @@ public class CollageOrderServiceImpl implements CollageOrderService {
...
@@ -124,6 +121,7 @@ public class CollageOrderServiceImpl implements CollageOrderService {
groupBuyDetailResp
.
setOrderCode
(
order
.
getOid
());
groupBuyDetailResp
.
setOrderCode
(
order
.
getOid
());
groupBuyDetailResp
.
setPartnerId
(
order
.
getCompanyId
());
groupBuyDetailResp
.
setPartnerId
(
order
.
getCompanyId
());
groupBuyDetailResp
.
setShopId
(
order
.
getShopId
());
groupBuyDetailResp
.
setShopId
(
order
.
getShopId
());
groupBuyDetailResp
.
setOrderAmount
(
order
.
getActualPayAmount
());
List
<
QueryOrdersResponse
.
DataBean
.
OrderBean
.
ProductBean
>
productList
=
order
.
getProductList
();
List
<
QueryOrdersResponse
.
DataBean
.
OrderBean
.
ProductBean
>
productList
=
order
.
getProductList
();
...
@@ -134,7 +132,18 @@ public class CollageOrderServiceImpl implements CollageOrderService {
...
@@ -134,7 +132,18 @@ public class CollageOrderServiceImpl implements CollageOrderService {
for
(
String
payerUserId
:
payerUserIdList
)
{
for
(
String
payerUserId
:
payerUserIdList
)
{
groupBuyDto
=
new
GroupBuyDto
();
groupBuyDto
=
new
GroupBuyDto
();
groupBuyDto
.
setUserId
(
payerUserId
);
groupBuyDto
.
setUserId
(
payerUserId
);
groupBuyDto
.
setAmount
(
productList
.
stream
().
filter
(
product
->
payerUserId
.
equals
(
product
.
getUserId
())).
map
(
QueryOrdersResponse
.
DataBean
.
OrderBean
.
ProductBean
::
getSalePrice
).
reduce
(
Long:
:
sum
).
get
());
// 商品费用
Long
itemAmount
=
productList
.
stream
().
filter
(
product
->
(
payerUserId
.
equals
(
product
.
getUserId
())
&&
null
!=
product
.
getSalePrice
())).
map
(
QueryOrdersResponse
.
DataBean
.
OrderBean
.
ProductBean
::
getSalePrice
).
reduce
(
Long:
:
sum
).
orElse
(
0L
);
// 包装费用
Long
packAmount
=
productList
.
stream
().
filter
(
product
->
(
payerUserId
.
equals
(
product
.
getUserId
())
&&
null
!=
product
.
getPackPrice
())).
map
(
QueryOrdersResponse
.
DataBean
.
OrderBean
.
ProductBean
::
getPackPrice
).
reduce
(
Long:
:
sum
).
orElse
(
0L
);
// 运费分摊
Long
deliveryAmount
=
0L
;
if
(
order
.
getOrderCostDetailList
()
!=
null
)
{
OrderCostResp
orderCostResp
=
order
.
getOrderCostDetailList
().
stream
().
filter
(
detail
->
(
detail
.
getCostType
().
equals
(
2
)
&&
detail
.
getBillType
().
equals
(
1
))).
findFirst
().
orElse
(
new
OrderCostResp
());
BigDecimal
deliveryPrice
=
orderCostResp
.
getActualCostAmount
()
==
null
?
new
BigDecimal
(
0
)
:
orderCostResp
.
getActualCostAmount
();
deliveryAmount
=
Math
.
floorDiv
(
deliveryPrice
.
longValue
(),
payerUserIdList
.
size
());
}
groupBuyDto
.
setAmount
(
itemAmount
+
packAmount
+
deliveryAmount
);
groupBuyDto
.
setNickName
(
productList
.
stream
().
filter
(
product
->
payerUserId
.
equals
(
product
.
getUserId
())).
findFirst
().
get
().
getNickName
());
groupBuyDto
.
setNickName
(
productList
.
stream
().
filter
(
product
->
payerUserId
.
equals
(
product
.
getUserId
())).
findFirst
().
get
().
getNickName
());
groupBuyDto
.
setPhotoUrl
(
productList
.
stream
().
filter
(
product
->
payerUserId
.
equals
(
product
.
getUserId
())).
findFirst
().
get
().
getPhotoUrl
());
groupBuyDto
.
setPhotoUrl
(
productList
.
stream
().
filter
(
product
->
payerUserId
.
equals
(
product
.
getUserId
())).
findFirst
().
get
().
getPhotoUrl
());
list
.
add
(
groupBuyDto
);
list
.
add
(
groupBuyDto
);
...
@@ -192,8 +201,18 @@ public class CollageOrderServiceImpl implements CollageOrderService {
...
@@ -192,8 +201,18 @@ public class CollageOrderServiceImpl implements CollageOrderService {
// 组装群收款付款人列表
// 组装群收款付款人列表
GroupBuyRequest
.
UserInfo
groupBuyUserInfo
;
GroupBuyRequest
.
UserInfo
groupBuyUserInfo
;
for
(
String
payerOpenId
:
payerOpenIdList
)
{
for
(
String
payerOpenId
:
payerOpenIdList
)
{
Long
amount
=
productList
.
stream
().
filter
(
product
->
payerOpenId
.
equals
(
product
.
getOpenId
())).
map
(
QueryOrdersResponse
.
DataBean
.
OrderBean
.
ProductBean
::
getSalePrice
).
reduce
(
Long:
:
sum
).
get
();
// 商品费用
Long
itemAmount
=
productList
.
stream
().
filter
(
product
->
(
payerOpenId
.
equals
(
product
.
getOpenId
())
&&
null
!=
product
.
getSalePrice
())).
map
(
QueryOrdersResponse
.
DataBean
.
OrderBean
.
ProductBean
::
getSalePrice
).
reduce
(
Long:
:
sum
).
orElse
(
0L
);
// 包装费用
Long
packAmount
=
productList
.
stream
().
filter
(
product
->
(
payerOpenId
.
equals
(
product
.
getOpenId
())
&&
null
!=
product
.
getPackPrice
())).
map
(
QueryOrdersResponse
.
DataBean
.
OrderBean
.
ProductBean
::
getPackPrice
).
reduce
(
Long:
:
sum
).
orElse
(
0L
);
// 运费分摊
Long
deliveryAmount
=
0L
;
if
(
order
.
getOrderCostDetailList
()
!=
null
)
{
OrderCostResp
orderCostResp
=
order
.
getOrderCostDetailList
().
stream
().
filter
(
detail
->
(
detail
.
getCostType
().
equals
(
2
)
&&
detail
.
getBillType
().
equals
(
1
))).
findFirst
().
orElse
(
new
OrderCostResp
());
BigDecimal
deliveryPrice
=
orderCostResp
.
getActualCostAmount
()
==
null
?
new
BigDecimal
(
0
)
:
orderCostResp
.
getActualCostAmount
();
deliveryAmount
=
Math
.
floorDiv
(
deliveryPrice
.
longValue
(),
payerOpenIdList
.
size
());
}
Long
amount
=
itemAmount
+
packAmount
+
deliveryAmount
;
groupBuyUserInfo
=
new
GroupBuyRequest
.
UserInfo
();
groupBuyUserInfo
=
new
GroupBuyRequest
.
UserInfo
();
groupBuyUserInfo
.
setOpenid
(
payerOpenId
);
groupBuyUserInfo
.
setOpenid
(
payerOpenId
);
groupBuyUserInfo
.
setAmount
(
Integer
.
parseInt
(
String
.
valueOf
(
amount
)));
groupBuyUserInfo
.
setAmount
(
Integer
.
parseInt
(
String
.
valueOf
(
amount
)));
...
...
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/request/create/OrderItemCreateReq.java
View file @
f3a6f275
...
@@ -143,4 +143,9 @@ public class OrderItemCreateReq {
...
@@ -143,4 +143,9 @@ public class OrderItemCreateReq {
*/
*/
private
String
photoUrl
;
private
String
photoUrl
;
/**
* 加购人包装费
*/
private
Long
packPrice
;
}
}
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/response/orderInfo/OrderItemResp.java
View file @
f3a6f275
...
@@ -118,4 +118,7 @@ public class OrderItemResp {
...
@@ -118,4 +118,7 @@ public class OrderItemResp {
//加购人头像
//加购人头像
private
String
photoUrl
;
private
String
photoUrl
;
//加购人包装费
private
Long
packPrice
;
}
}
shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/shoppingCart/ShoppingCartGoodsDto.java
View file @
f3a6f275
...
@@ -178,6 +178,10 @@ public class ShoppingCartGoodsDto {
...
@@ -178,6 +178,10 @@ public class ShoppingCartGoodsDto {
*/
*/
private
String
photoUrl
;
private
String
photoUrl
;
/**
* 购买人包装费
*/
private
Long
packPrice
;
/**
/**
* 商品的数量
* 商品的数量
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartCollageServiceImpl.java
View file @
f3a6f275
...
@@ -693,9 +693,29 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
...
@@ -693,9 +693,29 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
shoppingCartGoodsDto
.
setIsDiscountDelivery
(
shoppingCartGoodsResponseVo
.
getIsDiscountDelivery
());
shoppingCartGoodsDto
.
setIsDiscountDelivery
(
shoppingCartGoodsResponseVo
.
getIsDiscountDelivery
());
shoppingCartGoodsDto
.
setDiscountDeliveryActivityCode
(
shoppingCartGoodsResponseVo
.
getDiscountDeliveryActivityCode
());
shoppingCartGoodsDto
.
setDiscountDeliveryActivityCode
(
shoppingCartGoodsResponseVo
.
getDiscountDeliveryActivityCode
());
// 购物车购买人包装费计算
updatePackPrice
(
shoppingCartGoodsResponseVo
,
shoppingCartGoodsDto
);
return
ResponseUtil
.
success
(
shoppingCartGoodsDto
);
return
ResponseUtil
.
success
(
shoppingCartGoodsDto
);
}
}
/**
* 拼单订单商品绑定包装费透传
* @param shoppingCartGoodsResponseVo
* @param shoppingCartGoodsDto
*/
private
void
updatePackPrice
(
ShoppingCartGoodsResponseVo
shoppingCartGoodsResponseVo
,
ShoppingCartGoodsDto
shoppingCartGoodsDto
)
{
if
(
shoppingCartGoodsResponseVo
!=
null
&&
shoppingCartGoodsResponseVo
.
getProducts
()
!=
null
&&
shoppingCartGoodsDto
!=
null
&&
shoppingCartGoodsDto
.
getProducts
()
!=
null
)
{
shoppingCartGoodsResponseVo
.
getProducts
().
stream
().
forEach
(
product
->
{
shoppingCartGoodsDto
.
getProducts
().
stream
().
forEach
(
goods
->
{
if
(
goods
.
getCartGoodsUid
().
equals
(
product
.
getCartGoodsUid
())
&&
goods
.
getOriginalPrice
().
equals
(
product
.
getOriginalAmount
()))
{
goods
.
setPackPrice
(
product
.
getPackPrice
());
}
});
});
}
}
@Override
@Override
public
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
getActivityCalculationDiscountResponse
(
String
partnerId
,
String
storeId
,
String
userId
,
String
appId
,
Integer
orderType
,
boolean
isMember
,
List
<
CartGoods
>
cartGoodsList
,
List
<
ActivityCalculationDiscountRequestDto
.
CalculationDiscountCoupon
>
coupons
,
List
<
ShoppingCartInfoRequestVo
.
SendGoods
>
sendGoodsList
,
String
menuType
,
Long
distributionFee
)
{
public
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
getActivityCalculationDiscountResponse
(
String
partnerId
,
String
storeId
,
String
userId
,
String
appId
,
Integer
orderType
,
boolean
isMember
,
List
<
CartGoods
>
cartGoodsList
,
List
<
ActivityCalculationDiscountRequestDto
.
CalculationDiscountCoupon
>
coupons
,
List
<
ShoppingCartInfoRequestVo
.
SendGoods
>
sendGoodsList
,
String
menuType
,
Long
distributionFee
)
{
ActivityCalculationDiscountRequestDto
activityCalculationDiscountRequestDto
=
getActivityCalculationDiscountRequestDto
(
partnerId
,
storeId
,
userId
,
appId
,
orderType
);
ActivityCalculationDiscountRequestDto
activityCalculationDiscountRequestDto
=
getActivityCalculationDiscountRequestDto
(
partnerId
,
storeId
,
userId
,
appId
,
orderType
);
...
...
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