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
52a2f97a
Commit
52a2f97a
authored
Apr 14, 2021
by
周晓航
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
初步提交代码,用于测试
parent
307bbbc3
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
22 changed files
with
434 additions
and
45 deletions
+434
-45
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/request/order/OrderSpecialExtraAttrRequest.java
+0
-2
order-application-service/src/main/java/cn/freemud/adapter/CreateOrderAdapter.java
+0
-0
order-application-service/src/main/java/cn/freemud/entities/vo/CreateOrderAppVo.java
+10
-0
order-application-service/src/main/java/cn/freemud/entities/vo/CreateOrderBaseVo.java
+49
-8
order-application-service/src/main/java/cn/freemud/entities/vo/CreateOrderMealVo.java
+53
-0
order-application-service/src/main/java/cn/freemud/entities/vo/CreateOrderSaasMallVo.java
+10
-0
order-application-service/src/main/java/cn/freemud/entities/vo/CreateOrderSaasVo.java
+1
-12
order-application-service/src/main/java/cn/freemud/enums/CreateOrderSceneEnum.java
+9
-2
order-application-service/src/main/java/cn/freemud/enums/UserLoginChannelEnum.java
+7
-1
order-application-service/src/main/java/cn/freemud/service/CheckOrderUniversal.java
+0
-0
order-application-service/src/main/java/cn/freemud/service/adapter/OrderCheckAdapter.java
+27
-1
order-application-service/src/main/java/cn/freemud/service/impl/OrderAdapterServiceImpl.java
+3
-2
order-application-service/src/main/java/cn/freemud/service/order/OrderRelationService.java
+8
-0
order-application-service/src/main/java/cn/freemud/service/order/impl/CocoOrderRelationServiceImpl.java
+36
-4
order-application-service/src/main/java/cn/freemud/service/order/impl/PlatformOrderRelationServiceImpl.java
+6
-0
order-application-service/src/main/java/cn/freemud/service/universal/UniversalOrderService.java
+9
-3
order-application-service/src/main/java/cn/freemud/service/universal/factory/CreateOrderServiceFactory.java
+43
-3
order-application-service/src/main/java/cn/freemud/service/universal/impl/AppOrderService.java
+30
-0
order-application-service/src/main/java/cn/freemud/service/universal/impl/MealOrderService.java
+34
-0
order-application-service/src/main/java/cn/freemud/service/universal/impl/SaasMallOrderService.java
+30
-0
order-application-service/src/main/java/cn/freemud/service/universal/impl/SaasOrderService.java
+0
-7
order-application-service/src/test/java/cn.freemud/controller/OrderControllerTest.java
+69
-0
No files found.
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/request/order/OrderSpecialExtraAttrRequest.java
View file @
52a2f97a
...
@@ -4,8 +4,6 @@ import lombok.AllArgsConstructor;
...
@@ -4,8 +4,6 @@ import lombok.AllArgsConstructor;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.NoArgsConstructor
;
import
java.util.List
;
@Data
@Data
@AllArgsConstructor
@AllArgsConstructor
@NoArgsConstructor
@NoArgsConstructor
...
...
order-application-service/src/main/java/cn/freemud/adapter/CreateOrderAdapter.java
View file @
52a2f97a
This diff is collapsed.
Click to expand it.
order-application-service/src/main/java/cn/freemud/entities/vo/CreateOrderAppVo.java
0 → 100644
View file @
52a2f97a
package
cn
.
freemud
.
entities
.
vo
;
/**
* @author : xh.Z
* @email : fisherman0510@163.com
* @Date : 2021/4/9 下午2:22
* @description : APP 订单接收参数
*/
public
class
CreateOrderAppVo
extends
CreateOrderBaseVo
{
}
order-application-service/src/main/java/cn/freemud/entities/vo/CreateOrderBaseVo.java
View file @
52a2f97a
...
@@ -2,7 +2,6 @@ package cn.freemud.entities.vo;
...
@@ -2,7 +2,6 @@ package cn.freemud.entities.vo;
import
cn.freemud.entities.dto.UserDeliveryInfoDto
;
import
cn.freemud.entities.dto.UserDeliveryInfoDto
;
import
cn.freemud.entities.dto.delivery.WeixinDeliveryAddressDto
;
import
cn.freemud.entities.dto.delivery.WeixinDeliveryAddressDto
;
import
cn.freemud.enums.CreateOrderSceneEnum
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Builder
;
import
lombok.Builder
;
...
@@ -49,6 +48,8 @@ public class CreateOrderBaseVo {
...
@@ -49,6 +48,8 @@ public class CreateOrderBaseVo {
private
String
storeName
;
private
String
storeName
;
private
String
storeNameEn
;
//入参不需要传
//入参不需要传
private
String
storeAddress
;
private
String
storeAddress
;
...
@@ -150,7 +151,12 @@ public class CreateOrderBaseVo {
...
@@ -150,7 +151,12 @@ public class CreateOrderBaseVo {
/**
/**
* 券码列表
* 券码列表
*/
*/
private
List
<
CreateOrderVo
.
couponCode
>
couponCodes
;
private
List
<
couponCode
>
couponCodes
;
/**
* 运费券code
*/
private
String
freightCouponCode
;
/**
/**
* 版本号
* 版本号
*/
*/
...
@@ -169,13 +175,14 @@ public class CreateOrderBaseVo {
...
@@ -169,13 +175,14 @@ public class CreateOrderBaseVo {
*/
*/
private
Byte
payChannelType
;
private
Byte
payChannelType
;
// 这里冗余了 CreateOrderVo 对象的属性, 后期需要优化 fisherman
@Valid
@Valid
private
CreateOrderVo
.
PremiumExchangeActivity
premiumExchangeActivity
;
private
CreateOrderVo
.
PremiumExchangeActivity
premiumExchangeActivity
;
/**
/**
* 买一赠一选择的商品
* 买一赠一选择的商品
*/
*/
private
List
<
C
reateOrderVo
.
C
hooseGood
>
chooseGoods
;
private
List
<
ChooseGood
>
chooseGoods
;
/**
/**
* 是否使用用户积分
* 是否使用用户积分
...
@@ -199,6 +206,11 @@ public class CreateOrderBaseVo {
...
@@ -199,6 +206,11 @@ public class CreateOrderBaseVo {
*/
*/
private
String
faceCode
;
private
String
faceCode
;
/**
* 随单购啡常月享卡键位
*/
private
String
cardKeyCode
;
@ApiModelProperty
(
hidden
=
true
)
@ApiModelProperty
(
hidden
=
true
)
private
String
sessionKey
;
// 存储sessionKey,异常补退使用
private
String
sessionKey
;
// 存储sessionKey,异常补退使用
@ApiModelProperty
(
hidden
=
true
)
@ApiModelProperty
(
hidden
=
true
)
...
@@ -211,14 +223,35 @@ public class CreateOrderBaseVo {
...
@@ -211,14 +223,35 @@ public class CreateOrderBaseVo {
*/
*/
private
String
channelType
;
private
String
channelType
;
private
String
cardKeyCode
;
/**
* 是否需要餐具,1 需要 0不需要
*/
private
Integer
needTableware
;
/**
* 是否需要开发票,1 需要 0不需要
*/
private
Integer
needInvoice
;
/**
* 发票抬头
*/
private
String
invoiceTitle
;
/**
* 随单购是否购买月享卡
* 1:不购买,2:月卡续费,3:新购月卡
*/
private
String
buyMonthlyCard
;
private
String
monthlyCardCode
;
/**
/**
* 是否使用电子风味卡,如果不为空则为使用
* 是否使用电子风味卡,如果不为空则为使用
*/
*/
@Valid
@Valid
@ApiModelProperty
(
value
=
"电子风味卡"
)
@ApiModelProperty
(
value
=
"电子风味卡"
)
private
CreateOrderVo
.
UnionPayCard
unionPayCard
;
private
UnionPayCard
unionPayCard
;
/**
/**
* 电子风味卡
* 电子风味卡
*/
*/
...
@@ -250,7 +283,7 @@ public class CreateOrderBaseVo {
...
@@ -250,7 +283,7 @@ public class CreateOrderBaseVo {
* 加价购sku商品信息
* 加价购sku商品信息
*/
*/
@Valid
@Valid
private
List
<
CreateOrderVo
.
PremiumExchangeActivity
.
Product
>
products
;
private
List
<
Product
>
products
;
@Data
@Data
public
static
class
Product
{
public
static
class
Product
{
...
@@ -271,6 +304,8 @@ public class CreateOrderBaseVo {
...
@@ -271,6 +304,8 @@ public class CreateOrderBaseVo {
@NotNull
(
message
=
"商品名称不能为空"
)
@NotNull
(
message
=
"商品名称不能为空"
)
private
String
skuName
;
private
String
skuName
;
private
String
skuForeignName
;
@NotNull
(
message
=
"商品数量不能为空"
)
@NotNull
(
message
=
"商品数量不能为空"
)
private
Integer
qty
;
private
Integer
qty
;
...
@@ -289,7 +324,7 @@ public class CreateOrderBaseVo {
...
@@ -289,7 +324,7 @@ public class CreateOrderBaseVo {
private
Long
nowPrice
;
private
Long
nowPrice
;
@Valid
@Valid
private
List
<
CreateOrderVo
.
PremiumExchangeActivity
.
Product
.
Attribute
>
attributes
;
private
List
<
Attribute
>
attributes
;
@Data
@Data
public
static
class
Attribute
{
public
static
class
Attribute
{
...
@@ -302,6 +337,9 @@ public class CreateOrderBaseVo {
...
@@ -302,6 +337,9 @@ public class CreateOrderBaseVo {
* 属性名称
* 属性名称
*/
*/
private
String
attributeValue
;
private
String
attributeValue
;
private
String
attributeForeignValue
;
}
}
}
}
...
@@ -342,6 +380,9 @@ public class CreateOrderBaseVo {
...
@@ -342,6 +380,9 @@ public class CreateOrderBaseVo {
*/
*/
private
String
goodsName
;
private
String
goodsName
;
private
String
goodsForeignName
;
/**
/**
* 赠送商品数量
* 赠送商品数量
*/
*/
...
...
order-application-service/src/main/java/cn/freemud/entities/vo/CreateOrderMealVo.java
0 → 100644
View file @
52a2f97a
package
cn
.
freemud
.
entities
.
vo
;
import
lombok.Data
;
/**
* @author : xh.Z
* @email : fisherman0510@163.com
* @Date : 2021/4/9 上午11:31
* @description :
*/
@Data
public
class
CreateOrderMealVo
extends
CreateOrderBaseVo
{
/**
* 版本号
*/
private
String
version
;
/**
* 商户ID
*/
private
String
partnerId
;
private
Integer
repastNumber
;
private
Integer
carVer
;
/**
* 下单版本号
*/
private
Integer
orderUpdateVer
;
/**
* 优惠券code
*/
private
String
couponCode
;
/**
* 优惠券对应的活动号
*/
private
String
activityCode
;
/**
* 是否使用用户积分
* 1=不显示积分
* 2=显示积分但不扣减
* 3=显示积分且扣减
*/
private
Integer
useCustomerScore
;
/**
* svc 卡支付使用
*/
private
String
cardCode
;
}
order-application-service/src/main/java/cn/freemud/entities/vo/CreateOrderSaasMallVo.java
0 → 100644
View file @
52a2f97a
package
cn
.
freemud
.
entities
.
vo
;
/**
* @author : xh.Z
* @email : fisherman0510@163.com
* @Date : 2021/4/9 下午2:20
* @description : 商城订单 vo对象
*/
public
class
CreateOrderSaasMallVo
extends
CreateOrderBaseVo
{
}
order-application-service/src/main/java/cn/freemud/entities/vo/CreateOrderSaasVo.java
View file @
52a2f97a
package
cn
.
freemud
.
entities
.
vo
;
package
cn
.
freemud
.
entities
.
vo
;
import
cn.freemud.entities.dto.UserDeliveryInfoDto
;
import
cn.freemud.entities.dto.delivery.WeixinDeliveryAddressDto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.Data
;
import
org.hibernate.validator.constraints.NotEmpty
;
import
javax.validation.Valid
;
import
javax.validation.constraints.NotNull
;
import
javax.validation.constraints.Pattern
;
import
java.util.List
;
@Data
@Data
public
class
CreateOrderSaasVo
extends
CreateOrderBaseVo
{
public
class
CreateOrderSaasVo
extends
CreateOrderBaseVo
{
// fisherman 需要定义 saas里面的参数有那些
}
}
order-application-service/src/main/java/cn/freemud/enums/CreateOrderSceneEnum.java
View file @
52a2f97a
package
cn
.
freemud
.
enums
;
package
cn
.
freemud
.
enums
;
/**
* 仅仅用于 创建对象使用的枚举类,
* 字段code属性 暂时没有 实际价值意义
* 2021年04月09日13:51:24
*/
public
enum
CreateOrderSceneEnum
{
public
enum
CreateOrderSceneEnum
{
SAAS
(
1
,
"saas"
),
SAAS
(
1
,
"saas订单"
),
;
MEAL
(
2
,
"i围餐订单"
),
APP
(
3
,
"APP订单"
),
SAASMALL
(
4
,
"微商城订单"
);
private
Integer
code
;
private
Integer
code
;
...
...
order-application-service/src/main/java/cn/freemud/enums/UserLoginChannelEnum.java
View file @
52a2f97a
...
@@ -6,7 +6,13 @@ import lombok.Getter;
...
@@ -6,7 +6,13 @@ import lombok.Getter;
public
enum
UserLoginChannelEnum
{
public
enum
UserLoginChannelEnum
{
WEIXIN
(
"1"
,
"微信"
),
WEIXIN
(
"1"
,
"微信"
),
ALIPAY
(
"2"
,
"支付宝"
),
ALIPAY
(
"2"
,
"支付宝"
),
APP
(
"3"
,
"APP"
);
APP
(
"3"
,
"APP"
),
/**
* 抖音小程序客户端
* 根据业务代码反推添加
* 我也不知道4是什么, 有了再添加
*/
TIKTOKPAY
(
"5"
,
"抖音小程序"
);
private
String
code
;
private
String
code
;
private
String
desc
;
private
String
desc
;
...
...
order-application-service/src/main/java/cn/freemud/service/CheckOrderUniversal.java
View file @
52a2f97a
This diff is collapsed.
Click to expand it.
order-application-service/src/main/java/cn/freemud/service/adapter/OrderCheckAdapter.java
View file @
52a2f97a
package
cn
.
freemud
.
service
.
adapter
;
package
cn
.
freemud
.
service
.
adapter
;
import
cn.freemud.entities.vo.CreateOrderBaseVo
;
import
cn.freemud.entities.vo.CreateOrderVo
;
import
cn.freemud.entities.vo.CreateOrderVo
;
import
cn.freemud.enums.ResponseResult
;
import
cn.freemud.interceptor.ServiceException
;
import
cn.freemud.interceptor.ServiceException
;
import
com.freemud.application.sdk.api.storecenter.response.StoreResponse
;
import
com.freemud.application.sdk.api.storecenter.response.StoreResponse
;
import
com.google.common.collect.Lists
;
import
com.google.common.collect.Lists
;
...
@@ -45,4 +45,30 @@ public class OrderCheckAdapter {
...
@@ -45,4 +45,30 @@ public class OrderCheckAdapter {
}
}
}
}
}
}
/***
* 校验预约单门店数据 优化订单接口冗余方法
* @param vo
* @param storeResponse
* @throws ServiceException 抛出异常校验异常数据
*/
public
static
void
check
(
CreateOrderBaseVo
vo
,
StoreResponse
storeResponse
)
throws
ServiceException
{
//非预约单的过滤
if
(
Objects
.
isNull
(
vo
.
getOrderType
())
||
(!
Objects
.
equals
(
vo
.
getTakeMealFlag
(),
"1"
)))
{
return
;
}
StoreResponse
.
Configuration
configuration
=
storeResponse
.
getBizVO
().
getStoreConfig
();
if
(
Objects
.
isNull
(
configuration
)){
//针对老数据没有配置 预约单默认支持,直接返回不校验
log
.
warn
(
"商户:{},没有配置预约单"
,
vo
.
getShopId
());
return
;
}
log
.
info
(
"门店:{},外卖预约单状态:{},自提预约单状态:{}"
,
vo
.
getShopId
(),
configuration
.
getDeliveryAppoint
(),
configuration
.
getSelfMentionSwitch
());
for
(
OrderCheck
orderCheck
:
orderCheckList
)
{
if
(
orderCheck
.
support
(
vo
.
getOrderType
()))
{
orderCheck
.
check
(
null
,
storeResponse
);
return
;
}
}
}
}
}
order-application-service/src/main/java/cn/freemud/service/impl/OrderAdapterServiceImpl.java
View file @
52a2f97a
...
@@ -16,7 +16,6 @@ import cn.freemud.service.universal.UniversalOrderService;
...
@@ -16,7 +16,6 @@ import cn.freemud.service.universal.UniversalOrderService;
import
cn.freemud.service.universal.factory.CreateOrderServiceFactory
;
import
cn.freemud.service.universal.factory.CreateOrderServiceFactory
;
import
cn.freemud.utils.RedisUtil
;
import
cn.freemud.utils.RedisUtil
;
import
cn.freemud.utils.ResponseUtil
;
import
cn.freemud.utils.ResponseUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo
;
import
com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo
;
import
com.freemud.api.assortment.datamanager.enums.IappIdType
;
import
com.freemud.api.assortment.datamanager.enums.IappIdType
;
import
com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustomerInfoManager
;
import
com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustomerInfoManager
;
...
@@ -37,7 +36,6 @@ import org.springframework.stereotype.Service;
...
@@ -37,7 +36,6 @@ import org.springframework.stereotype.Service;
import
javax.validation.ConstraintViolation
;
import
javax.validation.ConstraintViolation
;
import
javax.validation.Validation
;
import
javax.validation.Validation
;
import
javax.validation.ValidatorFactory
;
import
javax.validation.ValidatorFactory
;
import
javax.annotation.Resource
;
import
java.util.Arrays
;
import
java.util.Arrays
;
import
java.util.Iterator
;
import
java.util.Iterator
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -179,6 +177,9 @@ public class OrderAdapterServiceImpl implements OrderAdapterService {
...
@@ -179,6 +177,9 @@ public class OrderAdapterServiceImpl implements OrderAdapterService {
}
}
@Override
@Override
public
BaseResponse
createOrderUniversal
(
Map
<
String
,
Object
>
param
)
{
public
BaseResponse
createOrderUniversal
(
Map
<
String
,
Object
>
param
)
{
if
(
param
.
isEmpty
())
{
throw
new
ServiceException
(
ResponseResult
.
PARAMETER_MISSING
);
}
// 商户逻辑判断 共同代码 begin
// 商户逻辑判断 共同代码 begin
String
sessionId
=
(
String
)
param
.
get
(
"sessionId"
);
String
sessionId
=
(
String
)
param
.
get
(
"sessionId"
);
if
(
StringUtils
.
isBlank
(
sessionId
))
{
if
(
StringUtils
.
isBlank
(
sessionId
))
{
...
...
order-application-service/src/main/java/cn/freemud/service/order/OrderRelationService.java
View file @
52a2f97a
...
@@ -12,6 +12,7 @@
...
@@ -12,6 +12,7 @@
package
cn
.
freemud
.
service
.
order
;
package
cn
.
freemud
.
service
.
order
;
import
cn.freemud.entities.vo.CreateOrderBaseVo
;
import
cn.freemud.entities.vo.CreateOrderVo
;
import
cn.freemud.entities.vo.CreateOrderVo
;
import
cn.freemud.entities.vo.QueryOrderResponseVo
;
import
cn.freemud.entities.vo.QueryOrderResponseVo
;
import
com.freemud.application.sdk.api.storecenter.response.StoreResponse
;
import
com.freemud.application.sdk.api.storecenter.response.StoreResponse
;
...
@@ -27,6 +28,13 @@ public interface OrderRelationService {
...
@@ -27,6 +28,13 @@ public interface OrderRelationService {
/**
/**
* 创建订单的时间检查 订单优化使用
* @param
*/
void
createOrderTimeCheck
(
StoreResponse
.
BizVO
storeResponseDto
,
CreateOrderBaseVo
createOrderVo
);
/**
* 订单详情编辑
* 订单详情编辑
* @param
* @param
*/
*/
...
...
order-application-service/src/main/java/cn/freemud/service/order/impl/CocoOrderRelationServiceImpl.java
View file @
52a2f97a
...
@@ -14,10 +14,10 @@ package cn.freemud.service.order.impl;
...
@@ -14,10 +14,10 @@ package cn.freemud.service.order.impl;
import
cn.freemud.base.util.DateUtil
;
import
cn.freemud.base.util.DateUtil
;
import
cn.freemud.entities.dto.order.BusinessDate
;
import
cn.freemud.entities.dto.order.BusinessDate
;
import
cn.freemud.entities.vo.CreateOrderBaseVo
;
import
cn.freemud.entities.vo.CreateOrderVo
;
import
cn.freemud.entities.vo.CreateOrderVo
;
import
cn.freemud.entities.vo.ProductVo
;
import
cn.freemud.entities.vo.ProductVo
;
import
cn.freemud.entities.vo.QueryOrderResponseVo
;
import
cn.freemud.entities.vo.QueryOrderResponseVo
;
import
cn.freemud.enums.ActivityTypeEnum
;
import
cn.freemud.enums.CreateOrderType
;
import
cn.freemud.enums.CreateOrderType
;
import
cn.freemud.enums.ResponseResult
;
import
cn.freemud.enums.ResponseResult
;
import
cn.freemud.interceptor.ServiceException
;
import
cn.freemud.interceptor.ServiceException
;
...
@@ -31,15 +31,12 @@ import com.freemud.sdk.api.assortment.order.enums.OldOrderAccountType;
...
@@ -31,15 +31,12 @@ import com.freemud.sdk.api.assortment.order.enums.OldOrderAccountType;
import
com.freemud.sdk.api.assortment.order.request.order.OrderProductAddInfoDto
;
import
com.freemud.sdk.api.assortment.order.request.order.OrderProductAddInfoDto
;
import
com.freemud.sdk.api.assortment.order.response.order.QueryOrderByIdResponse
;
import
com.freemud.sdk.api.assortment.order.response.order.QueryOrderByIdResponse
;
import
com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse
;
import
com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse
;
import
io.swagger.models.auth.In
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang.ObjectUtils
;
import
org.apache.commons.lang.ObjectUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.util.*
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
...
@@ -91,6 +88,41 @@ public class CocoOrderRelationServiceImpl implements OrderRelationService {
...
@@ -91,6 +88,41 @@ public class CocoOrderRelationServiceImpl implements OrderRelationService {
}
}
@Override
@Override
public
void
createOrderTimeCheck
(
StoreResponse
.
BizVO
storeResponseDto
,
CreateOrderBaseVo
createOrderVo
)
{
// 只有外卖单才做下单时间判断
if
(!
CreateOrderType
.
TAKE_OUT
.
getCode
().
equals
(
createOrderVo
.
getOrderType
())){
return
;
}
// 如果是明天的预约单,不做时间检查
// 设置预约时间
Date
takeMealDateTime
=
checkOrder
.
getOrderExpectTime
(
createOrderVo
.
getTakeMealFlag
(),
createOrderVo
.
getTakeMealTime
(),
createOrderVo
.
getExpectTime
(),
CreateOrderType
.
getByCode
(
createOrderVo
.
getOrderType
()),
storeResponseDto
.
getServiceTime
(),
storeResponseDto
);
Date
todayEnd
=
DateUtil
.
setEndDay
(
new
Date
());
if
(
takeMealDateTime
!=
null
&&
todayEnd
.
before
(
takeMealDateTime
)){
return
;
}
//获取门店当天营业时间
// coco只有一个营业时间,如果返回多个就报错
Date
todayEndDate
=
null
;
List
<
String
>
todayBusinessTimes
=
storeCenterService
.
getTodayBusinessTime
(
Integer
.
parseInt
(
storeResponseDto
.
getBusinessType
()),
storeResponseDto
.
getBusinessHoursDay
());
if
(
CollectionUtils
.
isEmpty
(
todayBusinessTimes
)
||
1
<
todayBusinessTimes
.
size
()
)
{
throw
new
ServiceException
(
ResponseResult
.
STORE_BUSINESS_HOUR_ERROR
);
}
BusinessDate
businessDate
=
checkOrder
.
getStoreBusinessDate
(
todayBusinessTimes
.
get
(
0
),
true
);
todayEndDate
=
businessDate
.
getEndDate
();
// 当前时间+15分钟 > 门店打烊时间,返回错误
Date
nowAddDate
=
DateUtil
.
addMinutes
(
new
Date
(),
15
);
if
(
nowAddDate
.
after
(
todayEndDate
)){
throw
new
ServiceException
(
ResponseResult
.
STORE_WILL_COLSE
);
}
}
@Override
public
void
queryOrdrBuild
(
QueryOrderResponseVo
queryOrderResponseVo
,
QueryOrderByIdResponse
response
)
{
public
void
queryOrdrBuild
(
QueryOrderResponseVo
queryOrderResponseVo
,
QueryOrderByIdResponse
response
)
{
List
<
QueryOrderResponseVo
.
chooseGood
>
chooseGoods
=
new
ArrayList
<>();
List
<
QueryOrderResponseVo
.
chooseGood
>
chooseGoods
=
new
ArrayList
<>();
...
...
order-application-service/src/main/java/cn/freemud/service/order/impl/PlatformOrderRelationServiceImpl.java
View file @
52a2f97a
...
@@ -12,6 +12,7 @@
...
@@ -12,6 +12,7 @@
package
cn
.
freemud
.
service
.
order
.
impl
;
package
cn
.
freemud
.
service
.
order
.
impl
;
import
cn.freemud.entities.vo.CreateOrderBaseVo
;
import
cn.freemud.entities.vo.CreateOrderVo
;
import
cn.freemud.entities.vo.CreateOrderVo
;
import
cn.freemud.entities.vo.QueryOrderResponseVo
;
import
cn.freemud.entities.vo.QueryOrderResponseVo
;
import
cn.freemud.service.order.OrderRelationService
;
import
cn.freemud.service.order.OrderRelationService
;
...
@@ -28,6 +29,11 @@ public class PlatformOrderRelationServiceImpl implements OrderRelationService {
...
@@ -28,6 +29,11 @@ public class PlatformOrderRelationServiceImpl implements OrderRelationService {
}
}
@Override
@Override
public
void
createOrderTimeCheck
(
StoreResponse
.
BizVO
storeResponseDto
,
CreateOrderBaseVo
createOrderVo
)
{
}
@Override
public
void
queryOrdrBuild
(
QueryOrderResponseVo
queryOrderResponseVo
,
QueryOrderByIdResponse
response
)
{
public
void
queryOrdrBuild
(
QueryOrderResponseVo
queryOrderResponseVo
,
QueryOrderByIdResponse
response
)
{
}
}
...
...
order-application-service/src/main/java/cn/freemud/service/universal/UniversalOrderService.java
View file @
52a2f97a
...
@@ -21,9 +21,8 @@ import cn.freemud.entities.vo.*;
...
@@ -21,9 +21,8 @@ import cn.freemud.entities.vo.*;
import
cn.freemud.enums.*
;
import
cn.freemud.enums.*
;
import
cn.freemud.interceptor.ServiceException
;
import
cn.freemud.interceptor.ServiceException
;
import
cn.freemud.redis.RedisCache
;
import
cn.freemud.redis.RedisCache
;
import
cn.freemud.service.OrderAdapterService
;
import
cn.freemud.service.CheckOrderUniversal
;
import
cn.freemud.service.CheckOrderUniversal
;
import
cn.freemud.service.
impl.CheckOrderSaas
;
import
cn.freemud.service.
OrderAdapterService
;
import
cn.freemud.service.thirdparty.ComPayClient
;
import
cn.freemud.service.thirdparty.ComPayClient
;
import
cn.freemud.service.thirdparty.SvcComPayClient
;
import
cn.freemud.service.thirdparty.SvcComPayClient
;
import
cn.freemud.service.universal.factory.CreateOrderServiceFactory
;
import
cn.freemud.service.universal.factory.CreateOrderServiceFactory
;
...
@@ -181,6 +180,8 @@ public abstract class UniversalOrderService {
...
@@ -181,6 +180,8 @@ public abstract class UniversalOrderService {
String
trackingNo
=
LogThreadLocal
.
getTrackingNo
();
String
trackingNo
=
LogThreadLocal
.
getTrackingNo
();
//参数校验是否满足 标签注解
//参数校验是否满足 标签注解
validParam
(
createOrderBaseVo
);
validParam
(
createOrderBaseVo
);
// 组装业务对象
CreateOrderBo
createOrderBo
=
getCreateOrderBo
(
createOrderBaseVo
,
userLoginInfoDto
,
trackingNo
);
CreateOrderBo
createOrderBo
=
getCreateOrderBo
(
createOrderBaseVo
,
userLoginInfoDto
,
trackingNo
);
createOrderBo
.
setCreateOrderScene
(
createOrderSceneEnum
);
createOrderBo
.
setCreateOrderScene
(
createOrderSceneEnum
);
...
@@ -228,8 +229,10 @@ public abstract class UniversalOrderService {
...
@@ -228,8 +229,10 @@ public abstract class UniversalOrderService {
}
}
public
void
getUniversalCreateOrderBo
(
CreateOrderBo
createOrderBo
,
CreateOrderBaseVo
createOrderBaseVo
,
AssortmentCustomerInfoVo
userLoginInfoDto
)
{
public
void
getUniversalCreateOrderBo
(
CreateOrderBo
createOrderBo
,
CreateOrderBaseVo
createOrderBaseVo
,
AssortmentCustomerInfoVo
userLoginInfoDto
)
{
createOrderBaseVo
.
setUserId
(
userLoginInfoDto
.
getMemberId
());
createOrderBo
.
setCreateOrderBaseVo
(
createOrderBaseVo
);
createOrderBo
.
setCreateOrderBaseVo
(
createOrderBaseVo
);
createOrderBo
.
setUserLoginInfoDto
(
userLoginInfoDto
);
createOrderBo
.
setUserLoginInfoDto
(
userLoginInfoDto
);
}
}
/**
/**
...
@@ -251,6 +254,7 @@ public abstract class UniversalOrderService {
...
@@ -251,6 +254,7 @@ public abstract class UniversalOrderService {
* @return
* @return
*/
*/
public
BaseResponse
createSharedOrder
(
CreateOrderBo
createOrderBo
)
{
public
BaseResponse
createSharedOrder
(
CreateOrderBo
createOrderBo
)
{
// fisherman 一坨坨的地方
createOrderBo
.
setCreateOrderRequest
(
createOrderAdapter
.
convent2CreateOrderRequest
(
createOrderBo
));
createOrderBo
.
setCreateOrderRequest
(
createOrderAdapter
.
convent2CreateOrderRequest
(
createOrderBo
));
CreateOrderRequest
request
=
createOrderAdapter
.
convent2CustomCreateOrderRequest
(
createOrderBo
);
CreateOrderRequest
request
=
createOrderAdapter
.
convent2CustomCreateOrderRequest
(
createOrderBo
);
// 发送 /order/v2/create 请求
// 发送 /order/v2/create 请求
...
@@ -261,7 +265,7 @@ public abstract class UniversalOrderService {
...
@@ -261,7 +265,7 @@ public abstract class UniversalOrderService {
return
ResponseUtil
.
error
(
createOrderResponse
.
getErrcode
().
toString
(),
createOrderResponse
.
getErrmsg
(),
null
);
return
ResponseUtil
.
error
(
createOrderResponse
.
getErrcode
().
toString
(),
createOrderResponse
.
getErrmsg
(),
null
);
}
}
// 初始化扣减活动库存请求对象
fisherman-> 考虑 是否可以提取
// 初始化扣减活动库存请求对象
ActivityUpdateStockRequest
activityUpdateStockRequest
=
this
.
initActivityUpdateStockRequest
(
createOrderBo
);
ActivityUpdateStockRequest
activityUpdateStockRequest
=
this
.
initActivityUpdateStockRequest
(
createOrderBo
);
MqMessageRequest
mqMessageRequest
=
new
MqMessageRequest
();
MqMessageRequest
mqMessageRequest
=
new
MqMessageRequest
();
mqMessageRequest
.
setBackOrdersNotifyActivityExchange
(
backOrdersNotifyActivityExchange
);
mqMessageRequest
.
setBackOrdersNotifyActivityExchange
(
backOrdersNotifyActivityExchange
);
...
@@ -510,6 +514,8 @@ public abstract class UniversalOrderService {
...
@@ -510,6 +514,8 @@ public abstract class UniversalOrderService {
serviceTime
=
50
;
serviceTime
=
50
;
}
}
orderExtInfoDto
.
setServiceTime
(
serviceTime
);
orderExtInfoDto
.
setServiceTime
(
serviceTime
);
// pushOrderTime 在master 版本中 一直都是 0
orderExtInfoDto
.
setPushOrderTime
(
0
);
orderExtInfoDto
.
setVersion
(
version
);
orderExtInfoDto
.
setVersion
(
version
);
if
(
memberCard
!=
null
&&
memberCard
.
getRuleId
()
!=
null
)
{
if
(
memberCard
!=
null
&&
memberCard
.
getRuleId
()
!=
null
)
{
orderExtInfoDto
.
setRuleId
(
memberCard
.
getRuleId
());
orderExtInfoDto
.
setRuleId
(
memberCard
.
getRuleId
());
...
...
order-application-service/src/main/java/cn/freemud/service/universal/factory/CreateOrderServiceFactory.java
View file @
52a2f97a
package
cn
.
freemud
.
service
.
universal
.
factory
;
package
cn
.
freemud
.
service
.
universal
.
factory
;
import
cn.freemud.entities.vo.CreateOrderAppVo
;
import
cn.freemud.entities.vo.CreateOrderBaseVo
;
import
cn.freemud.entities.vo.CreateOrderBaseVo
;
import
cn.freemud.entities.vo.CreateOrderSaasMallVo
;
import
cn.freemud.entities.vo.CreateOrderSaasVo
;
import
cn.freemud.entities.vo.CreateOrderSaasVo
;
import
cn.freemud.enums.CreateOrderSceneEnum
;
import
cn.freemud.enums.CreateOrderSceneEnum
;
import
cn.freemud.enums.OrderChannelType
;
import
cn.freemud.enums.ResponseResult
;
import
cn.freemud.enums.UserLoginChannelEnum
;
import
cn.freemud.interceptor.ServiceException
;
import
cn.freemud.service.CheckOrderUniversal
;
import
cn.freemud.service.CheckOrderUniversal
;
import
cn.freemud.service.universal.UniversalOrderService
;
import
cn.freemud.service.universal.UniversalOrderService
;
import
cn.freemud.service.universal.impl.AppOrderService
;
import
cn.freemud.service.universal.impl.SaasMallOrderService
;
import
cn.freemud.service.universal.impl.SaasOrderService
;
import
cn.freemud.service.universal.impl.SaasOrderService
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo
;
import
com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo
;
import
com.freemud.api.assortment.datamanager.enums.IappIdType
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.ApplicationContext
;
import
org.springframework.context.ApplicationContext
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.Map
;
import
java.util.Map
;
import
java.util.Objects
;
@Service
@Service
public
class
CreateOrderServiceFactory
{
public
class
CreateOrderServiceFactory
{
...
@@ -28,22 +38,45 @@ public class CreateOrderServiceFactory {
...
@@ -28,22 +38,45 @@ public class CreateOrderServiceFactory {
* @return
* @return
*/
*/
public
CreateOrderSceneEnum
getCreateOrderScene
(
Map
<
String
,
Object
>
param
,
AssortmentCustomerInfoVo
assortmentCustomerInfoVo
)
{
public
CreateOrderSceneEnum
getCreateOrderScene
(
Map
<
String
,
Object
>
param
,
AssortmentCustomerInfoVo
assortmentCustomerInfoVo
)
{
// 围餐
if
(
IappIdType
.
WC_XCX
.
getCode
().
equals
(
assortmentCustomerInfoVo
.
getIappId
()))
{
//i围餐
if
(
true
)
{
// 围餐 暂时不接入
throw
new
ServiceException
(
ResponseResult
.
SYSTEM_BUSINESS_ERROR
,
"围餐暂不接入"
);
}
return
CreateOrderSceneEnum
.
MEAL
;
}
if
(
UserLoginChannelEnum
.
APP
.
getCode
().
equals
(
assortmentCustomerInfoVo
.
getChannel
()))
{
// APP订单
return
CreateOrderSceneEnum
.
APP
;
}
Object
channelType
=
param
.
get
(
"channelType"
);
if
(
Objects
.
nonNull
(
channelType
)
&&
(
OrderChannelType
.
SAASMALL
.
getCode
().
equals
(
channelType
)))
{
// 商城订单
return
CreateOrderSceneEnum
.
SAASMALL
;
}
// 其他类型 为saas订单
return
CreateOrderSceneEnum
.
SAAS
;
return
CreateOrderSceneEnum
.
SAAS
;
}
}
/**
/**
* 获取实体类对应 调用参数
* 获取实体类对应 调用参数
*
*
fisherman 各个订单的入参类型 暂时没区分
* @param param
* @param param
* @param createOrderSceneEnum
* @param createOrderSceneEnum
* @return
* @return
*/
*/
public
CreateOrderBaseVo
getCreateOrderVo
(
Map
<
String
,
Object
>
param
,
CreateOrderSceneEnum
createOrderSceneEnum
)
{
public
CreateOrderBaseVo
getCreateOrderVo
(
Map
<
String
,
Object
>
param
,
CreateOrderSceneEnum
createOrderSceneEnum
)
{
switch
(
createOrderSceneEnum
)
{
switch
(
createOrderSceneEnum
)
{
case
SAAS:
case
SAAS:
// SAAS
return
JSON
.
parseObject
(
JSON
.
toJSONString
(
param
),
CreateOrderSaasVo
.
class
);
return
JSON
.
parseObject
(
JSON
.
toJSONString
(
param
),
CreateOrderSaasVo
.
class
);
case
SAASMALL:
// 商城
return
JSON
.
parseObject
(
JSON
.
toJSONString
(
param
),
CreateOrderSaasMallVo
.
class
);
case
APP:
// APP订单
return
JSON
.
parseObject
(
JSON
.
toJSONString
(
param
),
CreateOrderAppVo
.
class
);
default
:
default
:
return
JSON
.
parseObject
(
JSON
.
toJSONString
(
param
),
CreateOrderSaasVo
.
class
);
throw
new
ServiceException
(
ResponseResult
.
SYSTEM_BUSINESS_ERROR
,
"CreateOrderSceneEnum 类型错误 :"
+
createOrderSceneEnum
);
}
}
}
}
...
@@ -57,6 +90,13 @@ public class CreateOrderServiceFactory {
...
@@ -57,6 +90,13 @@ public class CreateOrderServiceFactory {
switch
(
createOrderSceneEnum
)
{
switch
(
createOrderSceneEnum
)
{
case
SAAS:
case
SAAS:
return
applicationContext
.
getBean
(
"saasOrderService"
,
SaasOrderService
.
class
);
return
applicationContext
.
getBean
(
"saasOrderService"
,
SaasOrderService
.
class
);
case
SAASMALL:
return
applicationContext
.
getBean
(
"saasMallOrderService"
,
SaasMallOrderService
.
class
);
case
APP:
return
applicationContext
.
getBean
(
"appOrderService"
,
AppOrderService
.
class
);
// 不支持围餐订单
// case MEAL:
// return applicationContext.getBean("mealOrderService", MealOrderService.class);
default
:
default
:
return
applicationContext
.
getBean
(
"saasOrderService"
,
SaasOrderService
.
class
);
return
applicationContext
.
getBean
(
"saasOrderService"
,
SaasOrderService
.
class
);
}
}
...
...
order-application-service/src/main/java/cn/freemud/service/universal/impl/AppOrderService.java
0 → 100644
View file @
52a2f97a
package
cn
.
freemud
.
service
.
universal
.
impl
;
import
cn.freemud.entities.bo.CreateOrderBo
;
import
cn.freemud.entities.vo.CreateOrderBaseVo
;
import
cn.freemud.service.universal.UniversalOrderService
;
import
org.springframework.stereotype.Service
;
/**
* @author : xh.Z
* @email : fisherman0510@163.com
* @Date : 2021/4/9 下午2:31
* @description : app订单
*/
@Service
public
class
AppOrderService
extends
UniversalOrderService
{
@Override
public
void
getCustomCreateOrderBo
(
CreateOrderBo
createOrderBo
)
{
}
@Override
public
void
validParam
(
CreateOrderBaseVo
createOrderBaseVo
)
{
}
@Override
public
void
getExtInfoCustom
(
CreateOrderBo
createOrderBo
)
{
}
}
order-application-service/src/main/java/cn/freemud/service/universal/impl/MealOrderService.java
0 → 100644
View file @
52a2f97a
package
cn
.
freemud
.
service
.
universal
.
impl
;
import
cn.freemud.entities.bo.CreateOrderBo
;
import
cn.freemud.entities.vo.CreateOrderBaseVo
;
import
cn.freemud.enums.ResponseResult
;
import
cn.freemud.interceptor.ServiceException
;
import
cn.freemud.service.universal.UniversalOrderService
;
import
org.springframework.stereotype.Service
;
/**
* @author : xh.Z
* @email : fisherman0510@163.com
* @Date : 2021/4/9 上午11:36
* @description : 围餐操作 fisherman 没搞完 2021年04月09日11:52:06
*/
@Service
public
class
MealOrderService
extends
UniversalOrderService
{
@Override
public
void
getCustomCreateOrderBo
(
CreateOrderBo
createOrderBo
)
{
}
@Override
public
void
validParam
(
CreateOrderBaseVo
createOrderBaseVo
)
{
if
(
createOrderBaseVo
.
getOperation
()
==
null
)
{
throw
new
ServiceException
(
ResponseResult
.
ORDER_CREATE_OPERATION_ERROR
);
}
}
@Override
public
void
getExtInfoCustom
(
CreateOrderBo
createOrderBo
)
{
}
}
order-application-service/src/main/java/cn/freemud/service/universal/impl/SaasMallOrderService.java
0 → 100644
View file @
52a2f97a
package
cn
.
freemud
.
service
.
universal
.
impl
;
import
cn.freemud.entities.bo.CreateOrderBo
;
import
cn.freemud.entities.vo.CreateOrderBaseVo
;
import
cn.freemud.service.universal.UniversalOrderService
;
import
org.springframework.stereotype.Service
;
/**
* @author : xh.Z
* @email : fisherman0510@163.com
* @Date : 2021/4/9 下午2:30
* @description : 商城订单
*/
@Service
public
class
SaasMallOrderService
extends
UniversalOrderService
{
@Override
public
void
getCustomCreateOrderBo
(
CreateOrderBo
createOrderBo
)
{
}
@Override
public
void
validParam
(
CreateOrderBaseVo
createOrderBaseVo
)
{
}
@Override
public
void
getExtInfoCustom
(
CreateOrderBo
createOrderBo
)
{
}
}
order-application-service/src/main/java/cn/freemud/service/universal/impl/SaasOrderService.java
View file @
52a2f97a
package
cn
.
freemud
.
service
.
universal
.
impl
;
package
cn
.
freemud
.
service
.
universal
.
impl
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.entities.bo.CreateOrderBo
;
import
cn.freemud.entities.bo.CreateOrderBo
;
import
cn.freemud.entities.dto.order.CreatePrepayRequestDto
;
import
cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto
;
import
cn.freemud.entities.vo.CreateOrderBaseVo
;
import
cn.freemud.entities.vo.CreateOrderBaseVo
;
import
cn.freemud.entities.vo.CreateOrderSaasVo
;
import
cn.freemud.entities.vo.CreateOrderSaasVo
;
import
cn.freemud.enums.ResponseResult
;
import
cn.freemud.enums.ResponseResult
;
import
cn.freemud.interceptor.ServiceException
;
import
cn.freemud.interceptor.ServiceException
;
import
cn.freemud.service.universal.UniversalOrderService
;
import
cn.freemud.service.universal.UniversalOrderService
;
import
cn.freemud.utils.ResponseUtil
;
import
com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo
;
import
com.freemud.application.sdk.api.storecenter.response.StoreResponse
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.hibernate.validator.HibernateValidator
;
import
org.hibernate.validator.HibernateValidator
;
import
org.hibernate.validator.HibernateValidatorConfiguration
;
import
org.hibernate.validator.HibernateValidatorConfiguration
;
...
@@ -21,7 +15,6 @@ import javax.validation.ConstraintViolation;
...
@@ -21,7 +15,6 @@ import javax.validation.ConstraintViolation;
import
javax.validation.Validation
;
import
javax.validation.Validation
;
import
javax.validation.ValidatorFactory
;
import
javax.validation.ValidatorFactory
;
import
java.util.Iterator
;
import
java.util.Iterator
;
import
java.util.Map
;
import
java.util.Set
;
import
java.util.Set
;
@Service
@Service
...
...
order-application-service/src/test/java/cn.freemud/controller/OrderControllerTest.java
View file @
52a2f97a
...
@@ -14,6 +14,11 @@ import org.springframework.test.web.servlet.MockMvc;
...
@@ -14,6 +14,11 @@ import org.springframework.test.web.servlet.MockMvc;
import
org.springframework.test.web.servlet.setup.MockMvcBuilders
;
import
org.springframework.test.web.servlet.setup.MockMvcBuilders
;
import
org.springframework.web.context.WebApplicationContext
;
import
org.springframework.web.context.WebApplicationContext
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
static
org
.
springframework
.
test
.
web
.
servlet
.
request
.
MockMvcRequestBuilders
.
post
;
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
.
MockMvcResultHandlers
.
print
;
import
static
org
.
springframework
.
test
.
web
.
servlet
.
result
.
MockMvcResultMatchers
.
jsonPath
;
import
static
org
.
springframework
.
test
.
web
.
servlet
.
result
.
MockMvcResultMatchers
.
jsonPath
;
...
@@ -65,6 +70,70 @@ public class OrderControllerTest {
...
@@ -65,6 +70,70 @@ public class OrderControllerTest {
}
}
}
}
@Test
public
void
newCreateOrder
()
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"actualPayAmount"
,
1
);
map
.
put
(
"appId"
,
"wxb78fb7c6218cb52c"
);
map
.
put
(
"barCounter"
,
""
);
map
.
put
(
"bizType"
,
"1"
);
List
<
Map
<
String
,
Object
>>
delivery
=
new
ArrayList
<>();
Map
<
String
,
Object
>
deliveryMap
=
new
HashMap
<>();
deliveryMap
.
put
(
"addressDetail"
,
"南华路与德华路交叉路口往西北约200米(大润发北侧)"
);
deliveryMap
.
put
(
"contactsName"
,
"晓航"
);
deliveryMap
.
put
(
"extInfo"
,
"{}"
);
deliveryMap
.
put
(
"infoType"
,
"1"
);
deliveryMap
.
put
(
"mobile"
,
"18868926846"
);
deliveryMap
.
put
(
"relateObjectType"
,
1
);
delivery
.
add
(
deliveryMap
);
map
.
put
(
"deliveryContactInfoList"
,
delivery
);
map
.
put
(
"note"
,
""
);
map
.
put
(
"operator"
,
"晓航"
);
map
.
put
(
"orderClient"
,
2
);
map
.
put
(
"orderCostDetailList"
,
"[]"
);
Map
<
String
,
Object
>
orderExtendedMap
=
new
HashMap
<>();
orderExtendedMap
.
put
(
"orderClientGroup"
,
"测试门店-1"
);
orderExtendedMap
.
put
(
"orderClientGroupCode"
,
"20001"
);
map
.
put
(
"orderExtended"
,
orderExtendedMap
);
List
<
Map
<
String
,
Object
>>
orderItemList
=
new
ArrayList
<>();
Map
<
String
,
Object
>
orderItemListMap
=
new
HashMap
<>();
orderItemListMap
.
put
(
"canRefund"
,
true
);
orderItemListMap
.
put
(
"extInfo"
,
"{\"cartGoodsUid\":\"ff3363c8-72cb-4280-b7b9-7cfe4234ad8e\",\"isSendGoods\":false,\"stapleFood\":0,\"tax\":0.01}"
);
orderItemListMap
.
put
(
"ignoreInOrderClose"
,
false
);
orderItemListMap
.
put
(
"isDeleted"
,
false
);
orderItemListMap
.
put
(
"packPrice"
,
0
);
orderItemListMap
.
put
(
"partnerId"
,
"1864"
);
orderItemListMap
.
put
(
"productCode"
,
""
);
orderItemListMap
.
put
(
"productForeignName"
,
""
);
orderItemListMap
.
put
(
"productForeignProperty"
,
""
);
orderItemListMap
.
put
(
"productForeignSpecName"
,
""
);
orderItemListMap
.
put
(
"productId"
,
"195422818929983527"
);
orderItemListMap
.
put
(
"productName"
,
"草莓"
);
orderItemListMap
.
put
(
"productPicUrl"
,
"https://picture.sandload.cn/1609146623369.jpg"
);
orderItemListMap
.
put
(
"productPrice"
,
"1"
);
orderItemListMap
.
put
(
"packPrice"
,
""
);
orderItemListMap
.
put
(
"packPrice"
,
""
);
orderItemListMap
.
put
(
"relateObjectType"
,
1
);
orderItemList
.
add
(
orderItemListMap
);
map
.
put
(
"orderItemList"
,
orderItemList
);
//map.put("", );
try
{
mockMvc
.
perform
(
post
(
"/item/getMenuCategory"
).
content
(
map
.
toString
()).
contentType
(
MediaType
.
APPLICATION_JSON_UTF8
).
accept
(
MediaType
.
APPLICATION_JSON_UTF8
)).
andDo
(
print
()).
andExpect
(
jsonPath
(
"$.code"
).
value
(
"100"
));
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
/**
/**
* 订单支付成功后通知
* 订单支付成功后通知
*/
*/
...
...
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