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
3b205551
Commit
3b205551
authored
Sep 28, 2020
by
刘鹏飞
Browse files
Options
Browse Files
Download
Plain Diff
冲突解决
parents
f52b99a4
3358e20b
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
815 additions
and
43 deletions
+815
-43
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/adapter/CollageOrderSdkAdapter.java
+72
-0
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/constant/CollageOrderCacheFields.java
+35
-0
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/constant/ShoppingCartConstant.java
+2
-1
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/domain/CollageOrder.java
+49
-0
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/domain/CollageOrderDto.java
+56
-0
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/service/CollageCarBaseService.java
+38
-0
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/service/impl/CollageCartBaseServiceImpl.java
+111
-4
shopping-cart-application-service/src/main/java/cn/freemud/adapter/CollageOrderAdapter.java
+27
-0
shopping-cart-application-service/src/main/java/cn/freemud/controller/ShoppingCartCollageController.java
+27
-4
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/CollageOrderRequestVo.java
+37
-0
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/CollageOrderResponseVo.java
+24
-0
shopping-cart-application-service/src/main/java/cn/freemud/enums/ResponseResult.java
+1
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/ShoppingCartCollageService.java
+29
-28
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartCollageServiceImpl.java
+77
-6
shopping-cart-application-service/src/test/java/cn.freemud/controller/CollageOrderControllerTest.java
+93
-0
shopping-cart-application-service/src/test/java/cn.freemud/service/CollageCartBaseServiceTest.java
+67
-0
shopping-cart-application-service/src/test/java/cn.freemud/service/ShoppingCartCollageServiceTest.java
+70
-0
No files found.
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/adapter/CollageOrderSdkAdapter.java
0 → 100644
View file @
3b205551
package
com
.
freemud
.
sdk
.
api
.
assortment
.
shoppingcart
.
adapter
;
import
com.freemud.sdk.api.assortment.shoppingcart.constant.CollageOrderCacheFields
;
import
com.freemud.sdk.api.assortment.shoppingcart.domain.CollageOrder
;
import
com.freemud.sdk.api.assortment.shoppingcart.domain.CollageOrderDto
;
import
org.springframework.stereotype.Component
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.util.ObjectUtils
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @version V1.0.0
* @Description:
* @author: hui.miao
* @date: 2020-09-27 19:16
* @Copyright: 2020 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@Component
public
class
CollageOrderSdkAdapter
{
public
Map
<
String
,
String
>
toRedisMap
(
CollageOrder
collageOrder
)
{
Map
<
String
,
String
>
map
=
new
HashMap
<>();
if
(!
ObjectUtils
.
isEmpty
(
collageOrder
))
{
map
.
put
(
CollageOrderCacheFields
.
COLLAGE_ID
.
getKey
(),
String
.
valueOf
(
collageOrder
.
getCollageId
()));
map
.
put
(
CollageOrderCacheFields
.
CREATE_COLLAGE_USER_ID
.
getKey
(),
String
.
valueOf
(
collageOrder
.
getCreateCollageUserId
()));
map
.
put
(
CollageOrderCacheFields
.
PARTNER_ID
.
getKey
(),
String
.
valueOf
(
collageOrder
.
getPartnerId
()));
map
.
put
(
CollageOrderCacheFields
.
STORE_ID
.
getKey
(),
String
.
valueOf
(
collageOrder
.
getStoreId
()));
map
.
put
(
CollageOrderCacheFields
.
CREATE_TIME
.
getKey
(),
String
.
valueOf
(
collageOrder
.
getCreateTime
()));
map
.
put
(
CollageOrderCacheFields
.
EXPIRE_TIME
.
getKey
(),
String
.
valueOf
(
collageOrder
.
getExpireTime
()));
}
return
map
;
}
public
CollageOrder
toCollageOrder
(
Map
<
String
,
String
>
map
)
{
if
(
CollectionUtils
.
isEmpty
(
map
))
return
null
;
return
CollageOrder
.
builder
()
.
collageId
(
String
.
valueOf
(
map
.
get
(
CollageOrderCacheFields
.
COLLAGE_ID
.
getKey
())))
.
createCollageUserId
(
String
.
valueOf
(
map
.
get
(
CollageOrderCacheFields
.
CREATE_COLLAGE_USER_ID
.
getKey
())))
.
partnerId
(
String
.
valueOf
(
map
.
get
(
CollageOrderCacheFields
.
PARTNER_ID
.
getKey
())))
.
storeId
(
String
.
valueOf
(
map
.
get
(
CollageOrderCacheFields
.
STORE_ID
.
getKey
())))
.
createTime
(
Long
.
parseLong
(
map
.
get
(
CollageOrderCacheFields
.
CREATE_TIME
.
getKey
())))
.
expireTime
(
Long
.
parseLong
(
map
.
get
(
CollageOrderCacheFields
.
EXPIRE_TIME
.
getKey
())))
.
build
();
}
public
CollageOrderDto
toCollageOrderDto
(
CollageOrder
collageOrder
)
{
return
CollageOrderDto
.
builder
()
.
collageId
(
collageOrder
.
getCollageId
())
.
partnerId
(
collageOrder
.
getPartnerId
())
.
storeId
(
collageOrder
.
getStoreId
())
.
createCollageUserId
(
collageOrder
.
getCreateCollageUserId
())
.
createTime
(
collageOrder
.
getCreateTime
())
.
expireTime
(
collageOrder
.
getExpireTime
())
.
build
();
}
public
CollageOrder
toCollageOrder
(
CollageOrderDto
collageOrderDto
)
{
return
CollageOrder
.
builder
()
.
collageId
(
collageOrderDto
.
getCollageId
())
.
partnerId
(
collageOrderDto
.
getPartnerId
())
.
storeId
(
collageOrderDto
.
getStoreId
())
.
createCollageUserId
(
collageOrderDto
.
getCreateCollageUserId
())
.
createTime
(
collageOrderDto
.
getCreateTime
())
.
expireTime
(
collageOrderDto
.
getExpireTime
())
.
build
();
}
}
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/constant/CollageOrderCacheFields.java
0 → 100644
View file @
3b205551
package
com
.
freemud
.
sdk
.
api
.
assortment
.
shoppingcart
.
constant
;
import
com.alibaba.fastjson.TypeReference
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
import
java.lang.reflect.Type
;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @version V1.0.0
* @Description:
* @author: hui.miao
* @date: 2020-09-27 18:20
* @Copyright: 2020 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@Getter
@AllArgsConstructor
public
enum
CollageOrderCacheFields
{
COLLAGE_ID
(
0
,
"collageId"
,
new
TypeReference
<
String
>(){}.
getType
(),
""
)
,
CREATE_COLLAGE_USER_ID
(
1
,
"createCollageUserId"
,
new
TypeReference
<
String
>(){}.
getType
(),
""
)
,
PARTNER_ID
(
2
,
"partnerId"
,
new
TypeReference
<
String
>(){}.
getType
(),
""
)
,
STORE_ID
(
3
,
"storeId"
,
new
TypeReference
<
String
>(){}.
getType
(),
""
)
,
CREATE_TIME
(
4
,
"createTime"
,
new
TypeReference
<
Long
>(){}.
getType
(),
0L
)
,
EXPIRE_TIME
(
5
,
"expireTime"
,
new
TypeReference
<
Long
>(){}.
getType
(),
0L
)
;
private
Integer
index
;
private
String
key
;
private
Type
type
;
private
Object
defaultValue
;
}
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/constant/ShoppingCartConstant.java
View file @
3b205551
...
@@ -33,6 +33,7 @@ public class ShoppingCartConstant {
...
@@ -33,6 +33,7 @@ public class ShoppingCartConstant {
public
final
static
String
ONE_TRADE_CAN_ONLY_USE_ONE_GOODS_COUPON
=
"一笔交易仅允许同时使用一张商品券"
;
public
final
static
String
ONE_TRADE_CAN_ONLY_USE_ONE_GOODS_COUPON
=
"一笔交易仅允许同时使用一张商品券"
;
public
final
static
String
ORDER_WAY_CHANGE
=
"切换点餐方式,商品库存和价格等可能会发生变化。"
;
public
final
static
String
ORDER_WAY_CHANGE
=
"切换点餐方式,商品库存和价格等可能会发生变化。"
;
public
final
static
String
COLLAGE_ORDER_NOT_EXIST
=
"拼单订单信息不存在"
;
public
final
static
String
COLLAGE_ORDER_ALREADY_EXIST
=
"当前用户存在进行中的拼单订单"
;
}
}
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/domain/CollageOrder.java
0 → 100644
View file @
3b205551
package
com
.
freemud
.
sdk
.
api
.
assortment
.
shoppingcart
.
domain
;
import
lombok.Builder
;
import
lombok.Data
;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @version V1.0.0
* @Description:
* @author: hui.miao
* @date: 2020-09-27 17:11
* @Copyright: 2020 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@Builder
@Data
public
class
CollageOrder
{
/**
* 拼单订单ID
*/
private
String
collageId
;
/**
* 拼单邀请者用户ID
*/
private
String
createCollageUserId
;
/**
* 商户ID
*/
private
String
partnerId
;
/**
* 门店ID
*/
private
String
storeId
;
/**
* 创建时间
*/
private
Long
createTime
;
/**
* 过期时间
*/
private
Long
expireTime
;
}
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/domain/CollageOrderDto.java
0 → 100644
View file @
3b205551
package
com
.
freemud
.
sdk
.
api
.
assortment
.
shoppingcart
.
domain
;
import
lombok.Builder
;
import
lombok.Data
;
import
java.util.Date
;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @version V1.0.0
* @Description:
* @author: hui.miao
* @date: 2020-09-27 17:11
* @Copyright: 2020 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@Builder
@Data
public
class
CollageOrderDto
{
/**
* 拼单订单ID
*/
private
String
collageId
;
/**
* 用户sessionId
*/
private
String
sessionId
;
/**
* 拼单邀请者用户ID
*/
private
String
createCollageUserId
;
/**
* 商户ID
*/
private
String
partnerId
;
/**
* 门店ID
*/
private
String
storeId
;
/**
* 创建时间
*/
private
Long
createTime
;
/**
* 过期时间
*/
private
Long
expireTime
;
}
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/service/CollageCarBaseService.java
0 → 100644
View file @
3b205551
package
com
.
freemud
.
sdk
.
api
.
assortment
.
shoppingcart
.
service
;
import
cn.freemud.base.entity.BaseResponse
;
import
com.freemud.sdk.api.assortment.shoppingcart.domain.CollageOrder
;
import
com.freemud.sdk.api.assortment.shoppingcart.domain.CollageOrderDto
;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @version V1.0.0
* @Description:
* @author: hui.miao
* @date: 2020-09-27 17:03
* @Copyright: 2020 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
public
interface
CollageCarBaseService
{
/**
* 查询拼单订单
* @param collageOrderDto
* @return
*/
BaseResponse
<
CollageOrder
>
queryCollageOrder
(
CollageOrderDto
collageOrderDto
);
/**
* 创建拼单订单
* @param collageOrderDto
* @return
*/
BaseResponse
<
CollageOrder
>
createCollageOrder
(
CollageOrderDto
collageOrderDto
);
/**
* 取消拼单订单
* @param collageOrderDto
* @return
*/
BaseResponse
cancelCollageOrder
(
CollageOrderDto
collageOrderDto
);
}
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/service/impl/CollageCartBaseServiceImpl.java
View file @
3b205551
...
@@ -5,13 +5,14 @@ import cn.freemud.base.entity.BaseResponse;
...
@@ -5,13 +5,14 @@ import cn.freemud.base.entity.BaseResponse;
import
cn.freemud.redis.RedisCache
;
import
cn.freemud.redis.RedisCache
;
import
com.freemud.application.sdk.api.couponcenter.online.service.FMActiveSdkService
;
import
com.freemud.application.sdk.api.couponcenter.online.service.FMActiveSdkService
;
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.constant.CartResponseConstant
;
import
com.freemud.sdk.api.assortment.shoppingcart.constant.CartResponseConstant
;
import
com.freemud.sdk.api.assortment.shoppingcart.constant.RedisKeyConstant
;
import
com.freemud.sdk.api.assortment.shoppingcart.constant.RedisKeyConstant
;
import
com.freemud.sdk.api.assortment.shoppingcart.constant.ShoppingCartConstant
;
import
com.freemud.sdk.api.assortment.shoppingcart.constant.VersionUtils
;
import
com.freemud.sdk.api.assortment.shoppingcart.constant.VersionUtils
;
import
com.freemud.sdk.api.assortment.shoppingcart.domain.CartAddItem
;
import
com.freemud.sdk.api.assortment.shoppingcart.domain.*
;
import
com.freemud.sdk.api.assortment.shoppingcart.domain.CartGoods
;
import
com.freemud.sdk.api.assortment.shoppingcart.domain.CartParamDto
;
import
com.freemud.sdk.api.assortment.shoppingcart.exception.ServiceException
;
import
com.freemud.sdk.api.assortment.shoppingcart.exception.ServiceException
;
import
com.freemud.sdk.api.assortment.shoppingcart.service.CollageCarBaseService
;
import
com.freemud.sdk.api.assortment.shoppingcart.service.ShoppingCartBaseService
;
import
com.freemud.sdk.api.assortment.shoppingcart.service.ShoppingCartBaseService
;
import
com.freemud.sdk.api.assortment.shoppingcart.util.CartResponseUtil
;
import
com.freemud.sdk.api.assortment.shoppingcart.util.CartResponseUtil
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
@@ -19,10 +20,14 @@ import org.springframework.beans.factory.annotation.Value;
...
@@ -19,10 +20,14 @@ import org.springframework.beans.factory.annotation.Value;
import
org.springframework.data.redis.core.BoundHashOperations
;
import
org.springframework.data.redis.core.BoundHashOperations
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.ObjectUtils
;
import
org.springframework.util.StringUtils
;
import
org.springframework.util.StringUtils
;
import
java.text.MessageFormat
;
import
java.text.MessageFormat
;
import
java.time.LocalDateTime
;
import
java.time.ZoneOffset
;
import
java.util.*
;
import
java.util.*
;
import
java.util.concurrent.TimeUnit
;
import
java.util.function.Function
;
import
java.util.function.Function
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
...
@@ -39,7 +44,7 @@ import java.util.stream.Collectors;
...
@@ -39,7 +44,7 @@ import java.util.stream.Collectors;
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目.
*/
*/
@Service
(
"collageCartBaseService"
)
@Service
(
"collageCartBaseService"
)
public
class
CollageCartBaseServiceImpl
implements
ShoppingCartBaseService
{
public
class
CollageCartBaseServiceImpl
implements
ShoppingCartBaseService
,
CollageCarBaseService
{
@Value
(
"${coupon.app.id}"
)
@Value
(
"${coupon.app.id}"
)
private
String
appId
;
private
String
appId
;
...
@@ -47,11 +52,113 @@ public class CollageCartBaseServiceImpl implements ShoppingCartBaseService {
...
@@ -47,11 +52,113 @@ public class CollageCartBaseServiceImpl implements ShoppingCartBaseService {
private
FMActiveSdkService
fmActiveSdkService
;
private
FMActiveSdkService
fmActiveSdkService
;
@Autowired
@Autowired
private
CollageOrderSdkAdapter
collageOrderSdkAdapter
;
@Autowired
private
RedisCache
redisCache
;
private
RedisCache
redisCache
;
@Autowired
@Autowired
private
RedisTemplate
redisTemplate
;
private
RedisTemplate
redisTemplate
;
/**
* 查询拼单订单
* @param collageOrderDto
* @return
*/
@Override
public
BaseResponse
<
CollageOrder
>
queryCollageOrder
(
CollageOrderDto
collageOrderDto
)
{
// 通过商户ID、门店ID、用户ID组装拼单订单Redis缓存基本信息Key
String
redisKey
=
this
.
genCollageBaseHashKey
(
collageOrderDto
.
getPartnerId
(),
collageOrderDto
.
getStoreId
(),
collageOrderDto
.
getCreateCollageUserId
());
// 查询Redis缓存中拼单订单基础信息
CollageOrder
collageOrder
=
this
.
getCollageBaseHash
(
redisKey
);
// 若拼单订单信息不存在,则返回错误提示【拼单订单信息不存在】,由前端根据场景处理(静默、提示拼单已取消)
if
(
ObjectUtils
.
isEmpty
(
collageOrder
))
{
return
CartResponseUtil
.
error
(
ShoppingCartConstant
.
COLLAGE_ORDER_NOT_EXIST
);
}
// 若拼单订单信息存在,则构造订单拼单对象并返回成功提示
return
CartResponseUtil
.
success
(
collageOrder
);
}
/**
* 创建拼单订单
* @param collageOrderDto
* @return
*/
@Override
public
BaseResponse
<
CollageOrder
>
createCollageOrder
(
CollageOrderDto
collageOrderDto
)
{
// 通过商户ID、门店ID、用户ID组装拼单订单Redis缓存基本信息Key
String
redisKey
=
this
.
genCollageBaseHashKey
(
collageOrderDto
.
getPartnerId
(),
collageOrderDto
.
getStoreId
(),
collageOrderDto
.
getCreateCollageUserId
());
// 根据key查询Redis中拼单订单的基本信息
CollageOrder
collageOrder
=
this
.
getCollageBaseHash
(
redisKey
);
if
(
ObjectUtils
.
isEmpty
(
collageOrder
))
{
// 若拼单信息不存在,则初始化拼单订单对象,放入Redis缓存并设置1小时失效时间,返回拼单订单对象并给出成功提示
collageOrder
=
collageOrderSdkAdapter
.
toCollageOrder
(
collageOrderDto
);
collageOrder
.
setCollageId
(
UUID
.
randomUUID
().
toString
());
collageOrder
.
setCreateTime
(
LocalDateTime
.
now
().
toInstant
(
ZoneOffset
.
of
(
"+8"
)).
toEpochMilli
());
collageOrder
.
setExpireTime
(
LocalDateTime
.
now
().
toInstant
(
ZoneOffset
.
of
(
"+8"
)).
toEpochMilli
()
+
60
*
60
*
1000
);
// 创建缓存数据
this
.
putCollageBaseHash
(
redisKey
,
collageOrder
);
return
CartResponseUtil
.
success
(
collageOrder
);
}
else
{
// 若拼单订单信息已存在,则返回错误提示【当前用户存在进行中的拼单订单】
return
CartResponseUtil
.
error
(
ShoppingCartConstant
.
COLLAGE_ORDER_ALREADY_EXIST
);
}
}
/**
* 取消拼单订单
* @param collageOrderDto
* @return
*/
@Override
public
BaseResponse
cancelCollageOrder
(
CollageOrderDto
collageOrderDto
)
{
// 批量删除上述Key对应的Redis缓存
this
.
deleteCollageBaseHash
(
this
.
collageOrderSdkAdapter
.
toCollageOrder
(
collageOrderDto
));
return
CartResponseUtil
.
success
();
}
/**
* Redis获取拼单订单信息
* @param redisKey
* @return
*/
private
CollageOrder
getCollageBaseHash
(
String
redisKey
)
{
return
collageOrderSdkAdapter
.
toCollageOrder
(
redisTemplate
.
boundHashOps
(
redisKey
).
entries
());
}
/**
* Redis写入拼单订单信息
* @param redisKey
* @param collageOrder
*/
private
void
putCollageBaseHash
(
String
redisKey
,
CollageOrder
collageOrder
)
{
redisTemplate
.
boundHashOps
(
redisKey
).
putAll
(
this
.
collageOrderSdkAdapter
.
toRedisMap
(
collageOrder
));
redisTemplate
.
boundHashOps
(
redisKey
).
expire
(
1L
,
TimeUnit
.
HOURS
);
}
/**
* Redis删除拼单订单信息以及相关购物车信息
* @param collageOrder
*/
private
void
deleteCollageBaseHash
(
CollageOrder
collageOrder
)
{
Set
<
String
>
redisKeySet
=
new
HashSet
<>();
redisKeySet
.
add
(
this
.
genCollageBaseHashKey
(
collageOrder
.
getPartnerId
(),
collageOrder
.
getStoreId
(),
collageOrder
.
getCreateCollageUserId
()));
redisKeySet
.
add
(
this
.
genCollageMemberHashKey
(
collageOrder
.
getPartnerId
(),
collageOrder
.
getStoreId
(),
collageOrder
.
getCreateCollageUserId
()));
redisKeySet
.
add
(
this
.
genCollageCarHashKey
(
collageOrder
.
getPartnerId
(),
collageOrder
.
getStoreId
(),
collageOrder
.
getCreateCollageUserId
()));
redisKeySet
.
add
(
this
.
genCollageCarVerKey
(
collageOrder
.
getPartnerId
(),
collageOrder
.
getStoreId
(),
collageOrder
.
getCreateCollageUserId
()));
redisKeySet
.
add
(
this
.
genCollageLockKey
(
collageOrder
.
getPartnerId
(),
collageOrder
.
getStoreId
(),
collageOrder
.
getCreateCollageUserId
()));
redisKeySet
.
add
(
this
.
genCollageMemberStateHashKey
(
collageOrder
.
getPartnerId
(),
collageOrder
.
getStoreId
(),
collageOrder
.
getCreateCollageUserId
()));
redisTemplate
.
delete
(
redisKeySet
);
}
@Override
@Override
public
BaseResponse
<
List
<
CartAddItem
>>
detailCart
(
CartParamDto
cartParamDto
,
String
trackingNo
)
{
public
BaseResponse
<
List
<
CartAddItem
>>
detailCart
(
CartParamDto
cartParamDto
,
String
trackingNo
)
{
return
null
;
return
null
;
...
...
shopping-cart-application-service/src/main/java/cn/freemud/adapter/CollageOrderAdapter.java
0 → 100644
View file @
3b205551
package
cn
.
freemud
.
adapter
;
import
cn.freemud.entities.vo.CollageOrderRequestVo
;
import
com.freemud.sdk.api.assortment.shoppingcart.domain.CollageOrderDto
;
import
org.springframework.stereotype.Component
;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @version V1.0.0
* @Description:
* @author: hui.miao
* @date: 2020-09-28 11:41
* @Copyright: 2020 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@Component
public
class
CollageOrderAdapter
{
public
CollageOrderDto
convert2CollageOrderDto
(
CollageOrderRequestVo
request
)
{
return
CollageOrderDto
.
builder
()
.
sessionId
(
request
.
getSessionId
())
.
createCollageUserId
(
request
.
getCreateCollageUserId
())
.
partnerId
(
request
.
getPartnerId
())
.
storeId
(
request
.
getShopId
())
.
build
();
}
}
shopping-cart-application-service/src/main/java/cn/freemud/controller/ShoppingCartCollageController.java
View file @
3b205551
...
@@ -22,15 +22,14 @@ import com.freemud.application.sdk.api.base.SDKCommonBaseContextWare;
...
@@ -22,15 +22,14 @@ 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
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
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
;
import
org.springframework.http.MediaType
;
import
org.springframework.http.MediaType
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
@RestController
@RestController
@RequestMapping
(
value
=
"/shoppingCart/collage"
,
consumes
=
MediaType
.
APPLICATION_JSON_UTF8_VALUE
)
@RequestMapping
(
value
=
"/shoppingCart/collage"
,
consumes
=
MediaType
.
APPLICATION_JSON_UTF8_VALUE
)
...
@@ -38,6 +37,30 @@ import org.springframework.web.bind.annotation.RestController;
...
@@ -38,6 +37,30 @@ import org.springframework.web.bind.annotation.RestController;
@Slf4j
@Slf4j
public
class
ShoppingCartCollageController
{
public
class
ShoppingCartCollageController
{
@ApiOperation
(
value
=
"查询拼单订单"
,
notes
=
"根据商户ID、门店ID、拼单邀请人用户ID或者当前登录用户sessionId查询拼单订单信息"
)
@ApiImplicitParam
(
value
=
"请求"
,
required
=
true
,
dataType
=
"CollageOrderRequestVo"
,
name
=
"CollageOrderRequestVo"
)
@ApiAnnotation
(
logMessage
=
"getOrder"
)
@PostMapping
(
value
=
"/getOrder"
)
public
BaseResponse
queryCollageOrder
(
@Validated
@LogParams
@RequestBody
CollageOrderRequestVo
request
)
{
return
SDKCommonBaseContextWare
.
getBean
(
ShoppingCartCollageServiceImpl
.
class
).
queryCollageOrder
(
request
);
}
@ApiOperation
(
value
=
"创建拼单订单"
,
notes
=
"根据商户ID、门店ID、当前登录用户sessionId创建拼单订单信息"
)
@ApiImplicitParam
(
value
=
"请求"
,
required
=
true
,
dataType
=
"CollageOrderRequestVo"
,
name
=
"CollageOrderRequestVo"
)
@ApiAnnotation
(
logMessage
=
"createOrder"
)
@PostMapping
(
value
=
"/createOrder"
)
public
BaseResponse
createOrder
(
@Validated
@LogParams
@RequestBody
CollageOrderRequestVo
request
)
{
return
SDKCommonBaseContextWare
.
getBean
(
ShoppingCartCollageServiceImpl
.
class
).
createCollageOrder
(
request
);
}
@ApiOperation
(
value
=
"取消拼单订单"
,
notes
=
"根据商户ID、门店ID、当前登录用户sessionId取消拼单订单,并删除相关拼单信息"
)
@ApiImplicitParam
(
value
=
"请求"
,
required
=
true
,
dataType
=
"CollageOrderRequestVo"
,
name
=
"CollageOrderRequestVo"
)
@ApiAnnotation
(
logMessage
=
"cancelOrder"
)
@PostMapping
(
value
=
"/cancelOrder"
)
public
BaseResponse
cancelCollageOrder
(
@Validated
@LogParams
@RequestBody
CollageOrderRequestVo
request
)
{
return
SDKCommonBaseContextWare
.
getBean
(
ShoppingCartCollageServiceImpl
.
class
).
cancelCollageOrder
(
request
);
}
/**
/**
* 向拼单购物车中添加商品
* 向拼单购物车中添加商品
*/
*/
...
...
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/CollageOrderRequestVo.java
0 → 100644
View file @
3b205551
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @Title: ShoppingCartUpdateRequestVo
* @Package cn.freemud.entities.vo
* @Description:
* @author: ping.wu
* @date: 2018/5/22 10:42
* @version V1.0
* @Copyright: 2018 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
package
cn
.
freemud
.
entities
.
vo
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Builder
;
import
lombok.Data
;
import
org.hibernate.validator.constraints.NotEmpty
;
@Builder
@Data
public
class
CollageOrderRequestVo
{
@ApiModelProperty
(
value
=
"当前登录人sessionId"
,
required
=
true
)
@NotEmpty
(
message
=
"sessionId不能为空"
)
private
String
sessionId
;
@ApiModelProperty
(
value
=
"拼单创建人用户ID"
)
private
String
createCollageUserId
;
@ApiModelProperty
(
value
=
"商户ID"
,
required
=
true
)
@NotEmpty
(
message
=
"商户ID 不能为空"
)
private
String
partnerId
;
@ApiModelProperty
(
value
=
"门店ID"
,
required
=
true
)
@NotEmpty
(
message
=
"门店ID 不能为空"
)
private
String
shopId
;
}
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/CollageOrderResponseVo.java
0 → 100644
View file @
3b205551
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @Title: ShoppingCartUpdateRequestVo
* @Package cn.freemud.entities.vo
* @Description:
* @author: ping.wu
* @date: 2018/5/22 10:42
* @version V1.0
* @Copyright: 2018 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
package
cn
.
freemud
.
entities
.
vo
;
import
com.freemud.sdk.api.assortment.shoppingcart.domain.CollageOrder
;
import
lombok.Data
;
@Data
public
class
CollageOrderResponseVo
extends
BaseRequestVo
{
// 拼单订单信息
private
CollageOrder
order
;
// 拼单参与人信息
}
shopping-cart-application-service/src/main/java/cn/freemud/enums/ResponseResult.java
View file @
3b205551
...
@@ -143,6 +143,7 @@ public enum ResponseResult {
...
@@ -143,6 +143,7 @@ public enum ResponseResult {
COLLAGE_LOCK
(
"49002"
,
"拼单已经锁定,请确定"
),
COLLAGE_LOCK
(
"49002"
,
"拼单已经锁定,请确定"
),
COLLAGE_NOT_ADD
(
"49003"
,
"未加入拼单,请确定"
),
COLLAGE_NOT_ADD
(
"49003"
,
"未加入拼单,请确定"
),
COLLAGE_ALREADY_CHOOSE
(
"49004"
,
"拼单商品已经选购结束,请确定"
),
COLLAGE_ALREADY_CHOOSE
(
"49004"
,
"拼单商品已经选购结束,请确定"
),
COLLAGE_ALREADY_EXIST
(
"49005"
,
"当前用户存在进行中的拼单订单"
),
/**
/**
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/ShoppingCartCollageService.java
View file @
3b205551
package
cn
.
freemud
.
service
;
package
cn
.
freemud
.
service
;
import
cn.freemud.adapter.ActivityAdapter
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.constant.ShoppingCartConstant
;
import
cn.freemud.entities.vo.CollageOrderRequestVo
;
import
cn.freemud.entities.dto.*
;
import
cn.freemud.entities.vo.ShoppingCartCollageClearRequestVo
;
import
cn.freemud.entities.dto.activity.ActivityQueryDto
;
import
cn.freemud.entities.dto.activity.ActivityQueryResponseDto
;
import
cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto
;
import
cn.freemud.entities.vo.*
;
import
cn.freemud.enums.ActivityTypeEnum
;
import
cn.freemud.enums.GoodsTypeEnum
;
import
cn.freemud.enums.ResponseResult
;
import
cn.freemud.interceptor.ServiceException
;
import
com.freemud.application.sdk.api.base.SDKCommonBaseContextWare
;
import
com.freemud.application.sdk.api.productcenter.domain.ProductBeanDTO
;
import
com.freemud.sdk.api.assortment.shoppingcart.constant.CommonsConstant
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang.StringUtils
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
/**
* All rights Reserved, Designed By www.freemud.cn
* All rights Reserved, Designed By www.freemud.cn
*
*
*
@version V1.0
*
拼单订单相关服务特性Service定义
*
@Title:
*
* @
Package cn.freemud.service
* @
version V1.0.0
* @Description:
* @Description:
* @author:
pengfei.liu
* @author:
hui.miao
* @date: 2020
/9/28
* @date: 2020
-09-27 16:01
* @Copyright: 2020 www.freemud.cn Inc. All rights reserved.
* @Copyright: 2020 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
*/
public
interface
ShoppingCartCollageService
{
public
interface
ShoppingCartCollageService
{
/**
* 查询拼单订单
* @param request
* @return
*/
BaseResponse
queryCollageOrder
(
CollageOrderRequestVo
request
);
/**
* 创建拼单订单
* @param request
* @return
*/
BaseResponse
createCollageOrder
(
CollageOrderRequestVo
request
);
/**
* 取消拼单订单
* @param request
* @return
*/
BaseResponse
cancelCollageOrder
(
CollageOrderRequestVo
request
);
/**
/**
* 清空用户自己的购物车
* 清空用户自己的购物车
...
@@ -42,7 +45,4 @@ public interface ShoppingCartCollageService {
...
@@ -42,7 +45,4 @@ public interface ShoppingCartCollageService {
* @return
* @return
*/
*/
BaseResponse
clearPartCarGoods
(
ShoppingCartCollageClearRequestVo
request
);
BaseResponse
clearPartCarGoods
(
ShoppingCartCollageClearRequestVo
request
);
}
\ No newline at end of file
}
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartCollageServiceImpl.java
View file @
3b205551
package
cn
.
freemud
.
service
.
impl
;
package
cn
.
freemud
.
service
.
impl
;
import
cn.freemud.adapter.ActivityAdapter
;
import
cn.freemud.adapter.ActivityAdapter
;
import
cn.freemud.adapter.CollageOrderAdapter
;
import
cn.freemud.adapter.CouponAdapter
;
import
cn.freemud.adapter.CouponAdapter
;
import
cn.freemud.adapter.ShoppingCartConvertAdapter
;
import
cn.freemud.adapter.ShoppingCartConvertAdapter
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.base.entity.BaseResponse
;
...
@@ -9,10 +10,8 @@ import cn.freemud.constant.ShoppingCartConstant;
...
@@ -9,10 +10,8 @@ import cn.freemud.constant.ShoppingCartConstant;
import
cn.freemud.entities.dto.*
;
import
cn.freemud.entities.dto.*
;
import
cn.freemud.entities.dto.activity.ActivityQueryDto
;
import
cn.freemud.entities.dto.activity.ActivityQueryDto
;
import
cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto
;
import
cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto
;
import
cn.freemud.entities.dto.user.GetSessionUserInfoDto
;
import
cn.freemud.entities.vo.*
;
import
cn.freemud.entities.vo.*
;
import
cn.freemud.enums.ActivityChannelEnum
;
import
cn.freemud.enums.ActivityChannelEnum
;
import
cn.freemud.enums.OperationTypeEnum
;
import
cn.freemud.enums.ResponseResult
;
import
cn.freemud.enums.ResponseResult
;
import
cn.freemud.factory.AbstractShoppingCartImpl
;
import
cn.freemud.factory.AbstractShoppingCartImpl
;
import
cn.freemud.interceptor.ServiceException
;
import
cn.freemud.interceptor.ServiceException
;
...
@@ -22,7 +21,6 @@ import cn.freemud.service.CouponService;
...
@@ -22,7 +21,6 @@ import cn.freemud.service.CouponService;
import
cn.freemud.service.ShoppingCartCollageService
;
import
cn.freemud.service.ShoppingCartCollageService
;
import
cn.freemud.service.ShoppingCartNewService
;
import
cn.freemud.service.ShoppingCartNewService
;
import
cn.freemud.service.thirdparty.ActivityClient
;
import
cn.freemud.service.thirdparty.ActivityClient
;
import
cn.freemud.service.thirdparty.CustomerApplicationClient
;
import
cn.freemud.utils.PropertyConvertUtil
;
import
cn.freemud.utils.PropertyConvertUtil
;
import
cn.freemud.utils.RedisLock
;
import
cn.freemud.utils.RedisLock
;
import
cn.freemud.utils.ResponseUtil
;
import
cn.freemud.utils.ResponseUtil
;
...
@@ -32,11 +30,11 @@ import com.alibaba.fastjson.JSONObject;
...
@@ -32,11 +30,11 @@ import com.alibaba.fastjson.JSONObject;
import
com.freemud.application.sdk.api.base.SDKCommonBaseContextWare
;
import
com.freemud.application.sdk.api.base.SDKCommonBaseContextWare
;
import
com.freemud.application.sdk.api.log.LogThreadLocal
;
import
com.freemud.application.sdk.api.log.LogThreadLocal
;
import
com.freemud.application.sdk.api.productcenter.domain.ProductBeanDTO
;
import
com.freemud.application.sdk.api.productcenter.domain.ProductBeanDTO
;
import
com.freemud.application.sdk.api.promotioncenter.dto.promotion.DiscountDTO
;
import
com.freemud.card.sdk.log.ErrorLog
;
import
com.freemud.card.sdk.log.ErrorLog
;
import
com.freemud.sdk.api.assortment.shoppingcart.constant.CartResponseConstant
;
import
com.freemud.sdk.api.assortment.shoppingcart.constant.CommonsConstant
;
import
com.freemud.sdk.api.assortment.shoppingcart.constant.CommonsConstant
;
import
com.freemud.sdk.api.assortment.shoppingcart.constant.RedisKeyConstant
;
import
com.freemud.sdk.api.assortment.shoppingcart.constant.RedisKeyConstant
;
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.request.CheckCartRequest
;
import
com.freemud.sdk.api.assortment.shoppingcart.request.CheckCartRequest
;
import
com.freemud.sdk.api.assortment.shoppingcart.service.impl.CollageCartBaseServiceImpl
;
import
com.freemud.sdk.api.assortment.shoppingcart.service.impl.CollageCartBaseServiceImpl
;
import
com.freemud.sdk.api.assortment.shoppingcart.service.impl.ShoppingCartBaseServiceImpl
;
import
com.freemud.sdk.api.assortment.shoppingcart.service.impl.ShoppingCartBaseServiceImpl
;
...
@@ -45,7 +43,6 @@ import org.apache.commons.lang.ObjectUtils;
...
@@ -45,7 +43,6 @@ 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
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.text.MessageFormat
;
import
java.text.MessageFormat
;
import
java.util.*
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
...
@@ -79,6 +76,9 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
...
@@ -79,6 +76,9 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
private
ActivityAdapter
activityAdapter
;
private
ActivityAdapter
activityAdapter
;
@Autowired
@Autowired
private
CollageOrderAdapter
collageOrderAdapter
;
@Autowired
private
RedisCache
redisCache
;
private
RedisCache
redisCache
;
@Autowired
@Autowired
...
@@ -93,6 +93,77 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
...
@@ -93,6 +93,77 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
@Autowired
@Autowired
private
CouponAdapter
couponAdapter
;
private
CouponAdapter
couponAdapter
;
/**
* 查询拼单订单信息(拼单基础信息 拼单参与人列表)
* @param request(partnerId shopId userId)
* @return
*/
@Override
public
BaseResponse
queryCollageOrder
(
CollageOrderRequestVo
request
)
{
CollageOrderDto
collageOrderDto
=
this
.
collageOrderAdapter
.
convert2CollageOrderDto
(
request
);
// 查询时需传入拼单创建人的userId,若上送字段为空时,默认查询当前登录人自己的拼单信息
if
(
StringUtils
.
isEmpty
(
request
.
getCreateCollageUserId
()))
{
CustomerInfoVo
currentUserInfoVo
=
this
.
getCustomerInfoVo
(
request
.
getSessionId
());
collageOrderDto
.
setCreateCollageUserId
(
currentUserInfoVo
.
getMemberId
());
}
BaseResponse
<
CollageOrder
>
queryCollageOrderResponse
=
this
.
collageCartBaseService
.
queryCollageOrder
(
collageOrderDto
);
CollageOrder
collageOrder
=
queryCollageOrderResponse
.
getResult
();
// 有个类引用冲突了,找不到,代码先注释了
/* if (ResponseResult.SUCCESS.getCode().equals(queryCollageOrderResponse.getCode()) && !ObjectUtils.isEmpty(collageOrder)) {
CollageOrderResponseVo collageOrderResponseVo = new CollageOrderResponseVo();
// 订单基础信息
collageOrderResponseVo.setOrder(collageOrder);
// TODO 订单参与人列表信息
return ResponseUtil.success(collageOrderResponseVo);
} else {
return ResponseUtil.error(ResponseResult.COLLAGE_NOT_EXIST);
}*/
return
null
;
}
/**
* 创建拼单订单基础信息
* @param request(partnerId shopId sessionId)
* @return
*/
@Override
public
BaseResponse
createCollageOrder
(
CollageOrderRequestVo
request
)
{
CollageOrderDto
collageOrderDto
=
this
.
collageOrderAdapter
.
convert2CollageOrderDto
(
request
);
// 根据sessionId查询对应登录用户信息
CustomerInfoVo
currentUserInfoVo
=
this
.
getCustomerInfoVo
(
request
.
getSessionId
());
collageOrderDto
.
setCreateCollageUserId
(
currentUserInfoVo
.
getMemberId
());
// 创建拼单订单基础缓存信息
BaseResponse
<
CollageOrder
>
createCollageOrderResponse
=
this
.
collageCartBaseService
.
createCollageOrder
(
collageOrderDto
);
if
(
ResponseResult
.
SUCCESS
.
getCode
().
equals
(
createCollageOrderResponse
.
getCode
()))
{
CollageOrderResponseVo
collageOrderResponseVo
=
new
CollageOrderResponseVo
();
collageOrderResponseVo
.
setOrder
(
createCollageOrderResponse
.
getResult
());
return
ResponseUtil
.
success
(
collageOrderResponseVo
);
}
else
{
return
ResponseUtil
.
error
(
ResponseResult
.
COLLAGE_ALREADY_EXIST
);
}
}
/**
* 取消拼单订单,删除相关缓存信息
* @param request
* @return
*/
@Override
public
BaseResponse
cancelCollageOrder
(
CollageOrderRequestVo
request
)
{
CollageOrderDto
collageOrderDto
=
this
.
collageOrderAdapter
.
convert2CollageOrderDto
(
request
);
// 根据sessionId查询对应登录用户信息
CustomerInfoVo
currentUserInfoVo
=
this
.
getCustomerInfoVo
(
request
.
getSessionId
());
collageOrderDto
.
setCreateCollageUserId
(
currentUserInfoVo
.
getMemberId
());
return
this
.
collageCartBaseService
.
cancelCollageOrder
(
collageOrderDto
);
}
@Override
@Override
public
BaseResponse
addGoodsByCard
(
AddGoodsByWeixinCardRequestVo
request
)
{
public
BaseResponse
addGoodsByCard
(
AddGoodsByWeixinCardRequestVo
request
)
{
return
null
;
return
null
;
...
...
shopping-cart-application-service/src/test/java/cn.freemud/controller/CollageOrderControllerTest.java
0 → 100644
View file @
3b205551
package
cn
.
freemud
.
controller
;
import
cn.freemud.ShoppingCartApplication
;
import
cn.freemud.entities.vo.CollageOrderRequestVo
;
import
com.alibaba.fastjson.JSONObject
;
import
org.junit.Before
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.test.context.SpringBootTest
;
import
org.springframework.http.MediaType
;
import
org.springframework.test.context.junit4.SpringRunner
;
import
org.springframework.test.web.servlet.MockMvc
;
import
org.springframework.test.web.servlet.setup.MockMvcBuilders
;
import
org.springframework.web.context.WebApplicationContext
;
import
static
org
.
springframework
.
test
.
web
.
servlet
.
request
.
MockMvcRequestBuilders
.
post
;
import
static
org
.
springframework
.
test
.
web
.
servlet
.
result
.
MockMvcResultHandlers
.
print
;
import
static
org
.
springframework
.
test
.
web
.
servlet
.
result
.
MockMvcResultMatchers
.
jsonPath
;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @version V1.0.0
* @Description:
* @author: hui.miao
* @date: 2020-09-28 11:53
* @Copyright: 2020 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@RunWith
(
SpringRunner
.
class
)
@SpringBootTest
(
classes
=
ShoppingCartApplication
.
class
)
public
class
CollageOrderControllerTest
{
@Autowired
private
WebApplicationContext
wac
;
private
MockMvc
mockMvc
;
@Before
public
void
setUp
()
{
mockMvc
=
MockMvcBuilders
.
webAppContextSetup
(
wac
).
build
();
}
@Test
public
void
queryCollageOrder
()
{
CollageOrderRequestVo
request
=
CollageOrderRequestVo
.
builder
()
.
sessionId
(
"c05bf8184c7e7783be35c7fb1d4d04d4f03b3b6f"
)
.
partnerId
(
"1864"
)
.
shopId
(
"520916"
)
.
build
();
try
{
mockMvc
.
perform
(
post
(
"/shoppingCart/collage/getOrder"
).
content
(
JSONObject
.
toJSONString
(
request
)).
contentType
(
MediaType
.
APPLICATION_JSON_UTF8
).
accept
(
MediaType
.
APPLICATION_JSON_UTF8
)).
andDo
(
print
()).
andExpect
(
jsonPath
(
"$.code"
).
value
(
"100"
));
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
@Test
public
void
createCollageOrder
()
{
CollageOrderRequestVo
request
=
CollageOrderRequestVo
.
builder
()
.
sessionId
(
"c05bf8184c7e7783be35c7fb1d4d04d4f03b3b6f"
)
.
partnerId
(
"1864"
)
.
shopId
(
"520916"
)
.
build
();
try
{
mockMvc
.
perform
(
post
(
"/shoppingCart/collage/createOrder"
).
content
(
JSONObject
.
toJSONString
(
request
)).
contentType
(
MediaType
.
APPLICATION_JSON_UTF8
).
accept
(
MediaType
.
APPLICATION_JSON_UTF8
)).
andDo
(
print
()).
andExpect
(
jsonPath
(
"$.code"
).
value
(
"100"
));
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
@Test
public
void
cancelCollageOrder
()
{
CollageOrderRequestVo
request
=
CollageOrderRequestVo
.
builder
()
.
sessionId
(
"c05bf8184c7e7783be35c7fb1d4d04d4f03b3b6f"
)
.
partnerId
(
"1864"
)
.
shopId
(
"520916"
)
.
build
();
try
{
mockMvc
.
perform
(
post
(
"/shoppingCart/collage/cancelOrder"
).
content
(
JSONObject
.
toJSONString
(
request
)).
contentType
(
MediaType
.
APPLICATION_JSON_UTF8
).
accept
(
MediaType
.
APPLICATION_JSON_UTF8
)).
andDo
(
print
()).
andExpect
(
jsonPath
(
"$.code"
).
value
(
"100"
));
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
}
shopping-cart-application-service/src/test/java/cn.freemud/service/CollageCartBaseServiceTest.java
0 → 100644
View file @
3b205551
package
cn
.
freemud
.
service
;
import
cn.freemud.base.entity.BaseResponse
;
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.service.impl.CollageCartBaseServiceImpl
;
import
lombok.extern.slf4j.Slf4j
;
import
org.junit.Assert
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.autoconfigure.EnableAutoConfiguration
;
import
org.springframework.boot.test.context.SpringBootTest
;
import
org.springframework.test.context.junit4.SpringRunner
;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @version V1.0.0
* @Description:
* @author: hui.miao
* @date: 2020-09-28 09:34
* @Copyright: 2020 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@Slf4j
@RunWith
(
SpringRunner
.
class
)
@SpringBootTest
@EnableAutoConfiguration
public
class
CollageCartBaseServiceTest
{
@Autowired
private
CollageCartBaseServiceImpl
collageCartBaseService
;
@Test
public
void
queryCollageOrder
()
{
CollageOrderDto
collageOrderDto
=
CollageOrderDto
.
builder
()
.
createCollageUserId
(
"user1"
)
.
partnerId
(
"partner1"
)
.
storeId
(
"store1"
)
.
build
();
BaseResponse
<
CollageOrder
>
response
=
collageCartBaseService
.
queryCollageOrder
(
collageOrderDto
);
log
.
debug
(
"queryCollageOrder return: {}"
,
response
.
getResult
());
}
@Test
public
void
createCollageOrder
()
{
CollageOrderDto
collageOrderDto
=
CollageOrderDto
.
builder
()
.
createCollageUserId
(
"user1"
)
.
partnerId
(
"partner1"
)
.
storeId
(
"store1"
)
.
build
();
BaseResponse
<
CollageOrder
>
response
=
collageCartBaseService
.
createCollageOrder
(
collageOrderDto
);
log
.
debug
(
"createCollageOrder return: {}"
,
response
.
getResult
());
Assert
.
assertNotNull
(
response
.
getResult
());
}
@Test
public
void
cancelCollageOrder
()
{
CollageOrderDto
collageOrderDto
=
CollageOrderDto
.
builder
()
.
createCollageUserId
(
"user1"
)
.
partnerId
(
"partner1"
)
.
storeId
(
"store1"
)
.
build
();
BaseResponse
response
=
collageCartBaseService
.
cancelCollageOrder
(
collageOrderDto
);
log
.
debug
(
"cancelCollageOrder return: {}"
,
response
.
getResult
());
}
}
shopping-cart-application-service/src/test/java/cn.freemud/service/ShoppingCartCollageServiceTest.java
0 → 100644
View file @
3b205551
package
cn
.
freemud
.
service
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.entities.vo.CollageOrderRequestVo
;
import
cn.freemud.service.impl.ShoppingCartCollageServiceImpl
;
import
lombok.extern.slf4j.Slf4j
;
import
org.junit.Assert
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.autoconfigure.EnableAutoConfiguration
;
import
org.springframework.boot.test.context.SpringBootTest
;
import
org.springframework.test.context.junit4.SpringRunner
;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @version V1.0.0
* @Description:
* @author: hui.miao
* @date: 2020-09-28 15:36
* @Copyright: 2020 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@Slf4j
@RunWith
(
SpringRunner
.
class
)
@SpringBootTest
@EnableAutoConfiguration
public
class
ShoppingCartCollageServiceTest
{
@Autowired
private
ShoppingCartCollageServiceImpl
shoppingCartCollageService
;
@Test
public
void
queryCollageOrder
()
{
CollageOrderRequestVo
request
=
CollageOrderRequestVo
.
builder
()
.
sessionId
(
""
)
.
createCollageUserId
(
"3600667734347310003"
)
.
partnerId
(
"partner1"
)
.
shopId
(
"store1"
)
.
build
();
BaseResponse
response
=
shoppingCartCollageService
.
queryCollageOrder
(
request
);
log
.
debug
(
"queryCollageOrder return: {} {}"
,
response
.
getCode
(),
response
.
getResult
());
Assert
.
assertNotNull
(
response
.
getCode
());
}
@Test
public
void
createCollageOrder
()
{
CollageOrderRequestVo
request
=
CollageOrderRequestVo
.
builder
()
.
sessionId
(
"c05bf8184c7e7783be35c7fb1d4d04d4f03b3b6f"
)
.
partnerId
(
"partner1"
)
.
shopId
(
"store1"
)
.
build
();
BaseResponse
response
=
shoppingCartCollageService
.
createCollageOrder
(
request
);
log
.
debug
(
"createCollageOrder return: {} {}"
,
response
.
getCode
(),
response
.
getResult
());
Assert
.
assertNotNull
(
response
.
getCode
());
}
@Test
public
void
cancelCollageOrder
()
{
CollageOrderRequestVo
request
=
CollageOrderRequestVo
.
builder
()
.
sessionId
(
"c05bf8184c7e7783be35c7fb1d4d04d4f03b3b6f"
)
.
partnerId
(
"partner1"
)
.
shopId
(
"store1"
)
.
build
();
BaseResponse
response
=
shoppingCartCollageService
.
cancelCollageOrder
(
request
);
log
.
debug
(
"cancelCollageOrder return: {} {}"
,
response
.
getCode
(),
response
.
getResult
());
Assert
.
assertNotNull
(
response
.
getCode
());
}
}
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