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
cc2fcc06
Commit
cc2fcc06
authored
Oct 14, 2021
by
ping.wu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
餐盒费规则匹配实际餐盒费
parent
45d28a08
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
65 additions
and
3 deletions
+65
-3
shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/order/PackAmountConfig.java
+21
-0
shopping-cart-application-service/src/main/java/cn/freemud/handle/CommonFunctionHandle.java
+41
-1
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartNewServiceImpl.java
+1
-1
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/calculate/CalculationCommonService.java
+1
-1
shopping-cart-application-service/src/main/java/cn/freemud/utils/RedisUtil.java
+1
-0
No files found.
shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/order/PackAmountConfig.java
0 → 100644
View file @
cc2fcc06
package
cn
.
freemud
.
entities
.
dto
.
order
;
import
lombok.Data
;
import
java.util.List
;
@Data
public
class
PackAmountConfig
{
private
List
<
CollectType
>
collectType
;
@Data
public
static
class
CollectType
{
//订单金额
private
Integer
orderAmount
;
//餐盒费
private
Integer
fee
;
}
}
shopping-cart-application-service/src/main/java/cn/freemud/handle/CommonFunctionHandle.java
View file @
cc2fcc06
package
cn
.
freemud
.
handle
;
import
cn.freemud.entities.dto.console.*
;
import
cn.freemud.entities.dto.order.PackAmountConfig
;
import
cn.freemud.entities.vo.ShoppingCartInfoRequestVo
;
import
cn.freemud.enums.CreateOrderType
;
import
cn.freemud.enums.OrderType
;
import
cn.freemud.redis.RedisCache
;
import
cn.freemud.service.thirdparty.ConsoleApiClient
;
import
cn.freemud.utils.RedisUtil
;
import
com.alibaba.fastjson.JSONObject
;
import
com.freemud.application.sdk.api.log.ApiLog
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
org.springframework.util.CollectionUtils
;
import
java.util.List
;
import
java.util.Objects
;
/**
...
...
@@ -23,6 +30,38 @@ public class CommonFunctionHandle {
@Autowired
private
ConsoleApiClient
consoleApiClient
;
@Autowired
private
RedisCache
redisCache
;
/**
* 查询配置,比较配送费
*/
public
Long
packAmountConfig
(
ShoppingCartInfoRequestVo
shoppingCartInfoRequestVo
,
Long
newPackAmount
,
Long
totalAmount
)
{
if
(
newPackAmount
==
0
){
return
newPackAmount
;
}
String
redisKey
=
RedisUtil
.
packAmountConfig
+
"1865"
+
"_"
+
null
;
String
value
=
redisCache
.
hashGet
(
redisKey
,
"packAmountType"
);
if
(
StringUtils
.
isEmpty
(
value
)){
return
newPackAmount
;
}
PackAmountConfig
packAmountConfig
=
JSONObject
.
parseObject
(
value
,
PackAmountConfig
.
class
);
if
(
packAmountConfig
==
null
||
CollectionUtils
.
isEmpty
(
packAmountConfig
.
getCollectType
())){
return
newPackAmount
;
}
List
<
PackAmountConfig
.
CollectType
>
collectTypes
=
packAmountConfig
.
getCollectType
();
collectTypes
.
sort
((
p1
,
p2
)
->
p2
.
getOrderAmount
()
-
p1
.
getOrderAmount
());
newPackAmount
=
0L
;
for
(
PackAmountConfig
.
CollectType
collectType:
collectTypes
){
if
(
totalAmount
>
collectType
.
getOrderAmount
()){
newPackAmount
=
collectType
.
getFee
().
longValue
();
break
;
}
}
return
newPackAmount
;
}
/**
* fisherman 【ID1033456】自提根据模板配置计算餐具包装费
...
...
@@ -31,10 +70,11 @@ public class CommonFunctionHandle {
* @param newPackAmount
* @return 外卖 true 打包带走 false null 为其他业务问题 不进入需求
*/
public
Long
getPackAmountByStoreConfig
(
ShoppingCartInfoRequestVo
shoppingCartInfoRequestVo
,
Long
newPackAmount
)
{
public
Long
getPackAmountByStoreConfig
(
ShoppingCartInfoRequestVo
shoppingCartInfoRequestVo
,
Long
newPackAmount
,
Long
totalAmount
)
{
if
(
Objects
.
isNull
(
shoppingCartInfoRequestVo
))
{
return
newPackAmount
;
}
newPackAmount
=
packAmountConfig
(
shoppingCartInfoRequestVo
,
newPackAmount
,
totalAmount
);
Boolean
isTakeOut
=
null
;
if
(
Objects
.
equals
(
shoppingCartInfoRequestVo
.
getOrderType
(),
CreateOrderType
.
TAKE_OUT
.
getCode
()))
{
isTakeOut
=
true
;
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartNewServiceImpl.java
View file @
cc2fcc06
...
...
@@ -2313,7 +2313,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
}
else
if
((
Objects
.
equals
(
shoppingCartInfoRequestVo
.
getOrderType
(),
CreateOrderType
.
TAKE_OUT
.
getCode
())
||
Objects
.
equals
(
shoppingCartInfoRequestVo
.
getReachStoreType
(),
OrderType
.
COLLECT_GOODS
.
getCode
())))
{
//fisherman 【ID1033456】自提根据模板配置计算餐具包装费
Long
packAmount
=
commonFunctionHandle
.
getPackAmountByStoreConfig
(
shoppingCartInfoRequestVo
,
shoppingCartGoodsResponseVo
.
getNewPackAmount
());
Long
packAmount
=
commonFunctionHandle
.
getPackAmountByStoreConfig
(
shoppingCartInfoRequestVo
,
shoppingCartGoodsResponseVo
.
getNewPackAmount
()
,
shoppingCartGoodsResponseVo
.
getTotalAmount
()
);
shoppingCartGoodsResponseVo
.
setNewPackAmount
(
packAmount
);
if
(
Objects
.
equals
(
shoppingCartInfoRequestVo
.
getFlag
(),
SubmitPageEnum
.
YES
.
getCode
()))
{
Long
originalTotalAmount
=
shoppingCartGoodsResponseVo
.
getOriginalTotalAmount
()
+
packAmount
;
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/calculate/CalculationCommonService.java
View file @
cc2fcc06
...
...
@@ -104,7 +104,7 @@ public class CalculationCommonService {
shoppingCartGoodsResponseVo
.
setShoppingCartGoodsAmount
(
shoppingCartGoodsResponseVo
.
getTotalAmount
());
shoppingCartGoodsResponseVo
.
setShoppingCartOriginalGoodsAmount
(
shoppingCartGoodsResponseVo
.
getOriginalTotalAmount
());
//fisherman 【ID1033456】自提根据模板配置计算餐具包装费 新算价一起处理
shoppingCartGoodsResponseVo
.
setNewPackAmount
(
commonFunctionHandle
.
getPackAmountByStoreConfig
(
shoppingCartInfoRequestVo
,
totalPackageAmount
));
shoppingCartGoodsResponseVo
.
setNewPackAmount
(
commonFunctionHandle
.
getPackAmountByStoreConfig
(
shoppingCartInfoRequestVo
,
totalPackageAmount
,
shoppingCartGoodsResponseVo
.
getTotalAmount
()
));
// fisehrman 总优惠金额 需要+配送券的优惠金额
if
(
discountResult
==
null
)
{
shoppingCartGoodsResponseVo
.
setTotalDiscountAmount
(
0L
);
...
...
shopping-cart-application-service/src/main/java/cn/freemud/utils/RedisUtil.java
View file @
cc2fcc06
...
...
@@ -6,6 +6,7 @@ public class RedisUtil {
private
final
static
String
JOIN_FISSION_ACTIVITIES_KEY
=
BASE_URL
+
"JOIN_FISSION_ACTIVITIES_KEY_"
;
private
final
static
String
COUPON_APP_SECRET
=
"coupon:app_secret_"
;
public
static
String
limitCart
=
"kgd:open_store_cart_limit_"
;
public
static
String
packAmountConfig
=
"kgd:order_pack_config_"
;
public
static
String
getEnterShopKey
(
String
userId
)
{
return
ENTER_SHOP_KEY
+
userId
;
...
...
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