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
5e28039c
Commit
5e28039c
authored
Aug 06, 2020
by
徐康
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
麦咖啡和前端联调创建订单
parent
7f5a15e3
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
158 additions
and
160 deletions
+158
-160
order-application-service/src/main/java/cn/freemud/service/impl/CheckMCCafeOrder.java
+44
-52
order-application-service/src/main/java/cn/freemud/service/mccafe/CouponClientService.java
+1
-1
order-application-service/src/main/java/cn/freemud/service/mccafe/impl/CouponClientServiceImpl.java
+67
-63
order-application-service/src/main/java/cn/freemud/service/mccafe/impl/MCCafeOrderCenterSdkServiceImpl.java
+46
-44
No files found.
order-application-service/src/main/java/cn/freemud/service/impl/CheckMCCafeOrder.java
View file @
5e28039c
...
@@ -181,7 +181,6 @@ public class CheckMCCafeOrder {
...
@@ -181,7 +181,6 @@ public class CheckMCCafeOrder {
throw
new
ServiceException
(
ResponseResult
.
PARAMETER_MISSING
);
throw
new
ServiceException
(
ResponseResult
.
PARAMETER_MISSING
);
}
}
String
appId
=
userLoginInfoDto
.
getWxAppId
();
String
appId
=
userLoginInfoDto
.
getWxAppId
();
// 校验小程序是否支持到店或者外卖
// 校验小程序是否支持到店或者外卖
AssortmentOpenPlatformIappWxappConfig
config
=
openPlatformIappWxappConfigManager
.
selectIappWxappConfigByWxAppId
(
appId
);
AssortmentOpenPlatformIappWxappConfig
config
=
openPlatformIappWxappConfigManager
.
selectIappWxappConfigByWxAppId
(
appId
);
...
@@ -249,7 +248,7 @@ public class CheckMCCafeOrder {
...
@@ -249,7 +248,7 @@ public class CheckMCCafeOrder {
}
}
// 外卖单选择立即送达的话,下单时间必须在店铺外卖时间内
// 外卖单选择立即送达的话,下单时间必须在店铺外卖时间内
if
(
createOrderVo
.
getOrderType
().
compareTo
(
CreateOrderType
.
TAKE_OUT
.
getCode
())
==
0
)
{
if
(
createOrderVo
.
getOrderType
().
compareTo
(
CreateOrderType
.
TAKE_OUT
.
getCode
())
==
0
)
{
checkTakeOutTime
(
storeResponseDto
,
new
Date
(),
new
Date
()
,
true
);
checkTakeOutTime
(
storeResponseDto
,
new
Date
(),
new
Date
());
}
}
}
}
//有预约时间的自提单
//有预约时间的自提单
...
@@ -328,7 +327,7 @@ public class CheckMCCafeOrder {
...
@@ -328,7 +327,7 @@ public class CheckMCCafeOrder {
}
}
if
(
CreateOrderType
.
TAKE_OUT
.
getCode
().
equals
(
createOrderVo
.
getOrderType
()))
{
if
(
CreateOrderType
.
TAKE_OUT
.
getCode
().
equals
(
createOrderVo
.
getOrderType
()))
{
checkTakeOutTime
(
storeResponseDto
,
date
,
takeMealDateTime
,
expectTimeInTodayBusinessTime
);
checkTakeOutTime
(
storeResponseDto
,
date
,
takeMealDateTime
);
}
}
}
}
...
@@ -337,9 +336,8 @@ public class CheckMCCafeOrder {
...
@@ -337,9 +336,8 @@ public class CheckMCCafeOrder {
* @param storeResponseDto 店铺信息
* @param storeResponseDto 店铺信息
* @param now 当前时间
* @param now 当前时间
* @param expectTime 预约单送达时间/即时单下单时间
* @param expectTime 预约单送达时间/即时单下单时间
* @param expectTimeInTodayBusinessTime 是否在当日营业时间内
*/
*/
private
void
checkTakeOutTime
(
StoreResponse
.
BizVO
storeResponseDto
,
Date
now
,
Date
expectTime
,
boolean
expectTimeInTodayBusinessTime
)
{
private
void
checkTakeOutTime
(
StoreResponse
.
BizVO
storeResponseDto
,
Date
now
,
Date
expectTime
)
{
String
deliveryStr
=
storeResponseDto
.
getDeliveryHoursDay
().
replace
(
"-"
,
","
)
String
deliveryStr
=
storeResponseDto
.
getDeliveryHoursDay
().
replace
(
"-"
,
","
)
.
replace
(
"_"
,
","
);
.
replace
(
"_"
,
","
);
String
[]
deliverys
=
deliveryStr
.
split
(
","
);
String
[]
deliverys
=
deliveryStr
.
split
(
","
);
...
@@ -361,13 +359,7 @@ public class CheckMCCafeOrder {
...
@@ -361,13 +359,7 @@ public class CheckMCCafeOrder {
throw
new
ServiceException
(
ResponseResult
.
ORDER_CREATE_TIME_NOT_DELIVERY
);
throw
new
ServiceException
(
ResponseResult
.
ORDER_CREATE_TIME_NOT_DELIVERY
);
}
}
// 校验预约配送时间
// 校验预约配送时间
if
(
expectTimeInTodayBusinessTime
&&
(
expectTime
.
before
(
deliveryStartDate
)
||
expectTime
.
after
(
deliveryEndDate
)))
{
if
(
expectTime
.
before
(
deliveryStartDate
)
||
expectTime
.
after
(
deliveryEndDate
))
{
throw
new
ServiceException
(
ResponseResult
.
ORDER_CREATE_TIME_NOT_DELIVERY
);
}
Date
nextDeliveryStartDate
=
DateUtil
.
addDays
(
deliveryStartDate
,
1
);
Date
nextDeliveryEndDate
=
DateUtil
.
addDays
(
deliveryEndDate
,
1
);
// 隔日预约外卖校验预约配送时间
if
(!
expectTimeInTodayBusinessTime
&&
(
expectTime
.
before
(
nextDeliveryStartDate
)
||
expectTime
.
after
(
nextDeliveryEndDate
)))
{
throw
new
ServiceException
(
ResponseResult
.
ORDER_CREATE_TIME_NOT_DELIVERY
);
throw
new
ServiceException
(
ResponseResult
.
ORDER_CREATE_TIME_NOT_DELIVERY
);
}
}
}
}
...
@@ -602,47 +594,47 @@ public class CheckMCCafeOrder {
...
@@ -602,47 +594,47 @@ public class CheckMCCafeOrder {
requestDto
.
setShoppingCartInfoRequestVo
(
shoppingCartInfoRequestVo
);
requestDto
.
setShoppingCartInfoRequestVo
(
shoppingCartInfoRequestVo
);
//加价购商品 校验放购物车校验
//加价购商品 校验放购物车校验
requestDto
.
setPremiumExchangeActivity
(
createOrderVo
.
getPremiumExchangeActivity
());
requestDto
.
setPremiumExchangeActivity
(
createOrderVo
.
getPremiumExchangeActivity
());
cn
.
freemud
.
base
.
entity
.
BaseResponse
<
ShoppingCartGoodsDto
>
apportionResponse
=
shoppingCartClient
.
getShoppingCartGoodsApportionNew
(
requestDto
);
//
cn.freemud.base.entity.BaseResponse<ShoppingCartGoodsDto> apportionResponse = shoppingCartClient.getShoppingCartGoodsApportionNew(requestDto);
//暂时写死测试数据
//暂时写死测试数据
//
cn.freemud.base.entity.BaseResponse<ShoppingCartGoodsDto> apportionResponse = JSON.parseObject(
cn
.
freemud
.
base
.
entity
.
BaseResponse
<
ShoppingCartGoodsDto
>
apportionResponse
=
JSON
.
parseObject
(
//
"{\n" +
"{\n"
+
//
" \"code\": \"100\",\n" +
" \"code\": \"100\",\n"
+
//
" \"message\": \"success\",\n" +
" \"message\": \"success\",\n"
+
//
" \"result\": {\n" +
" \"result\": {\n"
+
//
" \"activityDiscountsDtos\": [],\n" +
" \"activityDiscountsDtos\": [],\n"
+
//
" \"isDiscountDelivery\": false,\n" +
" \"isDiscountDelivery\": false,\n"
+
//
" \"originalTotalAmount\": 1,\n" +
" \"originalTotalAmount\": 1,\n"
+
//
" \"products\": [\n" +
" \"products\": [\n"
+
//
" {\n" +
" {\n"
+
//
" \"activityDiscountsDtos\": [],\n" +
" \"activityDiscountsDtos\": [],\n"
+
//
" \"attributeNames\": \"{\\\"attributeNames\\\":\\\"\\\"}\",\n" +
" \"attributeNames\": \"{\\\"attributeNames\\\":\\\"\\\"}\",\n"
+
//
" \"categoryName\": \"鞍山市\",\n" +
" \"categoryName\": \"鞍山市\",\n"
+
//
" \"classificationId\": \"\",\n" +
" \"classificationId\": \"\",\n"
+
//
" \"customerCode\": \"4095\",\n" +
" \"customerCode\": \"4095\",\n"
+
//
" \"extraList\": [],\n" +
" \"extraList\": [],\n"
+
//
" \"hasProductCoupon\": false,\n" +
" \"hasProductCoupon\": false,\n"
+
//
" \"materialList\": [],\n" +
" \"materialList\": [],\n"
+
//
" \"originalPrice\": 1,\n" +
" \"originalPrice\": 1,\n"
+
//
" \"picture\": \"https://img10.sandload.cn/zfd0x0.jpg?timestamp=1593831027040\",\n" +
" \"picture\": \"https://img10.sandload.cn/zfd0x0.jpg?timestamp=1593831027040\",\n"
+
//
" \"qty\": 1,\n" +
" \"qty\": 1,\n"
+
//
" \"skuId\": \"162535232231270663\",\n" +
" \"skuId\": \"162535232231270663\",\n"
+
//
" \"skuName\": \"鱿鱼须把把串\",\n" +
" \"skuName\": \"鱿鱼须把把串\",\n"
+
//
" \"spuId\": \"162535232231270663\",\n" +
" \"spuId\": \"162535232231270663\",\n"
+
//
" \"spuName\": \"鱿鱼须把把串\",\n" +
" \"spuName\": \"鱿鱼须把把串\",\n"
+
//
" \"stockLimit\": false,\n" +
" \"stockLimit\": false,\n"
+
//
" \"totalDiscountAmount\": 0,\n" +
" \"totalDiscountAmount\": 0,\n"
+
//
" \"unit\": \"g\",\n" +
" \"unit\": \"g\",\n"
+
//
" \"weight\": 0\n" +
" \"weight\": 0\n"
+
//
" }\n" +
" }\n"
+
//
" ],\n" +
" ],\n"
+
//
" \"reduceScore\": 0,\n" +
" \"reduceScore\": 0,\n"
+
//
" \"scoreReduceAmount\": 0,\n" +
" \"scoreReduceAmount\": 0,\n"
+
//
" \"totalAmount\": 1,\n" +
" \"totalAmount\": 1,\n"
+
//
" \"totalDiscountAmount\": 0\n" +
" \"totalDiscountAmount\": 0\n"
+
//
" },\n" +
" },\n"
+
//
" \"ver\": \"1\"\n" +
" \"ver\": \"1\"\n"
+
//
"}", new TypeReference<cn.freemud.base.entity.BaseResponse<ShoppingCartGoodsDto>>(){}
"}"
,
new
TypeReference
<
cn
.
freemud
.
base
.
entity
.
BaseResponse
<
ShoppingCartGoodsDto
>>(){}
//
);
);
if
(!
ObjectUtils
.
equals
(
ResponseCodeConstant
.
RESPONSE_SUCCESS_STR
,
apportionResponse
.
getCode
()))
{
if
(!
ObjectUtils
.
equals
(
ResponseCodeConstant
.
RESPONSE_SUCCESS_STR
,
apportionResponse
.
getCode
()))
{
ResponseResult
responseResult
=
ResponseResult
.
getResponseResult
(
apportionResponse
.
getCode
());
ResponseResult
responseResult
=
ResponseResult
.
getResponseResult
(
apportionResponse
.
getCode
());
throw
new
ServiceException
(
responseResult
!=
null
?
responseResult
:
ResponseResult
.
SHOPPING_CART_GETINFO_ERROR
);
throw
new
ServiceException
(
responseResult
!=
null
?
responseResult
:
ResponseResult
.
SHOPPING_CART_GETINFO_ERROR
);
...
...
order-application-service/src/main/java/cn/freemud/service/mccafe/CouponClientService.java
View file @
5e28039c
...
@@ -12,7 +12,7 @@ import java.util.List;
...
@@ -12,7 +12,7 @@ import java.util.List;
public
interface
CouponClientService
{
public
interface
CouponClientService
{
//
CouponRedeemResponse redeem(QueryOrdersResponse.DataBean.OrderBean orderBean, List<CreateOrderAccountRequest> accounts);
CouponRedeemResponse
redeem
(
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
,
List
<
CreateOrderAccountRequest
>
accounts
);
CouponRedeemResponse
redeem
(
MCCafeConponRequest
mcCafeConponRequest
);
CouponRedeemResponse
redeem
(
MCCafeConponRequest
mcCafeConponRequest
);
...
...
order-application-service/src/main/java/cn/freemud/service/mccafe/impl/CouponClientServiceImpl.java
View file @
5e28039c
This diff is collapsed.
Click to expand it.
order-application-service/src/main/java/cn/freemud/service/mccafe/impl/MCCafeOrderCenterSdkServiceImpl.java
View file @
5e28039c
...
@@ -6,6 +6,8 @@ import cn.freemud.amqp.MQMessage;
...
@@ -6,6 +6,8 @@ import cn.freemud.amqp.MQMessage;
import
cn.freemud.amqp.MQService
;
import
cn.freemud.amqp.MQService
;
import
cn.freemud.service.mccafe.CouponClientService
;
import
cn.freemud.service.mccafe.CouponClientService
;
import
cn.freemud.service.mccafe.MCCafeOrderCenterSdkService
;
import
cn.freemud.service.mccafe.MCCafeOrderCenterSdkService
;
import
com.freemud.application.sdk.api.couponcenter.offline.response.CouponRedeemResponse
;
import
com.freemud.sdk.api.assortment.order.enums.OldOrderType
;
import
com.freemud.sdk.api.assortment.order.service.OrderCenterSdkService
;
import
com.freemud.sdk.api.assortment.order.service.OrderCenterSdkService
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustomerInfoManager
;
import
com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustomerInfoManager
;
...
@@ -185,54 +187,54 @@ public class MCCafeOrderCenterSdkServiceImpl implements MCCafeOrderCenterSdkServ
...
@@ -185,54 +187,54 @@ public class MCCafeOrderCenterSdkServiceImpl implements MCCafeOrderCenterSdkServ
}
}
}
}
CouponBaseResponse
couponRedeemResponse
=
couponClientService
.
lock
(
orderBean
,
accounts
);
// CouponBaseResponse couponBaseResponse = couponClientService.lock(orderBean, accounts);
if
(
couponRedeemResponse
!=
null
){
// if (couponBaseResponse!=null){
if
(!
ObjectUtils
.
equals
(
RESPONSE_SUCCESS_STR
,
couponRedeemResponse
.
getStatusCode
()))
{
//TODO 失败取消订单,异步冲正库存
CancelOrderRequest
cancelOrderRequest
=
orderSdkAdapter
.
convent2CancelOrderRequest
(
orderBean
.
getOid
(),
orderBean
.
getCompanyId
(),
AfterSalesType
.
SYSTEM_CANCEL
,
"冻结券码失败"
,
""
,
null
);
orderCenterSdkService
.
orderCancel
(
cancelOrderRequest
);
//失败异步冲正库存,取消订单
backOrdersNotifyActivity
(
orderBean
,
mqMessageRequest
.
getBackOrdersNotifyActivityQueue
(),
mqMessageRequest
.
getBackOrdersNotifyActivityExchange
());
return
BaseOrderResponse
.
getErrorBaseOrderResponse
(
couponRedeemResponse
.
getStatusCode
(),
"冻结券码失败"
);
}
}
// 如果是自提,则冻结优惠券,失败提示下单失败并冲正库存积分等
// 如果是外卖,则核销优惠券,失败提示下单失败并冲正库存积分等
// if(OldOrderType.TAKE_OUT.getCode().equals(orderBean.getType())) {
// CouponRedeemResponse couponRedeemResponse = couponClientService.redeem(orderBean, accounts);
//
// if (couponRedeemResponse!=null){
//
//
// if (!ObjectUtils.equals(RESPONSE_SUCCESS_STR, couponRedeemResponse.getStatusCode())) {
// if (!ObjectUtils.equals(RESPONSE_SUCCESS_STR, couponBaseResponse.getStatusCode())) {
// //TODO 失败取消订单,异步冲正库存
// //TODO 失败取消订单,异步冲正库存
// CancelOrderRequest cancelOrderRequest = orderSdkAdapter.convent2CancelOrderRequest(orderBean.getOid(), orderBean.getCompanyId(),
// CancelOrderRequest cancelOrderRequest = orderSdkAdapter.convent2CancelOrderRequest(orderBean.getOid(), orderBean.getCompanyId(),
// AfterSalesType.SYSTEM_CANCEL, "核销券码失败", "", null);
// AfterSalesType.SYSTEM_CANCEL, "冻结券码失败", "", null);
// orderCenterSdkService.orderCancel(cancelOrderRequest);
// orderCenterSdkService.orderCancel(cancelOrderRequest);
// //失败异步冲正库存,取消订单
// //失败异步冲正库存,取消订单
// backOrdersNotifyActivity(orderBean, mqMessageRequest.getBackOrdersNotifyActivityQueue(), mqMessageRequest.getBackOrdersNotifyActivityExchange());
// backOrdersNotifyActivity(orderBean, mqMessageRequest.getBackOrdersNotifyActivityQueue(), mqMessageRequest.getBackOrdersNotifyActivityExchange());
// return BaseOrderResponse.getErrorBaseOrderResponse(couponRedeemResponse.getStatusCode(), "核销券码失败");
// return BaseOrderResponse.getErrorBaseOrderResponse(couponBaseResponse.getStatusCode(), "冻结券码失败");
// }
// }
// } else if(OldOrderType.COLLECT_GOODS.getCode().equals(orderBean.getType()) || OldOrderType.EAT_IN.getCode().equals(orderBean.getType())) {
// CouponRedeemResponse couponRedeemResponse = couponClientService.lock(orderBean, accounts);
//
// if (couponRedeemResponse!=null){
//
// if (!ObjectUtils.equals(RESPONSE_SUCCESS_STR, couponRedeemResponse.getStatusCode())) {
// //TODO 失败取消订单,异步冲正库存
// CancelOrderRequest cancelOrderRequest = orderSdkAdapter.convent2CancelOrderRequest(orderBean.getOid(), orderBean.getCompanyId(),
// AfterSalesType.SYSTEM_CANCEL, "冻结券码失败", "", null);
// orderCenterSdkService.orderCancel(cancelOrderRequest);
// //失败异步冲正库存,取消订单
// backOrdersNotifyActivity(orderBean, mqMessageRequest.getBackOrdersNotifyActivityQueue(), mqMessageRequest.getBackOrdersNotifyActivityExchange());
// return BaseOrderResponse.getErrorBaseOrderResponse(couponRedeemResponse.getStatusCode(), "冻结券码失败");
// }
// }
// }
// }
// }
// 如果是自提,则冻结优惠券,失败提示下单失败并冲正库存积分等
// 如果是外卖,则核销优惠券,失败提示下单失败并冲正库存积分等
if
(
OldOrderType
.
TAKE_OUT
.
getCode
().
equals
(
orderBean
.
getType
()))
{
CouponRedeemResponse
couponRedeemResponse
=
couponClientService
.
redeem
(
orderBean
,
accounts
);
if
(
couponRedeemResponse
!=
null
){
if
(!
ObjectUtils
.
equals
(
RESPONSE_SUCCESS_STR
,
couponRedeemResponse
.
getStatusCode
()))
{
//TODO 失败取消订单,异步冲正库存
CancelOrderRequest
cancelOrderRequest
=
orderSdkAdapter
.
convent2CancelOrderRequest
(
orderBean
.
getOid
(),
orderBean
.
getCompanyId
(),
AfterSalesType
.
SYSTEM_CANCEL
,
"核销券码失败"
,
""
,
null
);
orderCenterSdkService
.
orderCancel
(
cancelOrderRequest
);
//失败异步冲正库存,取消订单
backOrdersNotifyActivity
(
orderBean
,
mqMessageRequest
.
getBackOrdersNotifyActivityQueue
(),
mqMessageRequest
.
getBackOrdersNotifyActivityExchange
());
return
BaseOrderResponse
.
getErrorBaseOrderResponse
(
couponRedeemResponse
.
getStatusCode
(),
"核销券码失败"
);
}
}
}
else
if
(
OldOrderType
.
COLLECT_GOODS
.
getCode
().
equals
(
orderBean
.
getType
())
||
OldOrderType
.
EAT_IN
.
getCode
().
equals
(
orderBean
.
getType
()))
{
CouponBaseResponse
couponBaseResponse
=
couponClientService
.
lock
(
orderBean
,
accounts
);
if
(
couponBaseResponse
!=
null
){
if
(!
ObjectUtils
.
equals
(
RESPONSE_SUCCESS_STR
,
couponBaseResponse
.
getStatusCode
()))
{
//TODO 失败取消订单,异步冲正库存
CancelOrderRequest
cancelOrderRequest
=
orderSdkAdapter
.
convent2CancelOrderRequest
(
orderBean
.
getOid
(),
orderBean
.
getCompanyId
(),
AfterSalesType
.
SYSTEM_CANCEL
,
"冻结券码失败"
,
""
,
null
);
orderCenterSdkService
.
orderCancel
(
cancelOrderRequest
);
//失败异步冲正库存,取消订单
backOrdersNotifyActivity
(
orderBean
,
mqMessageRequest
.
getBackOrdersNotifyActivityQueue
(),
mqMessageRequest
.
getBackOrdersNotifyActivityExchange
());
return
BaseOrderResponse
.
getErrorBaseOrderResponse
(
couponBaseResponse
.
getStatusCode
(),
"冻结券码失败"
);
}
}
}
return
BaseOrderResponse
.
getErrorBaseOrderResponse
(
RESPONSE_SUCCESS_STR
,
""
);
return
BaseOrderResponse
.
getErrorBaseOrderResponse
(
RESPONSE_SUCCESS_STR
,
""
);
}
}
...
...
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