Commit f8125d7b by ping.wu

Merge branches 'feature/20210831_积分商城2期现金支付_wuping' and 'qa' of…

Merge branches 'feature/20210831_积分商城2期现金支付_wuping' and 'qa' of http://gitlab.freemud.com/order-group-application/order-group into qa
parents e48b778f c5c7ee3a
package cn.freemud.manager;
import com.freemud.application.sdk.api.log.LogThreadLocal;
import com.freemud.application.sdk.api.ordercenter.adapter.OrderCenterSdkAdapter;
import com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.QueryByCodeResponse;
import com.freemud.application.sdk.api.ordercenter.service.OrderSdkService;
import com.freemud.sdk.api.assortment.order.request.order.BaseQueryOrderRequest;
import com.freemud.sdk.api.assortment.order.response.order.QueryOrderByIdResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component
public class OrderManager {
@Autowired
private OrderSdkService orderSdkService;
@Autowired
private OrderCenterSdkAdapter orderCenterSdkAdapter;
public QueryOrderByIdResponse queryOrderById(BaseQueryOrderRequest request){
QueryOrderByIdResponse queryOrderByIdResponse = new QueryOrderByIdResponse();
String trackingNo = LogThreadLocal.getTrackingNo();
QueryByCodeResponse orderInfo = orderSdkService.getOrderInfo(request.getOrderClient(), request.getOrderId(),
request.getThirdOrderCode(), request.getWithOperationHistory(), trackingNo);
if(orderInfo != null){
queryOrderByIdResponse.setErrcode(Integer.parseInt(orderInfo.getCode()));
queryOrderByIdResponse.setErrmsg(orderInfo.getMessage());
}
if(orderInfo != null && orderInfo.getResult() != null){
OrderBeanV1 orderBeanV1 = orderCenterSdkAdapter.convent2NEWOrderInfo(orderInfo.getResult());
queryOrderByIdResponse.setData(orderBeanV1);
}
return queryOrderByIdResponse;
}
}
......@@ -54,6 +54,7 @@ import cn.freemud.management.entities.dto.response.pay.PayBatchRefundResponse;
import cn.freemud.management.service.handle.ActivityHandle;
import cn.freemud.management.thirdparty.MulitiPaymentClient;
import cn.freemud.manager.BuyProductOnceManager;
import cn.freemud.manager.OrderManager;
import cn.freemud.manager.OrderTackCodeManager;
import cn.freemud.manager.SpellGroupOrderDataManager;
import cn.freemud.redis.RedisCache;
......@@ -329,6 +330,9 @@ public class OrderServiceImpl implements Orderservice {
@Autowired
private BuyProductOnceManager buyProductOnceManager;
@Autowired
private OrderManager orderManager;
@Override
public BaseResponse checkBeforeCreateOrder(CheckBeforeCreateOrderRequestVo requestVo) {
......@@ -1401,7 +1405,7 @@ public class OrderServiceImpl implements Orderservice {
baseQueryOrderRequest.setTrackingNo(LogThreadLocal.getTrackingNo());
// 订单详情要查询3个月前的订单
// 先实时查询如果没有查询es
QueryOrderByIdResponse response = orderCenterSdkService.queryOrderById(baseQueryOrderRequest);
QueryOrderByIdResponse response = orderManager.queryOrderById(baseQueryOrderRequest);
if (!RESPONSE_SUCCESS_CODE.equals(response.getErrcode())) {
// AppLogUtil.infoLog("订单详情实时查询错误,baseQueryOrderRequest,", baseQueryOrderRequest, "");
......
......@@ -67,6 +67,7 @@ import org.springframework.stereotype.Component;
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
@Component
public class PointsMallOrderServiceImpl implements PointsMallOrderService {
......@@ -210,7 +211,7 @@ public class PointsMallOrderServiceImpl implements PointsMallOrderService {
return ResponseUtil.error(createOrderResponseDto.getCode(), "支付异常," + response.getData().getResultMsg());
}
//唤起支付返回参数
pointsMallOrderAdapter.convent2CreateOrderResponseVo(createOrderResponseVo,appId,response.getData());
pointsMallOrderAdapter.convent2CreateOrderResponseVo(createOrderResponseVo, appId, response.getData());
}
//保存支付信息
BaseResponse baseResponse1 = updateOrder(orderCode, points, cashPrice, partnerId, storeId, createOrderResponseVo.getFmId(), channel);
......@@ -225,7 +226,7 @@ public class PointsMallOrderServiceImpl implements PointsMallOrderService {
}
//全积分支付商品,订单完成
if (ExchangeTypeEnum.TYPE_1.getCode().equals(exchangeType)) {
BaseResponse response1 = orderPaySuccess(createOrderResponseDto.getResult(), points,false);
BaseResponse response1 = orderPaySuccess(createOrderResponseDto.getResult(), points, false);
if (!Objects.equals(ResponseCodeConstant.RESPONSE_SUCCESS_STR, response1.getCode())) {
return response1;
}
......@@ -299,7 +300,7 @@ public class PointsMallOrderServiceImpl implements PointsMallOrderService {
orderItemList.add(orderItemResp);
}
orderInfo.setOrderItemList(orderItemList);
BaseResponse baseResponse = orderPaySuccess(orderInfo, 0,true);
BaseResponse baseResponse = orderPaySuccess(orderInfo, 0, true);
if (!Objects.equals(ResponseCodeConstant.RESPONSE_SUCCESS_STR, baseResponse.getCode())) {
return refundFaileMessage(baseResponse.getMessage());
}
......@@ -560,7 +561,7 @@ public class PointsMallOrderServiceImpl implements PointsMallOrderService {
//共用支付成功方法
private BaseResponse orderPaySuccess(OrderInfoReqs orderInfo, Integer points,Boolean isCash) {
private BaseResponse orderPaySuccess(OrderInfoReqs orderInfo, Integer points, Boolean isCash) {
String nickName = orderInfo.getUserName();
String orderCode = orderInfo.getOrderCode();
String partnerId = orderInfo.getPartnerId();
......@@ -602,12 +603,16 @@ public class PointsMallOrderServiceImpl implements PointsMallOrderService {
return ResponseUtil.error(updateOrderStateResp.getCode(), "更新订单异常");
}
//有现金支付,扣减积分
if (isCash) {
points = orderInfo.getOrderPayItemCreateReqList().get(0).getPayAmount().intValue();
UseScoreRequest userScoreRequest = pointsMallOrderAdapter.convent2UseScoreRequest(partnerId, memberId, appId, orderCode, points);
CustomerPropertyBaseResponse baseResponse = customerPropertyClient.useScore(userScoreRequest);
if (!Objects.equals(ResponseCodeConstant.RESPONSE_SUCCESS_STR, baseResponse.getCode())) {
return ResponseUtil.error(baseResponse.getCode(), "扣减积分失败");
if (isCash && CollectionUtils.isNotEmpty(orderInfo.getOrderPayItemCreateReqList())) {
List<OrderPayItemResp> collect = orderInfo.getOrderPayItemCreateReqList().stream().filter(orderPayItemResp ->
orderPayItemResp.getPayChannelType().equals(PayChannelType.POINTS.getIndex().intValue())).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(collect)) {
points = collect.get(0).getPayAmount().intValue();
UseScoreRequest userScoreRequest = pointsMallOrderAdapter.convent2UseScoreRequest(partnerId, memberId, appId, orderCode, points);
CustomerPropertyBaseResponse baseResponse = customerPropertyClient.useScore(userScoreRequest);
if (!Objects.equals(ResponseCodeConstant.RESPONSE_SUCCESS_STR, baseResponse.getCode())) {
return ResponseUtil.error(baseResponse.getCode(), "扣减积分失败");
}
}
}
return ResponseUtil.success();
......
......@@ -184,6 +184,7 @@ public class OrderCenterSdkAdapter {
data.setSource(OrderSourceV1.getCodeByClientType(orderInfoReqs.getOrderClient()));
data.setSourceName(OrderSourceV1.getDescByClientType(orderInfoReqs.getOrderClient()));
data.setStatus(OrderStatusV1.getOldCode(orderInfoReqs.getOrderState()));
data.setStatusV2(orderInfoReqs.getOrderState());
data.setQueueIndex("");
data.setUserType("");
data.setOperateTakeOrderTime(null);
......
......@@ -186,6 +186,8 @@ public class OrderBeanV1 {
* 订单状态 1 下单 2 待支付 3已接单 4 配送中 5 已完成 6 已取消 7 已拒单 31 制作完成
*/
private Integer status;
private Integer statusV2;
/**
* 取餐地址
*/
......
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