Commit 8a4fdf48 by 张洪旺

订单完成接口使用新的订单状态

parent 60c5c777
......@@ -162,14 +162,15 @@ public class FuYouOrderService {
/**
* 查询订单详情
*
* @param request
* @return
*/
public BaseResponse detail(OrderDetailRequest request){
public BaseResponse detail(OrderDetailRequest request) {
QueryByCodeResponse orderInfo = orderSdkService.getOrderInfo(request.getOrderClient(), null,
request.getThirdOrderCode(),null, LogThreadLocal.getTrackingNo());
request.getThirdOrderCode(), null, LogThreadLocal.getTrackingNo());
if (ObjectUtils.notEqual(ResponseConstant.SUCCESS_RESPONSE_CODE, orderInfo.getCode())) {
return ResponseUtil.error(orderInfo.getCode(),orderInfo.getMessage());
return ResponseUtil.error(orderInfo.getCode(), orderInfo.getMessage());
}
return ResponseUtil.success(orderInfo.getResult());
}
......@@ -183,9 +184,9 @@ public class FuYouOrderService {
*/
public BaseResponse refund(RefundRequest req) {
// 1.退款
QueryByCodeResponse orderInfo = orderSdkService.getOrderInfo(req.getOrderClient(), null,req.getThirdOrderCode(),null, LogThreadLocal.getTrackingNo());
QueryByCodeResponse orderInfo = orderSdkService.getOrderInfo(req.getOrderClient(), null, req.getThirdOrderCode(), null, LogThreadLocal.getTrackingNo());
if (ObjectUtils.notEqual(ResponseConstant.SUCCESS_RESPONSE_CODE, orderInfo.getCode())) {
return ResponseUtil.error(orderInfo.getCode(),orderInfo.getMessage());
return ResponseUtil.error(orderInfo.getCode(), orderInfo.getMessage());
}
final OrderInfoReqs order = orderInfo.getResult();
if (ObjectUtils.notEqual(order.getPayState(), PayStatus.HAVE_PAID.getCode())) {
......@@ -199,7 +200,7 @@ public class FuYouOrderService {
return baseResponse;
}
//3 .退优惠券
return rectification(order, "商家退款");
return rectification(order, "商家退款");
}
......@@ -227,8 +228,8 @@ public class FuYouOrderService {
return payorderSeetlment;
}
private OrderInfoReqs getOrderByThirdOrderCode(String thirdOrderCode,String orderClient) {
QueryByCodeResponse orderInfo = orderSdkService.getOrderInfo(orderClient,null,thirdOrderCode, null, LogThreadLocal.getTrackingNo());
private OrderInfoReqs getOrderByThirdOrderCode(String thirdOrderCode, String orderClient) {
QueryByCodeResponse orderInfo = orderSdkService.getOrderInfo(orderClient, null, thirdOrderCode, null, LogThreadLocal.getTrackingNo());
if (ObjectUtils.notEqual(ResponseConstant.SUCCESS_RESPONSE_CODE, orderInfo.getCode())) {
throw new RuntimeException(orderInfo.getMessage());
}
......@@ -243,11 +244,11 @@ public class FuYouOrderService {
public BaseResponse complete(CompleteRequest request) {
OrderInfoReqs orderInfoReqs = getOrderByThirdOrderCode(request.getThirdOrderCode(), request.getOrderClient());
BaseResponse response = new BaseResponse();
if(ObjectUtils.notEqual(PayStatus.HAVE_PAID.getCode(),orderInfoReqs.getPayState())){
return ResponseUtil.error(ORDER_NO_PAU);
}
if (ObjectUtils.notEqual(PayStatus.HAVE_PAID.getCode(), orderInfoReqs.getPayState())) {
return ResponseUtil.error(ORDER_NO_PAU);
}
OrderChangeStateReq req = new OrderChangeStateReq();
req.setOrderState(OrderStatus.COMPLETE.getCode());
req.setOrderState(NewOrderStatus.COMPLETE.getIndex());
req.setOrderCode(orderInfoReqs.getOrderCode());
com.freemud.application.sdk.api.ordercenter.response.BaseResponse baseResponse = orderSdkService.updateOrderState(req, LogThreadLocal.getTrackingNo());
response.setCode(baseResponse.getCode());
......@@ -259,16 +260,12 @@ public class FuYouOrderService {
/***
* 目前支持 优惠券,积分
*
* 冲正
* @return
*/
public BaseResponse rectification(OrderInfoReqs order, String reqRemark) {
if (Objects.equals(order.getOrderState(), NewOrderStatus.COMPLETE.getIndex()) ||
Objects.equals(order.getOrderState(), NewOrderStatus.CLOSED.getIndex())
) {
log.info("rectification 订单状态已完成,或者已经关闭,不支持冲正");
return ResponseUtil.error(ResponseResult.ORDER_QUERYORDER_ERROR.getCode(),"订单号不存在");
if (Objects.equals(order.getOrderState(), NewOrderStatus.CLOSED.getIndex())) {
return ResponseUtil.error(ResponseResult.ORDER_QUERYORDER_ERROR.getCode(), "已退款");
}
// 2.更改订单
OrderCancelReq orderCancelReq = new OrderCancelReq();
......@@ -279,13 +276,14 @@ public class FuYouOrderService {
orderCancelReq.setOrderClient(2);
orderCancelReq.setCreateEvent(4);
com.freemud.application.sdk.api.ordercenter.response.BaseResponse cancelOrderResponse = orderSdkService.cancelOrder(orderCancelReq, LogThreadLocal.getTrackingNo());
if (ObjectUtils.notEqual(SUCCESS, cancelOrderResponse.getCode())) {
if (ObjectUtils.notEqual(SUCCESS.getCode(), cancelOrderResponse.getCode())) {
log.error("orderSdkService.cancelOrder.error,request:{},response:{}", JSON.toJSONString(orderCancelReq),
JSON.toJSONString(cancelOrderResponse));
return ResponseUtil.error(cancelOrderResponse.getCode(),cancelOrderResponse.getMessage());
return ResponseUtil.error(cancelOrderResponse.getCode(), cancelOrderResponse.getMessage());
}
order.getOrderSettlementDetailList().forEach((OrderSettlementResp obj) -> {
//优惠券冲正
if (OrderSettlementType.COUPON.getIndex() == obj.getSettlementType().intValue()) {
DiscountRequest discountRequest = JSONObject.parseObject(obj.getExtInfo(), DiscountRequest.class);
CouponRequest couponCodeVerificationDto = new CouponRequest();
......@@ -316,6 +314,7 @@ public class FuYouOrderService {
JSON.toJSONString(baseResponse));
}
}
//积分充正
if (OrderSettlementType.POINTS.getIndex() == obj.getSettlementType().intValue()) {
ReturnScoreRequest returnScoreRequest = new ReturnScoreRequest();
returnScoreRequest.setMemberId(order.getUserId());
......@@ -358,7 +357,7 @@ public class FuYouOrderService {
case 204:
case 19:
//微信,支付宝,svc
OrderRefundNewRequest refundRequest = new OrderRefundNewRequest();
OrderRefundNewRequest refundRequest = new OrderRefundNewRequest();
refundRequest.setPartnerId(order.getPartnerId());
refundRequest.setVer(2);
refundRequest.setStoreId(order.getStoreId());
......@@ -368,7 +367,7 @@ public class FuYouOrderService {
refundRequest.setRefundId(UUID.randomUUID().toString());
refundRequest.setTotalAmount(Long.valueOf(payRequest.getPayAmount()));
refundRequest.setRefundAmount(Long.valueOf(payRequest.getPayAmount()));
final com.freemud.application.sdk.api.base.BaseResponse<RefundNewResponse> refundResponse = paymentNewService.newOrderRefund(refundRequest,LogThreadLocal.getTrackingNo());
final com.freemud.application.sdk.api.base.BaseResponse<RefundNewResponse> refundResponse = paymentNewService.newOrderRefund(refundRequest, LogThreadLocal.getTrackingNo());
if (ObjectUtils.notEqual(refundResponse.getCode(), ResponseResultEnum.SUCCESS.getCode())) {
return ResponseUtil.error(refundResponse.getCode(), refundResponse.getMessage());
}
......
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