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
a282a450
Commit
a282a450
authored
Dec 21, 2020
by
chongfu.liang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
返回校验
parent
7fcff535
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
415 additions
and
8 deletions
+415
-8
shopping-cart-application-service/src/main/java/cn/freemud/controller/ShoppingCartController.java
+11
-3
shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/GetMemberInfoRequestDto.java
+144
-0
shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/GetMemberInfoResponseVo.java
+149
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/ShoppingCartNewService.java
+2
-2
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartNewServiceImpl.java
+109
-3
No files found.
shopping-cart-application-service/src/main/java/cn/freemud/controller/ShoppingCartController.java
View file @
a282a450
...
...
@@ -13,12 +13,11 @@
package
cn
.
freemud
.
controller
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.entities.dto.GetMemberInfoRequestDto
;
import
cn.freemud.entities.vo.*
;
import
cn.freemud.enums.CreateOrderType
;
import
cn.freemud.enums.OrderChannelType
;
import
cn.freemud.enums.ResponseResult
;
import
cn.freemud.service.ShoppingCartNewService
;
import
cn.freemud.service.ShoppingCartToolsService
;
import
cn.freemud.service.impl.ShoppingCartMallServiceImpl
;
import
cn.freemud.service.impl.ShoppingCartMealServiceImpl
;
import
cn.freemud.service.impl.ShoppingCartNewServiceImpl
;
...
...
@@ -28,7 +27,6 @@ import com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo
import
com.freemud.api.assortment.datamanager.enums.IappIdType
;
import
com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustomerInfoManager
;
import
com.freemud.application.sdk.api.base.SDKCommonBaseContextWare
;
import
com.alibaba.fastjson.JSON
;
import
com.freemud.application.sdk.api.log.ApiAnnotation
;
import
com.freemud.application.sdk.api.log.LogParams
;
import
io.swagger.annotations.Api
;
...
...
@@ -177,4 +175,14 @@ public class ShoppingCartController {
return
SDKCommonBaseContextWare
.
getBean
(
ShoppingCartToolsServiceImpl
.
class
).
clear
(
request
);
}
/**
* 线下订单查询接口
*/
@ApiAnnotation
(
logMessage
=
"/getMemberInfo"
)
@PostMapping
(
value
=
"/getMemberInfo"
)
public
BaseResponse
getMemberInfo
(
@LogParams
@RequestBody
GetMemberInfoRequestDto
request
)
{
return
SDKCommonBaseContextWare
.
getBean
(
ShoppingCartNewServiceImpl
.
class
).
getMemberInfo
(
request
);
}
}
shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/GetMemberInfoRequestDto.java
0 → 100644
View file @
a282a450
package
cn
.
freemud
.
entities
.
dto
;
import
lombok.Data
;
import
java.util.List
;
@Data
public
class
GetMemberInfoRequestDto
{
private
String
partnerId
;
private
String
mobile
;
/**
* 实际支付金额(分)
*/
private
Integer
actualPayAmount
;
/**
* 下单门店号
*/
private
String
storeId
;
/**
* 门店名称
*/
private
String
storeName
;
/**
* 订单原金额(分)
*/
private
Integer
originalAmount
;
/**
* 下单渠道
*/
private
Integer
orderClient
;
/**
* 订单类型
*/
private
Integer
orderType
;
/**
* 支付渠道
*/
private
String
payChannel
;
/**
* 支付渠道名称
*/
private
String
payChannelName
;
/**
* pos编号
*/
private
String
posCode
;
/**
* 操作人
*/
private
String
operator
;
/**
* 是否赠送积分 0是1否
*/
private
Integer
needBonus
;
/**
* 订单商品信息
*/
private
List
<
OrderItemRequest
>
orderItemList
;
@Data
public
static
class
OrderItemRequest
{
/**
* 商品序号
*/
private
Integer
productSeq
;
/**
* 平台商品编号
*/
private
String
productId
;
/**
* 商家商品编号
*/
private
String
thirdProductId
;
/**
* 商品名称
*/
private
String
productName
;
/**
* 商品单价(分)
*/
private
Integer
productPrice
;
/**
* 数量
*/
private
Integer
productQuantity
;
/**
* 优惠分摊金额(分)
*/
private
Integer
productSharePrice
;
/**
* 商品单位
*/
private
String
productWeightUnit
;
/**
* 商品重量(克)
*/
private
Integer
weight
;
/**
* 商品规格名称(大杯)
*/
private
String
productSpecName
;
/**
* 商品属性名称(三分糖)
*/
private
String
productProperty
;
/**
* 商家商品分类编号
*/
private
String
thirdCateCode
;
/**
* 是否算积分
*/
private
String
needBonus
;
}
}
shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/GetMemberInfoResponseVo.java
0 → 100644
View file @
a282a450
package
cn
.
freemud
.
entities
.
dto
;
import
lombok.Data
;
import
java.util.List
;
@Data
public
class
GetMemberInfoResponseVo
{
private
String
userId
;
private
Score
score
;
private
List
<
Coupon
>
coupons
;
private
List
<
Card
>
cards
;
@Data
public
static
class
Score
{
/**
* 当前可用积分
*/
private
Integer
currentScore
;
/**
* 历史累计积分
*/
private
Integer
totalScore
;
/**
* 已使用积分
*/
private
Integer
usedScore
;
}
@Data
public
static
class
Coupon
{
/**
* 券名称
*/
private
String
couponName
;
/**
* 券CODE
*/
private
String
couponCode
;
/**
* 券类型 0:商品 券 1:代金券 3 折扣券
*/
private
Integer
cuoponType
;
/**
* 如:2019-10-1 至 2019-10-10 当天有效
*/
private
String
couponLimit
;
/**
* 状态:-1:未激活 0:可用(剔除过期) 1:已使用 2:部分使用 3:取消 6:已过期(根据生失效日期) 99:未知(目前暂不支持)
*/
private
Integer
status
;
private
List
<
Product
>
products
;
}
@Data
public
static
class
Product
{
/**
* 商户商品编号
*/
private
String
pid
;
/**
* 商品名称
*/
private
String
name
;
/**
* 最大可取商品个数
*/
private
Integer
number
;
/**
* 商品折扣价,以分为单位
*/
private
Integer
priceAct
;
/**
* 原价,以分为单位
*/
private
Integer
priceOriginal
;
/**
* 支付信息
*/
Payment
payment
;
}
@Data
public
static
class
Payment
{
/**
* 线上已付金额,以分为单位
*/
private
Integer
paid
;
/**
* 线下需要收取的金额,以分为单位
*/
private
Integer
remaining
;
}
@Data
public
static
class
Card
{
/**
* 实充余额,单位分
*/
private
Integer
amount
;
/**
* 赠送余额,单位分
*/
private
Integer
vamount
;
/**
* 卡规格ID
*/
private
String
applyId
;
/**
* 卡号
*/
private
String
cardCode
;
/**
* 卡名称
*/
private
String
cardName
;
}
}
shopping-cart-application-service/src/main/java/cn/freemud/service/ShoppingCartNewService.java
View file @
a282a450
...
...
@@ -18,9 +18,7 @@ import com.freemud.sdk.api.assortment.shoppingcart.constant.CommonsConstant;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang.StringUtils
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
/**
...
...
@@ -101,6 +99,8 @@ public interface ShoppingCartNewService {
List
<
CartGoods
>
updateCartGoodsLegal
(
CartGoods
cartGoods
,
String
userId
,
ShoppingCartGoodsBaseResponseVo
shoppingCartGoodsResponseVo
,
AddShoppingCartGoodsRequestVo
addShoppingCartGoodsRequestVo
,
List
<
CartGoods
>
oldAllCartGoodsList
);
BaseResponse
<
GetMemberInfoResponseVo
>
getMemberInfo
(
GetMemberInfoRequestDto
request
);
/**
* 商品券校验券是否有效
*
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartNewServiceImpl.java
View file @
a282a450
...
...
@@ -29,6 +29,8 @@ import cn.freemud.entities.dto.openplatform.WeixinProductResponseDto;
import
cn.freemud.entities.dto.shoppingCart.SendPoint
;
import
cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto
;
import
cn.freemud.entities.dto.user.GetSessionUserInfoDto
;
import
cn.freemud.entities.dto.user.GetUserScoreUseDetailRequest
;
import
cn.freemud.entities.dto.user.GetUserScoreUserDetailResponse
;
import
cn.freemud.entities.vo.*
;
import
cn.freemud.enums.*
;
import
cn.freemud.interceptor.ServiceException
;
...
...
@@ -54,17 +56,16 @@ import com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustome
import
com.freemud.application.sdk.api.log.ApiLog
;
import
com.freemud.application.sdk.api.log.ErrorLog
;
import
com.freemud.application.sdk.api.log.LogThreadLocal
;
import
com.freemud.application.sdk.api.membercenter.request.GetMemberByMobileRequest
;
import
com.freemud.application.sdk.api.membercenter.request.QueryReceiveAddressRequest
;
import
com.freemud.application.sdk.api.membercenter.response.GetMemberByMobileResponse
;
import
com.freemud.application.sdk.api.membercenter.response.QueryReceiveAddressResponse
;
import
com.freemud.application.sdk.api.membercenter.service.MemberCenterService
;
import
com.freemud.application.sdk.api.paymentcenter.client.request.SVCCardAmountRequest
;
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.productcenter.domain.ProductBeanDTO
;
import
com.freemud.application.sdk.api.promotioncenter.dto.promotion.DiscountDTO
;
import
com.freemud.application.sdk.api.storecenter.request.QueryDeliveryRequest
;
import
com.freemud.application.sdk.api.storecenter.request.StoreInfoRequest
;
import
com.freemud.application.sdk.api.storecenter.response.QueryDeliverDetailResponse
;
import
com.freemud.application.sdk.api.storecenter.response.StoreResponse
;
import
com.freemud.application.sdk.api.storecenter.service.StoreCenterService
;
import
com.freemud.sdk.api.assortment.shoppingcart.constant.CommonsConstant
;
...
...
@@ -73,6 +74,7 @@ import com.freemud.sdk.api.assortment.shoppingcart.request.CheckCartRequest;
import
com.freemud.sdk.api.assortment.shoppingcart.service.ShoppingCartBaseService
;
import
com.freemud.sdk.api.assortment.shoppingcart.service.impl.ShoppingCartBaseServiceImpl
;
import
com.google.common.collect.Lists
;
import
lombok.Data
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang.ObjectUtils
;
...
...
@@ -172,12 +174,21 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
@Autowired
private
CalculationSharingValidatorService
calculationSharingValidatorService
;
@Autowired
private
CustomerExtendClient
customerExtendClient
;
@Autowired
private
CustomScoreClient
customScoreClient
;
@Value
(
"${saas.cart.sharing}"
)
private
String
sharing
;
@Autowired
private
ShoppingCartRelationFactory
shoppingCartRelationFactory
;
/**
* 从微信卡券向购物车中添加商品
*/
...
...
@@ -908,6 +919,82 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
return
ResponseUtil
.
success
(
shoppingCartGoodsDto
);
}
@Override
public
BaseResponse
<
GetMemberInfoResponseVo
>
getMemberInfo
(
GetMemberInfoRequestDto
request
)
{
GetMemberInfoResponseVo
responseData
=
new
GetMemberInfoResponseVo
();
GetMemberByMobileRequest
getMemberByMobileRequest
=
new
GetMemberByMobileRequest
();
getMemberByMobileRequest
.
setIsHaveChannels
(
"1"
);
getMemberByMobileRequest
.
setMobile
(
request
.
getMobile
());
getMemberByMobileRequest
.
setPartnerId
(
request
.
getPartnerId
());
String
partnerId
=
request
.
getPartnerId
();
com
.
freemud
.
application
.
sdk
.
api
.
base
.
BaseResponse
<
GetMemberByMobileResponse
>
memberByMobile
=
memberCenterService
.
getMemberByMobile
(
getMemberByMobileRequest
,
LogThreadLocal
.
getTrackingNo
());
String
memberId
=
memberByMobile
.
getData
().
getMemberId
();
responseData
.
setUserId
(
memberId
);
List
<
GetMemberInfoRequestDto
.
OrderItemRequest
>
orderItemList
=
request
.
getOrderItemList
();
if
(
CollectionUtils
.
isEmpty
(
orderItemList
)){
// 优惠券
GetMemberCouponListRequestDto
getMemberCouponListRequestDto
=
new
GetMemberCouponListRequestDto
(
partnerId
,
memberId
);
getMemberCouponListRequestDto
.
setStatusFlags
(
Arrays
.
asList
(
CouponStatus
.
STATUS_0
.
getCode
()));
getMemberCouponListRequestDto
.
setPageNum
(
1
);
getMemberCouponListRequestDto
.
setPageSize
(
Integer
.
MAX_VALUE
);
GetMemberCouponListResponseDto
.
Result
result
=
getMemberCouponList
(
getMemberCouponListRequestDto
);
List
<
GetMemberCouponListResponseDto
.
Result
.
MemberCoupon
>
memberCoupons
=
result
.
getMemberCoupons
();
Date
nowDate
=
new
Date
();
memberCoupons
=
memberCoupons
.
stream
().
filter
(
item
->
filterExpireCoupon
(
nowDate
,
item
.
getEndTime
())).
collect
(
Collectors
.
toList
());
//过滤掉过期的券
List
<
GetMemberInfoResponseVo
.
Coupon
>
coupons
=
memberCoupons
.
stream
().
map
(
each
->
convert2MemberCoupon
(
each
)).
collect
(
toList
());
responseData
.
setCoupons
(
coupons
);
// 积分
GetUserScoreUseDetailRequest
scoreRequest
=
new
GetUserScoreUseDetailRequest
();
scoreRequest
.
setMemberId
(
memberId
);
scoreRequest
.
setPaidAmount
(
0
);
scoreRequest
.
setPartnerId
(
partnerId
);
GetUserScoreUserDetailResponse
userScoreUseDetail
=
customScoreClient
.
getUserScoreUseDetail
(
scoreRequest
);
GetUserScoreUserDetailResponse
.
UserScoreDetailVo
scoreDetailVo
=
userScoreUseDetail
.
getResult
();
GetMemberInfoResponseVo
.
Score
score
=
new
GetMemberInfoResponseVo
.
Score
();
score
.
setCurrentScore
(
scoreDetailVo
.
getCurrentScore
());
score
.
setTotalScore
(
scoreDetailVo
.
get
);
score
.
setUsedScore
();
responseData
.
setScore
();
}
else
{
}
return
null
;
}
private
boolean
filterExpireCoupon
(
Date
now
,
String
endTime
){
if
(
StringUtils
.
isBlank
(
endTime
)){
return
true
;
}
Date
date
=
DateUtil
.
convert2Date
(
endTime
,
DateUtil
.
FORMAT_yyyyMMdd_date
);
return
now
.
before
(
date
);
}
private
GetMemberInfoResponseVo
.
Coupon
convert2MemberCoupon
(
GetMemberCouponListResponseDto
.
Result
.
MemberCoupon
each
){
GetMemberInfoResponseVo
.
Coupon
coupon
=
new
GetMemberInfoResponseVo
.
Coupon
();
coupon
.
setStatus
(
each
.
getStatus
());
if
(
each
.
getCouponType
()
==
0
){
coupon
.
setProducts
(
null
);
// TODO
}
else
{
coupon
.
setProducts
(
null
);
}
coupon
.
setCuoponType
(
each
.
getCouponType
());
coupon
.
setCouponName
(
each
.
getCouponName
());
String
limit
=
each
.
getStartTime
()
+
"至"
+
each
.
getEndTime
()
+
"当天有效"
;
coupon
.
setCouponLimit
(
limit
);
coupon
.
setCouponCode
(
each
.
getCouponCode
());
return
coupon
;
}
private
void
packgeAdditional
(
ShoppingCartInfoRequestVo
shoppingCartInfoRequestVo
,
CreateOrderVo
.
PremiumExchangeActivity
premiumExchangeActivity
)
{
ArrayList
<
ShoppingCartInfoRequestVo
.
SendGoods
>
senGoods
=
new
ArrayList
<>();
...
...
@@ -2235,4 +2322,23 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
return
oldCoupons
;
}
/**
* 获取会员服务的优惠券列表
*
* @param getMemberCouponListRequestDto
* @return
*/
public
GetMemberCouponListResponseDto
.
Result
getMemberCouponList
(
GetMemberCouponListRequestDto
getMemberCouponListRequestDto
)
{
GetMemberCouponListResponseDto
getMemberCouponListResponseDto
=
null
;
try
{
getMemberCouponListResponseDto
=
customerExtendClient
.
getMemberCouponListRequestDto
(
getMemberCouponListRequestDto
);
}
catch
(
Exception
ex
)
{
log
.
error
(
"会员服务优惠券接口调用失败"
,
ex
);
}
if
(
getMemberCouponListResponseDto
!=
null
&&
Objects
.
equals
(
getMemberCouponListResponseDto
.
getCode
(),
ResponseResult
.
SUCCESS
.
getCode
()))
{
return
getMemberCouponListResponseDto
.
getData
();
}
return
null
;
}
}
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