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
e9100db9
Commit
e9100db9
authored
Jan 22, 2021
by
chongfu.liang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
重构
parent
f5a0d474
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
165 additions
and
43 deletions
+165
-43
shopping-cart-application-service/src/main/java/cn/freemud/demo/adapter/manager/CustomerBO2DTOAdapter.java
+6
-0
shopping-cart-application-service/src/main/java/cn/freemud/demo/adapter/manager/CustomerDTO2BOAdapter.java
+7
-0
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/BuyMemberCardBO.java
+11
-0
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/GetPaidRuleRequestBO.java
+12
-0
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/PaidRuleResponseBO.java
+16
-0
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/bo/goods/list/ListCartGoodsBO.java
+15
-0
shopping-cart-application-service/src/main/java/cn/freemud/demo/manager/customer/CustomerManager.java
+8
-0
shopping-cart-application-service/src/main/java/cn/freemud/demo/manager/customer/CustomerService.java
+2
-0
shopping-cart-application-service/src/main/java/cn/freemud/demo/manager/customer/KgdCustomerServceImpl.java
+14
-0
shopping-cart-application-service/src/main/java/cn/freemud/demo/service/AbstractListCartGoodsService.java
+74
-43
No files found.
shopping-cart-application-service/src/main/java/cn/freemud/demo/adapter/manager/CustomerBO2DTOAdapter.java
View file @
e9100db9
package
cn
.
freemud
.
demo
.
adapter
.
manager
;
import
cn.freemud.demo.entities.GetPaidRuleRequestBO
;
import
cn.freemud.demo.entities.GetUserScoreUseDetailBO
;
import
cn.freemud.demo.entities.ReceiveAddressBO
;
import
cn.freemud.entities.dto.GetPaidRuleRequestDto
;
import
cn.freemud.entities.dto.user.GetUserScoreUseDetailRequest
;
import
com.freemud.application.sdk.api.membercenter.response.QueryReceiveAddressResponse
;
import
ma.glasnost.orika.MapperFacade
;
...
...
@@ -21,5 +23,9 @@ public class CustomerBO2DTOAdapter {
return
dto
;
}
public
GetPaidRuleRequestDto
convert2GetPaidRuleRequestDto
(
GetPaidRuleRequestBO
bo
)
{
GetPaidRuleRequestDto
dto
=
mapperFacade
.
map
(
bo
,
GetPaidRuleRequestDto
.
class
);
return
dto
;
}
}
shopping-cart-application-service/src/main/java/cn/freemud/demo/adapter/manager/CustomerDTO2BOAdapter.java
View file @
e9100db9
package
cn
.
freemud
.
demo
.
adapter
.
manager
;
import
cn.freemud.demo.entities.PaidRuleResponseBO
;
import
cn.freemud.demo.entities.ReceiveAddressBO
;
import
cn.freemud.demo.entities.StoreInfoBO
;
import
cn.freemud.demo.entities.UserScoreUserDetailBO
;
import
cn.freemud.entities.dto.GetPaidRuleResponseDto
;
import
cn.freemud.entities.dto.user.GetUserScoreUserDetailResponse
;
import
com.freemud.application.sdk.api.membercenter.response.QueryReceiveAddressResponse
;
import
com.freemud.application.sdk.api.storecenter.response.StoreResponse
;
...
...
@@ -28,4 +30,9 @@ public class CustomerDTO2BOAdapter {
return
bo
;
}
public
PaidRuleResponseBO
convert2PaidRuleResponseBO
(
GetPaidRuleResponseDto
dto
)
{
PaidRuleResponseBO
bo
=
mapperFacade
.
map
(
dto
,
PaidRuleResponseBO
.
class
);
return
bo
;
}
}
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/BuyMemberCardBO.java
0 → 100644
View file @
e9100db9
package
cn
.
freemud
.
demo
.
entities
;
import
lombok.Data
;
@Data
public
class
BuyMemberCardBO
{
private
Integer
activityPrice
;
private
Integer
firstCouponAmount
;
}
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/GetPaidRuleRequestBO.java
0 → 100644
View file @
e9100db9
package
cn
.
freemud
.
demo
.
entities
;
import
lombok.Data
;
@Data
public
class
GetPaidRuleRequestBO
{
private
String
partnerId
;
private
String
paidId
;
private
String
ruleId
;
}
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/PaidRuleResponseBO.java
0 → 100644
View file @
e9100db9
package
cn
.
freemud
.
demo
.
entities
;
import
lombok.Data
;
@Data
public
class
PaidRuleResponseBO
{
private
String
ruleId
;
private
String
ruleName
;
private
Integer
effectiveDays
;
private
Integer
price
;
private
Integer
activityPrice
;
private
Integer
isFirstCoupon
;
private
Integer
firstCouponAmount
;
}
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/bo/goods/list/ListCartGoodsBO.java
View file @
e9100db9
...
...
@@ -29,6 +29,21 @@ public class ListCartGoodsBO {
private
ManagerServiceBO
managerService
;
private
CartGoods
addGoods
;
/**
* 会员卡信息
*/
private
ShoppingCartInfoRequestVo
.
BuyMemberCard
buyMemberCard
;
/**
* 到店类型 orderType 传1的时候 如果reachStoreTyp为空转成订单类型4 如果不为空存储4(打包带走)和5(店内就餐)
*/
private
Integer
reachStoreType
;
/**
* 是否为结算页
* 1:结算页 0:点餐页
* 结算页会查询用户优惠券,点餐页不会查询用户优惠券
*/
private
Integer
flag
;
/**
* 加价购商品
...
...
shopping-cart-application-service/src/main/java/cn/freemud/demo/manager/customer/CustomerManager.java
View file @
e9100db9
package
cn
.
freemud
.
demo
.
manager
.
customer
;
import
cn.freemud.demo.entities.*
;
import
cn.freemud.entities.dto.GetPaidRuleRequestDto
;
import
cn.freemud.entities.dto.GetPaidRuleResponseDto
;
import
org.springframework.stereotype.Service
;
@Service
...
...
@@ -21,4 +23,10 @@ public class CustomerManager {
return
userScoreUserDetail
;
}
public
PaidRuleResponseBO
getPaidRule
(
GetPaidRuleRequestBO
getPaidRuleRequestBO
,
CustomerService
customerService
)
{
PaidRuleResponseBO
userScoreUserDetail
=
customerService
.
getPaidRule
(
getPaidRuleRequestBO
);
return
userScoreUserDetail
;
}
}
shopping-cart-application-service/src/main/java/cn/freemud/demo/manager/customer/CustomerService.java
View file @
e9100db9
...
...
@@ -15,4 +15,6 @@ public interface CustomerService {
UserScoreUserDetailBO
getUserScoreUseDetail
(
GetUserScoreUseDetailBO
getUserScoreUseDetailBO
);
PaidRuleResponseBO
getPaidRule
(
GetPaidRuleRequestBO
getPaidRuleRequestBO
);
}
shopping-cart-application-service/src/main/java/cn/freemud/demo/manager/customer/KgdCustomerServceImpl.java
View file @
e9100db9
...
...
@@ -4,6 +4,8 @@ import cn.freemud.base.entity.BaseResponse;
import
cn.freemud.demo.adapter.manager.CustomerBO2DTOAdapter
;
import
cn.freemud.demo.adapter.manager.CustomerDTO2BOAdapter
;
import
cn.freemud.demo.entities.*
;
import
cn.freemud.entities.dto.GetPaidRuleRequestDto
;
import
cn.freemud.entities.dto.GetPaidRuleResponseDto
;
import
cn.freemud.entities.dto.user.GetSessionUserInfoDto
;
import
cn.freemud.entities.dto.user.GetUserScoreUseDetailRequest
;
import
cn.freemud.entities.dto.user.GetUserScoreUserDetailResponse
;
...
...
@@ -90,4 +92,16 @@ public class KgdCustomerServceImpl implements CustomerService {
}
return
userScoreUserDetailBO
;
}
@Override
public
PaidRuleResponseBO
getPaidRule
(
GetPaidRuleRequestBO
getPaidRuleRequestBO
)
{
GetPaidRuleRequestDto
getPaidRuleRequestDto
=
customerBO2DTOAdapter
.
convert2GetPaidRuleRequestDto
(
getPaidRuleRequestBO
);
BaseResponse
<
GetPaidRuleResponseDto
>
baseResponse
=
customerApplicationClient
.
getPaidRule
(
getPaidRuleRequestDto
);
if
(
baseResponse
==
null
||
!
ResponseResult
.
SUCCESS
.
getCode
().
equals
(
baseResponse
.
getCode
())
||
baseResponse
.
getResult
()
==
null
||
baseResponse
.
getResult
().
getActivityPrice
()
==
null
)
{
return
null
;
}
PaidRuleResponseBO
paidRuleResponseBO
=
customerDTO2BOAdapter
.
convert2PaidRuleResponseBO
(
baseResponse
.
getResult
());
return
paidRuleResponseBO
;
}
}
shopping-cart-application-service/src/main/java/cn/freemud/demo/service/AbstractListCartGoodsService.java
View file @
e9100db9
...
...
@@ -22,10 +22,7 @@ import cn.freemud.entities.dto.calculate.CalculationSharingDiscountResponseDto;
import
cn.freemud.entities.dto.user.GetUserScoreUseDetailRequest
;
import
cn.freemud.entities.dto.user.GetUserScoreUserDetailResponse
;
import
cn.freemud.entities.vo.*
;
import
cn.freemud.enums.ActivityTypeEnum
;
import
cn.freemud.enums.CalculationGoodsType
;
import
cn.freemud.enums.GoodsTypeEnum
;
import
cn.freemud.enums.ResponseResult
;
import
cn.freemud.enums.*
;
import
cn.freemud.interceptor.BizServiceException
;
import
cn.freemud.interceptor.ServiceException
;
import
cn.freemud.redis.RedisCache
;
...
...
@@ -54,6 +51,8 @@ import java.util.function.Function;
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_INVALIAD_GOODS
;
public
class
AbstractListCartGoodsService
implements
ListCartGoodsService
{
...
...
@@ -217,36 +216,6 @@ public class AbstractListCartGoodsService implements ListCartGoodsService {
return
bo
;
}
private
GetCouponDetailBO
convert2GetCouponDetailBO
(
ListCartGoodsBO
baseRequestBO
)
{
GetCouponDetailBO
getCouponDetailBO
=
new
GetCouponDetailBO
();
getCouponDetailBO
.
setPartnerId
(
baseRequestBO
.
getPartnerId
());
getCouponDetailBO
.
setCouponCode
(
baseRequestBO
.
getCouponCode
());
getCouponDetailBO
.
setStoreCode
(
baseRequestBO
.
getShopId
());
return
getCouponDetailBO
;
}
private
GetProductBO
convert2ProductBO
(
ListCartGoodsBO
baseRequestBO
,
CartGoods
cartGoods
)
{
GetProductBO
getProductBO
=
new
GetProductBO
();
getProductBO
.
setSkuid
(
cartGoods
.
getSkuId
());
getProductBO
.
setSpuid
(
cartGoods
.
getSpuId
());
getProductBO
.
setStoreId
(
baseRequestBO
.
getShopId
());
getProductBO
.
setPartnerId
(
baseRequestBO
.
getPartnerId
());
getProductBO
.
setMenuType
(
BusinessTypeEnum
.
getByType
(
baseRequestBO
.
getMenuType
()).
getCode
());
return
getProductBO
;
}
private
GetProductBySkuIdBO
convert2GetProductBySkuIdBO
(
ListCartGoodsBO
baseRequestBO
)
{
GetProductBySkuIdBO
getProductBySkuIdBO
=
new
GetProductBySkuIdBO
();
getProductBySkuIdBO
.
setMenuType
(
baseRequestBO
.
getMenuType
());
getProductBySkuIdBO
.
setPartnerId
(
baseRequestBO
.
getPartnerId
());
List
<
String
>
skuids
=
new
ArrayList
<>();
skuids
.
add
(
baseRequestBO
.
getSkuId
());
getProductBySkuIdBO
.
setSkuids
(
skuids
);
getProductBySkuIdBO
.
setStoreId
(
baseRequestBO
.
getShopId
());
return
getProductBySkuIdBO
;
}
/**
* 具体业务逻辑校验, 例如商品数量,库存等校验
...
...
@@ -271,7 +240,7 @@ public class AbstractListCartGoodsService implements ListCartGoodsService {
DiscountResultBO
customCalCostBO
=
this
.
customAddGoodsToShoppingCart
(
baseRequestDTO
,
addGoodsToShoppingCartBO
,
commCalCostBO
);
return
c
om
mCalCostBO
;
return
c
usto
mCalCostBO
;
}
...
...
@@ -449,13 +418,12 @@ public class AbstractListCartGoodsService implements ListCartGoodsService {
/**
* 特价类型超出部分提示
*/
calculationCommonService
.
drawSurpassDiscountInfo
(
discountResult
,
shoppingCartGoodsResponseVo
);
if
(
ShoppingCartConstant
.
ADD_AND_UPDATE
.
equals
(
opt
))
{
calculationCommonService
.
setAddAndUpdateResponse
(
cartGoodsList
,
shoppingCartGoodsResponseVo
,
shoppingCartInfoRequestVo
,
ShoppingCartConstant
.
ADD_AND_UPDATE
);
}
else
if
(
ShoppingCartConstant
.
QUERY_INFO
.
equals
(
opt
))
{
calculationCommonService
.
setAddAndUpdateResponse
(
cartGoodsList
,
shoppingCartGoodsResponseVo
,
shoppingCartInfoRequestVo
,
ShoppingCartConstant
.
QUERY_INFO
);
calculationCommonService
.
addNeedCardAmount
(
shoppingCartInfoRequestVo
,
shoppingCartGoodsResponseVo
);
}
// calculationCommonService.drawSurpassDiscountInfo(discountResult, shoppingCartGoodsResponseVo);
Long
packAmount
=
this
.
getPackAmount
(
baseRequestDTO
,
shoppingGoodsAmountBO
);
BuyMemberCardBO
buyMemberCardBO
=
this
.
addNeedCardAmount
(
baseRequestDTO
);
// 买一赠一寄杯
...
...
@@ -463,10 +431,27 @@ public class AbstractListCartGoodsService implements ListCartGoodsService {
shoppingCartGoodsBO
.
setOriginalTotalAmount
(
shoppingGoodsAmountBO
.
getOriginalTotalAmount
());
shoppingCartGoodsBO
.
setNewPackAmount
(
null
);
shoppingCartGoodsBO
.
setNewPackAmount
(
packAmount
);
Long
totalAmount
=
shoppingGoodsAmountBO
.
getTotalAmount
();
Long
totalDiscountAmount
=
shoppingGoodsAmountBO
.
getTotalDiscountAmount
();
// 加价购金额
if
(
additionBO
!=
null
){
totalAmount
+=
additionBO
.
getAmount
();
totalDiscountAmount
+=
additionBO
.
getDiscountAmount
();
}
// 积分抵扣
if
(
scoreReduceBO
!=
null
){
totalAmount
-=
scoreReduceBO
.
getDiscountAmount
();
totalDiscountAmount
-=
scoreReduceBO
.
getDiscountAmount
();
}
shoppingCartGoodsBO
.
setTotalAmount
(
shoppingGoodsAmountBO
.
getTotalAmount
());
shoppingCartGoodsBO
.
setTotalDiscountAmount
(
shoppingGoodsAmountBO
.
getTotalDiscountAmount
());
shoppingCartGoodsBO
.
setFullDiscount
(
fullReductionBO
.
getDiscount
());
distributeBO
.
getCartGoods
().
addAll
(
giftGoods
);
shoppingCartGoodsBO
.
setChooseGoods
(
chooseGoodsBO
);
...
...
@@ -483,6 +468,52 @@ public class AbstractListCartGoodsService implements ListCartGoodsService {
return
setMessageBO
;
}
/**
* 在原价、现价、折扣价上增加第一次使用会员卡的费用
*
*/
public
BuyMemberCardBO
addNeedCardAmount
(
ListCartGoodsBO
baseRequestDTO
)
{
BuyMemberCardBO
buyMemberCardBO
=
new
BuyMemberCardBO
();
ShoppingCartInfoRequestVo
.
BuyMemberCard
buyMemberCard
=
baseRequestDTO
.
getBuyMemberCard
();
if
(
baseRequestDTO
.
getBuyMemberCard
()
==
null
||
StringUtils
.
isEmpty
(
buyMemberCard
.
getPaidId
())
||
StringUtils
.
isEmpty
(
buyMemberCard
.
getRuleId
()))
{
return
buyMemberCardBO
;
}
GetPaidRuleRequestBO
getPaidRuleRequestDto
=
new
GetPaidRuleRequestBO
();
getPaidRuleRequestDto
.
setPartnerId
(
baseRequestDTO
.
getPartnerId
());
getPaidRuleRequestDto
.
setPaidId
(
buyMemberCard
.
getPaidId
());
getPaidRuleRequestDto
.
setRuleId
(
buyMemberCard
.
getRuleId
());
PaidRuleResponseBO
paidRule
=
customerManager
.
getPaidRule
(
getPaidRuleRequestDto
,
baseRequestDTO
.
getManagerService
().
getCustomerService
());
if
(
paidRule
!=
null
){
Integer
activityPrice
=
paidRule
.
getActivityPrice
();
}
// 购买会员卡的金额
Integer
activityPrice
=
paidRule
.
getActivityPrice
();
// 首次使用会员卡享受的折扣金额
Integer
firstCouponAmount
=
paidRule
.
getFirstCouponAmount
()
==
null
?
0
:
paidRule
.
getFirstCouponAmount
();
buyMemberCardBO
.
setActivityPrice
(
activityPrice
);
buyMemberCardBO
.
setFirstCouponAmount
(
firstCouponAmount
);
return
buyMemberCardBO
;
}
public
Long
getPackAmount
(
ListCartGoodsBO
baseRequestDTO
,
ShoppingGoodsAmountBO
shoppingGoodsAmountBO
)
{
//========================== 购物车查询特有逻辑 =================================
// 到店自取包装费设为null,外卖要计算包装费,flag为1表示去结算
// 兼容老版本判断null
if
(
Objects
.
equals
(
baseRequestDTO
.
getOrderType
(),
CreateOrderType
.
COLLECT_GOODS
.
getCode
())
&&
(
Objects
.
equals
(
baseRequestDTO
.
getReachStoreType
(),
null
)
||
Objects
.
equals
(
baseRequestDTO
.
getReachStoreType
(),
OrderType
.
EAT_IN
.
getCode
())))
{
return
null
;
}
else
if
((
Objects
.
equals
(
baseRequestDTO
.
getOrderType
(),
CreateOrderType
.
TAKE_OUT
.
getCode
())
||
Objects
.
equals
(
baseRequestDTO
.
getReachStoreType
(),
OrderType
.
COLLECT_GOODS
.
getCode
()))
&&
Objects
.
equals
(
baseRequestDTO
.
getFlag
(),
CouponFlag
.
YES
.
getCode
()))
{
return
shoppingGoodsAmountBO
.
getNewPackAmount
()
==
null
?
0L
:
shoppingGoodsAmountBO
.
getNewPackAmount
();
}
return
null
;
}
public
DeliveryBO
delivery
(
CalculationDiscountBO
.
CalculationDiscountResult
discountResult
,
ListCartGoodsBO
baseRequestDTO
,
ActivityQueryDto
activityQueryDto
,
Long
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