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
8c80c3d4
Commit
8c80c3d4
authored
Apr 24, 2020
by
ping.wu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
APP下单,下单带商品信息,不经过购物车服务
parent
731cade8
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
397 additions
and
42 deletions
+397
-42
order-application-service/src/main/java/cn/freemud/controller/OrderController.java
+9
-0
order-application-service/src/main/java/cn/freemud/entities/vo/AppCreateOrderVo.java
+78
-0
order-application-service/src/main/java/cn/freemud/entities/vo/OrderProductComboxVo.java
+123
-0
order-application-service/src/main/java/cn/freemud/entities/vo/OrderProductExtraVo.java
+29
-0
order-application-service/src/main/java/cn/freemud/entities/vo/OrderProductVo.java
+48
-0
order-application-service/src/main/java/cn/freemud/service/AppOrderService.java
+7
-0
order-application-service/src/main/java/cn/freemud/service/OrderAdapterService.java
+6
-0
order-application-service/src/main/java/cn/freemud/service/impl/AppOrderServiceImpl.java
+31
-3
order-application-service/src/main/java/cn/freemud/service/impl/CheckOrder.java
+50
-39
order-application-service/src/main/java/cn/freemud/service/impl/OrderAdapterServiceImpl.java
+16
-0
No files found.
order-application-service/src/main/java/cn/freemud/controller/OrderController.java
View file @
8c80c3d4
...
@@ -85,6 +85,15 @@ public class OrderController {
...
@@ -85,6 +85,15 @@ public class OrderController {
}
}
/**
/**
* APP下单,下单带商品信息,不经过购物车服务
*/
@ApiAnnotation
(
logMessage
=
"appCreateOrder"
)
@PostMapping
(
"/app/create"
)
public
BaseResponse
appCreateOrder
(
@Validated
@LogParams
@RequestBody
AppCreateOrderVo
createOrderVo
)
{
return
orderAdapterService
.
appCreateOrder
(
createOrderVo
);
}
/**
* 订单支付成功后通知
* 订单支付成功后通知
*/
*/
@ApiAnnotation
(
logMessage
=
"paySuccessCallback"
)
@ApiAnnotation
(
logMessage
=
"paySuccessCallback"
)
...
...
order-application-service/src/main/java/cn/freemud/entities/vo/AppCreateOrderVo.java
0 → 100644
View file @
8c80c3d4
package
cn
.
freemud
.
entities
.
vo
;
import
cn.freemud.entities.dto.CreateOrderProductDto
;
import
cn.freemud.entities.dto.UserDeliveryInfoDto
;
import
cn.freemud.entities.dto.delivery.WeixinDeliveryAddressDto
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Builder
;
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
;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @version V1.0
* @Title: AppCreateOrderVo
* @Package cn.freemud.entities
* @Description:
* @author: ping1.wu
* @date: 2020/4/23 16:39
* @Copyright: 2020 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@Data
public
class
AppCreateOrderVo
{
@NotEmpty
(
message
=
"sessionId 不能为空"
)
private
String
sessionId
;
private
String
partnerId
;
//@NotEmpty(message = "门店ID 不能为空") //本次需要根据业务做校验
private
String
shopId
;
private
String
thirdShopId
;
/**
* 订单类型 1 到店自取 2 外卖 枚举CreateOrderType
*/
//@NotNull(message = "下单类型不能为空")
private
Integer
orderType
;
/**
* 到店类型 4(打包带走)和5(店内就餐)
*/
private
Integer
reachStoreType
;
/**
* 取餐时间
*/
private
String
takeMealTime
;
/**
* 订单备注
*/
private
String
orderRemark
;
/**
* 收货地址ID
*/
private
String
receiveId
;
/**
* 收货人性别 sexType 1 男 2 女 0 未知
*/
private
Integer
sex
;
@Builder
.
Default
private
String
menuType
=
"saas"
;
private
List
<
OrderProductVo
>
orderProducts
;
/**
* 下单渠道 版本号
*/
private
String
version
;
}
order-application-service/src/main/java/cn/freemud/entities/vo/OrderProductComboxVo.java
0 → 100644
View file @
8c80c3d4
package
cn
.
freemud
.
entities
.
vo
;
import
lombok.Data
;
import
org.apache.commons.collections4.CollectionUtils
;
import
java.util.Comparator
;
import
java.util.List
;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @version V1.0
* @Title: OrderProductComboxVo
* @Package cn.freemud.entities
* @Description:
* @author: ping1.wu
* @date: 2020/4/23 16:16
* @Copyright: 2020 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@Data
public
class
OrderProductComboxVo
{
/**
* 单规格spuId,多规格skuId
*/
private
String
goodsId
;
private
String
skuId
;
private
String
skuName
;
/**
* 所有属性attributeId的拼接
*/
private
String
specProductId
;
/**
* 购物车一行商品的原单机
*/
private
Long
originalPrice
;
/**
* 购物车一行商品的现售单价
*/
private
Long
finalPrice
;
/**
* 购物车一行商品的包装费
*/
private
Long
packPrice
;
/**
* 购物车一行商品的原价
*/
private
Long
originalAmount
;
/**
* 购物车一行商品的现价
*/
private
Long
amount
;
/**
* 购物车一行商品的数量
*/
private
Integer
qty
;
/**
* 购物车一行商品的名称
*/
private
String
name
;
/**
* 商品的spuName
*/
private
String
spuName
;
/**
* 购物车一行商品的副名称
*/
private
String
subName
;
/**
* 商品图片URL
*/
private
String
pic
;
/**
* 配料或属性
*/
private
List
<
OrderProductExtraVo
>
extra
;
/**
* 1:称重菜
*/
private
boolean
weightType
;
/**
* 重量
*/
private
Double
weight
;
/**
* 单位
*/
private
String
unit
;
/**
* 第三方商品编号
*/
private
String
customerCode
;
/**
* 商品组Id
*/
private
Long
productGroupId
;
@Override
public
int
hashCode
()
{
StringBuilder
sb
=
new
StringBuilder
();
sb
.
append
(
goodsId
);
if
(
CollectionUtils
.
isNotEmpty
(
extra
))
{
extra
.
stream
().
sorted
(
Comparator
.
comparing
(
OrderProductExtraVo:
:
getAttributeId
)).
forEach
(
e
->
sb
.
append
(
e
.
getAttributeId
()));
}
return
sb
.
toString
().
hashCode
();
}
@Override
public
String
toString
()
{
StringBuilder
sb
=
new
StringBuilder
();
sb
.
append
(
goodsId
);
if
(
CollectionUtils
.
isNotEmpty
(
extra
))
{
extra
.
stream
().
sorted
(
Comparator
.
comparing
(
OrderProductExtraVo:
:
getAttributeId
)).
forEach
(
e
->
sb
.
append
(
e
.
getAttributeId
()));
}
return
sb
.
toString
();
}
}
order-application-service/src/main/java/cn/freemud/entities/vo/OrderProductExtraVo.java
0 → 100644
View file @
8c80c3d4
package
cn
.
freemud
.
entities
.
vo
;
import
lombok.Data
;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @version V1.0
* @Title: OrderProductExtraVo
* @Package cn.freemud.entities.vo
* @Description:
* @author: ping1.wu
* @date: 2020/4/23 16:15
* @Copyright: 2020 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@Data
public
class
OrderProductExtraVo
{
/**
* 属性Id
*/
private
String
attributeId
;
/**
* 属性名
*/
private
String
attributeName
;
}
order-application-service/src/main/java/cn/freemud/entities/vo/OrderProductVo.java
0 → 100644
View file @
8c80c3d4
package
cn
.
freemud
.
entities
.
vo
;
import
lombok.Data
;
import
org.hibernate.validator.constraints.NotEmpty
;
import
java.util.List
;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @version V1.0
* @Title: OrderProductVo
* @Package cn.freemud.entities.vo
* @Description:
* @author: ping1.wu
* @date: 2020/4/23 16:14
* @Copyright: 2020 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@Data
public
class
OrderProductVo
{
@NotEmpty
(
message
=
"spuId不能为空"
)
private
String
spuId
;
private
String
skuId
;
/**
* 商品额外的属性
*/
private
List
<
OrderProductExtraVo
>
extra
;
private
String
appType
;
/**
* 数量
*/
private
Integer
qty
;
/**
* 套餐固定商品
*/
private
List
<
OrderProductComboxVo
>
productComboList
;
/**
* 套餐可选商品
*/
private
List
<
OrderProductComboxVo
>
productGroupList
;
}
order-application-service/src/main/java/cn/freemud/service/AppOrderService.java
View file @
8c80c3d4
package
cn
.
freemud
.
service
;
package
cn
.
freemud
.
service
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.entities.vo.AppCreateOrderVo
;
import
cn.freemud.entities.vo.CreateOrderVo
;
import
cn.freemud.entities.vo.CreateOrderVo
;
import
cn.freemud.entities.vo.CreatePrepayVo
;
import
cn.freemud.entities.vo.CreatePrepayVo
;
import
com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo
;
/**
/**
* app订单服务
* app订单服务
...
@@ -18,4 +20,9 @@ public interface AppOrderService {
...
@@ -18,4 +20,9 @@ public interface AppOrderService {
* 创建预支付
* 创建预支付
*/
*/
BaseResponse
createPrepay
(
CreatePrepayVo
createPrepayVo
);
BaseResponse
createPrepay
(
CreatePrepayVo
createPrepayVo
);
/**
* APP下单,下单带商品信息,不经过购物车服务
*/
BaseResponse
createOrder
(
AppCreateOrderVo
createOrderVo
,
AssortmentCustomerInfoVo
customerInfo
);
}
}
order-application-service/src/main/java/cn/freemud/service/OrderAdapterService.java
View file @
8c80c3d4
package
cn
.
freemud
.
service
;
package
cn
.
freemud
.
service
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.entities.vo.AppCreateOrderVo
;
import
cn.freemud.entities.vo.CreateOrderVo
;
import
cn.freemud.entities.vo.CreateOrderVo
;
import
cn.freemud.entities.vo.CreatePrepayVo
;
import
cn.freemud.entities.vo.CreatePrepayVo
;
...
@@ -29,4 +30,9 @@ public interface OrderAdapterService {
...
@@ -29,4 +30,9 @@ public interface OrderAdapterService {
*/
*/
BaseResponse
createPrepay
(
CreatePrepayVo
createPrepayVo
);
BaseResponse
createPrepay
(
CreatePrepayVo
createPrepayVo
);
/**
* APP下单,下单带商品信息,不经过购物车服务
*/
BaseResponse
appCreateOrder
(
AppCreateOrderVo
createOrderVo
);
}
}
order-application-service/src/main/java/cn/freemud/service/impl/AppOrderServiceImpl.java
View file @
8c80c3d4
...
@@ -7,9 +7,7 @@ import cn.freemud.constant.ResponseCodeConstant;
...
@@ -7,9 +7,7 @@ import cn.freemud.constant.ResponseCodeConstant;
import
cn.freemud.entities.dto.order.CreateOrderOperateDto
;
import
cn.freemud.entities.dto.order.CreateOrderOperateDto
;
import
cn.freemud.entities.dto.order.CreatePrepayRequestDto
;
import
cn.freemud.entities.dto.order.CreatePrepayRequestDto
;
import
cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto
;
import
cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto
;
import
cn.freemud.entities.vo.CreateOrderResponseVo
;
import
cn.freemud.entities.vo.*
;
import
cn.freemud.entities.vo.CreateOrderVo
;
import
cn.freemud.entities.vo.CreatePrepayVo
;
import
cn.freemud.enums.PayStatus
;
import
cn.freemud.enums.PayStatus
;
import
cn.freemud.enums.ResponseResult
;
import
cn.freemud.enums.ResponseResult
;
import
cn.freemud.enums.TradeState
;
import
cn.freemud.enums.TradeState
;
...
@@ -25,7 +23,9 @@ import com.freemud.application.sdk.api.paymentcenter.client.request.PaymentQuery
...
@@ -25,7 +23,9 @@ import com.freemud.application.sdk.api.paymentcenter.client.request.PaymentQuery
import
com.freemud.application.sdk.api.paymentcenter.client.response.PaymentCloseUnifiedOrderResponse
;
import
com.freemud.application.sdk.api.paymentcenter.client.response.PaymentCloseUnifiedOrderResponse
;
import
com.freemud.application.sdk.api.paymentcenter.client.response.PaymentQueryResponse
;
import
com.freemud.application.sdk.api.paymentcenter.client.response.PaymentQueryResponse
;
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.StoreInfoRequest
;
import
com.freemud.application.sdk.api.storecenter.response.StoreResponse
;
import
com.freemud.application.sdk.api.storecenter.response.StoreResponse
;
import
com.freemud.application.sdk.api.storecenter.service.StoreCenterService
;
import
com.freemud.sdk.api.assortment.order.entities.OrderExtInfoDTO
;
import
com.freemud.sdk.api.assortment.order.entities.OrderExtInfoDTO
;
import
com.freemud.sdk.api.assortment.order.request.order.CancelOrderRequest
;
import
com.freemud.sdk.api.assortment.order.request.order.CancelOrderRequest
;
import
com.freemud.sdk.api.assortment.order.request.order.OrderEditRequest
;
import
com.freemud.sdk.api.assortment.order.request.order.OrderEditRequest
;
...
@@ -56,6 +56,10 @@ public class AppOrderServiceImpl implements AppOrderService {
...
@@ -56,6 +56,10 @@ public class AppOrderServiceImpl implements AppOrderService {
@Autowired
@Autowired
private
PaymentNewService
paymentNewService
;
private
PaymentNewService
paymentNewService
;
//门店SDK
@Autowired
private
StoreCenterService
storeCenterService
;
/**
/**
* 不支持会员卡
* 不支持会员卡
*/
*/
...
@@ -100,6 +104,30 @@ public class AppOrderServiceImpl implements AppOrderService {
...
@@ -100,6 +104,30 @@ public class AppOrderServiceImpl implements AppOrderService {
return
orderservice
.
createPrepayOrder
(
createPrepayRequestDto
);
return
orderservice
.
createPrepayOrder
(
createPrepayRequestDto
);
}
}
/**
* APP下单,下单带商品信息,不经过购物车服务
*/
@Override
public
BaseResponse
createOrder
(
AppCreateOrderVo
createOrderVo
,
AssortmentCustomerInfoVo
customerInfo
)
{
String
trackingNo
=
LogThreadLocal
.
getTrackingNo
();
String
partnerId
=
createOrderVo
.
getPartnerId
();
String
shopId
=
createOrderVo
.
getShopId
();
// 获取门店信息
StoreInfoRequest
storeInfoRequest
=
new
StoreInfoRequest
(
partnerId
,
shopId
,
null
);
StoreResponse
storeResponse
=
storeCenterService
.
getStoreInfo
(
storeInfoRequest
,
trackingNo
);
if
(
storeResponse
==
null
||
storeResponse
.
getBizVO
()
==
null
)
{
throw
new
ServiceException
(
ResponseResult
.
STORE_NOT_FOUND
);
}
// 查询门店信息 营业时间、营业状态,服务器当前时间在营业时间内 点餐桌号
checkOrder
.
checkOrderByStore
(
storeResponse
.
getBizVO
(),
createOrderVo
.
getTakeMealTime
());
checkOrder
.
checkOrderProduct
(
createOrderVo
.
getOrderProducts
(),
createOrderVo
.
getMenuType
());
return
null
;
}
private
void
checkOrderBefore
(
CreatePrepayVo
createPrepayVo
,
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
)
{
private
void
checkOrderBefore
(
CreatePrepayVo
createPrepayVo
,
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
)
{
if
(!
PayStatus
.
NOT_PAY
.
getCode
().
equals
(
orderBean
.
getPayStatus
())){
if
(!
PayStatus
.
NOT_PAY
.
getCode
().
equals
(
orderBean
.
getPayStatus
())){
throw
new
ServiceException
(
ResponseResult
.
ORDER_HAS_PAID
);
throw
new
ServiceException
(
ResponseResult
.
ORDER_HAS_PAID
);
...
...
order-application-service/src/main/java/cn/freemud/service/impl/CheckOrder.java
View file @
8c80c3d4
...
@@ -23,6 +23,7 @@ import cn.freemud.entities.dto.shoppingCart.GetShoppingCartGoodsApportionDto;
...
@@ -23,6 +23,7 @@ import cn.freemud.entities.dto.shoppingCart.GetShoppingCartGoodsApportionDto;
import
cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto
;
import
cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto
;
import
cn.freemud.entities.vo.CreateOrderVo
;
import
cn.freemud.entities.vo.CreateOrderVo
;
import
cn.freemud.entities.vo.GetMemberCouponRequestVo
;
import
cn.freemud.entities.vo.GetMemberCouponRequestVo
;
import
cn.freemud.entities.vo.OrderProductVo
;
import
cn.freemud.entities.vo.ShoppingCartInfoRequestVo
;
import
cn.freemud.entities.vo.ShoppingCartInfoRequestVo
;
import
cn.freemud.enums.CouponFlag
;
import
cn.freemud.enums.CouponFlag
;
import
cn.freemud.enums.CreateOrderType
;
import
cn.freemud.enums.CreateOrderType
;
...
@@ -138,45 +139,7 @@ public class CheckOrder {
...
@@ -138,45 +139,7 @@ public class CheckOrder {
throw
new
ServiceException
(
ResponseResult
.
STORE_NOT_FOUND
);
throw
new
ServiceException
(
ResponseResult
.
STORE_NOT_FOUND
);
}
}
StoreResponse
.
BizVO
storeResponseDto
=
storeResponse
.
getBizVO
();
StoreResponse
.
BizVO
storeResponseDto
=
storeResponse
.
getBizVO
();
// 校验门店是否停业 1 营业 2 停业 3 繁忙置休
checkOrderByStore
(
storeResponse
.
getBizVO
(),
createOrderVo
.
getTakeMealTime
());
if
(
storeResponseDto
.
getActiveFlag
()
==
null
||
storeResponseDto
.
getActiveFlag
()
!=
1
)
{
throw
new
ServiceException
(
ResponseResult
.
STORE_ITEM_STOP_BUSINESS
);
}
//未营业无预约时间无法下单
if
(!
StoreConstant
.
BUSINESS
.
equals
(
storeResponseDto
.
getState
())
&&
StringUtils
.
isBlank
(
createOrderVo
.
getTakeMealTime
()))
{
throw
new
ServiceException
(
ResponseResult
.
STORE_ITEM_CHECK_CLOSE
);
}
//设置营业开始和结束时间
String
businessHourStr
=
storeResponseDto
.
getBusinessHoursDay
().
replace
(
"-"
,
","
).
replace
(
"_"
,
","
);
String
[]
businessHours
=
businessHourStr
.
split
(
","
);
if
(
businessHours
.
length
!=
2
)
{
throw
new
ServiceException
(
ResponseResult
.
STORE_NOT_FOUND
);
}
Date
date
=
new
Date
();
String
startDateTimeStr
=
DateUtil
.
convert2String
(
date
,
DateUtil
.
FORMAT_YMD
)
+
" "
+
businessHours
[
0
]
+
":00"
;
String
endDateTimeStr
=
DateUtil
.
convert2String
(
date
,
DateUtil
.
FORMAT_YMD
)
+
" "
+
businessHours
[
1
]
+
":00"
;
Date
startDateTime
;
Date
endDateTime
;
startDateTime
=
DateUtil
.
convert2Date
(
startDateTimeStr
,
DateUtil
.
FORMAT_YYYY_MM_DD_HHMMSS
);
SimpleDateFormat
hhmmss
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
try
{
endDateTime
=
hhmmss
.
parse
(
endDateTimeStr
);
}
catch
(
ParseException
e
)
{
throw
new
ServiceException
(
ResponseResult
.
STORE_BUSINESS_HOUR_ERROR
);
}
//隔天营业时间处理
if
(
startDateTime
.
after
(
endDateTime
)){
endDateTime
=
DateUtil
.
addDays
(
endDateTime
,
1
);
}
storeResponseDto
.
setBusinessHoursDayStartTime
(
startDateTime
);
storeResponseDto
.
setBusinessHoursDayEndTime
(
endDateTime
);
// 校验门店是否打烊,打烊了则不让操作
if
(
storeResponseDto
.
getBusinessHoursDayStartTime
()
==
null
||
storeResponseDto
.
getBusinessHoursDayEndTime
()
==
null
)
{
throw
new
ServiceException
(
ResponseResult
.
STORE_ITEM_STOP_BUSINESS
);
}
// 桌号不为空,查数据库重新设置桌号
// 桌号不为空,查数据库重新设置桌号
/*if (StringUtils.isNotBlank(createOrderVo.getTableNumber())) {
/*if (StringUtils.isNotBlank(createOrderVo.getTableNumber())) {
createOrderVo.setTableNumber(getTableNumber(partnerId, shopId, createOrderVo.getTableNumber()));
createOrderVo.setTableNumber(getTableNumber(partnerId, shopId, createOrderVo.getTableNumber()));
...
@@ -493,4 +456,52 @@ public class CheckOrder {
...
@@ -493,4 +456,52 @@ public class CheckOrder {
}
}
}
}
public
void
checkOrderByStore
(
StoreResponse
.
BizVO
storeResponseDto
,
String
takeMealTime
){
// 校验门店是否停业 1 营业 2 停业 3 繁忙置休
if
(
storeResponseDto
.
getActiveFlag
()
==
null
||
storeResponseDto
.
getActiveFlag
()
!=
1
)
{
throw
new
ServiceException
(
ResponseResult
.
STORE_ITEM_STOP_BUSINESS
);
}
//未营业无预约时间无法下单
if
(!
StoreConstant
.
BUSINESS
.
equals
(
storeResponseDto
.
getState
())
&&
StringUtils
.
isBlank
(
takeMealTime
))
{
throw
new
ServiceException
(
ResponseResult
.
STORE_ITEM_CHECK_CLOSE
);
}
//设置营业开始和结束时间
String
businessHourStr
=
storeResponseDto
.
getBusinessHoursDay
().
replace
(
"-"
,
","
).
replace
(
"_"
,
","
);
String
[]
businessHours
=
businessHourStr
.
split
(
","
);
if
(
businessHours
.
length
!=
2
)
{
throw
new
ServiceException
(
ResponseResult
.
STORE_NOT_FOUND
);
}
Date
date
=
new
Date
();
String
startDateTimeStr
=
DateUtil
.
convert2String
(
date
,
DateUtil
.
FORMAT_YMD
)
+
" "
+
businessHours
[
0
]
+
":00"
;
String
endDateTimeStr
=
DateUtil
.
convert2String
(
date
,
DateUtil
.
FORMAT_YMD
)
+
" "
+
businessHours
[
1
]
+
":00"
;
Date
startDateTime
;
Date
endDateTime
;
startDateTime
=
DateUtil
.
convert2Date
(
startDateTimeStr
,
DateUtil
.
FORMAT_YYYY_MM_DD_HHMMSS
);
SimpleDateFormat
hhmmss
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
try
{
endDateTime
=
hhmmss
.
parse
(
endDateTimeStr
);
}
catch
(
ParseException
e
)
{
throw
new
ServiceException
(
ResponseResult
.
STORE_BUSINESS_HOUR_ERROR
);
}
//隔天营业时间处理
if
(
startDateTime
.
after
(
endDateTime
)){
endDateTime
=
DateUtil
.
addDays
(
endDateTime
,
1
);
}
storeResponseDto
.
setBusinessHoursDayStartTime
(
startDateTime
);
storeResponseDto
.
setBusinessHoursDayEndTime
(
endDateTime
);
// 校验门店是否打烊,打烊了则不让操作
if
(
storeResponseDto
.
getBusinessHoursDayStartTime
()
==
null
||
storeResponseDto
.
getBusinessHoursDayEndTime
()
==
null
)
{
throw
new
ServiceException
(
ResponseResult
.
STORE_ITEM_STOP_BUSINESS
);
}
}
public
void
checkOrderProduct
(
List
<
OrderProductVo
>
orderProducts
,
String
menuType
){
}
}
}
order-application-service/src/main/java/cn/freemud/service/impl/OrderAdapterServiceImpl.java
View file @
8c80c3d4
package
cn
.
freemud
.
service
.
impl
;
package
cn
.
freemud
.
service
.
impl
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.entities.vo.AppCreateOrderVo
;
import
cn.freemud.entities.vo.CreateOrderVo
;
import
cn.freemud.entities.vo.CreateOrderVo
;
import
cn.freemud.entities.vo.CreatePrepayVo
;
import
cn.freemud.entities.vo.CreatePrepayVo
;
import
cn.freemud.entities.vo.encircle.CreateReserveOrderVo
;
import
cn.freemud.entities.vo.encircle.CreateReserveOrderVo
;
...
@@ -110,6 +111,21 @@ public class OrderAdapterServiceImpl implements OrderAdapterService {
...
@@ -110,6 +111,21 @@ public class OrderAdapterServiceImpl implements OrderAdapterService {
}
}
/**
/**
* APP下单,下单带商品信息,不经过购物车服务
*/
@Override
public
BaseResponse
appCreateOrder
(
AppCreateOrderVo
createOrderVo
)
{
AssortmentCustomerInfoVo
assortmentCustomerInfoVo
=
assortmentCustomerInfoManager
.
getCustomerInfoByObject
(
createOrderVo
.
getSessionId
());
if
(
assortmentCustomerInfoVo
==
null
||
StringUtils
.
isEmpty
(
assortmentCustomerInfoVo
.
getMemberId
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
NOT_LOGIN
);
}
if
(
UserLoginChannelEnum
.
APP
.
getCode
().
equals
(
assortmentCustomerInfoVo
.
getChannel
()))
{
return
appOrderService
.
createOrder
(
createOrderVo
,
assortmentCustomerInfoVo
);
}
return
ResponseUtil
.
error
(
ResponseResult
.
PARAMETER_MISSING
);
}
/**
* 标准点餐参数校验
* 标准点餐参数校验
* @param createOrderVo
* @param createOrderVo
* @return
* @return
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment