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
8a6a793b
Commit
8a6a793b
authored
Jul 30, 2021
by
周晓航
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
预定单开发
Signed-off-by: 周晓航 <xiaohang.zhou@freemud.com>
parent
79a6d6cd
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
56 additions
and
21 deletions
+56
-21
order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
+1
-0
order-application-service/src/main/java/cn/freemud/entities/vo/CreateOrderVo.java
+11
-0
order-application-service/src/main/java/cn/freemud/service/adapter/OrderCheckAdapter.java
+1
-1
order-application-service/src/main/java/cn/freemud/service/impl/AppOrderServiceImpl.java
+1
-2
order-application-service/src/main/java/cn/freemud/service/impl/CheckOrder.java
+27
-15
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
+3
-0
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/enums/BizTypeEnum.java
+3
-3
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/request/OrderExtendedReq.java
+9
-0
No files found.
order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
View file @
8a6a793b
...
@@ -679,6 +679,7 @@ public class OrderAdapter {
...
@@ -679,6 +679,7 @@ public class OrderAdapter {
// log.debug("getCreateOrderDto sessionId:{},createOrderVo:{}",createOrderVo.getSessionId(),JSON.toJSONString(createOrderVo));
// log.debug("getCreateOrderDto sessionId:{},createOrderVo:{}",createOrderVo.getSessionId(),JSON.toJSONString(createOrderVo));
Integer
orderType
;
Integer
orderType
;
String
receiveAddress
=
createOrderVo
.
getStoreAddress
();
String
receiveAddress
=
createOrderVo
.
getStoreAddress
();
// fisherman -> 爱马哥 orderType落库的类型处理
if
(
Objects
.
equals
(
createOrderVo
.
getOrderType
(),
CreateOrderType
.
TAKE_OUT
.
getCode
()))
{
if
(
Objects
.
equals
(
createOrderVo
.
getOrderType
(),
CreateOrderType
.
TAKE_OUT
.
getCode
()))
{
orderType
=
OrderType
.
TAKE_OUT
.
getCode
();
orderType
=
OrderType
.
TAKE_OUT
.
getCode
();
receiveAddress
=
(
userDeliveryInfoDto
!=
null
?
userDeliveryInfoDto
.
getReceiveOfficeName
()
+
","
+
userDeliveryInfoDto
.
getReceiveAddress
()
:
""
);
receiveAddress
=
(
userDeliveryInfoDto
!=
null
?
userDeliveryInfoDto
.
getReceiveOfficeName
()
+
","
+
userDeliveryInfoDto
.
getReceiveAddress
()
:
""
);
...
...
order-application-service/src/main/java/cn/freemud/entities/vo/CreateOrderVo.java
View file @
8a6a793b
...
@@ -270,6 +270,17 @@ public class CreateOrderVo {
...
@@ -270,6 +270,17 @@ public class CreateOrderVo {
private
String
monthlyCardCode
;
private
String
monthlyCardCode
;
/**
/**
* 预定单的 您的电话
*/
private
String
userPhone
;
/**
* 预定单 蛋糕寄语(额外祝福语) 最多20个字
*/
private
String
sendWord
;
/**
* 是否使用电子风味卡,如果不为空则为使用
* 是否使用电子风味卡,如果不为空则为使用
*/
*/
@Valid
@Valid
...
...
order-application-service/src/main/java/cn/freemud/service/adapter/OrderCheckAdapter.java
View file @
8a6a793b
...
@@ -3,7 +3,7 @@ package cn.freemud.service.adapter;
...
@@ -3,7 +3,7 @@ package cn.freemud.service.adapter;
import
cn.freemud.entities.vo.CreateOrderBaseVo
;
import
cn.freemud.entities.vo.CreateOrderBaseVo
;
import
cn.freemud.entities.vo.CreateOrderVo
;
import
cn.freemud.entities.vo.CreateOrderVo
;
import
c
n.freemud
.enums.BizTypeEnum
;
import
c
om.freemud.application.sdk.api.ordercenter
.enums.BizTypeEnum
;
import
cn.freemud.interceptor.ServiceException
;
import
cn.freemud.interceptor.ServiceException
;
import
cn.freemud.utils.AppLogUtil
;
import
cn.freemud.utils.AppLogUtil
;
import
com.freemud.application.sdk.api.storecenter.response.StoreResponse
;
import
com.freemud.application.sdk.api.storecenter.response.StoreResponse
;
...
...
order-application-service/src/main/java/cn/freemud/service/impl/AppOrderServiceImpl.java
View file @
8a6a793b
...
@@ -3,7 +3,6 @@ package cn.freemud.service.impl;
...
@@ -3,7 +3,6 @@ package cn.freemud.service.impl;
import
cn.freemud.adapter.OrderAdapter
;
import
cn.freemud.adapter.OrderAdapter
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.constant.ResponseCodeConstant
;
import
cn.freemud.constant.ResponseCodeConstant
;
import
cn.freemud.constant.ShoppingCartConstant
;
import
cn.freemud.entities.dto.ConfirmOrderDto
;
import
cn.freemud.entities.dto.ConfirmOrderDto
;
import
cn.freemud.entities.dto.QueryOrdersResponseDto
;
import
cn.freemud.entities.dto.QueryOrdersResponseDto
;
import
cn.freemud.entities.dto.coupon.InvalidCouponsRequestDto
;
import
cn.freemud.entities.dto.coupon.InvalidCouponsRequestDto
;
...
@@ -29,6 +28,7 @@ import com.freemud.application.sdk.api.base.SDKCommonBaseContextWare;
...
@@ -29,6 +28,7 @@ import com.freemud.application.sdk.api.base.SDKCommonBaseContextWare;
import
com.freemud.application.sdk.api.constant.ResponseResultEnum
;
import
com.freemud.application.sdk.api.constant.ResponseResultEnum
;
import
com.freemud.application.sdk.api.log.LogThreadLocal
;
import
com.freemud.application.sdk.api.log.LogThreadLocal
;
import
com.freemud.application.sdk.api.ordercenter.enums.AfterSalesType
;
import
com.freemud.application.sdk.api.ordercenter.enums.AfterSalesType
;
import
com.freemud.application.sdk.api.ordercenter.enums.BizTypeEnum
;
import
com.freemud.application.sdk.api.ordercenter.enums.OrderClientType
;
import
com.freemud.application.sdk.api.ordercenter.enums.OrderClientType
;
import
com.freemud.application.sdk.api.ordercenter.request.OrderExtInfoDto
;
import
com.freemud.application.sdk.api.ordercenter.request.OrderExtInfoDto
;
import
com.freemud.application.sdk.api.ordercenter.request.create.CreateOrderRequest
;
import
com.freemud.application.sdk.api.ordercenter.request.create.CreateOrderRequest
;
...
@@ -63,7 +63,6 @@ import org.springframework.stereotype.Service;
...
@@ -63,7 +63,6 @@ import org.springframework.stereotype.Service;
import
java.util.*
;
import
java.util.*
;
import
java.util.concurrent.TimeUnit
;
import
java.util.concurrent.TimeUnit
;
import
java.util.concurrent.atomic.AtomicReference
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
@Service
@Service
...
...
order-application-service/src/main/java/cn/freemud/service/impl/CheckOrder.java
View file @
8a6a793b
...
@@ -50,7 +50,6 @@ import com.freemud.api.assortment.datamanager.manager.AssortmentOpenPlatformIapp
...
@@ -50,7 +50,6 @@ import com.freemud.api.assortment.datamanager.manager.AssortmentOpenPlatformIapp
import
com.freemud.api.assortment.datamanager.manager.AssortmentOpenPlatformPartnerStoreDeliveryConfigManager
;
import
com.freemud.api.assortment.datamanager.manager.AssortmentOpenPlatformPartnerStoreDeliveryConfigManager
;
import
com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustomerInfoManager
;
import
com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustomerInfoManager
;
import
com.freemud.application.sdk.api.base.BaseResponse
;
import
com.freemud.application.sdk.api.base.BaseResponse
;
import
com.freemud.application.sdk.api.log.ApiLog
;
import
com.freemud.application.sdk.api.log.LogThreadLocal
;
import
com.freemud.application.sdk.api.log.LogThreadLocal
;
import
com.freemud.application.sdk.api.membercenter.request.QueryReceiveAddressRequest
;
import
com.freemud.application.sdk.api.membercenter.request.QueryReceiveAddressRequest
;
import
com.freemud.application.sdk.api.membercenter.request.StatisticalPropertyRequest
;
import
com.freemud.application.sdk.api.membercenter.request.StatisticalPropertyRequest
;
...
@@ -58,6 +57,7 @@ import com.freemud.application.sdk.api.membercenter.response.GetSvcInfoByMemberI
...
@@ -58,6 +57,7 @@ import com.freemud.application.sdk.api.membercenter.response.GetSvcInfoByMemberI
import
com.freemud.application.sdk.api.membercenter.response.QueryReceiveAddressResponse
;
import
com.freemud.application.sdk.api.membercenter.response.QueryReceiveAddressResponse
;
import
com.freemud.application.sdk.api.membercenter.service.MemberCenterService
;
import
com.freemud.application.sdk.api.membercenter.service.MemberCenterService
;
import
com.freemud.application.sdk.api.membercenter.service.MemberPropertyService
;
import
com.freemud.application.sdk.api.membercenter.service.MemberPropertyService
;
import
com.freemud.application.sdk.api.ordercenter.enums.BizTypeEnum
;
import
com.freemud.application.sdk.api.paymentcenter.client.service.PaymentNewService
;
import
com.freemud.application.sdk.api.paymentcenter.client.service.PaymentNewService
;
import
com.freemud.application.sdk.api.storecenter.request.QueryDeliveryRequest
;
import
com.freemud.application.sdk.api.storecenter.request.QueryDeliveryRequest
;
import
com.freemud.application.sdk.api.storecenter.request.StoreInfoRequest
;
import
com.freemud.application.sdk.api.storecenter.request.StoreInfoRequest
;
...
@@ -271,24 +271,21 @@ public class CheckOrder {
...
@@ -271,24 +271,21 @@ public class CheckOrder {
CreateOrderType
.
TAKE_OUT
.
getCode
().
equals
(
createOrderVo
.
getOrderType
())))
{
CreateOrderType
.
TAKE_OUT
.
getCode
().
equals
(
createOrderVo
.
getOrderType
())))
{
throw
new
ServiceException
(
ResponseResult
.
PARAMETER_MISSING
);
throw
new
ServiceException
(
ResponseResult
.
PARAMETER_MISSING
);
}
}
// fisherman-ka 预定单-> 预订时间 校验
if
(
Objects
.
nonNull
(
createOrderVo
.
getBizType
())
&&
BizTypeEnum
.
ADVANCE_ORDER
.
getBizType
().
compareTo
(
createOrderVo
.
getBizType
())
==
0
)
{
// 取餐时间
String
takeMealTimes
=
createOrderVo
.
getTakeMealTime
();
if
(
Objects
.
isNull
(
takeMealTimes
))
{
throw
new
ServiceException
(
ResponseResult
.
PARAMETER_MISSING
);
}
}
// TODO: 2020/6/16 门店校验处理
// TODO: 2020/6/16 门店校验处理
// 取餐标识 -> 0 我已到店 1预约单
// 取餐标识 -> 0 我已到店 1预约单
String
takeMealFlag
=
createOrderVo
.
getTakeMealFlag
();
String
takeMealFlag
=
createOrderVo
.
getTakeMealFlag
();
// 取餐时间
// 取餐时间
String
takeMealTimes
=
createOrderVo
.
getTakeMealTime
();
String
takeMealTimes
=
createOrderVo
.
getTakeMealTime
();
// fisherman-ka 预定单-> 预订时间 校验
//立即送达
boolean
isAdvanceOrder
=
this
.
getIsAdvanceOrder
(
createOrderVo
.
getBizType
());
if
(
isAdvanceOrder
)
{
// 预定单 到店&外卖 必须有取餐时间
if
(
Objects
.
isNull
(
takeMealTimes
))
{
throw
new
ServiceException
(
ResponseResult
.
PARAMETER_MISSING
);
}
}
//立即送达 预定单不会走立即送达
if
(
"0"
.
equals
(
takeMealFlag
)
||
(
StringUtils
.
isEmpty
(
createOrderVo
.
getExpectTime
())
&&
StringUtils
.
isEmpty
(
takeMealTimes
)))
{
if
(
"0"
.
equals
(
takeMealFlag
)
||
(
StringUtils
.
isEmpty
(
createOrderVo
.
getExpectTime
())
&&
StringUtils
.
isEmpty
(
takeMealTimes
)))
{
//未营业无预约时间无法下单
//未营业无预约时间无法下单
if
(!
StoreConstant
.
BUSINESS
.
equals
(
storeResponseDto
.
getState
()))
{
if
(!
StoreConstant
.
BUSINESS
.
equals
(
storeResponseDto
.
getState
()))
{
...
@@ -306,8 +303,13 @@ public class CheckOrder {
...
@@ -306,8 +303,13 @@ public class CheckOrder {
Date
takeMealDateTime
=
getOrderExpectTime
(
takeMealFlag
,
takeMealTimes
,
createOrderVo
.
getExpectTime
(),
Date
takeMealDateTime
=
getOrderExpectTime
(
takeMealFlag
,
takeMealTimes
,
createOrderVo
.
getExpectTime
(),
CreateOrderType
.
getByCode
(
createOrderVo
.
getOrderType
()),
storeResponseDto
.
getServiceTime
(),
storeResponseDto
);
CreateOrderType
.
getByCode
(
createOrderVo
.
getOrderType
()),
storeResponseDto
.
getServiceTime
(),
storeResponseDto
);
if
(
takeMealDateTime
!=
null
)
{
if
(
takeMealDateTime
!=
null
)
{
//校验预约时间
//校验预约时间 -->
checkOrderExpectTime
(
createOrderVo
,
storeResponseDto
,
takeMealDateTime
);
if
(!
isAdvanceOrder
)
{
checkOrderExpectTime
(
createOrderVo
,
storeResponseDto
,
takeMealDateTime
);
}
else
{
//fisherman-ka 预定单校验是否在预计开业时间范围内, 2. 校验 营业结束前十分钟,不允许下预约单(上面有代码,可以复用)
// checkAdvanceOrderExpectTime();
}
//重新赋值为yyyy-MM-dd HH:mm:ss格式字符串时间
//重新赋值为yyyy-MM-dd HH:mm:ss格式字符串时间
createOrderVo
.
setExpectTime
(
DateUtil
.
convert2String
(
takeMealDateTime
,
"yyyy-MM-dd HH:mm:ss"
));
createOrderVo
.
setExpectTime
(
DateUtil
.
convert2String
(
takeMealDateTime
,
"yyyy-MM-dd HH:mm:ss"
));
}
}
...
@@ -394,6 +396,16 @@ public class CheckOrder {
...
@@ -394,6 +396,16 @@ public class CheckOrder {
}
}
/**
/**
* 是否是 预定单
* @param bizType=7 就是预定单
* @return true 预定单
*/
private
boolean
getIsAdvanceOrder
(
Integer
bizType
)
{
return
Objects
.
nonNull
(
bizType
)
&&
BizTypeEnum
.
ADVANCE_ORDER
.
getBizType
().
compareTo
(
bizType
)
==
0
;
}
/**
* 获取门店营业时间
* 获取门店营业时间
*
*
* @param storeResponseDto
* @param storeResponseDto
...
...
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
View file @
8a6a793b
...
@@ -2520,6 +2520,9 @@ public class OrderServiceImpl implements Orderservice {
...
@@ -2520,6 +2520,9 @@ public class OrderServiceImpl implements Orderservice {
AssortmentCustomerInfoVo
userLoginInfoDto
)
{
AssortmentCustomerInfoVo
userLoginInfoDto
)
{
CreateOrderOperateDto
response
=
new
CreateOrderOperateDto
();
CreateOrderOperateDto
response
=
new
CreateOrderOperateDto
();
OrderExtendedReq
orderExtendedReq
=
orderAdapter
.
saveStoreInfo
(
storeResponseDto
);
OrderExtendedReq
orderExtendedReq
=
orderAdapter
.
saveStoreInfo
(
storeResponseDto
);
// fisherman 爱马哥蛋糕 预定 额外字段存储
orderExtendedReq
.
setUserPhone
(
createOrderVo
.
getUserPhone
());
orderExtendedReq
.
setSendWord
(
createOrderVo
.
getSendWord
());
OrderClientType
orderClient
=
OrderClientType
.
SAAS
;
OrderClientType
orderClient
=
OrderClientType
.
SAAS
;
String
appId
=
userLoginInfoDto
.
getWxAppId
();
String
appId
=
userLoginInfoDto
.
getWxAppId
();
if
(
"2"
.
equals
(
userLoginInfoDto
.
getChannel
()))
{
if
(
"2"
.
equals
(
userLoginInfoDto
.
getChannel
()))
{
...
...
order
-application-service/src/main/java/cn/freemud
/enums/BizTypeEnum.java
→
order
center-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter
/enums/BizTypeEnum.java
View file @
8a6a793b
package
c
n
.
freemud
.
enums
;
package
c
om
.
freemud
.
application
.
sdk
.
api
.
ordercenter
.
enums
;
/**
/**
...
@@ -37,8 +37,8 @@ public enum BizTypeEnum {
...
@@ -37,8 +37,8 @@ public enum BizTypeEnum {
this
.
desc
=
desc
;
this
.
desc
=
desc
;
}
}
public
static
cn
.
freemud
.
enums
.
BizTypeEnum
getByCode
(
Integer
code
)
{
public
static
BizTypeEnum
getByCode
(
Integer
code
)
{
for
(
cn
.
freemud
.
enums
.
BizTypeEnum
bizTypeEnum
:
values
())
{
for
(
BizTypeEnum
bizTypeEnum
:
values
())
{
if
(
bizTypeEnum
.
getBizType
().
equals
(
code
))
{
if
(
bizTypeEnum
.
getBizType
().
equals
(
code
))
{
return
bizTypeEnum
;
return
bizTypeEnum
;
}
}
...
...
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/request/OrderExtendedReq.java
View file @
8a6a793b
...
@@ -36,4 +36,13 @@ public class OrderExtendedReq {
...
@@ -36,4 +36,13 @@ public class OrderExtendedReq {
* 团号
* 团号
*/
*/
private
String
spellGroupCode
;
private
String
spellGroupCode
;
/**
* 预定单的 您的电话
*/
private
String
userPhone
;
/**
* 预定单 蛋糕寄语(额外祝福语)
*/
private
String
sendWord
;
}
}
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