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
c6cd445c
Commit
c6cd445c
authored
Mar 30, 2021
by
胡敬轩
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
结算页可用券列表改造
parent
1c4d9c94
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
185 additions
and
9 deletions
+185
-9
shopping-cart-application-service/src/main/java/cn/freemud/adapter/ActivityAdapter.java
+0
-0
shopping-cart-application-service/src/main/java/cn/freemud/controller/ShoppingCartController.java
+10
-6
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/coupon/CartProduct.java
+39
-0
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/coupon/CouponAvailableCartInfo.java
+47
-0
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/coupon/CouponAvailableRequestVo.java
+42
-0
shopping-cart-application-service/src/main/java/cn/freemud/enums/ActivityTypeEnum.java
+2
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartNewServiceImpl.java
+45
-3
No files found.
shopping-cart-application-service/src/main/java/cn/freemud/adapter/ActivityAdapter.java
View file @
c6cd445c
This diff is collapsed.
Click to expand it.
shopping-cart-application-service/src/main/java/cn/freemud/controller/ShoppingCartController.java
View file @
c6cd445c
...
@@ -16,21 +16,18 @@ import cn.freemud.aop.LogIgnore;
...
@@ -16,21 +16,18 @@ import cn.freemud.aop.LogIgnore;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.constant.ResponseCodeConstant
;
import
cn.freemud.constant.ResponseCodeConstant
;
import
cn.freemud.demo.controller.ShoppingCartDemoController
;
import
cn.freemud.demo.controller.ShoppingCartDemoController
;
import
cn.freemud.demo.entities.dto.goods.add.AddGoodsRequestDTO
;
import
cn.freemud.entities.dto.GetMemberInfoRequestDto
;
import
cn.freemud.entities.dto.GetMemberInfoRequestDto
;
import
cn.freemud.entities.vo.*
;
import
cn.freemud.entities.vo.*
;
import
cn.freemud.entities.vo.coupon.CouponAvailableRequestVo
;
import
cn.freemud.enums.OrderChannelType
;
import
cn.freemud.enums.OrderChannelType
;
import
cn.freemud.enums.ResponseResult
;
import
cn.freemud.enums.ResponseResult
;
import
cn.freemud.service.OpenStoreIappWxappConfigService
;
import
cn.freemud.service.OpenStoreIappWxappConfigService
;
import
cn.freemud.interceptor.ServiceException
;
import
cn.freemud.service.ShoppingCartNewService
;
import
cn.freemud.service.ShoppingCartNewService
;
import
cn.freemud.service.impl.ShoppingCartMallServiceImpl
;
import
cn.freemud.service.impl.ShoppingCartMallServiceImpl
;
import
cn.freemud.service.impl.ShoppingCartMealServiceImpl
;
import
cn.freemud.service.impl.ShoppingCartMealServiceImpl
;
import
cn.freemud.service.impl.ShoppingCartNewServiceImpl
;
import
cn.freemud.service.impl.ShoppingCartNewServiceImpl
;
import
cn.freemud.service.impl.ShoppingCartToolsServiceImpl
;
import
cn.freemud.service.impl.ShoppingCartToolsServiceImpl
;
import
cn.freemud.utils.BeanUtil
;
import
cn.freemud.utils.ResponseUtil
;
import
cn.freemud.utils.ResponseUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo
;
import
com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo
;
import
com.freemud.api.assortment.datamanager.enums.IappIdType
;
import
com.freemud.api.assortment.datamanager.enums.IappIdType
;
import
com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustomerInfoManager
;
import
com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustomerInfoManager
;
...
@@ -38,10 +35,9 @@ import com.freemud.application.sdk.api.base.SDKCommonBaseContextWare;
...
@@ -38,10 +35,9 @@ import com.freemud.application.sdk.api.base.SDKCommonBaseContextWare;
import
com.freemud.application.sdk.api.log.ApiAnnotation
;
import
com.freemud.application.sdk.api.log.ApiAnnotation
;
import
com.freemud.application.sdk.api.log.LogParams
;
import
com.freemud.application.sdk.api.log.LogParams
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
import
lombok.extern.slf4j.Slf4j
;
import
ma.glasnost.orika.MapperFacade
;
import
ma.glasnost.orika.MapperFacade
;
import
org.apache.commons.beanutils.BeanUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.commons.lang.StringUtils
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.MediaType
;
import
org.springframework.http.MediaType
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.validation.annotation.Validated
;
...
@@ -248,4 +244,12 @@ public class ShoppingCartController {
...
@@ -248,4 +244,12 @@ public class ShoppingCartController {
public
BaseResponse
premiumExchange
(
@LogParams
@RequestBody
PremiumExchangeRequestVo
request
)
{
public
BaseResponse
premiumExchange
(
@LogParams
@RequestBody
PremiumExchangeRequestVo
request
)
{
return
SDKCommonBaseContextWare
.
getBean
(
ShoppingCartNewServiceImpl
.
class
).
premiumExchange
(
request
);
return
SDKCommonBaseContextWare
.
getBean
(
ShoppingCartNewServiceImpl
.
class
).
premiumExchange
(
request
);
}
}
/**
* 券码查询购物车商品信息(平台结算页可用券列表用)
*/
@PostMapping
(
value
=
"/getCartInfoByUser"
)
@LogIgnore
(
excludeStatusCodes
=
{
ResponseCodeConstant
.
RESPONSE_SUCCESS_STR
},
logMessage
=
"/getCartInfoByUser"
)
public
BaseResponse
getCartInfoByUser
(
@LogParams
@RequestBody
CouponAvailableRequestVo
request
)
{
return
SDKCommonBaseContextWare
.
getBean
(
ShoppingCartNewServiceImpl
.
class
).
getCartInfoByUser
(
request
);
}
}
}
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/coupon/CartProduct.java
0 → 100644
View file @
c6cd445c
package
cn
.
freemud
.
entities
.
vo
.
coupon
;
import
lombok.Data
;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @Title: cn.freemud.entities.vo.coupon Product
* @Description: TDO 描述....
* @author: family
* @date: 2020/6/30
* @Copyright: www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@Data
public
class
CartProduct
{
/**
* 商品id
*/
private
String
productId
;
/**
* 总原价金额(包括主商品+可选搭配+加料商品)
*/
private
Long
originalTotalAmount
;
/**
* 总实付金额(包括主商品+可选搭配+加料商品)
*/
private
Long
realAmount
;
//总优惠金额(不包括赠品优惠金额和套餐优惠金额)
private
Long
discountAmount
;
/**
* 主商品数量
*/
private
Integer
quantity
;
//使用的商品券号
private
String
couponCode
;
}
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/coupon/CouponAvailableCartInfo.java
0 → 100644
View file @
c6cd445c
package
cn
.
freemud
.
entities
.
vo
.
coupon
;
import
cn.freemud.entities.vo.CartGoods
;
import
lombok.Data
;
import
java.util.List
;
/**
* All rights Reserved, Designed By sunary.site
*
* @version v1.0
* @Title: IntelliJ IDEA
* @Package cn.freemud.service.impl.mcoffee.entity
* @Description: 请简单描述下这个类是做什么用的
* @author: yu.sun
* @date: 2020-10-26 13:59:32
* @Copyright: 2019 www.freemud.cn Inc. All rights reserved.
*/
@Data
public
class
CouponAvailableCartInfo
{
//渠道id
private
String
providerId
;
//商户号
private
String
merchantId
;
//门店id(校验门店限制)
private
String
storeId
;
//组织机构id列表(校验渠道限制)
private
List
<
String
>
channelIdList
;
//组织机构code列表(校验渠道限制)
private
List
<
String
>
channelCodeList
;
//已使用券列表
private
List
<
String
>
couponCodes
;
/**
* 总原价金额(包括主商品+可选搭配+加料商品)
*/
private
Long
originalTotalAmount
;
/**
* 总实付金额(包括主商品+可选搭配+加料商品)
*/
private
Long
realAmount
;
//总优惠金额(不包括赠品优惠金额和套餐优惠金额)
private
Long
discountAmount
;
//购物车商品列表
private
List
<
CartProduct
>
productList
;
}
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/coupon/CouponAvailableRequestVo.java
0 → 100644
View file @
c6cd445c
package
cn
.
freemud
.
entities
.
vo
.
coupon
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
org.hibernate.validator.constraints.NotEmpty
;
import
javax.validation.constraints.NotNull
;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @version V1.0
* @Title: QueryCartInfoRequestVo
* @Package cn.freemud.entities.vo
* @Description: 简单描述下这个类是做什么用的
* @author: yu.sun
* @date: 2020/9/11 10:35
* @Copyright: 2020 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@Data
public
class
CouponAvailableRequestVo
{
@NotNull
(
message
=
"门店id不可为空"
)
private
String
storeId
;
@ApiModelProperty
(
value
=
"sessionId"
,
required
=
true
)
@NotNull
(
message
=
"用户sessionId不可为空"
)
private
String
sessionId
;
@ApiModelProperty
(
value
=
"menuType"
,
notes
=
"业务类型: 0 : 自提 1:外卖 2:微商城"
,
required
=
true
)
@NotNull
(
message
=
"业务类型不可为空"
)
private
String
menuType
;
@ApiModelProperty
(
value
=
"订单类型"
)
@NotNull
(
message
=
"订单类型不可为空"
)
private
Integer
orderType
;
@ApiModelProperty
(
value
=
"收货地址id"
,
notes
=
"svc卡支付外卖订单必传"
)
private
String
receiveId
;
}
\ No newline at end of file
shopping-cart-application-service/src/main/java/cn/freemud/enums/ActivityTypeEnum.java
View file @
c6cd445c
...
@@ -34,6 +34,7 @@ public enum ActivityTypeEnum {
...
@@ -34,6 +34,7 @@ public enum ActivityTypeEnum {
TYPE_3
(
3
,
"代金券"
),
TYPE_3
(
3
,
"代金券"
),
TYPE_31
(
31
,
"折扣券"
),
TYPE_31
(
31
,
"折扣券"
),
TYPE_32
(
32
,
"商品券"
),
TYPE_32
(
32
,
"商品券"
),
TYPE_33
(
33
,
"换购券"
),
TYPE_37
(
37
,
"月享卡种子券"
),
TYPE_37
(
37
,
"月享卡种子券"
),
TYPE_5
(
5
,
"整单满金额折"
),
TYPE_5
(
5
,
"整单满金额折"
),
TYPE_51
(
51
,
"每满金额折"
),
TYPE_51
(
51
,
"每满金额折"
),
...
@@ -57,6 +58,7 @@ public enum ActivityTypeEnum {
...
@@ -57,6 +58,7 @@ public enum ActivityTypeEnum {
TYPE_200
(
200
,
"X元Y件"
),
TYPE_200
(
200
,
"X元Y件"
),
TYPE_PACKAGE
(
900
,
"包装费"
),
TYPE_PACKAGE
(
900
,
"包装费"
),
TYPE_DELIVERY
(
901
,
"配送费"
),
TYPE_DELIVERY
(
901
,
"配送费"
),
TYPE_310
(
310
,
"套餐活动优惠"
),
TYPE_320
(
320
,
"会员价商品优惠"
),
TYPE_320
(
320
,
"会员价商品优惠"
),
TYPE_221
(
221
,
"集点"
);
TYPE_221
(
221
,
"集点"
);
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartNewServiceImpl.java
View file @
c6cd445c
...
@@ -36,6 +36,8 @@ import cn.freemud.entities.dto.user.GetSessionUserInfoDto;
...
@@ -36,6 +36,8 @@ import cn.freemud.entities.dto.user.GetSessionUserInfoDto;
import
cn.freemud.entities.dto.user.GetUserScoreUseDetailRequest
;
import
cn.freemud.entities.dto.user.GetUserScoreUseDetailRequest
;
import
cn.freemud.entities.dto.user.GetUserScoreUserDetailResponse
;
import
cn.freemud.entities.dto.user.GetUserScoreUserDetailResponse
;
import
cn.freemud.entities.vo.*
;
import
cn.freemud.entities.vo.*
;
import
cn.freemud.entities.vo.coupon.CouponAvailableCartInfo
;
import
cn.freemud.entities.vo.coupon.CouponAvailableRequestVo
;
import
cn.freemud.enums.*
;
import
cn.freemud.enums.*
;
import
cn.freemud.interceptor.BizServiceException
;
import
cn.freemud.interceptor.BizServiceException
;
import
cn.freemud.interceptor.ServiceException
;
import
cn.freemud.interceptor.ServiceException
;
...
@@ -55,7 +57,6 @@ import com.freemud.api.assortment.datamanager.entity.db.AssortmentOpenPlatformPa
...
@@ -55,7 +57,6 @@ import com.freemud.api.assortment.datamanager.entity.db.AssortmentOpenPlatformPa
import
com.freemud.api.assortment.datamanager.manager.AssortmentOpenPlatformPartnerStoreDeliveryConfigManager
;
import
com.freemud.api.assortment.datamanager.manager.AssortmentOpenPlatformPartnerStoreDeliveryConfigManager
;
import
com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustomerInfoManager
;
import
com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustomerInfoManager
;
import
com.freemud.application.sdk.api.base.SDKCommonBaseContextWare
;
import
com.freemud.application.sdk.api.base.SDKCommonBaseContextWare
;
import
com.freemud.application.sdk.api.constant.FMStatusCode
;
import
com.freemud.application.sdk.api.log.ApiLog
;
import
com.freemud.application.sdk.api.log.ApiLog
;
import
com.freemud.application.sdk.api.log.ErrorLog
;
import
com.freemud.application.sdk.api.log.ErrorLog
;
import
com.freemud.application.sdk.api.log.LogThreadLocal
;
import
com.freemud.application.sdk.api.log.LogThreadLocal
;
...
@@ -81,11 +82,9 @@ import com.freemud.sdk.api.assortment.shoppingcart.service.ShoppingCartBaseServi
...
@@ -81,11 +82,9 @@ import com.freemud.sdk.api.assortment.shoppingcart.service.ShoppingCartBaseServi
import
com.freemud.sdk.api.assortment.shoppingcart.service.impl.ShoppingCartBaseServiceImpl
;
import
com.freemud.sdk.api.assortment.shoppingcart.service.impl.ShoppingCartBaseServiceImpl
;
import
com.google.common.collect.Lists
;
import
com.google.common.collect.Lists
;
import
javafx.util.Pair
;
import
javafx.util.Pair
;
import
javafx.util.Pair
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
ma.glasnost.orika.MapperFacade
;
import
ma.glasnost.orika.MapperFacade
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.MapUtils
;
import
org.apache.commons.lang.ObjectUtils
;
import
org.apache.commons.lang.ObjectUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
@@ -2863,4 +2862,47 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -2863,4 +2862,47 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
}
}
}
}
}
}
/**
* 券码查询购物车商品信息(平台用)
* @param requestVo
* @return
*/
public
BaseResponse
<
CouponAvailableCartInfo
>
getCartInfoByUser
(
CouponAvailableRequestVo
requestVo
){
// 获取用户信息
CustomerInfoVo
assortmentCustomerInfoVo
=
getCustomerInfoVo
(
requestVo
.
getSessionId
());
String
userId
=
assortmentCustomerInfoVo
.
getMemberId
();
String
partnerId
=
assortmentCustomerInfoVo
.
getPartnerId
();
String
appId
=
assortmentCustomerInfoVo
.
getAppId
();
String
storeId
=
requestVo
.
getStoreId
();
String
menuType
=
requestVo
.
getMenuType
();
Integer
orderType
=
requestVo
.
getOrderType
();
CouponAvailableCartInfo
couponAvailableCartInfo
;
List
<
String
>
orgCodes
=
commonService
.
getOrgCodes
(
partnerId
,
storeId
);
// 获取购物车商品
List
<
CartGoods
>
cartGoodsList
=
assortmentSdkService
.
getShoppingCartForCoupon
(
partnerId
,
requestVo
.
getStoreId
(),
userId
,
""
,
shoppingCartBaseService
);
if
(
grayPush
(
partnerId
,
storeId
,
"2"
))
{
CalculationSharingDiscountResponseDto
.
CalculationDiscountResult
discountResult
=
sharingDiscountService
.
getCalculationSharingDiscountResult
(
menuType
,
partnerId
,
storeId
,
userId
,
appId
,
orderType
,
assortmentCustomerInfoVo
.
isMemberPaid
()
,
cartGoodsList
,
new
ArrayList
<>()
//券
,
null
//加价购商品
,
0L
,
null
);
couponAvailableCartInfo
=
activityAdapter
.
convert2CouponAvailableCartInfoSharing
(
partnerId
,
storeId
,
discountResult
,
orgCodes
);
}
else
{
// 获取优惠信息
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
calculationDiscountResult
=
getCalculationDiscountResult
(
menuType
,
partnerId
,
storeId
,
userId
,
appId
,
assortmentCustomerInfoVo
.
getWxAppId
(),
orderType
,
assortmentCustomerInfoVo
.
isMemberPaid
(),
cartGoodsList
,
new
ArrayList
<>(),
null
,
null
,
0L
);
couponAvailableCartInfo
=
activityAdapter
.
convert2CouponAvailableCartInfo
(
partnerId
,
storeId
,
calculationDiscountResult
,
orgCodes
);
}
return
ResponseUtil
.
success
(
couponAvailableCartInfo
);
}
}
}
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