Commit 145ceda1 by shuhu.hou@freemud.cn

配送回调调试

parent 08aeb701
......@@ -2,6 +2,7 @@ package cn.freemud.controller.delivery;
import cn.freemud.base.entity.BaseResponse;
import cn.freemud.entities.dto.delivery.CallbackUrlRequestDto;
import cn.freemud.entities.dto.delivery.MacCafeCallbackUrlRequestDto;
import cn.freemud.entities.dto.delivery.WeixinDeliveryAddressDto;
import cn.freemud.service.ThirdDeliveryService;
import com.freemud.application.sdk.api.log.ApiAnnotation;
......@@ -44,6 +45,12 @@ public class DeliveryController {
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 = "商城配送回调")
@ApiOperation(value = "商城配送回调", notes = "商城配送回调", produces = "application/json")
@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 {
ORDER_STATUS_PRE_PAYMENT_NOT_SUPPORT("45060", "订单非待支付状态, 创建预支付失败"),
ORDER_TAKEMEALTIME_INVALID("45061", "你的隔日预约时间有误,请重新刷新后选择!"),
ORDER_CONVERT_ERROR("45062", "查询订单结果转换失败"),
ORDER_DELIVERY_CALL_BACK_FAILED("45083", "配送回调失败,为找到对应操作类型"),
/**
* 支付
*/
......
......@@ -2,6 +2,7 @@ package cn.freemud.service;
import cn.freemud.base.entity.BaseResponse;
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.vo.delivery.DeliveryAmountVo;
......@@ -14,6 +15,11 @@ public interface ThirdDeliveryService {
* 配送回调
*/
BaseResponse callbackUrl(CallbackUrlRequestDto request);
/**
* 配送回调
*/
BaseResponse macCafeCallbackUrl(MacCafeCallbackUrlRequestDto request);
/**
* 商城配送回调
......
......@@ -2,15 +2,16 @@ package cn.freemud.service.delivery;
import cn.freemud.amp.service.ProduceMQService;
import cn.freemud.base.entity.BaseResponse;
import cn.freemud.entities.dto.delivery.CallbackUrlRequestDto;
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.delivery.*;
import cn.freemud.entities.dto.pos.PosBaseRequestDto;
import cn.freemud.entities.vo.delivery.DeliveryAmountVo;
import cn.freemud.enums.DeliveryReviewStatus;
import cn.freemud.enums.DeliveryStatus;
import cn.freemud.enums.ResponseResult;
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.ThirdDeliveryService;
import cn.freemud.service.thirdparty.DeliveryFeiginClient;
......@@ -57,13 +58,13 @@ public class ThirdDeliveryServiceImpl implements ThirdDeliveryService {
@Autowired
private OrderCenterSdkService orderCenterSdkService;
@Autowired
private Orderservice orderservice;
@Autowired
private PosClient posClient;
@Autowired
private ProduceMQService produceMQService;
@Autowired
private DeliveryFeiginClient deliveryFeiginClient;
@Autowired
private OrderManagerAdapter orderManagerAdapter;
@Override
public BaseResponse callbackUrl(CallbackUrlRequestDto request) {
......@@ -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
......
......@@ -165,6 +165,7 @@ public enum ResponseResult {
ORDER_REJECT_REFUND_STATUS_NOT("45080","订单不是申请退款中,不能操作"),
ORDER_REJECT_REFUND_STATUS_END("45081","订单未接单或者已取消,不能操作"),
REJECT_REFUND_ORDER_FAIL("45082", "拒绝退款失败"),
ORDER_DELIVERY_CALL_BACK_FAILED("45083", "配送回调失败,为找到对应操作类型"),
/**
* 支付
*/
......
......@@ -178,7 +178,6 @@ public class SaasOrderHandle {
return ResponseUtil.error(ResponseResult.REJECT_REFUND_ORDER_FAIL);
}
return ResponseUtil.success();
}
......
......@@ -98,6 +98,8 @@ public class McCafeMangerServiceImpl implements OrderManagerService {
*/
@Override
public BaseResponse<OrderManagerResponse> orderDelivery(OrderManagerRequest request, QueryOrdersResponse.DataBean.OrderBean orderBean) {
// 订单配送
saasOrderHandle.orderDelivery(request, orderBean);
return ResponseUtil.success();
}
......@@ -110,6 +112,8 @@ public class McCafeMangerServiceImpl implements OrderManagerService {
*/
@Override
public BaseResponse<OrderManagerResponse> orderAffirm(OrderManagerRequest request, QueryOrdersResponse.DataBean.OrderBean orderBean) {
// 订单完成
saasOrderHandle.orderAffirm(request, orderBean);
return ResponseUtil.success();
}
......@@ -124,7 +128,13 @@ public class McCafeMangerServiceImpl implements OrderManagerService {
*/
@Override
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 {
*/
@Override
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