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
773ff967
Commit
773ff967
authored
Dec 01, 2020
by
缪晖
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
拼单订单新增状态及订单编号回传机制
parent
9b003526
Show whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
282 additions
and
12 deletions
+282
-12
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/adapter/CollageOrderSdkAdapter.java
+6
-0
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/constant/CollageOrderCacheFields.java
+2
-0
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/constant/CollageOrderConstant.java
+1
-1
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/constant/CollageOrderStatus.java
+32
-0
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/domain/CollageOrder.java
+10
-0
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/domain/CollageOrderDto.java
+10
-0
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/service/CollageOrderBaseService.java
+7
-0
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/service/impl/CollageOrderBaseServiceImpl.java
+89
-9
order-application-service/src/main/java/cn/freemud/entities/dto/shoppingCart/UpdateCollageOrderDto.java
+45
-0
order-application-service/src/main/java/cn/freemud/service/impl/CollageOrderServiceImpl.java
+25
-1
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
+12
-1
order-application-service/src/main/java/cn/freemud/service/thirdparty/ShoppingCartClient.java
+7
-0
shopping-cart-application-service/src/main/java/cn/freemud/adapter/CollageOrderAdapter.java
+2
-0
shopping-cart-application-service/src/main/java/cn/freemud/controller/CollageOrderController.java
+8
-0
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/CollageOrderRequestVo.java
+6
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/CollageOrderService.java
+7
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/CollageOrderServiceImpl.java
+13
-0
No files found.
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/adapter/CollageOrderSdkAdapter.java
View file @
773ff967
...
@@ -34,6 +34,8 @@ public class CollageOrderSdkAdapter {
...
@@ -34,6 +34,8 @@ public class CollageOrderSdkAdapter {
map
.
put
(
CollageOrderCacheFields
.
STORE_NAME
.
getKey
(),
String
.
valueOf
(
collageOrder
.
getStoreName
()));
map
.
put
(
CollageOrderCacheFields
.
STORE_NAME
.
getKey
(),
String
.
valueOf
(
collageOrder
.
getStoreName
()));
map
.
put
(
CollageOrderCacheFields
.
CREATE_TIME
.
getKey
(),
String
.
valueOf
(
collageOrder
.
getCreateTime
()));
map
.
put
(
CollageOrderCacheFields
.
CREATE_TIME
.
getKey
(),
String
.
valueOf
(
collageOrder
.
getCreateTime
()));
map
.
put
(
CollageOrderCacheFields
.
EXPIRE_TIME
.
getKey
(),
String
.
valueOf
(
collageOrder
.
getExpireTime
()));
map
.
put
(
CollageOrderCacheFields
.
EXPIRE_TIME
.
getKey
(),
String
.
valueOf
(
collageOrder
.
getExpireTime
()));
map
.
put
(
CollageOrderCacheFields
.
STATUS
.
getKey
(),
String
.
valueOf
(
collageOrder
.
getStatus
()));
map
.
put
(
CollageOrderCacheFields
.
ORDER_CODE
.
getKey
(),
String
.
valueOf
(
collageOrder
.
getOrderCode
()));
}
}
return
map
;
return
map
;
}
}
...
@@ -49,6 +51,8 @@ public class CollageOrderSdkAdapter {
...
@@ -49,6 +51,8 @@ public class CollageOrderSdkAdapter {
.
storeName
(
String
.
valueOf
(
map
.
get
(
CollageOrderCacheFields
.
STORE_NAME
.
getKey
())))
.
storeName
(
String
.
valueOf
(
map
.
get
(
CollageOrderCacheFields
.
STORE_NAME
.
getKey
())))
.
createTime
(
Long
.
parseLong
(
map
.
get
(
CollageOrderCacheFields
.
CREATE_TIME
.
getKey
())))
.
createTime
(
Long
.
parseLong
(
map
.
get
(
CollageOrderCacheFields
.
CREATE_TIME
.
getKey
())))
.
expireTime
(
Long
.
parseLong
(
map
.
get
(
CollageOrderCacheFields
.
EXPIRE_TIME
.
getKey
())))
.
expireTime
(
Long
.
parseLong
(
map
.
get
(
CollageOrderCacheFields
.
EXPIRE_TIME
.
getKey
())))
.
status
(
Integer
.
parseInt
(
map
.
get
(
CollageOrderCacheFields
.
STATUS
.
getKey
())))
.
orderCode
(
String
.
valueOf
(
map
.
get
(
CollageOrderCacheFields
.
ORDER_CODE
.
getKey
())))
.
build
();
.
build
();
}
}
...
@@ -60,6 +64,8 @@ public class CollageOrderSdkAdapter {
...
@@ -60,6 +64,8 @@ public class CollageOrderSdkAdapter {
.
storeId
(
collageOrderDto
.
getStoreId
())
.
storeId
(
collageOrderDto
.
getStoreId
())
.
storeName
(
collageOrderDto
.
getStoreName
())
.
storeName
(
collageOrderDto
.
getStoreName
())
.
createCollageUserId
(
collageOrderDto
.
getCreateCollageUserId
())
.
createCollageUserId
(
collageOrderDto
.
getCreateCollageUserId
())
.
status
(
collageOrderDto
.
getStatus
())
.
orderCode
(
collageOrderDto
.
getOrderCode
())
.
build
();
.
build
();
}
}
}
}
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/constant/CollageOrderCacheFields.java
View file @
773ff967
...
@@ -27,6 +27,8 @@ public enum CollageOrderCacheFields {
...
@@ -27,6 +27,8 @@ public enum CollageOrderCacheFields {
,
STORE_NAME
(
5
,
"storeName"
,
new
TypeReference
<
String
>(){}.
getType
(),
""
)
,
STORE_NAME
(
5
,
"storeName"
,
new
TypeReference
<
String
>(){}.
getType
(),
""
)
,
CREATE_TIME
(
6
,
"createTime"
,
new
TypeReference
<
Long
>(){}.
getType
(),
0L
)
,
CREATE_TIME
(
6
,
"createTime"
,
new
TypeReference
<
Long
>(){}.
getType
(),
0L
)
,
EXPIRE_TIME
(
7
,
"expireTime"
,
new
TypeReference
<
Long
>(){}.
getType
(),
0L
)
,
EXPIRE_TIME
(
7
,
"expireTime"
,
new
TypeReference
<
Long
>(){}.
getType
(),
0L
)
,
STATUS
(
8
,
"status"
,
new
TypeReference
<
Integer
>(){}.
getType
(),
0
)
,
ORDER_CODE
(
9
,
"orderCode"
,
new
TypeReference
<
String
>(){}.
getType
(),
""
)
;
;
private
Integer
index
;
private
Integer
index
;
...
...
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/constant/CollageOrderConstant.java
View file @
773ff967
...
@@ -11,7 +11,7 @@ package com.freemud.sdk.api.assortment.shoppingcart.constant;
...
@@ -11,7 +11,7 @@ package com.freemud.sdk.api.assortment.shoppingcart.constant;
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
*/
public
class
CollageOrderConstant
{
public
class
CollageOrderConstant
{
public
final
static
String
COLLAGE_ORDER_FAILED
=
"订单操作失败"
;
public
final
static
String
COLLAGE_ORDER_FAILED
=
"
拼单
订单操作失败"
;
public
final
static
String
COLLAGE_ORDER_NOT_EXIST
=
"拼单订单信息不存在"
;
public
final
static
String
COLLAGE_ORDER_NOT_EXIST
=
"拼单订单信息不存在"
;
public
final
static
String
COLLAGE_ORDER_ALREADY_EXIST
=
"当前用户存在进行中的拼单订单"
;
public
final
static
String
COLLAGE_ORDER_ALREADY_EXIST
=
"当前用户存在进行中的拼单订单"
;
}
}
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/constant/CollageOrderStatus.java
0 → 100644
View file @
773ff967
package
com
.
freemud
.
sdk
.
api
.
assortment
.
shoppingcart
.
constant
;
public
enum
CollageOrderStatus
{
SHOPPING
(
0
,
"拼单中"
),
COMPLETE
(
1
,
"已完成"
),
CANCEL
(
2
,
"已取消"
);
private
Integer
value
;
private
String
desc
;
CollageOrderStatus
(
Integer
value
,
String
desc
)
{
this
.
value
=
value
;
this
.
desc
=
desc
;
}
public
Integer
getValue
()
{
return
value
;
}
public
void
setValue
(
Integer
value
)
{
this
.
value
=
value
;
}
public
String
getDesc
()
{
return
desc
;
}
public
void
setDesc
(
String
desc
)
{
this
.
desc
=
desc
;
}
}
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/domain/CollageOrder.java
View file @
773ff967
...
@@ -56,4 +56,14 @@ public class CollageOrder
...
@@ -56,4 +56,14 @@ public class CollageOrder
* 过期时间
* 过期时间
*/
*/
private
Long
expireTime
;
private
Long
expireTime
;
/**
* 拼单的订单编号(调用创单接口后回写更新)
*/
private
String
orderCode
;
/**
* 拼单状态 0 拼单中;1 已完成;2 已取消
*/
private
Integer
status
;
}
}
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/domain/CollageOrderDto.java
View file @
773ff967
...
@@ -78,4 +78,14 @@ public class CollageOrderDto
...
@@ -78,4 +78,14 @@ public class CollageOrderDto
* 购物车行ids
* 购物车行ids
*/
*/
private
List
<
String
>
cartLines
;
private
List
<
String
>
cartLines
;
/**
* 拼单状态
*/
private
Integer
status
;
/**
* 订单编号
*/
private
String
orderCode
;
}
}
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/service/CollageOrderBaseService.java
View file @
773ff967
...
@@ -40,6 +40,13 @@ public interface CollageOrderBaseService {
...
@@ -40,6 +40,13 @@ public interface CollageOrderBaseService {
BaseResponse
<
CollageOrder
>
createCollageOrder
(
CollageOrderDto
collageOrderDto
);
BaseResponse
<
CollageOrder
>
createCollageOrder
(
CollageOrderDto
collageOrderDto
);
/**
/**
* 更新拼单订单
* @param collageOrderDto
* @return
*/
BaseResponse
<
CollageOrder
>
updateCollageOrder
(
CollageOrderDto
collageOrderDto
);
/**
* 清除拼单订单Redis缓存
* 清除拼单订单Redis缓存
* @param collageOrderDto
* @param collageOrderDto
* @return
* @return
...
...
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/service/impl/CollageOrderBaseServiceImpl.java
View file @
773ff967
...
@@ -3,10 +3,7 @@ package com.freemud.sdk.api.assortment.shoppingcart.service.impl;
...
@@ -3,10 +3,7 @@ package com.freemud.sdk.api.assortment.shoppingcart.service.impl;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.base.entity.BaseResponse
;
import
com.freemud.application.sdk.api.log.ErrorLog
;
import
com.freemud.application.sdk.api.log.ErrorLog
;
import
com.freemud.sdk.api.assortment.shoppingcart.adapter.CollageOrderSdkAdapter
;
import
com.freemud.sdk.api.assortment.shoppingcart.adapter.CollageOrderSdkAdapter
;
import
com.freemud.sdk.api.assortment.shoppingcart.constant.CollageLockStatus
;
import
com.freemud.sdk.api.assortment.shoppingcart.constant.*
;
import
com.freemud.sdk.api.assortment.shoppingcart.constant.CollageMemberStateType
;
import
com.freemud.sdk.api.assortment.shoppingcart.constant.CollageOrderConstant
;
import
com.freemud.sdk.api.assortment.shoppingcart.constant.RedisKeyConstant
;
import
com.freemud.sdk.api.assortment.shoppingcart.domain.CollageMemberState
;
import
com.freemud.sdk.api.assortment.shoppingcart.domain.CollageMemberState
;
import
com.freemud.sdk.api.assortment.shoppingcart.domain.CollageOrder
;
import
com.freemud.sdk.api.assortment.shoppingcart.domain.CollageOrder
;
import
com.freemud.sdk.api.assortment.shoppingcart.domain.CollageOrderDto
;
import
com.freemud.sdk.api.assortment.shoppingcart.domain.CollageOrderDto
;
...
@@ -140,6 +137,7 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService {
...
@@ -140,6 +137,7 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService {
collageOrder
.
setCollageId
(
UUID
.
randomUUID
().
toString
());
collageOrder
.
setCollageId
(
UUID
.
randomUUID
().
toString
());
collageOrder
.
setCreateTime
(
DateTimeUtils
.
currentTimeMillis
());
collageOrder
.
setCreateTime
(
DateTimeUtils
.
currentTimeMillis
());
collageOrder
.
setExpireTime
(
DateTimeUtils
.
currentTimeMillis
(
60
*
60L
));
collageOrder
.
setExpireTime
(
DateTimeUtils
.
currentTimeMillis
(
60
*
60L
));
collageOrder
.
setStatus
(
CollageOrderStatus
.
SHOPPING
.
getValue
());
// 创建缓存数据
// 创建缓存数据
this
.
putCollageBaseHash
(
collageBaseHashKey
,
collageOrder
);
this
.
putCollageBaseHash
(
collageBaseHashKey
,
collageOrder
);
...
@@ -165,6 +163,57 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService {
...
@@ -165,6 +163,57 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService {
}
}
/**
/**
* 更新拼单状态
* @param collageOrderDto
* @return
*/
@Override
public
BaseResponse
<
CollageOrder
>
updateCollageOrder
(
CollageOrderDto
collageOrderDto
)
{
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
))
{
return
CartResponseUtil
.
error
(
CollageOrderConstant
.
COLLAGE_ORDER_NOT_EXIST
);
}
// 拼单状态
if
(
null
!=
collageOrderDto
.
getStatus
())
{
collageOrder
.
setStatus
(
collageOrderDto
.
getStatus
());
}
// 拼单生产的订单编号
if
(
null
!=
collageOrderDto
.
getOrderCode
())
{
collageOrder
.
setOrderCode
(
collageOrderDto
.
getOrderCode
());
}
// 获取当前拼单剩余缓存时间
long
expireSeconds
=
this
.
getCollageBashHashExpireSeconds
(
collageBaseHashKey
);
// 若状态更新为已完成 则将失效时间改为5分钟
if
(
CollageOrderStatus
.
COMPLETE
.
getValue
().
equals
(
collageOrderDto
.
getStatus
()))
{
expireSeconds
=
5
*
60L
;
}
else
if
(
CollageOrderStatus
.
CANCEL
.
getValue
().
equals
(
collageOrderDto
.
getStatus
()))
{
expireSeconds
=
1
*
60L
;
}
// 更新拼单基础信息
this
.
putCollageBaseHash
(
collageBaseHashKey
,
collageOrder
,
expireSeconds
);
// 若状态修改为已完成 则失效时间修改为5分钟
this
.
updateCollageOrderExpire
(
collageOrderDto
.
getPartnerId
(),
collageOrderDto
.
getStoreId
(),
collageOrderDto
.
getCreateCollageUserId
(),
expireSeconds
);
return
CartResponseUtil
.
success
();
}
catch
(
Exception
e
)
{
ErrorLog
.
printErrorLog
(
"更新拼单状态异常"
,
"CollageOrderBaseServiceImpl/updateCollageOrderStatus"
,
this
.
collageOrderRequest
(
collageOrderDto
),
e
);
}
return
CartResponseUtil
.
error
(
CollageOrderConstant
.
COLLAGE_ORDER_FAILED
);
}
/**
* 清除拼单缓存
* 清除拼单缓存
* @param collageOrderDto
* @param collageOrderDto
* @return
* @return
...
@@ -397,8 +446,12 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService {
...
@@ -397,8 +446,12 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService {
* @param collageOrder
* @param collageOrder
*/
*/
private
void
putCollageBaseHash
(
String
collageBaseHashKey
,
CollageOrder
collageOrder
)
throws
Exception
{
private
void
putCollageBaseHash
(
String
collageBaseHashKey
,
CollageOrder
collageOrder
)
throws
Exception
{
this
.
putCollageBaseHash
(
collageBaseHashKey
,
collageOrder
,
60
*
60L
);
}
private
void
putCollageBaseHash
(
String
collageBaseHashKey
,
CollageOrder
collageOrder
,
Long
expireSeconds
)
throws
Exception
{
redisTemplate
.
boundHashOps
(
collageBaseHashKey
).
putAll
(
this
.
collageOrderSdkAdapter
.
toRedisMap
(
collageOrder
));
redisTemplate
.
boundHashOps
(
collageBaseHashKey
).
putAll
(
this
.
collageOrderSdkAdapter
.
toRedisMap
(
collageOrder
));
redisTemplate
.
boundHashOps
(
collageBaseHashKey
).
expire
(
1L
,
TimeUnit
.
HOUR
S
);
redisTemplate
.
boundHashOps
(
collageBaseHashKey
).
expire
(
expireSeconds
==
null
?
60
*
60L
:
expireSeconds
,
TimeUnit
.
SECOND
S
);
}
}
/**
/**
...
@@ -407,8 +460,8 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService {
...
@@ -407,8 +460,8 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService {
*/
*/
private
void
deleteCollageBaseHash
(
CollageOrder
collageOrder
)
throws
Exception
{
private
void
deleteCollageBaseHash
(
CollageOrder
collageOrder
)
throws
Exception
{
// 删除商品门店拼单客户列表中该拼单订单下参与人
// 删除商品门店拼单客户列表中该拼单订单下参与人
String
collagePartnerMemberKey
=
this
.
genCollagePartnerMemberHashKey
(
collageOrder
.
getPartnerId
());
Set
<
String
>
collageMember
=
this
.
collageCartBaseService
.
getCollageMember
(
collageOrder
.
getPartnerId
(),
collageOrder
.
getStoreId
(),
collageOrder
.
getCreateCollageUserId
());
Set
<
String
>
collageMember
=
this
.
collageCartBaseService
.
getCollageMember
(
collageOrder
.
getPartnerId
(),
collageOrder
.
getStoreId
(),
collageOrder
.
getCreateCollageUserId
());
String
collagePartnerMemberKey
=
this
.
genCollagePartnerMemberHashKey
(
collageOrder
.
getPartnerId
());
this
.
deleteCollagePartnerMember
(
collagePartnerMemberKey
,
collageMember
.
toArray
());
this
.
deleteCollagePartnerMember
(
collagePartnerMemberKey
,
collageMember
.
toArray
());
// 删除拼单订单相关缓存
// 删除拼单订单相关缓存
...
@@ -423,6 +476,33 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService {
...
@@ -423,6 +476,33 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService {
}
}
/**
/**
* 更新整个拼单所有key的expire
* @param partnerId
* @param storeId
* @param createCollageUserId
* @param expireSeconds
*/
private
void
updateCollageOrderExpire
(
String
partnerId
,
String
storeId
,
String
createCollageUserId
,
Long
expireSeconds
)
{
if
(
expireSeconds
==
null
)
return
;
redisTemplate
.
expire
(
this
.
genCollageBaseHashKey
(
partnerId
,
storeId
,
createCollageUserId
),
expireSeconds
,
TimeUnit
.
SECONDS
);
redisTemplate
.
expire
(
this
.
genCollageMemberHashKey
(
partnerId
,
storeId
,
createCollageUserId
),
expireSeconds
,
TimeUnit
.
SECONDS
);
redisTemplate
.
expire
(
this
.
genCollageCarHashKey
(
partnerId
,
storeId
,
createCollageUserId
),
expireSeconds
,
TimeUnit
.
SECONDS
);
redisTemplate
.
expire
(
this
.
genCollageCarVerKey
(
partnerId
,
storeId
,
createCollageUserId
),
expireSeconds
,
TimeUnit
.
SECONDS
);
redisTemplate
.
expire
(
this
.
genCollageLockKey
(
partnerId
,
storeId
,
createCollageUserId
),
expireSeconds
,
TimeUnit
.
SECONDS
);
redisTemplate
.
expire
(
this
.
genCollageMemberStateHashKey
(
partnerId
,
storeId
,
createCollageUserId
),
expireSeconds
,
TimeUnit
.
SECONDS
);
String
collagePartnerMemberKey
=
this
.
genCollagePartnerMemberHashKey
(
partnerId
);
Set
<
String
>
collageMember
=
this
.
collageCartBaseService
.
getCollageMember
(
partnerId
,
storeId
,
createCollageUserId
);
if
(
null
!=
collageMember
)
{
for
(
String
userId
:
collageMember
)
{
CollagePartnerMember
collagePartnerMember
=
this
.
getCollagePartnerMember
(
collagePartnerMemberKey
,
userId
);
collagePartnerMember
.
setExpire
(
System
.
currentTimeMillis
()
+
expireSeconds
*
1000
);
this
.
putCollagePartnerMember
(
collagePartnerMemberKey
,
userId
,
collagePartnerMember
);
}
}
}
/**
* 拼单订单锁设定
* 拼单订单锁设定
* @param collageLockKey
* @param collageLockKey
* @param status
* @param status
...
@@ -446,7 +526,7 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService {
...
@@ -446,7 +526,7 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService {
* @param collagePartnerMemberKey
* @param collagePartnerMemberKey
* @param userId
* @param userId
*/
*/
private
void
putCollagePartnerMember
(
String
collagePartnerMemberKey
,
String
userId
,
CollagePartnerMember
collagePartnerMember
)
throws
Exception
{
private
void
putCollagePartnerMember
(
String
collagePartnerMemberKey
,
String
userId
,
CollagePartnerMember
collagePartnerMember
)
{
redisTemplate
.
boundHashOps
(
collagePartnerMemberKey
).
put
(
userId
,
collagePartnerMember
);
redisTemplate
.
boundHashOps
(
collagePartnerMemberKey
).
put
(
userId
,
collagePartnerMember
);
}
}
...
@@ -505,7 +585,7 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService {
...
@@ -505,7 +585,7 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService {
*/
*/
private
void
initCollageMember
(
String
collageMemberHashKey
,
String
currentUserId
)
{
private
void
initCollageMember
(
String
collageMemberHashKey
,
String
currentUserId
)
{
redisTemplate
.
boundHashOps
(
collageMemberHashKey
).
put
(
currentUserId
,
Collections
.
EMPTY_LIST
);
redisTemplate
.
boundHashOps
(
collageMemberHashKey
).
put
(
currentUserId
,
Collections
.
EMPTY_LIST
);
redisTemplate
.
boundHashOps
(
collageMemberHashKey
).
expire
(
1
,
TimeUnit
.
HOUR
S
);
redisTemplate
.
boundHashOps
(
collageMemberHashKey
).
expire
(
60
*
60L
,
TimeUnit
.
SECOND
S
);
}
}
/**
/**
...
@@ -522,7 +602,7 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService {
...
@@ -522,7 +602,7 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService {
collageMemberState
.
setPhotoUrl
(
collageOrderDto
.
getPhotoUrl
());
collageMemberState
.
setPhotoUrl
(
collageOrderDto
.
getPhotoUrl
());
collageMemberState
.
setState
(
CollageMemberStateType
.
SHOPPING
.
getValue
());
collageMemberState
.
setState
(
CollageMemberStateType
.
SHOPPING
.
getValue
());
redisTemplate
.
boundHashOps
(
collageMemberStateHashKey
).
put
(
collageOrderDto
.
getCurrentUserId
(),
collageMemberState
);
redisTemplate
.
boundHashOps
(
collageMemberStateHashKey
).
put
(
collageOrderDto
.
getCurrentUserId
(),
collageMemberState
);
redisTemplate
.
boundHashOps
(
collageMemberStateHashKey
).
expire
(
1
,
TimeUnit
.
HOUR
S
);
redisTemplate
.
boundHashOps
(
collageMemberStateHashKey
).
expire
(
60
*
60L
,
TimeUnit
.
SECOND
S
);
}
}
/**
/**
...
...
order-application-service/src/main/java/cn/freemud/entities/dto/shoppingCart/UpdateCollageOrderDto.java
0 → 100644
View file @
773ff967
package
cn
.
freemud
.
entities
.
dto
.
shoppingCart
;
import
lombok.Data
;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @version V1.0.0
* @Description:
* @author: hui.miao
* @date: 2020-12-01 15:11
* @Copyright: 2020 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@Data
public
class
UpdateCollageOrderDto
{
/**
* 用户sessionId
*/
private
String
sessionId
;
/**
* 拼单邀请者用户ID
*/
private
String
createCollageUserId
;
/**
* 商户ID
*/
private
String
partnerId
;
/**
* 门店ID
*/
private
String
shopId
;
/**
* 拼单状态
*/
private
Integer
status
;
/**
* 订单编号
*/
private
String
orderCode
;
}
order-application-service/src/main/java/cn/freemud/service/impl/CollageOrderServiceImpl.java
View file @
773ff967
...
@@ -16,11 +16,14 @@ package cn.freemud.service.impl;
...
@@ -16,11 +16,14 @@ package cn.freemud.service.impl;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.base.log.LogTreadLocal
;
import
cn.freemud.base.log.LogTreadLocal
;
import
cn.freemud.base.util.DateUtil
;
import
cn.freemud.base.util.DateUtil
;
import
cn.freemud.entities.dto.order.CreateOrderOperateDto
;
import
cn.freemud.entities.dto.wechat.*
;
import
cn.freemud.entities.dto.wechat.*
;
import
cn.freemud.entities.vo.CreateOrderResponseVo
;
import
cn.freemud.entities.vo.QueryOrderVo
;
import
cn.freemud.entities.vo.QueryOrderVo
;
import
cn.freemud.enums.ResponseResult
;
import
cn.freemud.enums.ResponseResult
;
import
cn.freemud.inteceptor.CommonServiceException
;
import
cn.freemud.inteceptor.CommonServiceException
;
import
cn.freemud.service.thirdparty.EcologyAdminApplicationClient
;
import
cn.freemud.service.thirdparty.EcologyAdminApplicationClient
;
import
cn.freemud.service.thirdparty.ShoppingCartClient
;
import
cn.freemud.service.thirdparty.WeChatClient
;
import
cn.freemud.service.thirdparty.WeChatClient
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo
;
import
com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo
;
...
@@ -61,6 +64,8 @@ public class CollageOrderServiceImpl implements CollageOrderService {
...
@@ -61,6 +64,8 @@ public class CollageOrderServiceImpl implements CollageOrderService {
private
EcologyAdminApplicationClient
ecologyAdminApplicationClient
;
private
EcologyAdminApplicationClient
ecologyAdminApplicationClient
;
@Autowired
@Autowired
private
WeChatClient
weChatClient
;
private
WeChatClient
weChatClient
;
@Autowired
private
ShoppingCartClient
shoppingCartClient
;
/**
/**
* 创建拼单订单
* 创建拼单订单
...
@@ -69,7 +74,26 @@ public class CollageOrderServiceImpl implements CollageOrderService {
...
@@ -69,7 +74,26 @@ public class CollageOrderServiceImpl implements CollageOrderService {
public
BaseResponse
create
(
CreateOrderVo
createOrderVo
)
{
public
BaseResponse
create
(
CreateOrderVo
createOrderVo
)
{
// 标记订单类型-4 拼单
// 标记订单类型-4 拼单
createOrderVo
.
setMarketingType
(
OrderMarketType
.
COLLAGE
.
getIndex
());
createOrderVo
.
setMarketingType
(
OrderMarketType
.
COLLAGE
.
getIndex
());
return
this
.
orderService
.
createOrderNew
(
createOrderVo
);
BaseResponse
orderCreateResponse
=
this
.
orderService
.
createOrderNew
(
createOrderVo
);
/*
Object result = orderCreateResponse.getResult();
if (null != result) {
String oid = null;
if (result instanceof CreateOrderOperateDto && null != ((CreateOrderOperateDto) result).getProductOrderBean()) {
oid = ((CreateOrderOperateDto) result).getProductOrderBean().getOid();
} else if (result instanceof CreateOrderResponseVo) {
oid = ((CreateOrderResponseVo) result).getOid();
}
if (null != oid) {
}
}
*/
return
orderCreateResponse
;
}
}
/**
/**
...
...
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
View file @
773ff967
...
@@ -44,6 +44,7 @@ import cn.freemud.entities.dto.product.ProductAttributeGroup;
...
@@ -44,6 +44,7 @@ import cn.freemud.entities.dto.product.ProductAttributeGroup;
import
cn.freemud.entities.dto.product.ProductGroup
;
import
cn.freemud.entities.dto.product.ProductGroup
;
import
cn.freemud.entities.dto.shoppingCart.NewShoppingCartClearDto
;
import
cn.freemud.entities.dto.shoppingCart.NewShoppingCartClearDto
;
import
cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto
;
import
cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto
;
import
cn.freemud.entities.dto.shoppingCart.UpdateCollageOrderDto
;
import
cn.freemud.entities.vo.*
;
import
cn.freemud.entities.vo.*
;
import
cn.freemud.enums.*
;
import
cn.freemud.enums.*
;
import
cn.freemud.interceptor.ServiceException
;
import
cn.freemud.interceptor.ServiceException
;
...
@@ -451,6 +452,7 @@ public class OrderServiceImpl implements Orderservice {
...
@@ -451,6 +452,7 @@ public class OrderServiceImpl implements Orderservice {
// TODO 订单序号替换取餐码显示
// TODO 订单序号替换取餐码显示
takeCode
=
payAccessResponse
.
getData
().
getTakeCode
();
takeCode
=
payAccessResponse
.
getData
().
getTakeCode
();
daySeq
=
payAccessResponse
.
getData
().
getDaySeq
();
daySeq
=
payAccessResponse
.
getData
().
getDaySeq
();
//TODO 清空购物车
//TODO 清空购物车
NewShoppingCartClearDto
newShoppingCartClearDto
=
new
NewShoppingCartClearDto
();
NewShoppingCartClearDto
newShoppingCartClearDto
=
new
NewShoppingCartClearDto
();
newShoppingCartClearDto
.
setPartnerId
(
partnerId
);
newShoppingCartClearDto
.
setPartnerId
(
partnerId
);
...
@@ -460,7 +462,16 @@ public class OrderServiceImpl implements Orderservice {
...
@@ -460,7 +462,16 @@ public class OrderServiceImpl implements Orderservice {
newShoppingCartClearDto
.
setSessionId
(
sessionId
);
newShoppingCartClearDto
.
setSessionId
(
sessionId
);
newShoppingCartClearDto
.
setOperationType
(
1
);
newShoppingCartClearDto
.
setOperationType
(
1
);
shoppingCartClient
.
clearShoppingCart
(
newShoppingCartClearDto
);
shoppingCartClient
.
clearShoppingCart
(
newShoppingCartClearDto
);
shoppingCartClient
.
clearCollageOrder
(
newShoppingCartClearDto
);
// 清空拼单购物车
UpdateCollageOrderDto
updateCollageOrderDto
=
new
UpdateCollageOrderDto
();
updateCollageOrderDto
.
setSessionId
(
StringUtils
.
isBlank
(
sessionId
)
?
oid
:
sessionId
);
updateCollageOrderDto
.
setPartnerId
(
partnerId
);
updateCollageOrderDto
.
setShopId
(
storeId
);
updateCollageOrderDto
.
setCreateCollageUserId
(
userId
);
updateCollageOrderDto
.
setOrderCode
(
oid
);
updateCollageOrderDto
.
setStatus
(
1
);
shoppingCartClient
.
updateCollageOrder
(
updateCollageOrderDto
);
if
(
StringUtils
.
isNotBlank
(
daySeq
)
&&
orderExtInfoDto
!=
null
&&
!
OrderType
.
TAKE_OUT
.
getCode
().
equals
(
orderBean
.
getType
()))
{
if
(
StringUtils
.
isNotBlank
(
daySeq
)
&&
orderExtInfoDto
!=
null
&&
!
OrderType
.
TAKE_OUT
.
getCode
().
equals
(
orderBean
.
getType
()))
{
String
storeAddress
=
StringUtils
.
isNotBlank
(
orderBean
.
getAddress
())
?
orderBean
.
getAddress
()
:
""
;
String
storeAddress
=
StringUtils
.
isNotBlank
(
orderBean
.
getAddress
())
?
orderBean
.
getAddress
()
:
""
;
...
...
order-application-service/src/main/java/cn/freemud/service/thirdparty/ShoppingCartClient.java
View file @
773ff967
...
@@ -17,6 +17,7 @@ import cn.freemud.entities.dto.*;
...
@@ -17,6 +17,7 @@ import cn.freemud.entities.dto.*;
import
cn.freemud.entities.dto.shoppingCart.GetShoppingCartGoodsApportionDto
;
import
cn.freemud.entities.dto.shoppingCart.GetShoppingCartGoodsApportionDto
;
import
cn.freemud.entities.dto.shoppingCart.NewShoppingCartClearDto
;
import
cn.freemud.entities.dto.shoppingCart.NewShoppingCartClearDto
;
import
cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto
;
import
cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto
;
import
cn.freemud.entities.dto.shoppingCart.UpdateCollageOrderDto
;
import
org.springframework.cloud.netflix.feign.FeignClient
;
import
org.springframework.cloud.netflix.feign.FeignClient
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestBody
;
...
@@ -101,4 +102,10 @@ public interface ShoppingCartClient {
...
@@ -101,4 +102,10 @@ public interface ShoppingCartClient {
@PostMapping
(
value
=
"/collage/clearOrder?lang=zh_CN"
)
@PostMapping
(
value
=
"/collage/clearOrder?lang=zh_CN"
)
BaseResponse
clearCollageOrder
(
@RequestBody
NewShoppingCartClearDto
newShoppingCartClearDto
);
BaseResponse
clearCollageOrder
(
@RequestBody
NewShoppingCartClearDto
newShoppingCartClearDto
);
/**
* 更新拼单订单信息
*/
@PostMapping
(
value
=
"/collage/updateOrder?lang=zh_CN"
)
BaseResponse
updateCollageOrder
(
@RequestBody
UpdateCollageOrderDto
updateCollageOrderDto
);
}
}
shopping-cart-application-service/src/main/java/cn/freemud/adapter/CollageOrderAdapter.java
View file @
773ff967
...
@@ -22,6 +22,8 @@ public class CollageOrderAdapter {
...
@@ -22,6 +22,8 @@ public class CollageOrderAdapter {
.
createCollageUserId
(
request
.
getCreateCollageUserId
())
.
createCollageUserId
(
request
.
getCreateCollageUserId
())
.
partnerId
(
request
.
getPartnerId
())
.
partnerId
(
request
.
getPartnerId
())
.
storeId
(
request
.
getShopId
())
.
storeId
(
request
.
getShopId
())
.
status
(
request
.
getStatus
())
.
orderCode
(
request
.
getOrderCode
())
.
build
();
.
build
();
}
}
}
}
shopping-cart-application-service/src/main/java/cn/freemud/controller/CollageOrderController.java
View file @
773ff967
...
@@ -74,6 +74,14 @@ public class CollageOrderController {
...
@@ -74,6 +74,14 @@ public class CollageOrderController {
return
collageOrderService
.
clearCollageOrder
(
request
);
return
collageOrderService
.
clearCollageOrder
(
request
);
}
}
@ApiOperation
(
value
=
"更新拼单订单"
,
notes
=
"根据商户ID、门店ID、当前登录用户sessionId更新相关拼单信息"
)
@ApiImplicitParam
(
value
=
"请求"
,
required
=
true
,
dataType
=
"CollageOrderRequestVo"
,
name
=
"CollageOrderRequestVo"
)
@ApiAnnotation
(
logMessage
=
"updateOrder"
)
@PostMapping
(
value
=
"/updateOrder"
)
public
BaseResponse
updateCollageOrder
(
@Validated
@LogParams
@RequestBody
CollageOrderRequestVo
request
)
{
return
collageOrderService
.
updateCollageOrder
(
request
);
}
@ApiOperation
(
value
=
"锁定拼单订单"
,
notes
=
"根据商户ID、门店ID、当前登录用户sessionId锁定拼单订单"
)
@ApiOperation
(
value
=
"锁定拼单订单"
,
notes
=
"根据商户ID、门店ID、当前登录用户sessionId锁定拼单订单"
)
@ApiImplicitParam
(
value
=
"请求"
,
required
=
true
,
dataType
=
"CollageOrderRequestVo"
,
name
=
"CollageOrderRequestVo"
)
@ApiImplicitParam
(
value
=
"请求"
,
required
=
true
,
dataType
=
"CollageOrderRequestVo"
,
name
=
"CollageOrderRequestVo"
)
@ApiAnnotation
(
logMessage
=
"lockOrder"
)
@ApiAnnotation
(
logMessage
=
"lockOrder"
)
...
...
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/CollageOrderRequestVo.java
View file @
773ff967
...
@@ -37,4 +37,10 @@ public class CollageOrderRequestVo {
...
@@ -37,4 +37,10 @@ public class CollageOrderRequestVo {
@ApiModelProperty
(
value
=
"门店ID"
,
required
=
true
)
@ApiModelProperty
(
value
=
"门店ID"
,
required
=
true
)
@NotEmpty
(
message
=
"门店ID 不能为空"
)
@NotEmpty
(
message
=
"门店ID 不能为空"
)
private
String
shopId
;
private
String
shopId
;
@ApiModelProperty
(
value
=
"订单状态"
,
required
=
true
)
private
Integer
status
;
@ApiModelProperty
(
value
=
"订单编号"
,
required
=
true
)
private
String
orderCode
;
}
}
shopping-cart-application-service/src/main/java/cn/freemud/service/CollageOrderService.java
View file @
773ff967
...
@@ -45,6 +45,13 @@ public interface CollageOrderService {
...
@@ -45,6 +45,13 @@ public interface CollageOrderService {
BaseResponse
clearCollageOrder
(
CollageOrderRequestVo
request
);
BaseResponse
clearCollageOrder
(
CollageOrderRequestVo
request
);
/**
/**
* 更新拼单订单
* @param request
* @return
*/
BaseResponse
updateCollageOrder
(
CollageOrderRequestVo
request
);
/**
* 锁定拼单订单
* 锁定拼单订单
* @param request
* @param request
* @return
* @return
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/CollageOrderServiceImpl.java
View file @
773ff967
...
@@ -11,6 +11,7 @@ import cn.freemud.service.CollageOrderService;
...
@@ -11,6 +11,7 @@ import cn.freemud.service.CollageOrderService;
import
cn.freemud.utils.ResponseUtil
;
import
cn.freemud.utils.ResponseUtil
;
import
com.freemud.application.sdk.api.storecenter.response.StoreResponse
;
import
com.freemud.application.sdk.api.storecenter.response.StoreResponse
;
import
com.freemud.sdk.api.assortment.shoppingcart.constant.CollageMemberStateType
;
import
com.freemud.sdk.api.assortment.shoppingcart.constant.CollageMemberStateType
;
import
com.freemud.sdk.api.assortment.shoppingcart.constant.CollageOrderStatus
;
import
com.freemud.sdk.api.assortment.shoppingcart.domain.CollageMemberState
;
import
com.freemud.sdk.api.assortment.shoppingcart.domain.CollageMemberState
;
import
com.freemud.sdk.api.assortment.shoppingcart.domain.CollageOrder
;
import
com.freemud.sdk.api.assortment.shoppingcart.domain.CollageOrder
;
import
com.freemud.sdk.api.assortment.shoppingcart.domain.CollageOrderDto
;
import
com.freemud.sdk.api.assortment.shoppingcart.domain.CollageOrderDto
;
...
@@ -157,6 +158,18 @@ public class CollageOrderServiceImpl implements CollageOrderService {
...
@@ -157,6 +158,18 @@ public class CollageOrderServiceImpl implements CollageOrderService {
}
}
/**
/**
* 更新拼单订单
* @param request
* @return
*/
@Override
public
BaseResponse
updateCollageOrder
(
CollageOrderRequestVo
request
)
{
CollageOrderDto
collageOrderDto
=
this
.
collageOrderAdapter
.
convert2CollageOrderDto
(
request
);
// 由于存在支付成功回调场景,直接操作不校验当前登录人员
return
this
.
collageOrderBaseService
.
updateCollageOrder
(
collageOrderDto
);
}
/**
* 锁定拼单订单
* 锁定拼单订单
* @param request
* @param request
* @return
* @return
...
...
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