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
a437ba41
Commit
a437ba41
authored
Sep 18, 2021
by
ping.wu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
创建订单代码结构优化
parent
6ba0895c
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
337 additions
and
234 deletions
+337
-234
order-application-service/src/main/java/cn/freemud/controller/McCafeController.java
+1
-5
order-application-service/src/main/java/cn/freemud/controller/OrderController.java
+2
-1
order-application-service/src/main/java/cn/freemud/service/AppOrderService.java
+3
-3
order-application-service/src/main/java/cn/freemud/service/EncircleOrderService.java
+2
-2
order-application-service/src/main/java/cn/freemud/service/MallOrderService.java
+2
-2
order-application-service/src/main/java/cn/freemud/service/OrderAdapterService.java
+66
-66
order-application-service/src/main/java/cn/freemud/service/OrderFactoryService.java
+10
-0
order-application-service/src/main/java/cn/freemud/service/Orderservice.java
+2
-2
order-application-service/src/main/java/cn/freemud/service/PointsMallOrderService.java
+2
-2
order-application-service/src/main/java/cn/freemud/service/impl/AppOrderServiceImpl.java
+2
-2
order-application-service/src/main/java/cn/freemud/service/impl/CollageOrderServiceImpl.java
+1
-1
order-application-service/src/main/java/cn/freemud/service/impl/EncircleOrderServiceImpl.java
+1
-2
order-application-service/src/main/java/cn/freemud/service/impl/MCCafeOrderServiceImpl.java
+101
-4
order-application-service/src/main/java/cn/freemud/service/impl/OrderAdapterServiceImpl.java
+113
-135
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
+26
-3
order-application-service/src/main/java/cn/freemud/service/impl/PayServiceImpl.java
+1
-2
order-application-service/src/main/java/cn/freemud/service/universal/UniversalOrderService.java
+2
-2
No files found.
order-application-service/src/main/java/cn/freemud/controller/McCafeController.java
View file @
a437ba41
...
@@ -3,9 +3,7 @@ package cn.freemud.controller;
...
@@ -3,9 +3,7 @@ package cn.freemud.controller;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.entities.vo.*
;
import
cn.freemud.entities.vo.*
;
import
cn.freemud.monitorcenter.tools.HealthUtil
;
import
cn.freemud.service.MCCafeOrderService
;
import
cn.freemud.service.MCCafeOrderService
;
import
cn.freemud.service.OrderAdapterService
;
import
cn.freemud.service.Orderservice
;
import
cn.freemud.service.Orderservice
;
import
com.freemud.application.sdk.api.log.ApiAnnotation
;
import
com.freemud.application.sdk.api.log.ApiAnnotation
;
import
com.freemud.application.sdk.api.log.LogParams
;
import
com.freemud.application.sdk.api.log.LogParams
;
...
@@ -27,8 +25,6 @@ public class McCafeController {
...
@@ -27,8 +25,6 @@ public class McCafeController {
@Autowired
@Autowired
private
MCCafeOrderService
mcCafeOrderService
;
private
MCCafeOrderService
mcCafeOrderService
;
@Autowired
private
OrderAdapterService
orderAdapterService
;
/**
/**
* 麦咖啡创建订单
* 麦咖啡创建订单
...
@@ -36,7 +32,7 @@ public class McCafeController {
...
@@ -36,7 +32,7 @@ public class McCafeController {
@ApiAnnotation
(
logMessage
=
"createMCCafeOrder"
)
@ApiAnnotation
(
logMessage
=
"createMCCafeOrder"
)
@PostMapping
(
"/MCoffee/createMCCafeOrder"
)
@PostMapping
(
"/MCoffee/createMCCafeOrder"
)
public
BaseResponse
createOrderMCCafe
(
@Validated
@LogParams
@RequestBody
CreateOrderVo
createOrderVo
)
{
public
BaseResponse
createOrderMCCafe
(
@Validated
@LogParams
@RequestBody
CreateOrderVo
createOrderVo
)
{
return
orderAdapt
erService
.
createMCCafeOrder
(
createOrderVo
);
return
mcCafeOrd
erService
.
createMCCafeOrder
(
createOrderVo
);
}
}
/**
/**
...
...
order-application-service/src/main/java/cn/freemud/controller/OrderController.java
View file @
a437ba41
...
@@ -22,6 +22,7 @@ import cn.freemud.handler.OrderReportJobHandler;
...
@@ -22,6 +22,7 @@ import cn.freemud.handler.OrderReportJobHandler;
import
cn.freemud.monitorcenter.tools.HealthUtil
;
import
cn.freemud.monitorcenter.tools.HealthUtil
;
import
cn.freemud.service.*
;
import
cn.freemud.service.*
;
import
cn.freemud.service.impl.MallOrderServiceImpl
;
import
cn.freemud.service.impl.MallOrderServiceImpl
;
import
cn.freemud.service.impl.OrderAdapterServiceImpl
;
import
cn.freemud.utils.AppLogUtil
;
import
cn.freemud.utils.AppLogUtil
;
import
cn.freemud.utils.ResponseUtil
;
import
cn.freemud.utils.ResponseUtil
;
import
cn.freemud.xxljob.OrderCountJobHandler
;
import
cn.freemud.xxljob.OrderCountJobHandler
;
...
@@ -44,7 +45,7 @@ public class OrderController {
...
@@ -44,7 +45,7 @@ public class OrderController {
@Autowired
@Autowired
private
Orderservice
orderservice
;
private
Orderservice
orderservice
;
@Autowired
@Autowired
private
OrderAdapterService
orderAdapterService
;
private
OrderAdapterService
Impl
orderAdapterService
;
@Autowired
@Autowired
private
EncircleOrderService
encircleOrderService
;
private
EncircleOrderService
encircleOrderService
;
@Autowired
@Autowired
...
...
order-application-service/src/main/java/cn/freemud/service/AppOrderService.java
View file @
a437ba41
...
@@ -15,12 +15,12 @@ import java.util.Map;
...
@@ -15,12 +15,12 @@ import java.util.Map;
/**
/**
* app订单服务
* app订单服务
*/
*/
public
interface
AppOrderService
{
public
interface
AppOrderService
extends
OrderFactoryService
{
/**
/**
* 创建订单
* 创建订单
*/
*/
BaseResponse
createOrderFlo
w
(
CreateOrderVo
createOrderVo
);
// BaseResponse createOrderNe
w(CreateOrderVo createOrderVo);
/**
/**
* 创建预支付
* 创建预支付
...
@@ -30,7 +30,7 @@ public interface AppOrderService {
...
@@ -30,7 +30,7 @@ public interface AppOrderService {
/**
/**
* APP下单,下单带商品信息,不经过购物车服务,不唤起支付
* APP下单,下单带商品信息,不经过购物车服务,不唤起支付
*/
*/
BaseResponse
createOrder
(
AppCreateOrderVo
createOrderVo
,
AssortmentCustomerInfoVo
customerInfo
);
BaseResponse
createOrder
Old
(
AppCreateOrderVo
createOrderVo
,
AssortmentCustomerInfoVo
customerInfo
);
String
paySuccessCallback
(
PaysuccessNoticeMessage
message
,
ConfirmOrderDto
confirmOrderDto
,
Map
<
String
,
OrderBeanV1
>
orderBeans
);
String
paySuccessCallback
(
PaysuccessNoticeMessage
message
,
ConfirmOrderDto
confirmOrderDto
,
Map
<
String
,
OrderBeanV1
>
orderBeans
);
}
}
order-application-service/src/main/java/cn/freemud/service/EncircleOrderService.java
View file @
a437ba41
...
@@ -18,12 +18,12 @@ import cn.freemud.entities.vo.encircle.EncircleReserveBaseVo;
...
@@ -18,12 +18,12 @@ import cn.freemud.entities.vo.encircle.EncircleReserveBaseVo;
* @Copyright: ${DATE.YARE} www.freemud.cn Inc. All rights reserved.
* @Copyright: ${DATE.YARE} www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
*/
public
interface
EncircleOrderService
{
public
interface
EncircleOrderService
extends
OrderFactoryService
{
/**
/**
* 创建订单
* 创建订单
*/
*/
BaseResponse
createOrder
(
CreateOrderVo
createOrderVo
);
// BaseResponse createOrderNew
(CreateOrderVo createOrderVo);
/**
/**
* 围餐--开台
* 围餐--开台
...
...
order-application-service/src/main/java/cn/freemud/service/MallOrderService.java
View file @
a437ba41
...
@@ -24,12 +24,12 @@ import java.util.Map;
...
@@ -24,12 +24,12 @@ import java.util.Map;
* All rights Reserved, Designed By www.freemud.cn
* All rights Reserved, Designed By www.freemud.cn
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目的
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目的
*/
*/
public
interface
MallOrderService
{
public
interface
MallOrderService
extends
OrderFactoryService
{
/**
/**
* 创建订单
* 创建订单
*/
*/
BaseResponse
createOrder
(
CreateOrderVo
createOrderVo
);
// BaseResponse createOrderNew
(CreateOrderVo createOrderVo);
/**
/**
* 订单确认完成
* 订单确认完成
...
...
order-application-service/src/main/java/cn/freemud/service/OrderAdapterService.java
View file @
a437ba41
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.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.PaysuccessNoticeMessage
;
//
import cn.freemud.entities.vo.PaysuccessNoticeMessage;
//
import
java.util.Map
;
//
import java.util.Map;
//
/**
/
//
**
* All rights Reserved, Designed By www.freemud.cn
//
* All rights Reserved, Designed By www.freemud.cn
*
//
*
* @version V1.6.0
//
* @version V1.6.0
* @Title: OrderAdapterService
//
* @Title: OrderAdapterService
* @Description: 订单业务适配
//
* @Description: 订单业务适配
* @author: qin.zhou
//
* @author: qin.zhou
* @date: 2019/9/818:20
//
* @date: 2019/9/818:20
* @Copyright: ${DATE.YARE} www.freemud.cn Inc. All rights reserved.
//
* @Copyright: ${DATE.YARE} www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
//
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
//
*/
public
interface
OrderAdapterService
{
//
public interface OrderAdapterService {
//
/**
//
/**
* 创建订单
//
* 创建订单
* @param createOrderVo
//
* @param createOrderVo
* @return
//
* @return
*/
//
*/
BaseResponse
createOrderNew
(
CreateOrderVo
createOrderVo
);
//
BaseResponse createOrderNew(CreateOrderVo createOrderVo);
//
/**
//
/**
* 创建订单
//
* 创建订单
* @param param
//
* @param param
* @return
//
* @return
*/
//
*/
BaseResponse
createOrderUniversal
(
Map
<
String
,
Object
>
param
);
//
BaseResponse createOrderUniversal(Map<String, Object> param);
//
/**
//
/**
* 麦咖啡创建订单
//
* 麦咖啡创建订单
* @param createOrderVo
//
* @param createOrderVo
* @return
//
* @return
*/
//
*/
BaseResponse
createMCCafeOrder
(
CreateOrderVo
createOrderVo
);
//
BaseResponse createMCCafeOrder(CreateOrderVo createOrderVo);
//
/**
//
/**
* 创建预支付
//
* 创建预支付
*/
//
*/
BaseResponse
createPrepay
(
CreatePrepayVo
createPrepayVo
);
//
BaseResponse createPrepay(CreatePrepayVo createPrepayVo);
//
/**
//
/**
* APP下单,下单带商品信息,不经过购物车服务
//
* APP下单,下单带商品信息,不经过购物车服务
*/
//
*/
@Deprecated
//
@Deprecated
BaseResponse
appCreateOrder
(
AppCreateOrderVo
createOrderVo
);
//
BaseResponse appCreateOrder(AppCreateOrderVo createOrderVo);
//
/**
//
/**
* 支付回调处理
//
* 支付回调处理
*/
//
*/
String
paySuccessCallback
(
PaysuccessNoticeMessage
message
);
//
String paySuccessCallback(PaysuccessNoticeMessage message);
//
/**
//
/**
* 支付回调处理
//
* 支付回调处理
*/
//
*/
String
mcCafePaySuccessCallback
(
PaysuccessNoticeMessage
message
);
//
String mcCafePaySuccessCallback(PaysuccessNoticeMessage message);
//
}
//
}
order-application-service/src/main/java/cn/freemud/service/OrderFactoryService.java
0 → 100644
View file @
a437ba41
package
cn
.
freemud
.
service
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.entities.vo.CreateOrderVo
;
public
interface
OrderFactoryService
{
BaseResponse
createOrder
(
CreateOrderVo
createOrderVo
);
}
order-application-service/src/main/java/cn/freemud/service/Orderservice.java
View file @
a437ba41
...
@@ -17,7 +17,7 @@ import java.util.Map;
...
@@ -17,7 +17,7 @@ import java.util.Map;
* @author liming.guo
* @author liming.guo
* @date 2018/05/08
* @date 2018/05/08
*/
*/
public
interface
Orderservice
{
public
interface
Orderservice
extends
OrderFactoryService
{
/**
/**
* 创建订单之前校验前面排队的订单数
* 创建订单之前校验前面排队的订单数
...
@@ -27,7 +27,7 @@ public interface Orderservice {
...
@@ -27,7 +27,7 @@ public interface Orderservice {
/**
/**
* 创建订单
* 创建订单
*/
*/
BaseResponse
createOrderNew
(
CreateOrderVo
createOrderVo
);
//
BaseResponse createOrderNew(CreateOrderVo createOrderVo);
BaseResponse
scanFaceCreateOrder
(
CreateOrderVo
createOrderVo
);
BaseResponse
scanFaceCreateOrder
(
CreateOrderVo
createOrderVo
);
...
...
order-application-service/src/main/java/cn/freemud/service/PointsMallOrderService.java
View file @
a437ba41
...
@@ -8,12 +8,12 @@ import com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1;
...
@@ -8,12 +8,12 @@ import com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1;
import
java.util.Map
;
import
java.util.Map
;
public
interface
PointsMallOrderService
{
public
interface
PointsMallOrderService
extends
OrderFactoryService
{
/**
/**
* 创建订单
* 创建订单
*/
*/
BaseResponse
createOrder
(
CreateOrderVo
createOrderVo
);
// BaseResponse createOrderNew
(CreateOrderVo createOrderVo);
/**
/**
* 支付回调
* 支付回调
...
...
order-application-service/src/main/java/cn/freemud/service/impl/AppOrderServiceImpl.java
View file @
a437ba41
...
@@ -110,7 +110,7 @@ public class AppOrderServiceImpl implements AppOrderService {
...
@@ -110,7 +110,7 @@ public class AppOrderServiceImpl implements AppOrderService {
* 不支持会员卡
* 不支持会员卡
*/
*/
@Override
@Override
public
BaseResponse
createOrder
Flow
(
CreateOrderVo
createOrderVo
)
{
public
BaseResponse
createOrder
(
CreateOrderVo
createOrderVo
)
{
String
trackingNo
=
LogThreadLocal
.
getTrackingNo
();
String
trackingNo
=
LogThreadLocal
.
getTrackingNo
();
// 查询用户信息
// 查询用户信息
AssortmentCustomerInfoVo
userLoginInfoDto
=
checkOrder
.
checkOrderByMember
(
createOrderVo
,
trackingNo
);
AssortmentCustomerInfoVo
userLoginInfoDto
=
checkOrder
.
checkOrderByMember
(
createOrderVo
,
trackingNo
);
...
@@ -179,7 +179,7 @@ public class AppOrderServiceImpl implements AppOrderService {
...
@@ -179,7 +179,7 @@ public class AppOrderServiceImpl implements AppOrderService {
* APP下单,下单带商品信息,不经过购物车服务,不唤起支付
* APP下单,下单带商品信息,不经过购物车服务,不唤起支付
*/
*/
@Override
@Override
public
BaseResponse
createOrder
(
AppCreateOrderVo
createOrderReq
,
AssortmentCustomerInfoVo
customerInfo
)
{
public
BaseResponse
createOrder
Old
(
AppCreateOrderVo
createOrderReq
,
AssortmentCustomerInfoVo
customerInfo
)
{
String
trackingNo
=
LogThreadLocal
.
getTrackingNo
();
String
trackingNo
=
LogThreadLocal
.
getTrackingNo
();
String
partnerId
=
createOrderReq
.
getPartnerId
();
String
partnerId
=
createOrderReq
.
getPartnerId
();
String
shopId
=
createOrderReq
.
getShopId
();
String
shopId
=
createOrderReq
.
getShopId
();
...
...
order-application-service/src/main/java/cn/freemud/service/impl/CollageOrderServiceImpl.java
View file @
a437ba41
...
@@ -92,7 +92,7 @@ public class CollageOrderServiceImpl implements CollageOrderService {
...
@@ -92,7 +92,7 @@ public class CollageOrderServiceImpl implements CollageOrderService {
// 标记订单类型-4 拼单
// 标记订单类型-4 拼单
createOrderVo
.
setMarketingType
(
OrderMarketType
.
COLLAGE
.
getIndex
());
createOrderVo
.
setMarketingType
(
OrderMarketType
.
COLLAGE
.
getIndex
());
BaseResponse
orderCreateResponse
=
this
.
orderService
.
createOrder
New
(
createOrderVo
);
BaseResponse
orderCreateResponse
=
this
.
orderService
.
createOrder
(
createOrderVo
);
// if (null != orderCreateResponse && null != orderCreateResponse.getResult()) {
// if (null != orderCreateResponse && null != orderCreateResponse.getResult()) {
// Object result = orderCreateResponse.getResult();
// Object result = orderCreateResponse.getResult();
...
...
order-application-service/src/main/java/cn/freemud/service/impl/EncircleOrderServiceImpl.java
View file @
a437ba41
...
@@ -27,7 +27,6 @@ import cn.freemud.enums.*;
...
@@ -27,7 +27,6 @@ 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.EncircleOrderService
;
import
cn.freemud.service.EncircleOrderService
;
import
cn.freemud.service.OrderAdapterService
;
import
cn.freemud.service.thirdparty.ShoppingCartClient
;
import
cn.freemud.service.thirdparty.ShoppingCartClient
;
import
cn.freemud.service.thirdparty.StoreItemClient
;
import
cn.freemud.service.thirdparty.StoreItemClient
;
import
cn.freemud.service.thirdparty.SvcAppClient
;
import
cn.freemud.service.thirdparty.SvcAppClient
;
...
@@ -119,7 +118,7 @@ public class EncircleOrderServiceImpl implements EncircleOrderService {
...
@@ -119,7 +118,7 @@ public class EncircleOrderServiceImpl implements EncircleOrderService {
@Autowired
@Autowired
private
ActivityCalculationDiscountService
calculationDiscountService
;
private
ActivityCalculationDiscountService
calculationDiscountService
;
@Autowired
@Autowired
private
OrderAdapterService
orderAdapterService
;
private
OrderAdapterService
Impl
orderAdapterService
;
@Autowired
@Autowired
private
CouponAdapter
couponAdapter
;
private
CouponAdapter
couponAdapter
;
@Autowired
@Autowired
...
...
order-application-service/src/main/java/cn/freemud/service/impl/MCCafeOrderServiceImpl.java
View file @
a437ba41
...
@@ -56,7 +56,6 @@ import cn.freemud.management.service.OrderBaseService;
...
@@ -56,7 +56,6 @@ import cn.freemud.management.service.OrderBaseService;
import
cn.freemud.redis.RedisCache
;
import
cn.freemud.redis.RedisCache
;
import
cn.freemud.service.BuriedPointService
;
import
cn.freemud.service.BuriedPointService
;
import
cn.freemud.service.MCCafeOrderService
;
import
cn.freemud.service.MCCafeOrderService
;
import
cn.freemud.service.OrderAdapterService
;
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
cn.freemud.service.mccafe.thirdparty.DeliveryFeiginMCCafeClient
;
import
cn.freemud.service.mccafe.thirdparty.DeliveryFeiginMCCafeClient
;
...
@@ -113,6 +112,7 @@ import com.freemud.sdk.api.assortment.order.response.order.*;
...
@@ -113,6 +112,7 @@ import com.freemud.sdk.api.assortment.order.response.order.*;
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.sdk.api.assortment.order.service.OrderCenterSdkService
;
import
com.freemud.sdk.api.assortment.order.service.OrderCenterSdkService
;
import
com.freemud.sdk.api.assortment.order.util.LockUtils
;
import
com.freemud.sdk.api.assortment.order.vo.ProductGroupVo
;
import
com.freemud.sdk.api.assortment.order.vo.ProductGroupVo
;
import
com.freemud.sdk.api.assortment.payment.request.UnifiedOrderRequest
;
import
com.freemud.sdk.api.assortment.payment.request.UnifiedOrderRequest
;
import
com.freemud.sdk.api.assortment.payment.response.OrderRefundResponse
;
import
com.freemud.sdk.api.assortment.payment.response.OrderRefundResponse
;
...
@@ -123,6 +123,7 @@ import com.google.gson.Gson;
...
@@ -123,6 +123,7 @@ import com.google.gson.Gson;
import
ma.glasnost.orika.MapperFacade
;
import
ma.glasnost.orika.MapperFacade
;
import
ma.glasnost.orika.impl.DefaultMapperFactory
;
import
ma.glasnost.orika.impl.DefaultMapperFactory
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.MapUtils
;
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.joda.time.DateTime
;
import
org.joda.time.DateTime
;
...
@@ -160,6 +161,13 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
...
@@ -160,6 +161,13 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
private
String
deliveryCallBackUrl
;
private
String
deliveryCallBackUrl
;
@Value
(
"${mcCafe.quickOrder.interval}"
)
@Value
(
"${mcCafe.quickOrder.interval}"
)
private
String
quickOrderInterval
;
private
String
quickOrderInterval
;
@Value
(
"${mccafe.partner.id}"
)
private
String
mcCafePartnerId
;
/**
* 创单锁定的key
*/
@Value
(
"${create.order.key.expire:5}"
)
private
String
createOrderKeyExpire
;
@Autowired
@Autowired
private
DeliveryFeiginClient
deliveryFeiginClient
;
private
DeliveryFeiginClient
deliveryFeiginClient
;
...
@@ -213,7 +221,7 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
...
@@ -213,7 +221,7 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
@Autowired
@Autowired
private
AssortmentOpenPlatformWxappAuthorizerManager
wxappAuthorizerManager
;
private
AssortmentOpenPlatformWxappAuthorizerManager
wxappAuthorizerManager
;
@Autowired
@Autowired
private
OrderAdapterService
orderAdapterService
;
private
OrderAdapterService
Impl
orderAdapterService
;
@Autowired
@Autowired
private
AssortmentOpenPlatformPartnerManager
assortmentOpenPlatformPartnerManager
;
private
AssortmentOpenPlatformPartnerManager
assortmentOpenPlatformPartnerManager
;
@Autowired
@Autowired
...
@@ -230,11 +238,46 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
...
@@ -230,11 +238,46 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
private
CustomerExtendClient
customerExtendClient
;
private
CustomerExtendClient
customerExtendClient
;
@Autowired
@Autowired
private
AssortmentOpenPlatformPartnerConfigManager
openPlatformPartnerConfigManager
;
private
AssortmentOpenPlatformPartnerConfigManager
openPlatformPartnerConfigManager
;
@Autowired
private
AssortmentCustomerInfoManager
assortmentCustomerInfoManager
;
private
static
MapperFacade
mapper
=
new
DefaultMapperFactory
.
Builder
().
build
().
getMapperFacade
();
private
static
MapperFacade
mapper
=
new
DefaultMapperFactory
.
Builder
().
build
().
getMapperFacade
();
/**
* 下单检查key,防止重复下单
*/
private
final
String
CREATE_ORDER_KEY
=
"create_order_key:"
;
private
final
String
PAY_SUCCESS_KEY
=
"pay_success_key:"
;
@Override
@Override
public
BaseResponse
createMCCafeOrder
(
CreateOrderVo
createOrderVo
)
{
public
BaseResponse
createMCCafeOrder
(
CreateOrderVo
createOrderVo
)
{
AssortmentCustomerInfoVo
assortmentCustomerInfoVo
=
assortmentCustomerInfoManager
.
getCustomerInfoByObject
(
createOrderVo
.
getSessionId
());
if
(
assortmentCustomerInfoVo
==
null
||
StringUtils
.
isEmpty
(
assortmentCustomerInfoVo
.
getMemberId
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
NOT_LOGIN
);
}
if
(!
mcCafePartnerId
.
equals
(
assortmentCustomerInfoVo
.
getPartnerId
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
LOGIN_STORE_ERROR
);
}
// 扩展字段中存储 sessionKey
createOrderVo
.
setSessionKey
(
assortmentCustomerInfoVo
.
getSessionKey
());
// 添加分布式锁,如果没有取得锁直接返回失败;整个方法执行完毕后会删掉该锁
// 锁定秒数从apollo获取,如果apollo没有设置,默认5秒
String
createOrderKey
=
CREATE_ORDER_KEY
+
assortmentCustomerInfoVo
.
getMemberId
();
try
{
Long
expire
=
Long
.
valueOf
(
createOrderKeyExpire
);
if
(!
LockUtils
.
lock
(
redisCache
.
getRedisTemplate
(),
createOrderKey
,
expire
))
{
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_NOT_CREATE_ERROR
);
}
}
catch
(
Exception
e
)
{
throw
e
;
}
finally
{
//LockUtils.unlock(redisCache.getRedisTemplate(),createOrderKey);
}
//原标准点餐程序逻辑处理
BaseResponse
baseResponse
=
this
.
checkStandardParamInfo
(
createOrderVo
);
if
(
ObjectUtils
.
notEqual
(
baseResponse
.
getCode
(),
ResponseResult
.
SUCCESS
.
getCode
()))
{
return
baseResponse
;
}
String
trackingNo
=
LogThreadLocal
.
getTrackingNo
();
String
trackingNo
=
LogThreadLocal
.
getTrackingNo
();
// 查询用户信息,余额购物车校验
// 查询用户信息,余额购物车校验
AssortmentCustomerInfoVo
userLoginInfoDto
=
checkMCCafeOrder
.
checkOrderByMember
(
createOrderVo
,
trackingNo
);
AssortmentCustomerInfoVo
userLoginInfoDto
=
checkMCCafeOrder
.
checkOrderByMember
(
createOrderVo
,
trackingNo
);
...
@@ -305,7 +348,7 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
...
@@ -305,7 +348,7 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
message
.
setPlatformMchId
(
newMessage
.
getPlatformMchId
());
message
.
setPlatformMchId
(
newMessage
.
getPlatformMchId
());
message
.
setTerminalId
(
newMessage
.
getAppId
());
message
.
setTerminalId
(
newMessage
.
getAppId
());
message
.
setRuleId
(
newMessage
.
getRuleId
());
message
.
setRuleId
(
newMessage
.
getRuleId
());
String
res
=
orderAdapterService
.
mcCafePaySuccessCallback
(
message
);
String
res
=
this
.
mcCafePaySuccessCallback
(
message
);
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
res
);
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
res
);
if
(
jsonObject
.
containsKey
(
"code"
))
{
if
(
jsonObject
.
containsKey
(
"code"
))
{
Integer
code
=
(
Integer
)
jsonObject
.
get
(
"code"
);
Integer
code
=
(
Integer
)
jsonObject
.
get
(
"code"
);
...
@@ -319,6 +362,41 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
...
@@ -319,6 +362,41 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
return
newSendPayFaileMessage
();
return
newSendPayFaileMessage
();
}
}
// @Override
public
String
mcCafePaySuccessCallback
(
PaysuccessNoticeMessage
message
)
{
//添加分布式锁,如果没有取得锁直接返回失败;整个方法执行完毕后会删掉该锁
String
paySuccessKey
=
PAY_SUCCESS_KEY
+
message
.
getTrans_id
();
if
(!
LockUtils
.
lockAfter
(
redisCache
.
getRedisTemplate
(),
paySuccessKey
))
{
return
orderAdapter
.
paySuccessLockedMessage
();
}
try
{
ConfirmOrderDto
confirmOrderDto
=
orderAdapter
.
convent2ConfirmOrderDto
(
message
);
// 通过交易号从缓存中拿订单号,如果有数据则实际订单号为其value值
String
orderId
=
redisCache
.
getValue
(
RedisUtil
.
getPaymentTransIdOrderKey
(
confirmOrderDto
.
getOrderId
()));
if
(
StringUtils
.
isNotBlank
(
orderId
))
{
confirmOrderDto
.
setOrderId
(
orderId
);
}
Map
<
String
,
OrderBeanV1
>
orderBeans
=
orderService
.
getOrderBeanByOrderId
(
confirmOrderDto
.
getOrderId
());
if
(
MapUtils
.
isEmpty
(
orderBeans
))
{
return
gson
.
toJson
(
message
);
}
OrderBeanV1
orderBean
=
orderBeans
.
get
(
OrderBeanType
.
SAASORDER
.
getCode
());
if
(!
PayStatus
.
NOT_PAY
.
getCode
().
equals
(
orderBean
.
getPayStatus
()))
{
return
orderAdapter
.
sendPaySuccessNoticeMessage
();
}
/**
* 默认点餐处理
*/
return
this
.
paySuccessCallback
(
message
,
confirmOrderDto
,
orderBeans
);
}
catch
(
Exception
e
)
{
throw
e
;
}
finally
{
//删除分布式锁
redisCache
.
delete
(
"saas:lockAfter:"
+
paySuccessKey
);
}
}
public
QueryRelationOrderByIdResponseDto
getQueryRelationOrderByIdResponseDto
(
String
oid
)
{
public
QueryRelationOrderByIdResponseDto
getQueryRelationOrderByIdResponseDto
(
String
oid
)
{
QueryRelatedOrderByCodeRequest
baseQueryOrderRequest
=
new
QueryRelatedOrderByCodeRequest
();
QueryRelatedOrderByCodeRequest
baseQueryOrderRequest
=
new
QueryRelatedOrderByCodeRequest
();
baseQueryOrderRequest
.
setOrderCode
(
oid
);
baseQueryOrderRequest
.
setOrderCode
(
oid
);
...
@@ -576,7 +654,7 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
...
@@ -576,7 +654,7 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
message
.
setPlatform_coupon
(
0
);
message
.
setPlatform_coupon
(
0
);
message
.
setMerchant_coupon
(
0
);
message
.
setMerchant_coupon
(
0
);
//修改为麦咖啡支付成功回调
//修改为麦咖啡支付成功回调
orderAdapterService
.
mcCafePaySuccessCallback
(
message
);
this
.
mcCafePaySuccessCallback
(
message
);
return
ResponseUtil
.
success
(
createOrderResponse
);
return
ResponseUtil
.
success
(
createOrderResponse
);
}
}
}
}
...
@@ -2496,4 +2574,23 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
...
@@ -2496,4 +2574,23 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
return
channelType
;
return
channelType
;
}
}
/**
* 标准点餐参数校验
*
* @param createOrderVo
* @return
*/
private
BaseResponse
checkStandardParamInfo
(
CreateOrderVo
createOrderVo
)
{
if
(
StringUtils
.
isEmpty
(
createOrderVo
.
getSessionId
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
CREATE_ORDER_CHECK_SESSION_ERROR
);
}
if
(
StringUtils
.
isEmpty
(
createOrderVo
.
getShopId
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
CREATE_ORDER_CHECK_STORE_ERROR
);
}
if
(
createOrderVo
.
getOrderType
()
==
null
)
{
return
ResponseUtil
.
error
(
ResponseResult
.
CREATE_ORDER_CHECK_ORDERTYPE_ERROR
);
}
return
ResponseUtil
.
success
();
}
}
}
order-application-service/src/main/java/cn/freemud/service/impl/OrderAdapterServiceImpl.java
View file @
a437ba41
...
@@ -2,6 +2,7 @@ package cn.freemud.service.impl;
...
@@ -2,6 +2,7 @@ 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.demoTest.service.OrderService
;
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.vo.*
;
import
cn.freemud.entities.vo.*
;
...
@@ -57,7 +58,7 @@ import java.util.*;
...
@@ -57,7 +58,7 @@ import java.util.*;
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
*/
@Service
@Service
public
class
OrderAdapterServiceImpl
implements
OrderAdapterService
{
public
class
OrderAdapterServiceImpl
{
private
final
String
PAY_SUCCESS_KEY
=
"pay_success_key:"
;
private
final
String
PAY_SUCCESS_KEY
=
"pay_success_key:"
;
...
@@ -92,7 +93,9 @@ public class OrderAdapterServiceImpl implements OrderAdapterService {
...
@@ -92,7 +93,9 @@ public class OrderAdapterServiceImpl implements OrderAdapterService {
@Autowired
@Autowired
private
EncircleOrderService
encircleOrderService
;
private
EncircleOrderService
encircleOrderService
;
@Autowired
@Autowired
private
OrderServiceImpl
orderService
;
private
OrderServiceImpl
orderServiceImpl
;
@Autowired
private
cn
.
freemud
.
service
.
Orderservice
orderService
;
@Autowired
@Autowired
private
MCCafeOrderService
mcCafeOrderService
;
private
MCCafeOrderService
mcCafeOrderService
;
...
@@ -127,46 +130,44 @@ public class OrderAdapterServiceImpl implements OrderAdapterService {
...
@@ -127,46 +130,44 @@ public class OrderAdapterServiceImpl implements OrderAdapterService {
private
OrderCallbackClient
orderCallbackClient
;
private
OrderCallbackClient
orderCallbackClient
;
@Override
private
OrderFactoryService
getCreateOrderBean
(
AssortmentCustomerInfoVo
assortmentCustomerInfoVo
,
CreateOrderVo
createOrderVo
){
public
BaseResponse
createOrderNew
(
CreateOrderVo
createOrderVo
)
{
AssortmentCustomerInfoVo
assortmentCustomerInfoVo
=
assortmentCustomerInfoManager
.
getCustomerInfoByObject
(
createOrderVo
.
getSessionId
());
if
(
assortmentCustomerInfoVo
==
null
||
StringUtils
.
isEmpty
(
assortmentCustomerInfoVo
.
getMemberId
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
NOT_LOGIN
);
}
// 用于测试 新创建订单接口 不是围餐, 并且 商户号 门店号都在配置里面
if
(!
"wc"
.
equals
(
createOrderVo
.
getChannelType
())
&&
!
partnerIds
.
isEmpty
()
&&
partnerIds
.
contains
(
createOrderVo
.
getPartnerId
())
&&
!
storeIds
.
isEmpty
()
&&
storeIds
.
contains
(
createOrderVo
.
getShopId
()))
{
// AppLogUtil.infoLog("进入新订单创建流程", createOrderVo,null);
return
this
.
createOrderUniversal
(
com
.
freemud
.
application
.
sdk
.
api
.
util
.
MapUtils
.
java2Map
(
createOrderVo
));
}
// 扩展字段中存储 sessionKey
// 扩展字段中存储 sessionKey
createOrderVo
.
setSessionKey
(
assortmentCustomerInfoVo
.
getSessionKey
());
createOrderVo
.
setSessionKey
(
assortmentCustomerInfoVo
.
getSessionKey
());
if
(
IappIdType
.
WC_XCX
.
getCode
().
equals
(
assortmentCustomerInfoVo
.
getIappId
()))
{
//i围餐
if
(
IappIdType
.
WC_XCX
.
getCode
().
equals
(
assortmentCustomerInfoVo
.
getIappId
()))
{
//i围餐
return
encircleOrderService
.
createOrder
(
createOrderVo
)
;
return
encircleOrderService
;
}
}
//积分商城
//积分商城
if
(
OrderChannelType
.
POINTSMALL
.
getCode
().
equals
(
createOrderVo
.
getChannelType
()))
{
if
(
OrderChannelType
.
POINTSMALL
.
getCode
().
equals
(
createOrderVo
.
getChannelType
()))
{
return
pointsMallOrderService
.
createOrder
(
createOrderVo
)
;
return
pointsMallOrderService
;
}
}
//微商城订单
//微商城订单
if
(
OrderChannelType
.
SAASMALL
.
getCode
().
equals
(
createOrderVo
.
getChannelType
()))
{
if
(
OrderChannelType
.
SAASMALL
.
getCode
().
equals
(
createOrderVo
.
getChannelType
()))
{
return
mallOrderService
.
createOrder
(
createOrderVo
)
;
return
mallOrderService
;
}
}
//APP下单
//APP下单
if
(
UserLoginChannelEnum
.
APP
.
getCode
().
equals
(
assortmentCustomerInfoVo
.
getChannel
()))
{
if
(
UserLoginChannelEnum
.
APP
.
getCode
().
equals
(
assortmentCustomerInfoVo
.
getChannel
()))
{
return
appOrderService
.
createOrderFlow
(
createOrderVo
)
;
return
appOrderService
;
}
}
return
orderService
;
}
//原标准点餐程序逻辑处理
// @Override
BaseResponse
baseResponse
=
this
.
checkStandardParamInfo
(
createOrderVo
);
public
BaseResponse
createOrderNew
(
CreateOrderVo
createOrderVo
)
{
if
(
ObjectUtils
.
notEqual
(
baseResponse
.
getCode
(),
ResponseResult
.
SUCCESS
.
getCode
()))
{
AssortmentCustomerInfoVo
assortmentCustomerInfoVo
=
assortmentCustomerInfoManager
.
getCustomerInfoByObject
(
createOrderVo
.
getSessionId
());
return
baseResponse
;
if
(
assortmentCustomerInfoVo
==
null
||
StringUtils
.
isEmpty
(
assortmentCustomerInfoVo
.
getMemberId
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
NOT_LOGIN
);
}
// 扩展字段中存储 sessionKey
createOrderVo
.
setSessionKey
(
assortmentCustomerInfoVo
.
getSessionKey
());
// 用于测试 新创建订单接口 不是围餐, 并且 商户号 门店号都在配置里面
if
(!
"wc"
.
equals
(
createOrderVo
.
getChannelType
())
&&
!
partnerIds
.
isEmpty
()
&&
partnerIds
.
contains
(
createOrderVo
.
getPartnerId
())
&&
!
storeIds
.
isEmpty
()
&&
storeIds
.
contains
(
createOrderVo
.
getShopId
()))
{
// AppLogUtil.infoLog("进入新订单创建流程", createOrderVo,null);
return
this
.
createOrderUniversal
(
com
.
freemud
.
application
.
sdk
.
api
.
util
.
MapUtils
.
java2Map
(
createOrderVo
));
}
}
// 添加分布式锁,如果没有取得锁直接返回失败;整个方法执行完毕后会删掉该锁
// 添加分布式锁,如果没有取得锁直接返回失败;整个方法执行完毕后会删掉该锁
// 锁定秒数从apollo获取,如果apollo没有设置,默认5秒
// 锁定秒数从apollo获取,如果apollo没有设置,默认5秒
String
createOrderKey
=
CREATE_ORDER_KEY
+
assortmentCustomerInfoVo
.
getMemberId
();
String
createOrderKey
=
CREATE_ORDER_KEY
+
assortmentCustomerInfoVo
.
getMemberId
();
...
@@ -175,7 +176,8 @@ public class OrderAdapterServiceImpl implements OrderAdapterService {
...
@@ -175,7 +176,8 @@ public class OrderAdapterServiceImpl implements OrderAdapterService {
if
(!
LockUtils
.
lock
(
redisCache
.
getRedisTemplate
(),
createOrderKey
,
expire
))
{
if
(!
LockUtils
.
lock
(
redisCache
.
getRedisTemplate
(),
createOrderKey
,
expire
))
{
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_NOT_CREATE_ERROR
);
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_NOT_CREATE_ERROR
);
}
}
return
orderService
.
createOrderNew
(
createOrderVo
);
OrderFactoryService
orderFactoryService
=
getCreateOrderBean
(
assortmentCustomerInfoVo
,
createOrderVo
);
return
orderFactoryService
.
createOrder
(
createOrderVo
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
throw
e
;
throw
e
;
}
finally
{
}
finally
{
...
@@ -183,7 +185,7 @@ public class OrderAdapterServiceImpl implements OrderAdapterService {
...
@@ -183,7 +185,7 @@ public class OrderAdapterServiceImpl implements OrderAdapterService {
}
}
}
}
@Override
//
@Override
public
BaseResponse
createOrderUniversal
(
Map
<
String
,
Object
>
param
)
{
public
BaseResponse
createOrderUniversal
(
Map
<
String
,
Object
>
param
)
{
if
(
param
.
isEmpty
())
{
if
(
param
.
isEmpty
())
{
throw
new
ServiceException
(
ResponseResult
.
PARAMETER_MISSING
);
throw
new
ServiceException
(
ResponseResult
.
PARAMETER_MISSING
);
...
@@ -221,58 +223,52 @@ public class OrderAdapterServiceImpl implements OrderAdapterService {
...
@@ -221,58 +223,52 @@ public class OrderAdapterServiceImpl implements OrderAdapterService {
}
}
}
}
private
BaseResponse
validateParam
(
CreateOrderBaseVo
createOrderBaseVo
)
{
// private BaseResponse validateParam(CreateOrderBaseVo createOrderBaseVo) {
HibernateValidatorConfiguration
configuration
=
Validation
.
byProvider
(
HibernateValidator
.
class
)
// HibernateValidatorConfiguration configuration = Validation.byProvider(HibernateValidator.class)
.
configure
()
// .configure()
.
failFast
(
false
);
// .failFast(false);
ValidatorFactory
validatorFactory
=
configuration
.
buildValidatorFactory
();
// ValidatorFactory validatorFactory = configuration.buildValidatorFactory();
Set
<
ConstraintViolation
<
CreateOrderBaseVo
>>
set
=
validatorFactory
.
getValidator
().
validate
(
createOrderBaseVo
);
// Set<ConstraintViolation<CreateOrderBaseVo>> set = validatorFactory.getValidator().validate(createOrderBaseVo);
if
(
CollectionUtils
.
isNotEmpty
(
set
))
{
// if (CollectionUtils.isNotEmpty(set)) {
Iterator
<
ConstraintViolation
<
CreateOrderBaseVo
>>
iterator
=
set
.
iterator
();
// Iterator<ConstraintViolation<CreateOrderBaseVo>> iterator = set.iterator();
if
(
iterator
.
hasNext
())
{
// if (iterator.hasNext()) {
ConstraintViolation
<
CreateOrderBaseVo
>
constraintViolation
=
iterator
.
next
();
// ConstraintViolation<CreateOrderBaseVo> constraintViolation = iterator.next();
return
ResponseUtil
.
error
(
ResponseResult
.
PARAMETER_MISSING
.
getCode
(),
constraintViolation
.
getMessage
());
// return ResponseUtil.error(ResponseResult.PARAMETER_MISSING.getCode(), constraintViolation.getMessage());
}
// }
}
// }
return
ResponseUtil
.
success
();
// return ResponseUtil.success();
}
// }
@Override
// @Override
public
BaseResponse
createMCCafeOrder
(
CreateOrderVo
createOrderVo
)
{
// public BaseResponse createMCCafeOrder(CreateOrderVo createOrderVo) {
AssortmentCustomerInfoVo
assortmentCustomerInfoVo
=
assortmentCustomerInfoManager
.
getCustomerInfoByObject
(
createOrderVo
.
getSessionId
());
// AssortmentCustomerInfoVo assortmentCustomerInfoVo = assortmentCustomerInfoManager.getCustomerInfoByObject(createOrderVo.getSessionId());
if
(
assortmentCustomerInfoVo
==
null
||
StringUtils
.
isEmpty
(
assortmentCustomerInfoVo
.
getMemberId
()))
{
// if (assortmentCustomerInfoVo == null || StringUtils.isEmpty(assortmentCustomerInfoVo.getMemberId())) {
return
ResponseUtil
.
error
(
ResponseResult
.
NOT_LOGIN
);
// return ResponseUtil.error(ResponseResult.NOT_LOGIN);
}
// }
if
(!
mcCafePartnerId
.
equals
(
assortmentCustomerInfoVo
.
getPartnerId
()))
{
// if (!mcCafePartnerId.equals(assortmentCustomerInfoVo.getPartnerId())) {
return
ResponseUtil
.
error
(
ResponseResult
.
LOGIN_STORE_ERROR
);
// return ResponseUtil.error(ResponseResult.LOGIN_STORE_ERROR);
}
// }
// 扩展字段中存储 sessionKey
// // 扩展字段中存储 sessionKey
createOrderVo
.
setSessionKey
(
assortmentCustomerInfoVo
.
getSessionKey
());
// createOrderVo.setSessionKey(assortmentCustomerInfoVo.getSessionKey());
//
//原标准点餐程序逻辑处理
// // 添加分布式锁,如果没有取得锁直接返回失败;整个方法执行完毕后会删掉该锁
BaseResponse
baseResponse
=
this
.
checkStandardParamInfo
(
createOrderVo
);
// // 锁定秒数从apollo获取,如果apollo没有设置,默认5秒
if
(
ObjectUtils
.
notEqual
(
baseResponse
.
getCode
(),
ResponseResult
.
SUCCESS
.
getCode
()))
{
// String createOrderKey = CREATE_ORDER_KEY + assortmentCustomerInfoVo.getMemberId();
return
baseResponse
;
// try {
}
// Long expire = Long.valueOf(createOrderKeyExpire);
// if (!LockUtils.lock(redisCache.getRedisTemplate(), createOrderKey, expire)) {
// 添加分布式锁,如果没有取得锁直接返回失败;整个方法执行完毕后会删掉该锁
// return ResponseUtil.error(ResponseResult.ORDER_NOT_CREATE_ERROR);
// 锁定秒数从apollo获取,如果apollo没有设置,默认5秒
// }
String
createOrderKey
=
CREATE_ORDER_KEY
+
assortmentCustomerInfoVo
.
getMemberId
();
// return mcCafeOrderService.createMCCafeOrder(createOrderVo);
try
{
// } catch (Exception e) {
Long
expire
=
Long
.
valueOf
(
createOrderKeyExpire
);
// throw e;
if
(!
LockUtils
.
lock
(
redisCache
.
getRedisTemplate
(),
createOrderKey
,
expire
))
{
// } finally {
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_NOT_CREATE_ERROR
);
// //LockUtils.unlock(redisCache.getRedisTemplate(),createOrderKey);
}
// }
return
mcCafeOrderService
.
createMCCafeOrder
(
createOrderVo
);
// }
}
catch
(
Exception
e
)
{
throw
e
;
// @Override
}
finally
{
//LockUtils.unlock(redisCache.getRedisTemplate(),createOrderKey);
}
}
@Override
public
BaseResponse
createPrepay
(
CreatePrepayVo
createPrepayVo
)
{
public
BaseResponse
createPrepay
(
CreatePrepayVo
createPrepayVo
)
{
AssortmentCustomerInfoVo
assortmentCustomerInfoVo
=
assortmentCustomerInfoManager
.
getCustomerInfoByObject
(
createPrepayVo
.
getSessionId
());
AssortmentCustomerInfoVo
assortmentCustomerInfoVo
=
assortmentCustomerInfoManager
.
getCustomerInfoByObject
(
createPrepayVo
.
getSessionId
());
if
(
assortmentCustomerInfoVo
==
null
||
StringUtils
.
isEmpty
(
assortmentCustomerInfoVo
.
getMemberId
()))
{
if
(
assortmentCustomerInfoVo
==
null
||
StringUtils
.
isEmpty
(
assortmentCustomerInfoVo
.
getMemberId
()))
{
...
@@ -284,7 +280,7 @@ public class OrderAdapterServiceImpl implements OrderAdapterService {
...
@@ -284,7 +280,7 @@ public class OrderAdapterServiceImpl implements OrderAdapterService {
throw
new
UnsupportedOperationException
(
"暂不支持渠道:"
+
assortmentCustomerInfoVo
.
getChannel
());
throw
new
UnsupportedOperationException
(
"暂不支持渠道:"
+
assortmentCustomerInfoVo
.
getChannel
());
}
}
@Override
//
@Override
public
String
paySuccessCallback
(
PaysuccessNoticeMessage
message
)
{
public
String
paySuccessCallback
(
PaysuccessNoticeMessage
message
)
{
if
(
StringUtils
.
isEmpty
(
message
.
getTrans_id
()))
{
if
(
StringUtils
.
isEmpty
(
message
.
getTrans_id
()))
{
return
orderAdapter
.
newSendPayFailedMessage
();
return
orderAdapter
.
newSendPayFailedMessage
();
...
@@ -302,7 +298,7 @@ public class OrderAdapterServiceImpl implements OrderAdapterService {
...
@@ -302,7 +298,7 @@ public class OrderAdapterServiceImpl implements OrderAdapterService {
if
(
StringUtils
.
isNotBlank
(
orderId
))
{
if
(
StringUtils
.
isNotBlank
(
orderId
))
{
confirmOrderDto
.
setOrderId
(
orderId
);
confirmOrderDto
.
setOrderId
(
orderId
);
}
}
Map
<
String
,
OrderBeanV1
>
orderBeans
=
orderService
.
getOrderBeanByOrderId
(
confirmOrderDto
.
getOrderId
());
Map
<
String
,
OrderBeanV1
>
orderBeans
=
orderService
Impl
.
getOrderBeanByOrderId
(
confirmOrderDto
.
getOrderId
());
if
(
MapUtils
.
isEmpty
(
orderBeans
))
{
if
(
MapUtils
.
isEmpty
(
orderBeans
))
{
return
gson
.
toJson
(
message
);
return
gson
.
toJson
(
message
);
}
}
...
@@ -315,7 +311,7 @@ public class OrderAdapterServiceImpl implements OrderAdapterService {
...
@@ -315,7 +311,7 @@ public class OrderAdapterServiceImpl implements OrderAdapterService {
//若是app订单超时回调了 订单已取消则做退款处理
//若是app订单超时回调了 订单已取消则做退款处理
if
(
OrderStatus
.
CALCEL
.
getCode
().
equals
(
orderBean
.
getStatus
())
&&
Arrays
.
asList
(
autoRefundClient
.
split
(
","
)).
contains
(
client
.
toString
())
if
(
OrderStatus
.
CALCEL
.
getCode
().
equals
(
orderBean
.
getStatus
())
&&
Arrays
.
asList
(
autoRefundClient
.
split
(
","
)).
contains
(
client
.
toString
())
&&
Arrays
.
asList
(
autoRefundPartnerId
.
split
(
","
)).
contains
(
orderBean
.
getCompanyId
()))
{
&&
Arrays
.
asList
(
autoRefundPartnerId
.
split
(
","
)).
contains
(
orderBean
.
getCompanyId
()))
{
orderService
.
timeOutRefund
(
orderBean
);
orderService
Impl
.
timeOutRefund
(
orderBean
);
return
orderAdapter
.
sendPaySuccessNoticeMessage
();
return
orderAdapter
.
sendPaySuccessNoticeMessage
();
}
}
//紧急开关时 判断订单bean是否存在
//紧急开关时 判断订单bean是否存在
...
@@ -372,72 +368,54 @@ public class OrderAdapterServiceImpl implements OrderAdapterService {
...
@@ -372,72 +368,54 @@ public class OrderAdapterServiceImpl implements OrderAdapterService {
}
}
}
}
@Override
//
@Override
public
String
mcCafePaySuccessCallback
(
PaysuccessNoticeMessage
message
)
{
//
public String mcCafePaySuccessCallback(PaysuccessNoticeMessage message) {
//添加分布式锁,如果没有取得锁直接返回失败;整个方法执行完毕后会删掉该锁
//
//添加分布式锁,如果没有取得锁直接返回失败;整个方法执行完毕后会删掉该锁
String
paySuccessKey
=
PAY_SUCCESS_KEY
+
message
.
getTrans_id
();
//
String paySuccessKey = PAY_SUCCESS_KEY + message.getTrans_id();
if
(!
LockUtils
.
lockAfter
(
redisCache
.
getRedisTemplate
(),
paySuccessKey
))
{
//
if (!LockUtils.lockAfter(redisCache.getRedisTemplate(), paySuccessKey)) {
return
orderAdapter
.
paySuccessLockedMessage
();
//
return orderAdapter.paySuccessLockedMessage();
}
//
}
try
{
//
try {
ConfirmOrderDto
confirmOrderDto
=
orderAdapter
.
convent2ConfirmOrderDto
(
message
);
//
ConfirmOrderDto confirmOrderDto = orderAdapter.convent2ConfirmOrderDto(message);
// 通过交易号从缓存中拿订单号,如果有数据则实际订单号为其value值
//
// 通过交易号从缓存中拿订单号,如果有数据则实际订单号为其value值
String
orderId
=
redisCache
.
getValue
(
RedisUtil
.
getPaymentTransIdOrderKey
(
confirmOrderDto
.
getOrderId
()));
//
String orderId = redisCache.getValue(RedisUtil.getPaymentTransIdOrderKey(confirmOrderDto.getOrderId()));
if
(
StringUtils
.
isNotBlank
(
orderId
))
{
//
if (StringUtils.isNotBlank(orderId)) {
confirmOrderDto
.
setOrderId
(
orderId
);
//
confirmOrderDto.setOrderId(orderId);
}
//
}
Map
<
String
,
OrderBeanV1
>
orderBeans
=
orderService
.
getOrderBeanByOrderId
(
confirmOrderDto
.
getOrderId
());
// Map<String, OrderBeanV1> orderBeans = orderServiceImpl
.getOrderBeanByOrderId(confirmOrderDto.getOrderId());
if
(
MapUtils
.
isEmpty
(
orderBeans
))
{
//
if (MapUtils.isEmpty(orderBeans)) {
return
gson
.
toJson
(
message
);
//
return gson.toJson(message);
}
//
}
OrderBeanV1
orderBean
=
orderBeans
.
get
(
OrderBeanType
.
SAASORDER
.
getCode
());
//
OrderBeanV1 orderBean = orderBeans.get(OrderBeanType.SAASORDER.getCode());
if
(!
PayStatus
.
NOT_PAY
.
getCode
().
equals
(
orderBean
.
getPayStatus
()))
{
//
if (!PayStatus.NOT_PAY.getCode().equals(orderBean.getPayStatus())) {
return
orderAdapter
.
sendPaySuccessNoticeMessage
();
//
return orderAdapter.sendPaySuccessNoticeMessage();
}
//
}
/**
//
/**
* 默认点餐处理
//
* 默认点餐处理
*/
//
*/
return
mcCafeOrderService
.
paySuccessCallback
(
message
,
confirmOrderDto
,
orderBeans
);
//
return mcCafeOrderService.paySuccessCallback(message, confirmOrderDto, orderBeans);
}
catch
(
Exception
e
)
{
//
} catch (Exception e) {
throw
e
;
//
throw e;
}
finally
{
//
} finally {
//删除分布式锁
//
//删除分布式锁
redisCache
.
delete
(
"saas:lockAfter:"
+
paySuccessKey
);
//
redisCache.delete("saas:lockAfter:" + paySuccessKey);
}
//
}
}
//
}
/**
/**
* APP下单,下单带商品信息,不经过购物车服务,不唤起支付
* APP下单,下单带商品信息,不经过购物车服务,不唤起支付
*/
*/
@Override
//
@Override
public
BaseResponse
appCreateOrder
(
AppCreateOrderVo
createOrderVo
)
{
public
BaseResponse
appCreateOrder
(
AppCreateOrderVo
createOrderVo
)
{
AssortmentCustomerInfoVo
assortmentCustomerInfoVo
=
assortmentCustomerInfoManager
.
getCustomerInfoByObject
(
createOrderVo
.
getSessionId
());
AssortmentCustomerInfoVo
assortmentCustomerInfoVo
=
assortmentCustomerInfoManager
.
getCustomerInfoByObject
(
createOrderVo
.
getSessionId
());
if
(
assortmentCustomerInfoVo
==
null
||
StringUtils
.
isEmpty
(
assortmentCustomerInfoVo
.
getMemberId
()))
{
if
(
assortmentCustomerInfoVo
==
null
||
StringUtils
.
isEmpty
(
assortmentCustomerInfoVo
.
getMemberId
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
NOT_LOGIN
);
return
ResponseUtil
.
error
(
ResponseResult
.
NOT_LOGIN
);
}
}
if
(
UserLoginChannelEnum
.
APP
.
getCode
().
equals
(
assortmentCustomerInfoVo
.
getChannel
()))
{
if
(
UserLoginChannelEnum
.
APP
.
getCode
().
equals
(
assortmentCustomerInfoVo
.
getChannel
()))
{
return
appOrderService
.
createOrder
(
createOrderVo
,
assortmentCustomerInfoVo
);
return
appOrderService
.
createOrder
Old
(
createOrderVo
,
assortmentCustomerInfoVo
);
}
}
return
ResponseUtil
.
error
(
ResponseResult
.
PARAMETER_MISSING
);
return
ResponseUtil
.
error
(
ResponseResult
.
PARAMETER_MISSING
);
}
}
/**
* 标准点餐参数校验
*
* @param createOrderVo
* @return
*/
private
BaseResponse
checkStandardParamInfo
(
CreateOrderVo
createOrderVo
)
{
if
(
StringUtils
.
isEmpty
(
createOrderVo
.
getSessionId
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
CREATE_ORDER_CHECK_SESSION_ERROR
);
}
if
(
StringUtils
.
isEmpty
(
createOrderVo
.
getShopId
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
CREATE_ORDER_CHECK_STORE_ERROR
);
}
if
(
createOrderVo
.
getOrderType
()
==
null
)
{
return
ResponseUtil
.
error
(
ResponseResult
.
CREATE_ORDER_CHECK_ORDERTYPE_ERROR
);
}
return
ResponseUtil
.
success
();
}
}
}
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
View file @
a437ba41
...
@@ -63,7 +63,6 @@ import cn.freemud.manager.SpellGroupOrderDataManager;
...
@@ -63,7 +63,6 @@ import cn.freemud.manager.SpellGroupOrderDataManager;
import
cn.freemud.redis.RedisCache
;
import
cn.freemud.redis.RedisCache
;
import
cn.freemud.service.BuriedPointService
;
import
cn.freemud.service.BuriedPointService
;
import
cn.freemud.service.CouponActivityService
;
import
cn.freemud.service.CouponActivityService
;
import
cn.freemud.service.OrderAdapterService
;
import
cn.freemud.service.Orderservice
;
import
cn.freemud.service.Orderservice
;
import
cn.freemud.service.business.OrderBusinessService
;
import
cn.freemud.service.business.OrderBusinessService
;
import
cn.freemud.service.order.OrderRelationFactory
;
import
cn.freemud.service.order.OrderRelationFactory
;
...
@@ -271,7 +270,7 @@ public class OrderServiceImpl implements Orderservice {
...
@@ -271,7 +270,7 @@ public class OrderServiceImpl implements Orderservice {
@Autowired
@Autowired
private
CacheOpenPlatformPartnerWxappConfigManager
cacheOpenPlatformPartnerWxappConfigManager
;
private
CacheOpenPlatformPartnerWxappConfigManager
cacheOpenPlatformPartnerWxappConfigManager
;
@Autowired
@Autowired
private
OrderAdapterService
orderAdapterService
;
private
OrderAdapterService
Impl
orderAdapterService
;
// @Autowired
// @Autowired
// private AssortmentOpenPlatformPartnerManager assortmentOpenPlatformPartnerManager;
// private AssortmentOpenPlatformPartnerManager assortmentOpenPlatformPartnerManager;
@Autowired
@Autowired
...
@@ -380,7 +379,13 @@ public class OrderServiceImpl implements Orderservice {
...
@@ -380,7 +379,13 @@ public class OrderServiceImpl implements Orderservice {
// 原来saas
// 原来saas
@Override
@Override
public
BaseResponse
createOrderNew
(
CreateOrderVo
createOrderVo
)
{
public
BaseResponse
createOrder
(
CreateOrderVo
createOrderVo
)
{
//原标准点餐程序逻辑处理
BaseResponse
baseResponse
=
this
.
checkStandardParamInfo
(
createOrderVo
);
if
(
ObjectUtils
.
notEqual
(
baseResponse
.
getCode
(),
ResponseResult
.
SUCCESS
.
getCode
()))
{
return
baseResponse
;
}
String
trackingNo
=
LogThreadLocal
.
getTrackingNo
();
String
trackingNo
=
LogThreadLocal
.
getTrackingNo
();
// 查询用户信息、校验svc卡,余额购物车校验
// 查询用户信息、校验svc卡,余额购物车校验
AssortmentCustomerInfoVo
userLoginInfoDto
=
checkOrder
.
checkOrderByMember
(
createOrderVo
,
trackingNo
);
AssortmentCustomerInfoVo
userLoginInfoDto
=
checkOrder
.
checkOrderByMember
(
createOrderVo
,
trackingNo
);
...
@@ -4374,5 +4379,23 @@ public class OrderServiceImpl implements Orderservice {
...
@@ -4374,5 +4379,23 @@ public class OrderServiceImpl implements Orderservice {
return
ResponseUtil
.
success
(
responseVo
);
return
ResponseUtil
.
success
(
responseVo
);
}
}
/**
* 标准点餐参数校验
*
* @param createOrderVo
* @return
*/
private
BaseResponse
checkStandardParamInfo
(
CreateOrderVo
createOrderVo
)
{
if
(
StringUtils
.
isEmpty
(
createOrderVo
.
getSessionId
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
CREATE_ORDER_CHECK_SESSION_ERROR
);
}
if
(
StringUtils
.
isEmpty
(
createOrderVo
.
getShopId
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
CREATE_ORDER_CHECK_STORE_ERROR
);
}
if
(
createOrderVo
.
getOrderType
()
==
null
)
{
return
ResponseUtil
.
error
(
ResponseResult
.
CREATE_ORDER_CHECK_ORDERTYPE_ERROR
);
}
return
ResponseUtil
.
success
();
}
}
}
order-application-service/src/main/java/cn/freemud/service/impl/PayServiceImpl.java
View file @
a437ba41
...
@@ -24,7 +24,6 @@ import cn.freemud.management.entities.dto.request.BatchOrderRefundV2Request;
...
@@ -24,7 +24,6 @@ import cn.freemud.management.entities.dto.request.BatchOrderRefundV2Request;
import
cn.freemud.management.entities.dto.response.pay.PayBatchRefundResponse
;
import
cn.freemud.management.entities.dto.response.pay.PayBatchRefundResponse
;
import
cn.freemud.management.thirdparty.MulitiPaymentClient
;
import
cn.freemud.management.thirdparty.MulitiPaymentClient
;
import
cn.freemud.redis.RedisCache
;
import
cn.freemud.redis.RedisCache
;
import
cn.freemud.service.OrderAdapterService
;
import
cn.freemud.service.thirdparty.ComPayClient
;
import
cn.freemud.service.thirdparty.ComPayClient
;
import
cn.freemud.service.thirdparty.PaymentNewClient
;
import
cn.freemud.service.thirdparty.PaymentNewClient
;
import
cn.freemud.service.thirdparty.SvcAppClient
;
import
cn.freemud.service.thirdparty.SvcAppClient
;
...
@@ -122,7 +121,7 @@ public class PayServiceImpl {
...
@@ -122,7 +121,7 @@ public class PayServiceImpl {
@Autowired
@Autowired
private
OrderAdapterService
orderAdapterService
;
private
OrderAdapterService
Impl
orderAdapterService
;
@Autowired
@Autowired
private
OrderAdapter
orderAdapter
;
private
OrderAdapter
orderAdapter
;
@Autowired
@Autowired
...
...
order-application-service/src/main/java/cn/freemud/service/universal/UniversalOrderService.java
View file @
a437ba41
...
@@ -24,7 +24,7 @@ import cn.freemud.enums.*;
...
@@ -24,7 +24,7 @@ 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.CheckOrderUniversal
;
import
cn.freemud.service.CheckOrderUniversal
;
import
cn.freemud.service.
OrderAdapterService
;
import
cn.freemud.service.
impl.OrderAdapterServiceImpl
;
import
cn.freemud.service.impl.PayServiceImpl
;
import
cn.freemud.service.impl.PayServiceImpl
;
import
cn.freemud.service.impl.PaymentQueueService
;
import
cn.freemud.service.impl.PaymentQueueService
;
import
cn.freemud.service.thirdparty.ComPayClient
;
import
cn.freemud.service.thirdparty.ComPayClient
;
...
@@ -126,7 +126,7 @@ public abstract class UniversalOrderService {
...
@@ -126,7 +126,7 @@ public abstract class UniversalOrderService {
@Autowired
@Autowired
protected
CreateOrderAdapter
createOrderAdapter
;
protected
CreateOrderAdapter
createOrderAdapter
;
@Autowired
@Autowired
private
OrderAdapterService
orderAdapterService
;
private
OrderAdapterService
Impl
orderAdapterService
;
@Autowired
@Autowired
protected
AssortmentOpenPlatformWxappManager
openPlatformWxappManager
;
protected
AssortmentOpenPlatformWxappManager
openPlatformWxappManager
;
@Autowired
@Autowired
...
...
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