Commit 0c3d1d20 by ping.wu

Merge branches 'feature/20210917_抖音买券_wp' and 'master' of…

Merge branches 'feature/20210917_抖音买券_wp' and 'master' of http://gitlab.freemud.com/order-group-application/order-group

# Conflicts:
#	order-application-service/src/main/java/cn/freemud/service/impl/MCCafeOrderServiceImpl.java
#	order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
#	order-management/src/main/java/cn/freemud/management/service/adapter/OrderManagerAdapter.java
parents 45d28a08 c706f614
...@@ -10,10 +10,6 @@ package com.freemud.sdk.api.assortment.shoppingcart.enums; ...@@ -10,10 +10,6 @@ package com.freemud.sdk.api.assortment.shoppingcart.enums;
*/ */
public enum BizTypeEnum { public enum BizTypeEnum {
//字段6代表卖券订单。
//蜜雪APP和平台通用。
//后续使用此字段需注意。名称APP_COUPON取得有些误导,由于有地方使用,暂时不更改
APP_COUPON(6, "卖券订单"),
ORDINARY(1, "普通订单"), ORDINARY(1, "普通订单"),
VIRTUAL(2, "虚拟订单"), VIRTUAL(2, "虚拟订单"),
MEMBERS(3, "会员订单"), MEMBERS(3, "会员订单"),
......
...@@ -18,7 +18,7 @@ public class SendCouponService { ...@@ -18,7 +18,7 @@ public class SendCouponService {
private MQService mqService; private MQService mqService;
public void sendCouponMq(OrderInfoReqs request) { public void sendCouponMq(OrderInfoReqs request) {
AppLogUtil.infoLog("sendCouponMq", JSONObject.toJSONString(request.getOrderCode()), null); AppLogUtil.infoLog("sendCouponMq", JSONObject.toJSONString(request), null);
Header header = new Header(MQAction.INSERT.getAction(), "order-application-service", "1", DlSendCouponMqConfig.QUEUE_NAME); Header header = new Header(MQAction.INSERT.getAction(), "order-application-service", "1", DlSendCouponMqConfig.QUEUE_NAME);
MQMessage<OrderInfoReqs> message = new MQMessage<>(header, request); MQMessage<OrderInfoReqs> message = new MQMessage<>(header, request);
mqService.convertAndSend(DlSendCouponMqConfig.EXCHANGE_NAME, DlSendCouponMqConfig.QUEUE_ROUTING_KEY, message); mqService.convertAndSend(DlSendCouponMqConfig.EXCHANGE_NAME, DlSendCouponMqConfig.QUEUE_ROUTING_KEY, message);
......
...@@ -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 orderAdapterService.createMCCafeOrder(createOrderVo); return mcCafeOrderService.createMCCafeOrder(createOrderVo);
} }
/** /**
......
...@@ -24,6 +24,7 @@ import cn.freemud.handler.OrderReportJobHandler; ...@@ -24,6 +24,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;
...@@ -46,7 +47,7 @@ public class OrderController { ...@@ -46,7 +47,7 @@ public class OrderController {
@Autowired @Autowired
private Orderservice orderservice; private Orderservice orderservice;
@Autowired @Autowired
private OrderAdapterService orderAdapterService; private OrderAdapterServiceImpl orderAdapterService;
@Autowired @Autowired
private EncircleOrderService encircleOrderService; private EncircleOrderService encircleOrderService;
@Autowired @Autowired
......
...@@ -83,6 +83,8 @@ public class CreateOrderVo { ...@@ -83,6 +83,8 @@ public class CreateOrderVo {
private String mobile; private String mobile;
private String saleCouponPhone;
/** /**
* 渠道 1 saas 2 支付宝 3. iwc i围餐 5 头条 * 渠道 1 saas 2 支付宝 3. iwc i围餐 5 头条
*/ */
......
...@@ -26,6 +26,11 @@ public enum OrderChannelType { ...@@ -26,6 +26,11 @@ public enum OrderChannelType {
APP("app", "APP"), APP("app", "APP"),
/**
* 抖音小程序
*/
TIKTOK("dy", "抖音小程序"),
POINTSMALL("pointsmall", "积分商城"); POINTSMALL("pointsmall", "积分商城");
private String code; private String code;
......
...@@ -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 createOrderFlow(CreateOrderVo createOrderVo); // BaseResponse createOrderNew(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 createOrderOld(AppCreateOrderVo createOrderVo, AssortmentCustomerInfoVo customerInfo);
String paySuccessCallback(PaysuccessNoticeMessage message, ConfirmOrderDto confirmOrderDto, Map<String, OrderBeanV1> orderBeans); String paySuccessCallback(PaysuccessNoticeMessage message, ConfirmOrderDto confirmOrderDto, Map<String, OrderBeanV1> orderBeans);
} }
...@@ -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);
/** /**
* 围餐--开台 * 围餐--开台
......
...@@ -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);
/** /**
* 订单确认完成 * 订单确认完成
......
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);
//
} //}
package cn.freemud.service;
import cn.freemud.base.entity.BaseResponse;
import cn.freemud.entities.vo.CreateOrderVo;
public interface OrderFactoryService {
BaseResponse createOrder(CreateOrderVo createOrderVo);
}
...@@ -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);
......
...@@ -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);
/** /**
* 支付回调 * 支付回调
......
package cn.freemud.service.business.impl; package cn.freemud.service.business.impl;
import cn.freemud.amqp.Header;
import cn.freemud.amqp.MQAction;
import cn.freemud.amqp.MQMessage;
import cn.freemud.amqp.MQService; import cn.freemud.amqp.MQService;
import cn.freemud.base.util.DateUtil; import cn.freemud.base.util.DateUtil;
import cn.freemud.entities.dto.GetMemberExtendInfoRequestDto; import cn.freemud.entities.dto.GetMemberExtendInfoRequestDto;
...@@ -10,6 +7,7 @@ import cn.freemud.entities.dto.GetMemberExtendInfoResponseDto; ...@@ -10,6 +7,7 @@ import cn.freemud.entities.dto.GetMemberExtendInfoResponseDto;
import cn.freemud.entities.dto.GetUserScoreUserDetailDto; import cn.freemud.entities.dto.GetUserScoreUserDetailDto;
import cn.freemud.entities.dto.user.UserScoreRequest; import cn.freemud.entities.dto.user.UserScoreRequest;
import cn.freemud.service.business.OrderBusinessService; import cn.freemud.service.business.OrderBusinessService;
import cn.freemud.service.impl.OrderQueueService;
import cn.freemud.service.thirdparty.CustomerApplicationClient; import cn.freemud.service.thirdparty.CustomerApplicationClient;
import cn.freemud.service.thirdparty.CustomerClient; import cn.freemud.service.thirdparty.CustomerClient;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
...@@ -20,7 +18,6 @@ import com.freemud.application.sdk.api.couponcenter.offline.response.CouponLockR ...@@ -20,7 +18,6 @@ import com.freemud.application.sdk.api.couponcenter.offline.response.CouponLockR
import com.freemud.application.sdk.api.couponcenter.offline.service.OfflineCouponSdkService; import com.freemud.application.sdk.api.couponcenter.offline.service.OfflineCouponSdkService;
import com.freemud.application.sdk.api.log.ErrorLog; import com.freemud.application.sdk.api.log.ErrorLog;
import com.freemud.application.sdk.api.log.LogThreadLocal; import com.freemud.application.sdk.api.log.LogThreadLocal;
import com.freemud.application.sdk.api.log.ThirdPartyLog;
import com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1; import com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1;
import com.freemud.application.sdk.api.ordercenter.enums.AfterSalesType; import com.freemud.application.sdk.api.ordercenter.enums.AfterSalesType;
import com.freemud.application.sdk.api.ordercenter.enums.OrderSettlementType; import com.freemud.application.sdk.api.ordercenter.enums.OrderSettlementType;
...@@ -47,8 +44,9 @@ import com.freemud.sdk.api.assortment.order.constant.CommonConstant; ...@@ -47,8 +44,9 @@ import com.freemud.sdk.api.assortment.order.constant.CommonConstant;
import com.freemud.sdk.api.assortment.order.domain.ResponseCodeConstant; import com.freemud.sdk.api.assortment.order.domain.ResponseCodeConstant;
import com.freemud.sdk.api.assortment.order.enums.*; import com.freemud.sdk.api.assortment.order.enums.*;
import com.freemud.sdk.api.assortment.order.request.order.*; import com.freemud.sdk.api.assortment.order.request.order.*;
import com.freemud.sdk.api.assortment.order.response.order.*; import com.freemud.sdk.api.assortment.order.response.order.BaseOrderResponse;
import com.freemud.sdk.api.assortment.order.util.AssortOrderLogUtil; import com.freemud.sdk.api.assortment.order.response.order.CreateOrderResponse;
import com.freemud.sdk.api.assortment.order.response.order.PayAccessResponse;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.ObjectUtils; import org.apache.commons.lang.ObjectUtils;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
...@@ -91,7 +89,8 @@ public class OrderBusinessServiceImpl implements OrderBusinessService { ...@@ -91,7 +89,8 @@ public class OrderBusinessServiceImpl implements OrderBusinessService {
private OfflineCouponSdkService offlineCouponSdkService; private OfflineCouponSdkService offlineCouponSdkService;
@Autowired @Autowired
private MQService mqService; private MQService mqService;
@Autowired
private OrderQueueService orderQueueService;
@Value("${version.upgrade.weekDay:}") @Value("${version.upgrade.weekDay:}")
private List<Integer> weekDay; private List<Integer> weekDay;
...@@ -290,7 +289,7 @@ public class OrderBusinessServiceImpl implements OrderBusinessService { ...@@ -290,7 +289,7 @@ public class OrderBusinessServiceImpl implements OrderBusinessService {
AfterSalesType.SYSTEM_CANCEL, "活动库存不足", "", null); AfterSalesType.SYSTEM_CANCEL, "活动库存不足", "", null);
orderCancel(cancelOrderRequest); orderCancel(cancelOrderRequest);
//失败异步冲正库存,取消订单 //失败异步冲正库存,取消订单
backOrdersNotifyActivity(orderBean, mqMessageRequest.getBackOrdersNotifyActivityQueue(), mqMessageRequest.getBackOrdersNotifyActivityExchange()); orderQueueService.backOrdersStatusChange(orderBean.getOid(),orderBean.getStatus());
return BaseOrderResponse.getErrorBaseOrderResponse(activityResponse.getCode(), "活动库存不足"); return BaseOrderResponse.getErrorBaseOrderResponse(activityResponse.getCode(), "活动库存不足");
} }
} }
...@@ -305,7 +304,7 @@ public class OrderBusinessServiceImpl implements OrderBusinessService { ...@@ -305,7 +304,7 @@ public class OrderBusinessServiceImpl implements OrderBusinessService {
AfterSalesType.SYSTEM_CANCEL, "积分不足", "", null); AfterSalesType.SYSTEM_CANCEL, "积分不足", "", null);
orderCancel(cancelOrderRequest); orderCancel(cancelOrderRequest);
//失败异步冲正库存,取消订单 //失败异步冲正库存,取消订单
backOrdersNotifyActivity(orderBean, mqMessageRequest.getBackOrdersNotifyActivityQueue(), mqMessageRequest.getBackOrdersNotifyActivityExchange()); orderQueueService.backOrdersStatusChange(orderBean.getOid(),orderBean.getStatus());
return BaseOrderResponse.getErrorBaseOrderResponse(userScoreResponse.getCode(), "积分不足"); return BaseOrderResponse.getErrorBaseOrderResponse(userScoreResponse.getCode(), "积分不足");
} }
} }
...@@ -320,7 +319,7 @@ public class OrderBusinessServiceImpl implements OrderBusinessService { ...@@ -320,7 +319,7 @@ public class OrderBusinessServiceImpl implements OrderBusinessService {
CancelOrderRequest cancelOrderRequest = orderSdkAdapter.convent2CancelOrderRequest(orderBean.getOid(), orderBean.getCompanyId(), AfterSalesType.SYSTEM_CANCEL, "锁定券码失败", "", null); CancelOrderRequest cancelOrderRequest = orderSdkAdapter.convent2CancelOrderRequest(orderBean.getOid(), orderBean.getCompanyId(), AfterSalesType.SYSTEM_CANCEL, "锁定券码失败", "", null);
orderCancel(cancelOrderRequest); orderCancel(cancelOrderRequest);
//失败异步冲正库存,取消订单 //失败异步冲正库存,取消订单
backOrdersNotifyActivity(orderBean, mqMessageRequest.getBackOrdersNotifyActivityQueue(), mqMessageRequest.getBackOrdersNotifyActivityExchange()); orderQueueService.backOrdersStatusChange(orderBean.getOid(),orderBean.getStatus());
return BaseOrderResponse.getErrorBaseOrderResponse(couponLockResponseBaseResponse.getCode(), couponLockResponseBaseResponse.getMessage()); return BaseOrderResponse.getErrorBaseOrderResponse(couponLockResponseBaseResponse.getCode(), couponLockResponseBaseResponse.getMessage());
} }
} }
...@@ -370,29 +369,29 @@ public class OrderBusinessServiceImpl implements OrderBusinessService { ...@@ -370,29 +369,29 @@ public class OrderBusinessServiceImpl implements OrderBusinessService {
private void backOrdersNotifyActivity(OrderBeanV1 orderBean, String backOrdersChangeOrderStatusConsumerQueue, String backOrdersNotifyActivityExchange) { // private void backOrdersNotifyActivity(OrderBeanV1 orderBean, String backOrdersChangeOrderStatusConsumerQueue, String backOrdersNotifyActivityExchange) {
if (null == orderBean || backOrdersChangeOrderStatusConsumerQueue == null || backOrdersNotifyActivityExchange == null) { // if (null == orderBean || backOrdersChangeOrderStatusConsumerQueue == null || backOrdersNotifyActivityExchange == null) {
return; // return;
} // }
String oid = orderBean.getOid(); // String oid = orderBean.getOid();
Integer status = orderBean.getStatus(); // Integer status = orderBean.getStatus();
if (StringUtils.isEmpty(oid)) { // if (StringUtils.isEmpty(oid)) {
return; // return;
} // }
AssortOrderLogUtil.info("backOrdersStatusChange", oid, String.valueOf(status)); // AssortOrderLogUtil.info("backOrdersStatusChange", oid, String.valueOf(status));
OrderStatusChangeRequestDto requestDto = new OrderStatusChangeRequestDto(); // OrderStatusChangeRequestDto requestDto = new OrderStatusChangeRequestDto();
requestDto.setOid(oid); // requestDto.setOid(oid);
requestDto.setOrderStatus(status); // requestDto.setOrderStatus(status);
try { // try {
Header header = new Header(MQAction.INSERT.getAction(), "backOrdersStatusChange", oid, backOrdersChangeOrderStatusConsumerQueue); // Header header = new Header(MQAction.INSERT.getAction(), "backOrdersStatusChange", oid, backOrdersChangeOrderStatusConsumerQueue);
MQMessage<OrderStatusChangeRequestDto> message = new MQMessage<>(header, requestDto); // MQMessage<OrderStatusChangeRequestDto> message = new MQMessage<>(header, requestDto);
mqService.convertAndSend(backOrdersNotifyActivityExchange, backOrdersChangeOrderStatusConsumerQueue, message); // mqService.convertAndSend(backOrdersNotifyActivityExchange, backOrdersChangeOrderStatusConsumerQueue, message);
} catch (Exception e) { // } catch (Exception e) {
//TODO 邮件告警 // //TODO 邮件告警
ThirdPartyLog.infoConvertJson(System.currentTimeMillis(), System.currentTimeMillis(), // ThirdPartyLog.infoConvertJson(System.currentTimeMillis(), System.currentTimeMillis(),
"backOrdersStatusChangeNotify_error", backOrdersNotifyActivityExchange, backOrdersChangeOrderStatusConsumerQueue); // "backOrdersStatusChangeNotify_error", backOrdersNotifyActivityExchange, backOrdersChangeOrderStatusConsumerQueue);
} // }
} // }
List<String> getOrgCodes(String partnerId, String storeCode) { List<String> getOrgCodes(String partnerId, String storeCode) {
GetOrgTreeListRequest request = new GetOrgTreeListRequest(); GetOrgTreeListRequest request = new GetOrgTreeListRequest();
......
...@@ -103,11 +103,14 @@ public class AppOrderServiceImpl implements AppOrderService { ...@@ -103,11 +103,14 @@ public class AppOrderServiceImpl implements AppOrderService {
@Autowired @Autowired
private CouponOnlineClient couponOnlineClient; private CouponOnlineClient couponOnlineClient;
@Autowired
private PayServiceImpl payServiceimpl;
/** /**
* 不支持会员卡 * 不支持会员卡
*/ */
@Override @Override
public BaseResponse createOrderFlow(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);
...@@ -168,7 +171,7 @@ public class AppOrderServiceImpl implements AppOrderService { ...@@ -168,7 +171,7 @@ public class AppOrderServiceImpl implements AppOrderService {
cardCode, createPrepayVo.getPayCode(), createOrderOperateDto.getFatherOrderBean(), createOrderOperateDto.getProductOrderBean(), createOrderOperateDto.getTotalAmount(), cardCode, createPrepayVo.getPayCode(), createOrderOperateDto.getFatherOrderBean(), createOrderOperateDto.getProductOrderBean(), createOrderOperateDto.getTotalAmount(),
createOrderOperateDto.getCardAmount(), extInfo, transId, OrderClientType.APP); createOrderOperateDto.getCardAmount(), extInfo, transId, OrderClientType.APP);
redisService.savePaymentTransIdOrder(RedisUtil.getPaymentTransIdOrderKey(transId), productOrderBean.getOid(), 60L, TimeUnit.MINUTES); redisService.savePaymentTransIdOrder(RedisUtil.getPaymentTransIdOrderKey(transId), productOrderBean.getOid(), 60L, TimeUnit.MINUTES);
return orderservice.createPrepayOrder(createPrepayRequestDto); return payServiceimpl.createPrepayOrder(createPrepayRequestDto);
} }
...@@ -176,7 +179,7 @@ public class AppOrderServiceImpl implements AppOrderService { ...@@ -176,7 +179,7 @@ public class AppOrderServiceImpl implements AppOrderService {
* APP下单,下单带商品信息,不经过购物车服务,不唤起支付 * APP下单,下单带商品信息,不经过购物车服务,不唤起支付
*/ */
@Override @Override
public BaseResponse createOrder(AppCreateOrderVo createOrderReq, AssortmentCustomerInfoVo customerInfo) { public BaseResponse createOrderOld(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();
...@@ -190,7 +193,7 @@ public class AppOrderServiceImpl implements AppOrderService { ...@@ -190,7 +193,7 @@ public class AppOrderServiceImpl implements AppOrderService {
checkOrder.checkOrderByStore(storeResponse.getBizVO()); checkOrder.checkOrderByStore(storeResponse.getBizVO());
/**蜜雪新增需求-->APP可以购买虚拟商品券业务逻辑**/ /**蜜雪新增需求-->APP可以购买虚拟商品券业务逻辑**/
OrderBeanV1 orderBean = new OrderBeanV1(); OrderBeanV1 orderBean = new OrderBeanV1();
if (createOrderReq.getBizType() != null && BizTypeEnum.APP_COUPON.getBizType().equals(createOrderReq.getBizType())) { if (createOrderReq.getBizType() != null && BizTypeEnum.SALE_COUPON.getBizType().equals(createOrderReq.getBizType())) {
//现阶段蜜雪卖券业务是能单个,所以默认取0.后续多个的话,也需要调整平台买券取数规则 //现阶段蜜雪卖券业务是能单个,所以默认取0.后续多个的话,也需要调整平台买券取数规则
String skuId = createOrderReq.getOrderProducts().get(0).getSkuId(); String skuId = createOrderReq.getOrderProducts().get(0).getSkuId();
//20200107提取虚拟商品券效验方法---》校验虚拟商品,如果正常则返回创建订单对象 //20200107提取虚拟商品券效验方法---》校验虚拟商品,如果正常则返回创建订单对象
......
...@@ -166,14 +166,12 @@ public class CheckOrder { ...@@ -166,14 +166,12 @@ public class CheckOrder {
} }
public AssortmentCustomerInfoVo checkOrderByMemberNew(String sessionId, String cardCode) { public AssortmentCustomerInfoVo checkOrderByMemberNew(String sessionId) {
// 通过sessionId查询缓存中会员id // 通过sessionId查询缓存中会员id
AssortmentCustomerInfoVo userLoginInfoDto = customerInfoManager.getCustomerInfoByObject(sessionId); AssortmentCustomerInfoVo userLoginInfoDto = customerInfoManager.getCustomerInfoByObject(sessionId);
if (userLoginInfoDto == null || StringUtils.isEmpty(userLoginInfoDto.getMemberId())) { if (userLoginInfoDto == null || StringUtils.isEmpty(userLoginInfoDto.getMemberId())) {
throw new ServiceException(ResponseResult.NOT_LOGIN); throw new ServiceException(ResponseResult.NOT_LOGIN);
} }
//校验会员svc卡信息
// checkCardCode(userLoginInfoDto.getPartnerId(), userLoginInfoDto.getMemberId(), cardCode);
return userLoginInfoDto; return userLoginInfoDto;
} }
......
...@@ -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.createOrderNew(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();
......
...@@ -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,9 +118,11 @@ public class EncircleOrderServiceImpl implements EncircleOrderService { ...@@ -119,9 +118,11 @@ public class EncircleOrderServiceImpl implements EncircleOrderService {
@Autowired @Autowired
private ActivityCalculationDiscountService calculationDiscountService; private ActivityCalculationDiscountService calculationDiscountService;
@Autowired @Autowired
private OrderAdapterService orderAdapterService; private OrderAdapterServiceImpl orderAdapterService;
@Autowired @Autowired
private CouponAdapter couponAdapter; private CouponAdapter couponAdapter;
@Autowired
private PayServiceImpl payService;
private final Integer RESPONSE_SUCCESS_CODE = 100; private final Integer RESPONSE_SUCCESS_CODE = 100;
...@@ -601,7 +602,7 @@ public class EncircleOrderServiceImpl implements EncircleOrderService { ...@@ -601,7 +602,7 @@ public class EncircleOrderServiceImpl implements EncircleOrderService {
//此处使用订单修改金额后的金额数据显示支付 //此处使用订单修改金额后的金额数据显示支付
queryOrderByIdResponse.getData().setAmount(baseOrderResponse.getData().getAmount()); queryOrderByIdResponse.getData().setAmount(baseOrderResponse.getData().getAmount());
//调用预支付 //调用预支付
orderResponseVo = orderCommonService.createPrePaymentOrder(baseOrderResponse.getData(),assortmentCustomerInfoVo,assortmentCustomerInfoVo.getPartnerId(),0,createReserveOrderVo.getCardCode()); orderResponseVo = payService.createPrePaymentOrder(baseOrderResponse.getData(),assortmentCustomerInfoVo,assortmentCustomerInfoVo.getPartnerId(),0,createReserveOrderVo.getCardCode());
if(orderResponseVo != null){ if(orderResponseVo != null){
if(orderResponseVo.getPaySuccess()){ if(orderResponseVo.getPaySuccess()){
//如果是商品券支付0元,调用回调接口 //如果是商品券支付0元,调用回调接口
......
...@@ -76,7 +76,6 @@ import com.freemud.sdk.api.assortment.order.vo.ProductGroupVo; ...@@ -76,7 +76,6 @@ 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;
import com.freemud.sdk.api.assortment.payment.response.UnifiedOrderResponse; import com.freemud.sdk.api.assortment.payment.response.UnifiedOrderResponse;
import com.freemud.sdk.api.assortment.payment.service.StandardPaymentService;
import com.google.common.base.Throwables; import com.google.common.base.Throwables;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
...@@ -126,8 +125,6 @@ public class MallOrderServiceImpl implements MallOrderService { ...@@ -126,8 +125,6 @@ public class MallOrderServiceImpl implements MallOrderService {
@Autowired @Autowired
private RedisCache redisCache; private RedisCache redisCache;
@Autowired @Autowired
private StandardPaymentService standardPaymentService;
@Autowired
private DeliveryAdapter deliveryAdapter; private DeliveryAdapter deliveryAdapter;
@Autowired @Autowired
private DeliveryService deliveryService; private DeliveryService deliveryService;
...@@ -141,10 +138,10 @@ public class MallOrderServiceImpl implements MallOrderService { ...@@ -141,10 +138,10 @@ public class MallOrderServiceImpl implements MallOrderService {
@Autowired @Autowired
private AssortmentCustomerInfoManager customerInfoManager; private AssortmentCustomerInfoManager customerInfoManager;
@Value("${program.backorders_change_order_status_consumer_queue}") // @Value("${program.backorders_change_order_status_consumer_queue}")
private String backOrdersChangeOrderStatusConsumerQueue; // private String backOrdersChangeOrderStatusConsumerQueue;
@Value("${program.backorders_notify_activity_exchange}") // @Value("${program.backorders_notify_activity_exchange}")
private String backOrdersNotifyActivityExchange; // private String backOrdersNotifyActivityExchange;
@Autowired @Autowired
private CouponActivityService couponActivityService; private CouponActivityService couponActivityService;
...@@ -154,6 +151,11 @@ public class MallOrderServiceImpl implements MallOrderService { ...@@ -154,6 +151,11 @@ public class MallOrderServiceImpl implements MallOrderService {
private PaymentQueueService paymentQueueService; private PaymentQueueService paymentQueueService;
@Autowired @Autowired
private OrderBusinessService orderBusinessService; private OrderBusinessService orderBusinessService;
@Autowired
private OrderQueueService orderQueueService;
@Autowired
private PayServiceImpl payServiceImpl;
/** /**
* 创建订单 * 创建订单
*/ */
...@@ -284,8 +286,8 @@ public class MallOrderServiceImpl implements MallOrderService { ...@@ -284,8 +286,8 @@ public class MallOrderServiceImpl implements MallOrderService {
baseCreateOrderRequest.setTrackingNo(LogThreadLocal.getTrackingNo()); baseCreateOrderRequest.setTrackingNo(LogThreadLocal.getTrackingNo());
createOrderRequest.setBaseCreateOrderRequest(baseCreateOrderRequest); createOrderRequest.setBaseCreateOrderRequest(baseCreateOrderRequest);
MqMessageRequest mqMessageRequest = new MqMessageRequest(); MqMessageRequest mqMessageRequest = new MqMessageRequest();
mqMessageRequest.setBackOrdersNotifyActivityExchange(backOrdersNotifyActivityExchange); // mqMessageRequest.setBackOrdersNotifyActivityExchange(backOrdersNotifyActivityExchange);
mqMessageRequest.setBackOrdersNotifyActivityQueue(backOrdersChangeOrderStatusConsumerQueue); // mqMessageRequest.setBackOrdersNotifyActivityQueue(backOrdersChangeOrderStatusConsumerQueue);
createOrderRequest.setMqMessageRequest(mqMessageRequest); createOrderRequest.setMqMessageRequest(mqMessageRequest);
createOrderRequest.getBaseCreateOrderRequest().setUserName(userLoginInfoDto.getNickName()); createOrderRequest.getBaseCreateOrderRequest().setUserName(userLoginInfoDto.getNickName());
createOrderRequest.setTrackingNo(LogThreadLocal.getTrackingNo()); createOrderRequest.setTrackingNo(LogThreadLocal.getTrackingNo());
...@@ -375,7 +377,7 @@ public class MallOrderServiceImpl implements MallOrderService { ...@@ -375,7 +377,7 @@ public class MallOrderServiceImpl implements MallOrderService {
try { try {
OrderPayResponse orderPayResponse; OrderPayResponse orderPayResponse;
UnifiedOrderRequest request = orderAdapter.convent2UnifiedOrderRequest(orderBean, paymentRequest, orderBean.getAmount(), cardAmount, orderBean.getOid()); UnifiedOrderRequest request = orderAdapter.convent2UnifiedOrderRequest(orderBean, paymentRequest, orderBean.getAmount(), cardAmount, orderBean.getOid());
com.freemud.application.sdk.api.base.BaseResponse<UnifiedOrderResponse> responseBase = standardPaymentService.unifiedOrder(request, trackingNo); com.freemud.application.sdk.api.base.BaseResponse<UnifiedOrderResponse> responseBase = payServiceImpl.unifiedOrder(request);
if (!ResponseCodeConstant.RESPONSE_SUCCESS_STR.equals(responseBase.getCode())) { if (!ResponseCodeConstant.RESPONSE_SUCCESS_STR.equals(responseBase.getCode())) {
// 1.9.34 预支付失败需要把原因进行记录 // 1.9.34 预支付失败需要把原因进行记录
orderPayResponse = new OrderPayResponse(); orderPayResponse = new OrderPayResponse();
...@@ -494,13 +496,13 @@ public class MallOrderServiceImpl implements MallOrderService { ...@@ -494,13 +496,13 @@ public class MallOrderServiceImpl implements MallOrderService {
return gson.toJson(message); return gson.toJson(message);
} }
orderRefund(orderBean, groupWorkJoinResponse.getMsg()); orderRefund(orderBean, groupWorkJoinResponse.getMsg());
backOrdersNotifyActivity(orderBean, backOrdersChangeOrderStatusConsumerQueue, backOrdersNotifyActivityExchange); orderQueueService.backOrdersStatusChange(orderBean.getOid(),orderBean.getStatus());
return gson.toJson(message); return gson.toJson(message);
} }
if("2".equals(groupWorkJoinResponse.getResult().getGroupStatus())){ if("2".equals(groupWorkJoinResponse.getResult().getGroupStatus())){
orderRefund(orderBean, "成团失败,退款流程"); orderRefund(orderBean, "成团失败,退款流程");
backOrdersNotifyActivity(orderBean, backOrdersChangeOrderStatusConsumerQueue, backOrdersNotifyActivityExchange); orderQueueService.backOrdersStatusChange(orderBean.getOid(),orderBean.getStatus());
return gson.toJson(message); return gson.toJson(message);
} }
if(StringUtils.isEmpty(orderBean.getSpellGroupCode())){ if(StringUtils.isEmpty(orderBean.getSpellGroupCode())){
...@@ -691,26 +693,26 @@ public class MallOrderServiceImpl implements MallOrderService { ...@@ -691,26 +693,26 @@ public class MallOrderServiceImpl implements MallOrderService {
} }
private void backOrdersNotifyActivity(OrderBeanV1 orderBean, String backOrdersChangeOrderStatusConsumerQueue, String backOrdersNotifyActivityExchange) { // private void backOrdersNotifyActivity(OrderBeanV1 orderBean, String backOrdersChangeOrderStatusConsumerQueue, String backOrdersNotifyActivityExchange) {
if (null == orderBean || backOrdersChangeOrderStatusConsumerQueue == null || backOrdersNotifyActivityExchange == null) { // if (null == orderBean || backOrdersChangeOrderStatusConsumerQueue == null || backOrdersNotifyActivityExchange == null) {
return; // return;
} // }
String oid = orderBean.getOid(); // String oid = orderBean.getOid();
Integer status = orderBean.getStatus(); // Integer status = orderBean.getStatus();
if (StringUtils.isEmpty(oid)) { // if (StringUtils.isEmpty(oid)) {
return; // return;
} // }
OrderStatusChangeRequestDto requestDto = new OrderStatusChangeRequestDto(); // OrderStatusChangeRequestDto requestDto = new OrderStatusChangeRequestDto();
requestDto.setOid(oid); // requestDto.setOid(oid);
requestDto.setOrderStatus(status); // requestDto.setOrderStatus(status);
try { // try {
Header header = new Header(MQAction.INSERT.getAction(), "backOrdersStatusChange", oid, backOrdersChangeOrderStatusConsumerQueue); // Header header = new Header(MQAction.INSERT.getAction(), "backOrdersStatusChange", oid, backOrdersChangeOrderStatusConsumerQueue);
MQMessage<OrderStatusChangeRequestDto> message = new MQMessage<>(header, requestDto); // MQMessage<OrderStatusChangeRequestDto> message = new MQMessage<>(header, requestDto);
mqService.convertAndSend(backOrdersNotifyActivityExchange, backOrdersChangeOrderStatusConsumerQueue, message); // mqService.convertAndSend(backOrdersNotifyActivityExchange, backOrdersChangeOrderStatusConsumerQueue, message);
} catch (Exception e) { // } catch (Exception e) {
ErrorLog.printErrorLog("backOrdersStatusChangeNotify_error","backOrdersChangeOrderStatusConsumerQueue",requestDto,e); // ErrorLog.printErrorLog("backOrdersStatusChangeNotify_error","backOrdersChangeOrderStatusConsumerQueue",requestDto,e);
} // }
} // }
/** /**
* 商家未接单,取消订单逻辑处理 1.调用支付退款 2.根据支付退款返回状态组装订单取消参数,调用订单取消接口 * 商家未接单,取消订单逻辑处理 1.调用支付退款 2.根据支付退款返回状态组装订单取消参数,调用订单取消接口
...@@ -726,7 +728,7 @@ public class MallOrderServiceImpl implements MallOrderService { ...@@ -726,7 +728,7 @@ public class MallOrderServiceImpl implements MallOrderService {
if (orderBean.getAmount() != 0) { if (orderBean.getAmount() != 0) {
//调用支付退款 //调用支付退款
com.freemud.sdk.api.assortment.payment.request.OrderRefundRequest orderPayRefundRequest = orderAdapter.getOrderPayRefundRequest(orderBean, refundId, fatherOrderId); com.freemud.sdk.api.assortment.payment.request.OrderRefundRequest orderPayRefundRequest = orderAdapter.getOrderPayRefundRequest(orderBean, refundId, fatherOrderId);
response = standardPaymentService.orderRefund(orderPayRefundRequest, LogThreadLocal.getTrackingNo()); response = payServiceImpl.orderRefund(orderPayRefundRequest);
if (response == null || response.getData() == null || !com.freemud.sdk.api.assortment.order.domain.ResponseCodeConstant.RESPONSE_SUCCESS_STR.equals(response.getCode())) { if (response == null || response.getData() == null || !com.freemud.sdk.api.assortment.order.domain.ResponseCodeConstant.RESPONSE_SUCCESS_STR.equals(response.getCode())) {
return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "orderRefund_failed"); return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "orderRefund_failed");
} }
......
package cn.freemud.service.impl;
import cn.freemud.amp.config.DlPaymentMqConfig;
import cn.freemud.amqp.Header;
import cn.freemud.amqp.MQAction;
import cn.freemud.amqp.MQMessage;
import cn.freemud.amqp.MQService;
import cn.freemud.entities.dto.OrderPrintDto;
import cn.freemud.entities.dto.pay.PaymentMqMessageDto;
import cn.freemud.utils.AppLogUtil;
import com.alibaba.fastjson.JSON;
import com.freemud.application.sdk.api.config.TopicExchangeConfig;
import com.freemud.sdk.api.assortment.order.request.order.OrderStatusChangeRequestDto;
import org.apache.commons.lang.StringUtils;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.core.MessageProperties;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component
public class OrderQueueService {
@Autowired
private MQService mqService;
// TODO: 21-9-17 定义常量
@Value("${program.backorders_change_order_status_consumer_queue}")
private String backOrdersChangeOrderStatusConsumerQueue;
@Value("${program.backorders_notify_activity_exchange}")
private String backOrdersNotifyActivityExchange;
@Value("${mq.queue.cloud_print_queue}")
private String cloudPrintQueue;
@Value("${mq.cloud_print_exchange}")
private String cloud_print_exchange;
/**
* 失败订单冲正 mq
*/
public void backOrdersStatusChange(String oid, Integer orderStatus, Integer payStatus) {
if (StringUtils.isEmpty(oid)) {
return;
}
AppLogUtil.infoLog("backOrdersStatusChange oid:{} orderStatus:{}", oid, String.valueOf(orderStatus));
OrderStatusChangeRequestDto requestDto = new OrderStatusChangeRequestDto();
requestDto.setOid(oid);
requestDto.setPayStatus(payStatus);
requestDto.setOrderStatus(orderStatus);
try {
Header header = new Header(MQAction.INSERT.getAction(), "backOrdersStatusChange", oid, backOrdersChangeOrderStatusConsumerQueue);
MQMessage<OrderStatusChangeRequestDto> message = new MQMessage<>(header, requestDto);
mqService.convertAndSend(backOrdersNotifyActivityExchange, backOrdersChangeOrderStatusConsumerQueue, message);
} catch (Exception e) {
AppLogUtil.errorLog("ActivityReverse", JSON.toJSONString(requestDto), "", e);
}
}
public void backOrdersStatusChange(String oid, Integer orderStatus) {
if (StringUtils.isEmpty(oid)) {
return;
}
AppLogUtil.infoLog("backOrdersStatusChange oid:{} orderStatus:{}", oid, String.valueOf(orderStatus));
OrderStatusChangeRequestDto requestDto = new OrderStatusChangeRequestDto();
requestDto.setOid(oid);
requestDto.setOrderStatus(orderStatus);
try {
Header header = new Header(MQAction.INSERT.getAction(), "backOrdersStatusChange", oid, backOrdersChangeOrderStatusConsumerQueue);
MQMessage<OrderStatusChangeRequestDto> message = new MQMessage<>(header, requestDto);
mqService.convertAndSend(backOrdersNotifyActivityExchange, backOrdersChangeOrderStatusConsumerQueue, message);
} catch (Exception e) {
AppLogUtil.errorLog("ActivityReverse", JSON.toJSONString(requestDto), "", e);
}
}
/**
* 发MQ去打印
*
*/
public void asynchronousPrint(OrderPrintDto request) {
// AppLogUtil.debugLog("OrderPrintDto", JSONObject.toJSONString(request), null);
Header header = new Header(MQAction.INSERT.getAction(), "asynchronous-print-api", request.getOid() + "", cloudPrintQueue);
MQMessage<OrderPrintDto> message = new MQMessage<>(header, request);
mqService.convertAndSend(cloud_print_exchange, cloudPrintQueue, message);
}
/**
* 发支付补偿mq,查询支付结果回调支付成功接口
*/
public void paymentCallback(PaymentMqMessageDto dto) {
MQMessage<PaymentMqMessageDto> mqMessage = new MQMessage<PaymentMqMessageDto>();
mqMessage.setBody(dto);
Integer ttl = 20 * 1000;
Header header = new Header();
header.setKey("1");
mqMessage.setHeader(header);
byte[] notifyMsgBytes = JSON.toJSONString(mqMessage).getBytes();
MessageProperties messageProperties = new MessageProperties();
messageProperties.setExpiration(ttl.toString());
messageProperties.setContentType(MessageProperties.CONTENT_TYPE_JSON);
Message delmessage = new Message(notifyMsgBytes, messageProperties);
mqService.convertAndSend(TopicExchangeConfig.EXCHANGE_NAME, DlPaymentMqConfig.OPEN_STORE_PAYMENT_QUERY_DL_KEY, delmessage);
}
}
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -97,6 +97,11 @@ public class SpellGroupOrderServiceImpl implements SpellGroupOrderService { ...@@ -97,6 +97,11 @@ public class SpellGroupOrderServiceImpl implements SpellGroupOrderService {
@Autowired @Autowired
private MQService mqService; private MQService mqService;
@Autowired
private PayServiceImpl payServiceimpl;
@Value("${program.backorders_change_order_status_consumer_queue}") @Value("${program.backorders_change_order_status_consumer_queue}")
private String backOrdersChangeOrderStatusConsumerQueue; private String backOrdersChangeOrderStatusConsumerQueue;
@Value("${program.backorders_notify_activity_exchange}") @Value("${program.backorders_notify_activity_exchange}")
...@@ -188,7 +193,7 @@ public class SpellGroupOrderServiceImpl implements SpellGroupOrderService { ...@@ -188,7 +193,7 @@ public class SpellGroupOrderServiceImpl implements SpellGroupOrderService {
} }
/*创建支付*/ /*创建支付*/
CreatePrepayRequestDto createPrepayRequestDto = spellGroupOrderAdapter.convertToCreatePrepayRequest(userLoginInfoDto, createOrderResponse.getData(), trackingNo,createSpellGroupOrderDto.getProvince()); CreatePrepayRequestDto createPrepayRequestDto = spellGroupOrderAdapter.convertToCreatePrepayRequest(userLoginInfoDto, createOrderResponse.getData(), trackingNo,createSpellGroupOrderDto.getProvince());
return orderService.createPrepayOrder(createPrepayRequestDto); return payServiceimpl.createPrepayOrder(createPrepayRequestDto);
} }
/*** /***
......
...@@ -24,7 +24,8 @@ import cn.freemud.enums.*; ...@@ -24,7 +24,8 @@ 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.PaymentQueueService; import cn.freemud.service.impl.PaymentQueueService;
import cn.freemud.service.thirdparty.ComPayClient; import cn.freemud.service.thirdparty.ComPayClient;
import cn.freemud.service.thirdparty.SvcComPayClient; import cn.freemud.service.thirdparty.SvcComPayClient;
...@@ -89,7 +90,6 @@ import com.freemud.sdk.api.assortment.order.response.order.CreateOrderResponse; ...@@ -89,7 +90,6 @@ import com.freemud.sdk.api.assortment.order.response.order.CreateOrderResponse;
import com.freemud.sdk.api.assortment.order.service.OrderCenterSdkService; import com.freemud.sdk.api.assortment.order.service.OrderCenterSdkService;
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.UnifiedOrderResponse; import com.freemud.sdk.api.assortment.payment.response.UnifiedOrderResponse;
import com.freemud.sdk.api.assortment.payment.service.StandardPaymentService;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.ObjectUtils; import org.apache.commons.lang.ObjectUtils;
...@@ -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 OrderAdapterServiceImpl orderAdapterService;
@Autowired @Autowired
protected AssortmentOpenPlatformWxappManager openPlatformWxappManager; protected AssortmentOpenPlatformWxappManager openPlatformWxappManager;
@Autowired @Autowired
...@@ -134,7 +134,7 @@ public abstract class UniversalOrderService { ...@@ -134,7 +134,7 @@ public abstract class UniversalOrderService {
@Autowired @Autowired
private PaymentNewService paymentNewService; private PaymentNewService paymentNewService;
@Autowired @Autowired
protected StandardPaymentService standardPaymentService; protected PayServiceImpl payService;
@Autowired @Autowired
private PaymentQueueService paymentQueueService; private PaymentQueueService paymentQueueService;
@Autowired @Autowired
...@@ -1101,7 +1101,7 @@ public abstract class UniversalOrderService { ...@@ -1101,7 +1101,7 @@ public abstract class UniversalOrderService {
if (orderExtInfoDto != null && StringUtils.isNotBlank(orderExtInfoDto.getStationId())) { if (orderExtInfoDto != null && StringUtils.isNotBlank(orderExtInfoDto.getStationId())) {
request.setStationId(orderExtInfoDto.getStationId()); request.setStationId(orderExtInfoDto.getStationId());
} }
com.freemud.application.sdk.api.base.BaseResponse<UnifiedOrderResponse> responseBase = standardPaymentService.unifiedOrder(request, trackingNo); com.freemud.application.sdk.api.base.BaseResponse<UnifiedOrderResponse> responseBase = payService.unifiedOrder(request);
if (!ResponseCodeConstant.RESPONSE_SUCCESS_STR.equals(responseBase.getCode())) { if (!ResponseCodeConstant.RESPONSE_SUCCESS_STR.equals(responseBase.getCode())) {
// 1.9.34 预支付失败需要把原因进行记录 // 1.9.34 预支付失败需要把原因进行记录
orderPayResponse = new OrderPayResponse(); orderPayResponse = new OrderPayResponse();
......
...@@ -374,7 +374,7 @@ public class SaasMallOrderService extends UniversalOrderService { ...@@ -374,7 +374,7 @@ public class SaasMallOrderService extends UniversalOrderService {
private OrderPayResponse getPreOrderPay(OrderBeanV1 orderBean, PaymentRequest paymentRequest, String trackingNo, Integer cardAmount) { private OrderPayResponse getPreOrderPay(OrderBeanV1 orderBean, PaymentRequest paymentRequest, String trackingNo, Integer cardAmount) {
try { try {
UnifiedOrderRequest request = orderAdapter.convent2UnifiedOrderRequest(orderBean, paymentRequest, orderBean.getAmount(), cardAmount, orderBean.getOid()); UnifiedOrderRequest request = orderAdapter.convent2UnifiedOrderRequest(orderBean, paymentRequest, orderBean.getAmount(), cardAmount, orderBean.getOid());
com.freemud.application.sdk.api.base.BaseResponse<UnifiedOrderResponse> responseBase = super.standardPaymentService.unifiedOrder(request, trackingNo); com.freemud.application.sdk.api.base.BaseResponse<UnifiedOrderResponse> responseBase = super.payService.unifiedOrder(request);
if (!ResponseCodeConstant.RESPONSE_SUCCESS_STR.equals(responseBase.getCode())) { if (!ResponseCodeConstant.RESPONSE_SUCCESS_STR.equals(responseBase.getCode())) {
return null; return null;
} }
......
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
package cn.freemud.service; package cn.freemud.service;
import cn.freemud.entities.dto.OrderPrintDto; import cn.freemud.entities.dto.OrderPrintDto;
import cn.freemud.service.impl.OrderQueueService;
import cn.freemud.service.impl.OrderServiceImpl; import cn.freemud.service.impl.OrderServiceImpl;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
...@@ -36,6 +37,9 @@ public class MQTest { ...@@ -36,6 +37,9 @@ public class MQTest {
@Autowired @Autowired
private OrderServiceImpl orderService; private OrderServiceImpl orderService;
@Autowired
private OrderQueueService orderQueueService;
@Test @Test
public void test(){ public void test(){
OrderPrintDto request =new OrderPrintDto(); OrderPrintDto request =new OrderPrintDto();
...@@ -71,7 +75,7 @@ public class MQTest { ...@@ -71,7 +75,7 @@ public class MQTest {
request.setProducts(products); request.setProducts(products);
for (int i = 0;i<3;i++){ for (int i = 0;i<3;i++){
orderService.asynchronousPrint(request); orderQueueService.asynchronousPrint(request);
} }
} }
} }
...@@ -112,6 +112,9 @@ public class OrderManagerAdapter { ...@@ -112,6 +112,9 @@ public class OrderManagerAdapter {
if (orderBean==null){ if (orderBean==null){
//查询订单 //查询订单
orderBean = orderBaseService.getByOrderCode(request.getOrderId()); orderBean = orderBaseService.getByOrderCode(request.getOrderId());
if (null == orderBean) {
return ResponseUtil.error(ResponseResult.ORDER_NOT_EXIST);
}
} }
//订单接单参数校验 //订单接单参数校验
BaseResponse verifyResponse = orderVerifyHandle.orderAffirmVerify(orderBean, request); BaseResponse verifyResponse = orderVerifyHandle.orderAffirmVerify(orderBean, request);
...@@ -131,6 +134,9 @@ public class OrderManagerAdapter { ...@@ -131,6 +134,9 @@ public class OrderManagerAdapter {
public BaseResponse orderReject(OrderManagerRequest request) { public BaseResponse orderReject(OrderManagerRequest request) {
//查询订单 //查询订单
OrderBeanV1 orderBean = orderBaseService.getByOrderCode(request.getOrderId()); OrderBeanV1 orderBean = orderBaseService.getByOrderCode(request.getOrderId());
if (null == orderBean) {
return ResponseUtil.error(ResponseResult.ORDER_NOT_EXIST);
}
//订单接单参数校验 //订单接单参数校验
BaseResponse verifyResponse; BaseResponse verifyResponse;
if(OrderClientType.SAASMALL.getIndex().toString().equalsIgnoreCase(orderBean.getOrderClient())){ if(OrderClientType.SAASMALL.getIndex().toString().equalsIgnoreCase(orderBean.getOrderClient())){
...@@ -157,6 +163,9 @@ public class OrderManagerAdapter { ...@@ -157,6 +163,9 @@ public class OrderManagerAdapter {
public BaseResponse orderAgreeRefund(OrderManagerRequest request) { public BaseResponse orderAgreeRefund(OrderManagerRequest request) {
//查询订单 //查询订单
OrderBeanV1 orderBean = orderBaseService.getByOrderCode(request.getOrderId()); OrderBeanV1 orderBean = orderBaseService.getByOrderCode(request.getOrderId());
if (null == orderBean) {
return ResponseUtil.error(ResponseResult.ORDER_NOT_EXIST);
}
//订单接单参数校验 //订单接单参数校验
BaseResponse verifyResponse; BaseResponse verifyResponse;
if(OrderClientType.SAASMALL.getIndex().toString().equalsIgnoreCase(orderBean.getOrderClient())){ if(OrderClientType.SAASMALL.getIndex().toString().equalsIgnoreCase(orderBean.getOrderClient())){
...@@ -177,6 +186,9 @@ public class OrderManagerAdapter { ...@@ -177,6 +186,9 @@ public class OrderManagerAdapter {
public BaseResponse orderPayRefund(OrderManagerRequest request) { public BaseResponse orderPayRefund(OrderManagerRequest request) {
//查询订单 //查询订单
OrderBeanV1 orderBean = orderBaseService.getByOrderCode(request.getOrderId()); OrderBeanV1 orderBean = orderBaseService.getByOrderCode(request.getOrderId());
if (null == orderBean) {
return ResponseUtil.error(ResponseResult.ORDER_NOT_EXIST);
}
if(CollectionUtils.isNotEmpty(orderBean.getRefundList())){ if(CollectionUtils.isNotEmpty(orderBean.getRefundList())){
//订单接单参数校验 //订单接单参数校验
BaseResponse verifyResponse = orderVerifyHandle.orderAgreeRefundMCCafe(orderBean, request); BaseResponse verifyResponse = orderVerifyHandle.orderAgreeRefundMCCafe(orderBean, request);
...@@ -199,6 +211,9 @@ public class OrderManagerAdapter { ...@@ -199,6 +211,9 @@ public class OrderManagerAdapter {
public BaseResponse orderRejectRefund(OrderManagerRequest request) { public BaseResponse orderRejectRefund(OrderManagerRequest request) {
//查询订单 //查询订单
OrderBeanV1 orderBean = orderBaseService.getByOrderCode(request.getOrderId()); OrderBeanV1 orderBean = orderBaseService.getByOrderCode(request.getOrderId());
if (null == orderBean) {
return ResponseUtil.error(ResponseResult.ORDER_NOT_EXIST);
}
//订单接单参数校验 //订单接单参数校验
BaseResponse verifyResponse; BaseResponse verifyResponse;
if(OrderClientType.SAASMALL.getIndex().toString().equalsIgnoreCase(orderBean.getOrderClient())){ if(OrderClientType.SAASMALL.getIndex().toString().equalsIgnoreCase(orderBean.getOrderClient())){
...@@ -223,6 +238,9 @@ public class OrderManagerAdapter { ...@@ -223,6 +238,9 @@ public class OrderManagerAdapter {
public BaseResponse orderCancel(OrderManagerRequest request) { public BaseResponse orderCancel(OrderManagerRequest request) {
//查询订单 //查询订单
OrderBeanV1 orderBean = orderBaseService.getByOrderCode(request.getOrderId()); OrderBeanV1 orderBean = orderBaseService.getByOrderCode(request.getOrderId());
if (null == orderBean) {
return ResponseUtil.error(ResponseResult.ORDER_NOT_EXIST);
}
BaseResponse<OrderManagerResponse> orderManagerResponse = orderBeanFactory.getOrderManagerService(orderBean).orderCancel(request, orderBean); BaseResponse<OrderManagerResponse> orderManagerResponse = orderBeanFactory.getOrderManagerService(orderBean).orderCancel(request, orderBean);
return handleResponse(request,orderBean,orderManagerResponse); return handleResponse(request,orderBean,orderManagerResponse);
} }
...@@ -235,6 +253,9 @@ public class OrderManagerAdapter { ...@@ -235,6 +253,9 @@ public class OrderManagerAdapter {
public BaseResponse mcCafeOrderRejectRefund(OrderManagerRequest request) { public BaseResponse mcCafeOrderRejectRefund(OrderManagerRequest request) {
//查询订单 //查询订单
OrderBeanV1 orderBean = orderBaseService.getByOrderCode(request.getOrderId()); OrderBeanV1 orderBean = orderBaseService.getByOrderCode(request.getOrderId());
if (null == orderBean) {
return ResponseUtil.error(ResponseResult.ORDER_NOT_EXIST);
}
//订单接单参数校验 //订单接单参数校验
BaseResponse verifyResponse = orderVerifyHandle.mcCafeOrderRejectRefund(orderBean, request); BaseResponse verifyResponse = orderVerifyHandle.mcCafeOrderRejectRefund(orderBean, request);
if (ObjectUtils.notEqual(verifyResponse.getCode(), ResponseResult.SUCCESS.getCode())) { if (ObjectUtils.notEqual(verifyResponse.getCode(), ResponseResult.SUCCESS.getCode())) {
......
...@@ -10,10 +10,6 @@ package com.freemud.application.sdk.api.ordercenter.enums; ...@@ -10,10 +10,6 @@ package com.freemud.application.sdk.api.ordercenter.enums;
*/ */
public enum BizTypeEnum { public enum BizTypeEnum {
//字段6代表卖券订单。
//蜜雪APP和平台通用。
//后续使用此字段需注意。名称APP_COUPON取得有些误导,由于有地方使用,暂时不更改
APP_COUPON(6, "卖券订单"),
ORDINARY(1, "普通订单"), ORDINARY(1, "普通订单"),
VIRTUAL(2, "虚拟订单"), VIRTUAL(2, "虚拟订单"),
MEMBERS(3, "会员订单"), MEMBERS(3, "会员订单"),
......
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @Title: OrderType
* @Package cn.freemud.enums
* @Description: 订单状态
* @author: liming.guo
* @date: 2018/5/21 14:43
* @version V1.0
* @Copyright: 2018 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
package com.freemud.application.sdk.api.ordercenter.enums;
/**
* 跟新订单状态同步目前
*/
public enum PayStatusEnum {
NOT_PAY(1, "未支付"),
HAVE_PAID(2, "已支付"),
HAVE_REFUND(3, "已退款"),
HAVE_PART_REFUND(4, "已经部分退款"),
COMPLETE(5, "完成");
private Integer code;
private String desc;
PayStatusEnum(Integer code, String desc) {
this.code = code;
this.desc = desc;
}
public static PayStatusEnum getByCode(Integer code) {
if (code == null) {
return null;
}
for (PayStatusEnum payStatus : values()) {
if (payStatus.getCode().equals(code)) {
return payStatus;
}
}
return null;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
}
...@@ -205,4 +205,7 @@ public class OrderExtInfoDto { ...@@ -205,4 +205,7 @@ public class OrderExtInfoDto {
private String province; private String province;
private Long totalScore; private Long totalScore;
//抖音支付卖券手机号
private String saleCouponPhone;
} }
package cn.freemud.service.impl; package cn.freemud.service.impl;
import ch.qos.logback.classic.Level;
import cn.freemud.base.entity.BaseResponse; import cn.freemud.base.entity.BaseResponse;
import cn.freemud.constant.ApplicationConstant;
import cn.freemud.constant.ResponseCodeConstant; import cn.freemud.constant.ResponseCodeConstant;
import cn.freemud.entities.dto.GetMenuResponseDto.DataBean.RootNodeBean.ChildrenBeanFirst.ChildrenBeanSecond.ProductBean;
import cn.freemud.entities.dto.GetProductInfoDto; import cn.freemud.entities.dto.GetProductInfoDto;
import cn.freemud.entities.dto.ProductInfosDto; import cn.freemud.entities.dto.ProductInfosDto;
import cn.freemud.entities.vo.CartGoods; import cn.freemud.entities.vo.CartGoods;
...@@ -11,38 +10,29 @@ import cn.freemud.entities.vo.ShoppingCartGoodsBaseResponseVo; ...@@ -11,38 +10,29 @@ import cn.freemud.entities.vo.ShoppingCartGoodsBaseResponseVo;
import cn.freemud.enums.ResponseResult; import cn.freemud.enums.ResponseResult;
import cn.freemud.interceptor.ServiceException; import cn.freemud.interceptor.ServiceException;
import cn.freemud.service.thirdparty.StoreItemClient; import cn.freemud.service.thirdparty.StoreItemClient;
import cn.freemud.service.thirdparty.StoreItemClient;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.freemud.application.sdk.api.base.SDKCommonBaseContextWare;
//import com.freemud.application.sdk.api.log.LogThreadLocal;
import com.freemud.application.sdk.api.log.LogThreadLocal; import com.freemud.application.sdk.api.log.LogThreadLocal;
import com.freemud.application.sdk.api.productcenter.domain.ProductBeanDTO; import com.freemud.application.sdk.api.productcenter.domain.ProductBeanDTO;
import com.freemud.sdk.api.assortment.shoppingcart.constant.CommonsConstant; import com.freemud.sdk.api.assortment.shoppingcart.constant.CommonsConstant;
import com.freemud.sdk.api.assortment.shoppingcart.constant.RedisKeyConstant;
import com.freemud.sdk.api.assortment.shoppingcart.constant.ShoppingCartConstant; import com.freemud.sdk.api.assortment.shoppingcart.constant.ShoppingCartConstant;
import com.freemud.sdk.api.assortment.shoppingcart.enums.BizTypeEnum;
import com.freemud.sdk.api.assortment.shoppingcart.enums.BusinessTypeEnum; import com.freemud.sdk.api.assortment.shoppingcart.enums.BusinessTypeEnum;
import com.freemud.sdk.api.assortment.shoppingcart.request.CheckCartRequest; import com.freemud.sdk.api.assortment.shoppingcart.request.CheckCartRequest;
import com.freemud.sdk.api.assortment.shoppingcart.request.GetProductInfoRequest; import com.freemud.sdk.api.assortment.shoppingcart.request.GetProductInfoRequest;
import com.freemud.sdk.api.assortment.shoppingcart.service.ShoppingCartBaseService; import com.freemud.sdk.api.assortment.shoppingcart.service.ShoppingCartBaseService;
import com.freemud.sdk.api.assortment.shoppingcart.service.impl.ShoppingCartBaseServiceImpl; import com.freemud.sdk.api.assortment.shoppingcart.service.impl.ShoppingCartBaseServiceImpl;
import com.freemud.sdk.api.assortment.shoppingcart.util.ShoppingSdkLogUtil;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import cn.freemud.entities.dto.GetMenuResponseDto.DataBean.RootNodeBean.ChildrenBeanFirst.ChildrenBeanSecond.ProductBean;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Objects;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
* All rights Reserved, Designed By www.freemud.cn * All rights Reserved, Designed By www.freemud.cn
* *
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment