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
6bda0308
Commit
6bda0308
authored
Dec 10, 2020
by
缪晖
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feature/20201208_collageOrder_miaohui' into 'master'
预发布环境问题修复 See merge request
!78
parents
980f043a
5e655801
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
28 additions
and
25 deletions
+28
-25
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/service/impl/CollageOrderBaseServiceImpl.java
+16
-15
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/CollageOrderRequestVo.java
+0
-3
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/CollageOrderServiceImpl.java
+8
-7
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartCollageServiceImpl.java
+4
-0
No files found.
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/service/impl/CollageOrderBaseServiceImpl.java
View file @
6bda0308
...
...
@@ -11,6 +11,7 @@ import com.freemud.sdk.api.assortment.shoppingcart.domain.CollagePartnerMember;
import
com.freemud.sdk.api.assortment.shoppingcart.service.CollageOrderBaseService
;
import
com.freemud.sdk.api.assortment.shoppingcart.util.CartResponseUtil
;
import
com.freemud.sdk.api.assortment.shoppingcart.util.DateTimeUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.data.redis.core.RedisTemplate
;
...
...
@@ -58,15 +59,18 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService {
*/
@Override
public
BaseResponse
<
CollageOrder
>
queryCollageOrder
(
CollageOrderDto
collageOrderDto
)
{
CollageOrder
collageOrder
=
null
;
try
{
// 通过商户ID、门店ID、用户ID组装拼单订单Redis缓存基本信息Key
String
collageBaseHashKey
=
this
.
genCollageBaseHashKey
(
collageOrderDto
.
getPartnerId
(),
collageOrderDto
.
getStoreId
(),
collageOrderDto
.
getCreateCollageUserId
());
// 查询Redis缓存中拼单订单基础信息
CollageOrder
collageOrder
=
this
.
getCollageBaseHash
(
collageBaseHashKey
);
// 若按发起人维度查询不到,则按参与人维度查询
if
(
ObjectUtils
.
isEmpty
(
collageOrder
))
{
// 仅支持两种查询场景
// 1、createCollageUserId存在,则只根据当前三要素查询,若无直接返回不存在
if
(
StringUtils
.
isNotBlank
(
collageOrderDto
.
getCreateCollageUserId
()))
{
// 通过商户ID、门店ID、用户ID组装拼单订单Redis缓存基本信息Key
String
collageBaseHashKey
=
this
.
genCollageBaseHashKey
(
collageOrderDto
.
getPartnerId
(),
collageOrderDto
.
getStoreId
(),
collageOrderDto
.
getCreateCollageUserId
());
// 查询Redis缓存中拼单订单基础信息
collageOrder
=
this
.
getCollageBaseHash
(
collageBaseHashKey
);
}
// 2、createCollageUserId不存在,则只从当前商户拼单参与人信息列表中查询并返回,若商户级别拼单不存在,则提示拼单不存在
else
{
String
collagePartnerMemberHashKey
=
this
.
genCollagePartnerMemberHashKey
(
collageOrderDto
.
getPartnerId
());
CollagePartnerMember
collagePartnerMember
=
this
.
getCollagePartnerMember
(
collagePartnerMemberHashKey
,
collageOrderDto
.
getCurrentUserId
());
...
...
@@ -79,16 +83,13 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService {
return
CartResponseUtil
.
error
(
CollageOrderConstant
.
COLLAGE_ORDER_NOT_EXIST
);
}
else
{
// 从商户拼单参与人列表中获取信息再次查询拼单信息
collageBaseHashKey
=
this
.
genCollageBaseHashKey
(
collagePartnerMember
.
getPartnerId
(),
collagePartnerMember
.
getStoreId
(),
collagePartnerMember
.
getCreateCollageUserId
());
String
collageBaseHashKey
=
this
.
genCollageBaseHashKey
(
collagePartnerMember
.
getPartnerId
(),
collagePartnerMember
.
getStoreId
(),
collagePartnerMember
.
getCreateCollageUserId
());
collageOrder
=
this
.
getCollageBaseHash
(
collageBaseHashKey
);
// 若拼单订单信息依然不存在,则返回错误提示【拼单订单信息不存在】,由前端根据场景处理(静默、提示拼单已取消)
if
(
ObjectUtils
.
isEmpty
(
collageOrder
))
{
return
CartResponseUtil
.
error
(
CollageOrderConstant
.
COLLAGE_ORDER_NOT_EXIST
);
}
}
}
if
(
ObjectUtils
.
isEmpty
(
collageOrder
))
{
return
CartResponseUtil
.
error
(
CollageOrderConstant
.
COLLAGE_ORDER_NOT_EXIST
);
}
// 若拼单订单信息存在,则构造订单拼单对象并返回成功提示
return
CartResponseUtil
.
success
(
collageOrder
);
}
catch
(
Exception
e
)
{
...
...
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/CollageOrderRequestVo.java
View file @
6bda0308
...
...
@@ -24,9 +24,6 @@ public class CollageOrderRequestVo {
@NotEmpty
(
message
=
"sessionId不能为空"
)
private
String
sessionId
;
@ApiModelProperty
(
value
=
"当前操作人用户ID"
)
private
String
currentUserId
;
@ApiModelProperty
(
value
=
"拼单创建人用户ID"
)
private
String
createCollageUserId
;
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/CollageOrderServiceImpl.java
View file @
6bda0308
...
...
@@ -58,18 +58,19 @@ public class CollageOrderServiceImpl implements CollageOrderService {
@Override
public
BaseResponse
queryCollageOrder
(
CollageOrderRequestVo
request
)
{
CollageOrderDto
collageOrderDto
=
this
.
collageOrderAdapter
.
convert2CollageOrderDto
(
request
);
// 查询时需传入拼单创建人的userId,若上送字段为空时,默认查询当前登录人自己的拼单信息
String
currentUserId
=
StringUtils
.
isNotBlank
(
request
.
getCurrentUserId
())
?
request
.
getCurrentUserId
()
:
this
.
getUserIdBySessionId
(
request
.
getSessionId
());
CustomerInfoVo
userInfo
=
this
.
getUserInfo
(
request
.
getSessionId
());
String
currentUserId
=
userInfo
.
getMemberId
();
// 当前登录人userId
collageOrderDto
.
setCurrentUserId
(
currentUserId
);
// 若拼单发起人ID为空,则默认按当前用户查询
if
(
StringUtils
.
isEmpty
(
request
.
getCreateCollageUserId
()))
{
collageOrderDto
.
setCreateCollageUserId
(
currentUserId
);
}
BaseResponse
<
CollageOrder
>
queryCollageOrderResponse
=
this
.
collageOrderBaseService
.
queryCollageOrder
(
collageOrderDto
);
CollageOrder
collageOrder
=
queryCollageOrderResponse
.
getResult
();
// SDK查询订单返回非成功code或返回结果订单信息为空时,返回前端异常信息
Optional
.
ofNullable
(
queryCollageOrderResponse
).
filter
(
resp
->
(
ResponseResult
.
SUCCESS
.
getCode
().
equals
(
resp
.
getCode
())
&&
!
ObjectUtils
.
isEmpty
(
collageOrder
))).
orElseThrow
(()
->
new
ServiceException
(
ResponseResult
.
COLLAGE_NOT_EXIST
));
if
(
null
==
collageOrder
)
{
return
ResponseUtil
.
error
(
ResponseResult
.
COLLAGE_NOT_EXIST
);
}
// 现在改为同时可查询自己发起以及参与的拼单所以查询到拼单信息后,后续查询需要使用拼单hash的三要素信息继续查询
collageOrderDto
.
setPartnerId
(
collageOrder
.
getPartnerId
());
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartCollageServiceImpl.java
View file @
6bda0308
...
...
@@ -720,6 +720,10 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
*/
private
void
updatePackPrice
(
ShoppingCartGoodsResponseVo
shoppingCartGoodsResponseVo
,
ShoppingCartGoodsDto
shoppingCartGoodsDto
)
{
if
(
shoppingCartGoodsResponseVo
!=
null
&&
shoppingCartGoodsResponseVo
.
getProducts
()
!=
null
&&
shoppingCartGoodsDto
!=
null
&&
shoppingCartGoodsDto
.
getProducts
()
!=
null
)
{
if
(
shoppingCartGoodsResponseVo
.
getNewPackAmount
()
==
null
||
shoppingCartGoodsResponseVo
.
getNewPackAmount
()
==
0
)
{
// 当整单包装费为0时,不计算购物车行包装费
return
;
}
shoppingCartGoodsResponseVo
.
getProducts
().
stream
().
forEach
(
product
->
{
shoppingCartGoodsDto
.
getProducts
().
stream
().
forEach
(
goods
->
{
if
(
goods
.
getCartGoodsUid
().
equals
(
product
.
getCartGoodsUid
()))
{
...
...
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