Commit 145ceda1 by shuhu.hou@freemud.cn

配送回调调试

parent 08aeb701
...@@ -2,6 +2,7 @@ package cn.freemud.controller.delivery; ...@@ -2,6 +2,7 @@ package cn.freemud.controller.delivery;
import cn.freemud.base.entity.BaseResponse; import cn.freemud.base.entity.BaseResponse;
import cn.freemud.entities.dto.delivery.CallbackUrlRequestDto; import cn.freemud.entities.dto.delivery.CallbackUrlRequestDto;
import cn.freemud.entities.dto.delivery.MacCafeCallbackUrlRequestDto;
import cn.freemud.entities.dto.delivery.WeixinDeliveryAddressDto; import cn.freemud.entities.dto.delivery.WeixinDeliveryAddressDto;
import cn.freemud.service.ThirdDeliveryService; import cn.freemud.service.ThirdDeliveryService;
import com.freemud.application.sdk.api.log.ApiAnnotation; import com.freemud.application.sdk.api.log.ApiAnnotation;
...@@ -44,6 +45,12 @@ public class DeliveryController { ...@@ -44,6 +45,12 @@ public class DeliveryController {
return deliveryService.callbackUrl(request); return deliveryService.callbackUrl(request);
} }
@ApiAnnotation(logMessage = "麦咖啡配送回调")
@ApiOperation(value = "麦咖啡配送回调", notes = "麦咖啡配送回调", produces = "application/json")
@PostMapping("/delivery/macCafeCallback")
public BaseResponse macCafeCallback(@Valid @LogParams @RequestBody MacCafeCallbackUrlRequestDto request) {
return deliveryService.macCafeCallbackUrl(request);
}
@ApiAnnotation(logMessage = "商城配送回调") @ApiAnnotation(logMessage = "商城配送回调")
@ApiOperation(value = "商城配送回调", notes = "商城配送回调", produces = "application/json") @ApiOperation(value = "商城配送回调", notes = "商城配送回调", produces = "application/json")
@PostMapping("/delivery/mallCallbackUrl") @PostMapping("/delivery/mallCallbackUrl")
......
package cn.freemud.entities.dto.delivery;
import cn.freemud.base.util.DateUtil;
import lombok.Data;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @version V1.5.1
* @Title: CallbackUrlRequestDto
* @Package cn.freemud.entities.dto
* @Description: 简单描述下这个类是做什么用的
* @author: hang.chai
* @date: 2018/12/12 14:53
* @Copyright: 2018 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@Data
public class MacCafeCallbackUrlRequestDto {
/**
* 订单编号
*/
private String orderId;
/**
* 运单编号
*/
private String deliveryId;
/**
* 蜂鸟第三方订单号
*/
private String channelDeliveryId;
/**
* 订单状态枚举值
*/
private int deliveryStatus;
/**
* 骑手联系方式
*/
private String riderPhone;
/**
* 骑手名称
*/
private String riderName;
/**
* 描述
*/
private String remark;
/**
* 商户号
*/
private String partnerId;
/**
* 门店号
*/
private String storeId;
/**
* 渠道名称
*/
private String channelName;
/**
* 渠道短码
*/
private String channelCode;
/**
* 更新时间
*/
private String updateTime = DateUtil.getCurrentDate(DateUtil.FORMAT_YYYY_MM_DD_HHMMSS);
/**
* 麦咖啡取消运单审核状态
* 1:同意取消 2:拒绝取消
*/
private Integer reviewStatus;
}
package cn.freemud.enums;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @version V1.0
* @Title: DeliveryReviewStatus
* @Package cn.freemud.enums
* @Description: 取消运单审核状态
* @author: shuhu.hou
* @date: 2020/8/9 17:07
* @Copyright: 2020 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
public enum DeliveryReviewStatus {
AGREE(1,"同意取消"),
REJECT(2,"拒绝");
private Integer code;
private String desc;
DeliveryReviewStatus(Integer code, String desc) {
this.code = code;
this.desc = desc;
}
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;
}
}
...@@ -146,6 +146,7 @@ public enum ResponseResult { ...@@ -146,6 +146,7 @@ public enum ResponseResult {
ORDER_STATUS_PRE_PAYMENT_NOT_SUPPORT("45060", "订单非待支付状态, 创建预支付失败"), ORDER_STATUS_PRE_PAYMENT_NOT_SUPPORT("45060", "订单非待支付状态, 创建预支付失败"),
ORDER_TAKEMEALTIME_INVALID("45061", "你的隔日预约时间有误,请重新刷新后选择!"), ORDER_TAKEMEALTIME_INVALID("45061", "你的隔日预约时间有误,请重新刷新后选择!"),
ORDER_CONVERT_ERROR("45062", "查询订单结果转换失败"), ORDER_CONVERT_ERROR("45062", "查询订单结果转换失败"),
ORDER_DELIVERY_CALL_BACK_FAILED("45083", "配送回调失败,为找到对应操作类型"),
/** /**
* 支付 * 支付
*/ */
......
...@@ -2,6 +2,7 @@ package cn.freemud.service; ...@@ -2,6 +2,7 @@ package cn.freemud.service;
import cn.freemud.base.entity.BaseResponse; import cn.freemud.base.entity.BaseResponse;
import cn.freemud.entities.dto.delivery.CallbackUrlRequestDto; import cn.freemud.entities.dto.delivery.CallbackUrlRequestDto;
import cn.freemud.entities.dto.delivery.MacCafeCallbackUrlRequestDto;
import cn.freemud.entities.dto.delivery.WeixinDeliveryAddressDto; import cn.freemud.entities.dto.delivery.WeixinDeliveryAddressDto;
import cn.freemud.entities.vo.delivery.DeliveryAmountVo; import cn.freemud.entities.vo.delivery.DeliveryAmountVo;
...@@ -14,6 +15,11 @@ public interface ThirdDeliveryService { ...@@ -14,6 +15,11 @@ public interface ThirdDeliveryService {
* 配送回调 * 配送回调
*/ */
BaseResponse callbackUrl(CallbackUrlRequestDto request); BaseResponse callbackUrl(CallbackUrlRequestDto request);
/**
* 配送回调
*/
BaseResponse macCafeCallbackUrl(MacCafeCallbackUrlRequestDto request);
/** /**
* 商城配送回调 * 商城配送回调
......
...@@ -2,15 +2,16 @@ package cn.freemud.service.delivery; ...@@ -2,15 +2,16 @@ package cn.freemud.service.delivery;
import cn.freemud.amp.service.ProduceMQService; import cn.freemud.amp.service.ProduceMQService;
import cn.freemud.base.entity.BaseResponse; import cn.freemud.base.entity.BaseResponse;
import cn.freemud.entities.dto.delivery.CallbackUrlRequestDto; import cn.freemud.entities.dto.delivery.*;
import cn.freemud.entities.dto.delivery.QueryDeliveryAmountRequestDto;
import cn.freemud.entities.dto.delivery.QueryDeliveryAmountResponseDto;
import cn.freemud.entities.dto.delivery.WeixinDeliveryAddressDto;
import cn.freemud.entities.dto.pos.PosBaseRequestDto; import cn.freemud.entities.dto.pos.PosBaseRequestDto;
import cn.freemud.entities.vo.delivery.DeliveryAmountVo; import cn.freemud.entities.vo.delivery.DeliveryAmountVo;
import cn.freemud.enums.DeliveryReviewStatus;
import cn.freemud.enums.DeliveryStatus; import cn.freemud.enums.DeliveryStatus;
import cn.freemud.enums.ResponseResult; import cn.freemud.enums.ResponseResult;
import cn.freemud.interceptor.ServiceException; import cn.freemud.interceptor.ServiceException;
import cn.freemud.management.entities.dto.request.order.OrderManagerRequest;
import cn.freemud.management.enums.OperateType;
import cn.freemud.management.service.adapter.OrderManagerAdapter;
import cn.freemud.service.Orderservice; import cn.freemud.service.Orderservice;
import cn.freemud.service.ThirdDeliveryService; import cn.freemud.service.ThirdDeliveryService;
import cn.freemud.service.thirdparty.DeliveryFeiginClient; import cn.freemud.service.thirdparty.DeliveryFeiginClient;
...@@ -57,13 +58,13 @@ public class ThirdDeliveryServiceImpl implements ThirdDeliveryService { ...@@ -57,13 +58,13 @@ public class ThirdDeliveryServiceImpl implements ThirdDeliveryService {
@Autowired @Autowired
private OrderCenterSdkService orderCenterSdkService; private OrderCenterSdkService orderCenterSdkService;
@Autowired @Autowired
private Orderservice orderservice;
@Autowired
private PosClient posClient; private PosClient posClient;
@Autowired @Autowired
private ProduceMQService produceMQService; private ProduceMQService produceMQService;
@Autowired @Autowired
private DeliveryFeiginClient deliveryFeiginClient; private DeliveryFeiginClient deliveryFeiginClient;
@Autowired
private OrderManagerAdapter orderManagerAdapter;
@Override @Override
public BaseResponse callbackUrl(CallbackUrlRequestDto request) { public BaseResponse callbackUrl(CallbackUrlRequestDto request) {
...@@ -138,6 +139,42 @@ public class ThirdDeliveryServiceImpl implements ThirdDeliveryService { ...@@ -138,6 +139,42 @@ public class ThirdDeliveryServiceImpl implements ThirdDeliveryService {
} }
/** /**
* 配送回调
*
* @param request
*/
@Override
public BaseResponse macCafeCallbackUrl(MacCafeCallbackUrlRequestDto request) {
OrderManagerRequest orderManagerRequest=new OrderManagerRequest();
orderManagerRequest.setPartnerId(request.getPartnerId());
orderManagerRequest.setOrderId(request.getOrderId());
orderManagerRequest.setOperator("配送回调");
Integer reviewStatus = request.getReviewStatus();
int deliveryStatus = request.getDeliveryStatus();
if (reviewStatus!=null && reviewStatus.equals(DeliveryReviewStatus.AGREE.getCode())){
orderManagerRequest.setOperateType(OperateType.ORDER_AGREE_REFUND.getOpType());
orderManagerRequest.setReason("配送回调-同意退款");
return orderManagerAdapter.orderAgreeRefund(orderManagerRequest);
}
if (reviewStatus!=null && reviewStatus.equals(DeliveryReviewStatus.REJECT.getCode())){
orderManagerRequest.setOperateType(OperateType.ORDER_REJECT_REFUND.getOpType());
orderManagerRequest.setReason("配送回调-拒绝退款");
return orderManagerAdapter.orderRejectRefund(orderManagerRequest);
}
if (deliveryStatus == DeliveryStatus.RIDERGETMEAL.getCode() || deliveryStatus == DeliveryStatus.RIDERSTARTDELIVERY.getCode()){
orderManagerRequest.setOperateType(OperateType.ORDER_SEND.getOpType());
return orderManagerAdapter.orderDelivery(orderManagerRequest);
}
if (deliveryStatus == DeliveryStatus.DELIVERYARRIVED.getCode() ){
orderManagerRequest.setOperateType(OperateType.ORDER_AFFIRM.getOpType());
return orderManagerAdapter.orderAffirm(orderManagerRequest,null);
}
return ResponseUtil.error(ResponseResult.ORDER_DELIVERY_CALL_BACK_FAILED);
}
/**
* 配送单异常并且顾客更改配送地址 * 配送单异常并且顾客更改配送地址
* *
* @return * @return
......
...@@ -165,6 +165,7 @@ public enum ResponseResult { ...@@ -165,6 +165,7 @@ public enum ResponseResult {
ORDER_REJECT_REFUND_STATUS_NOT("45080","订单不是申请退款中,不能操作"), ORDER_REJECT_REFUND_STATUS_NOT("45080","订单不是申请退款中,不能操作"),
ORDER_REJECT_REFUND_STATUS_END("45081","订单未接单或者已取消,不能操作"), ORDER_REJECT_REFUND_STATUS_END("45081","订单未接单或者已取消,不能操作"),
REJECT_REFUND_ORDER_FAIL("45082", "拒绝退款失败"), REJECT_REFUND_ORDER_FAIL("45082", "拒绝退款失败"),
ORDER_DELIVERY_CALL_BACK_FAILED("45083", "配送回调失败,为找到对应操作类型"),
/** /**
* 支付 * 支付
*/ */
......
...@@ -178,7 +178,6 @@ public class SaasOrderHandle { ...@@ -178,7 +178,6 @@ public class SaasOrderHandle {
return ResponseUtil.error(ResponseResult.REJECT_REFUND_ORDER_FAIL); return ResponseUtil.error(ResponseResult.REJECT_REFUND_ORDER_FAIL);
} }
return ResponseUtil.success(); return ResponseUtil.success();
} }
......
...@@ -98,6 +98,8 @@ public class McCafeMangerServiceImpl implements OrderManagerService { ...@@ -98,6 +98,8 @@ public class McCafeMangerServiceImpl implements OrderManagerService {
*/ */
@Override @Override
public BaseResponse<OrderManagerResponse> orderDelivery(OrderManagerRequest request, QueryOrdersResponse.DataBean.OrderBean orderBean) { public BaseResponse<OrderManagerResponse> orderDelivery(OrderManagerRequest request, QueryOrdersResponse.DataBean.OrderBean orderBean) {
// 订单配送
saasOrderHandle.orderDelivery(request, orderBean);
return ResponseUtil.success(); return ResponseUtil.success();
} }
...@@ -110,6 +112,8 @@ public class McCafeMangerServiceImpl implements OrderManagerService { ...@@ -110,6 +112,8 @@ public class McCafeMangerServiceImpl implements OrderManagerService {
*/ */
@Override @Override
public BaseResponse<OrderManagerResponse> orderAffirm(OrderManagerRequest request, QueryOrdersResponse.DataBean.OrderBean orderBean) { public BaseResponse<OrderManagerResponse> orderAffirm(OrderManagerRequest request, QueryOrdersResponse.DataBean.OrderBean orderBean) {
// 订单完成
saasOrderHandle.orderAffirm(request, orderBean);
return ResponseUtil.success(); return ResponseUtil.success();
} }
...@@ -124,7 +128,13 @@ public class McCafeMangerServiceImpl implements OrderManagerService { ...@@ -124,7 +128,13 @@ public class McCafeMangerServiceImpl implements OrderManagerService {
*/ */
@Override @Override
public BaseResponse<OrderManagerResponse> orderAgreeRefund(OrderManagerRequest request, QueryOrdersResponse.DataBean.OrderBean orderBean) { public BaseResponse<OrderManagerResponse> orderAgreeRefund(OrderManagerRequest request, QueryOrdersResponse.DataBean.OrderBean orderBean) {
return null; //支付退款
PayRefundResponse refund = paymentHandle.refund(request, orderBean);
//订单拒单
saasOrderHandle.refundAgree(request,refund, orderBean);
//冲正库存
stockHandle.revert(request, orderBean);
return ResponseUtil.success();
} }
/** /**
...@@ -136,6 +146,8 @@ public class McCafeMangerServiceImpl implements OrderManagerService { ...@@ -136,6 +146,8 @@ public class McCafeMangerServiceImpl implements OrderManagerService {
*/ */
@Override @Override
public BaseResponse<OrderManagerResponse> orderRejectRefund(OrderManagerRequest request, QueryOrdersResponse.DataBean.OrderBean orderBean) { public BaseResponse<OrderManagerResponse> orderRejectRefund(OrderManagerRequest request, QueryOrdersResponse.DataBean.OrderBean orderBean) {
return null; //拒绝退款
saasOrderHandle.refundReject(request,orderBean);
return ResponseUtil.success();
} }
} }
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