Commit 61c7eca9 by 周晓航

management->日志改造 & 剔除魔法值

Signed-off-by: 周晓航 <xiaohang.zhou@freemud.com>
parent 5fa01e48
package cn.freemud.management.enums;
public enum CreateEventEnum {
TWO(2, "默认做【创建】+【审核通过】,售后单状态为【退货中】"),
FOUR(4, "默认做【创建】+【同意并退款完成】,售后单状态为【完成】"),
FIVE(5, "默认做【创建】+【同意并退货完成】,售后单状态【已退货】"),
;
private Integer type;
private String desc;
CreateEventEnum(Integer type, String desc) {
this.type = type;
this.desc = desc;
}
public Integer getType() {
return type;
}
public void setType(Integer type) {
this.type = type;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
}
...@@ -42,6 +42,10 @@ public class OrderManagerAdapter { ...@@ -42,6 +42,10 @@ public class OrderManagerAdapter {
public BaseResponse<OrderManagerResponse> orderConfirmTake(OrderManagerRequest request) { public BaseResponse<OrderManagerResponse> orderConfirmTake(OrderManagerRequest request) {
//查询订单 //查询订单
QueryOrdersResponse.DataBean.OrderBean orderBean = orderBaseService.getByOrderCode(request.getOrderId()); QueryOrdersResponse.DataBean.OrderBean orderBean = orderBaseService.getByOrderCode(request.getOrderId());
// 防止NPE
if (orderBean == null) {
return ResponseUtil.error(ResponseResult.ORDER_NOT_EXIST);
}
//订单接单参数校验 //订单接单参数校验
String companyId = orderBean.getCompanyId(); String companyId = orderBean.getCompanyId();
if (!macCafePartnerId.equals(companyId)) { if (!macCafePartnerId.equals(companyId)) {
......
...@@ -34,9 +34,8 @@ import org.springframework.stereotype.Component; ...@@ -34,9 +34,8 @@ import org.springframework.stereotype.Component;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
import java.util.Map; import java.util.Map;
import java.util.concurrent.TimeUnit;
/** /**
* All rights Reserved, Designed By www.freemud.cn * All rights Reserved, Designed By www.freemud.cn
...@@ -85,12 +84,7 @@ public class PaymentHandle { ...@@ -85,12 +84,7 @@ public class PaymentHandle {
return handlePayRefundResponse(refundStatus,orderRefundRequest.getRefundId()); return handlePayRefundResponse(refundStatus,orderRefundRequest.getRefundId());
} }
BaseResponse<OrderRefundResponse> orderRefundResponse; BaseResponse<OrderRefundResponse> orderRefundResponse;
try { orderRefundResponse = standardPaymentService.orderRefund(orderRefundRequest, LogThreadLocal.getTrackingNo());
orderRefundResponse = standardPaymentService.orderRefund(orderRefundRequest, "");
}catch (Exception ex){
ErrorLog.errorConvertJson(this.getClass(), "refundError", ex);
throw new OrderServiceException(ResponseResult.REFUND_EXCEPTION);
}
if (orderRefundResponse==null){ if (orderRefundResponse==null){
throw new OrderServiceException(ResponseResult.REFUND_EXCEPTION); throw new OrderServiceException(ResponseResult.REFUND_EXCEPTION);
} }
......
...@@ -4,6 +4,7 @@ import cn.freemud.base.entity.BaseResponse; ...@@ -4,6 +4,7 @@ import cn.freemud.base.entity.BaseResponse;
import cn.freemud.management.entities.dto.request.order.OrderManagerRequest; import cn.freemud.management.entities.dto.request.order.OrderManagerRequest;
import cn.freemud.management.entities.dto.response.order.OrderManagerResponse; import cn.freemud.management.entities.dto.response.order.OrderManagerResponse;
import cn.freemud.management.entities.dto.response.pay.PayRefundResponse; import cn.freemud.management.entities.dto.response.pay.PayRefundResponse;
import cn.freemud.management.enums.CreateEventEnum;
import cn.freemud.management.enums.OperateType; import cn.freemud.management.enums.OperateType;
import cn.freemud.management.enums.RefundStatus; import cn.freemud.management.enums.RefundStatus;
import cn.freemud.management.enums.ResponseResult; import cn.freemud.management.enums.ResponseResult;
...@@ -91,8 +92,9 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService { ...@@ -91,8 +92,9 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
// 创建配送单 // 创建配送单
deliveryHandle.createDelivery(orderBean, request, storeInfo); deliveryHandle.createDelivery(orderBean, request, storeInfo);
// 推送pos、微信消息中心 重复接单不重复推消息(针对蜜雪做的修改) // 推送pos、微信消息中心 重复接单不重复推消息(针对蜜雪做的修改)
if(baseResponse != null && baseResponse.getResult() == null) if(baseResponse != null && baseResponse.getResult() == null){
orderBaseService.sendMessage(orderBean, OperateType.ORDER_CONFIRM, request.getReason()); orderBaseService.sendMessage(orderBean, OperateType.ORDER_CONFIRM, request.getReason());
}
return ResponseUtil.success(new OrderManagerResponse(storeInfo.getBizVO().getOrderPrintConfig(), orderBean.getGmtExpect(), return ResponseUtil.success(new OrderManagerResponse(storeInfo.getBizVO().getOrderPrintConfig(), orderBean.getGmtExpect(),
CollectionUtils.isEmpty(orderBean.getRefundList()) ? null : RefundStatus.getByCode(orderBean.getRefundList().get(0).getStatus()))); CollectionUtils.isEmpty(orderBean.getRefundList()) ? null : RefundStatus.getByCode(orderBean.getRefundList().get(0).getStatus())));
} }
...@@ -155,7 +157,7 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService { ...@@ -155,7 +157,7 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
@Override @Override
public BaseResponse<OrderManagerResponse> orderReject(OrderManagerRequest request, QueryOrdersResponse.DataBean.OrderBean orderBean) { public BaseResponse<OrderManagerResponse> orderReject(OrderManagerRequest request, QueryOrdersResponse.DataBean.OrderBean orderBean) {
//支付退款 //支付退款
PayRefundResponse refundResponse = new PayRefundResponse(); PayRefundResponse refundResponse ;
try { try {
if(null != orderBean.getOrderPayItem() && orderBean.getOrderPayItem().size()>0){ if(null != orderBean.getOrderPayItem() && orderBean.getOrderPayItem().size()>0){
refundResponse = paymentHandle.multiRefund(orderBean); refundResponse = paymentHandle.multiRefund(orderBean);
...@@ -189,7 +191,7 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService { ...@@ -189,7 +191,7 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
//取消配送单 //取消配送单
deliveryHandle.cancelDelivery(orderBean,request); deliveryHandle.cancelDelivery(orderBean,request);
//支付退款 //支付退款
PayRefundResponse refundResponse = new PayRefundResponse(); PayRefundResponse refundResponse;
try { try {
if(null != orderBean.getOrderPayItem() && orderBean.getOrderPayItem().size()>0){ if(null != orderBean.getOrderPayItem() && orderBean.getOrderPayItem().size()>0){
refundResponse = paymentHandle.multiRefund(orderBean); refundResponse = paymentHandle.multiRefund(orderBean);
...@@ -235,7 +237,7 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService { ...@@ -235,7 +237,7 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
if (sourceList.contains(orderBean.getSource()) && oldOrderStatusList.contains(orderBean.getStatus())) { if (sourceList.contains(orderBean.getSource()) && oldOrderStatusList.contains(orderBean.getStatus())) {
return executeRefund(request,orderBean, OperateType.ORDER_REJECT.getOpType()); return executeRefund(request,orderBean, OperateType.ORDER_REJECT.getOpType());
} else if (OrderSourceType.MEAL.getCode().equals(orderBean.getSource())) { } else if (OrderSourceType.MEAL.getCode().equals(orderBean.getSource())) {
if (OldOrderStatus.WAIT_PAY.getCode().equals(orderBean.getStatus()) || PayType.CASH_ON_DELIVERY.getCode() == orderBean.getPayType()) { if (OldOrderStatus.WAIT_PAY.getCode().equals(orderBean.getStatus()) || PayType.CASH_ON_DELIVERY.getCode().compareTo(orderBean.getPayType()) == 0) {
return executeCancel(request,orderBean, PayRefundStatus.SUCCESS.getCode(), AfterSalesType.SYSTEM_CANCEL.getIndex(), Integer.valueOf(orderBean.getOrderClient())); return executeCancel(request,orderBean, PayRefundStatus.SUCCESS.getCode(), AfterSalesType.SYSTEM_CANCEL.getIndex(), Integer.valueOf(orderBean.getOrderClient()));
} else { } else {
return executeRefund(request,orderBean, OperateType.ORDER_REJECT.getOpType()); return executeRefund(request,orderBean, OperateType.ORDER_REJECT.getOpType());
...@@ -281,11 +283,11 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService { ...@@ -281,11 +283,11 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
private BaseResponse<OrderManagerResponse> executeCancel(OrderManagerRequest request,QueryOrdersResponse.DataBean.OrderBean order, Integer refundStatus, Integer afterSalesType, Integer orderClient) { private BaseResponse<OrderManagerResponse> executeCancel(OrderManagerRequest request,QueryOrdersResponse.DataBean.OrderBean order, Integer refundStatus, Integer afterSalesType, Integer orderClient) {
Integer createEvent; Integer createEvent;
if (PayRefundStatus.RUNNING.getCode().equals(refundStatus)) { if (PayRefundStatus.RUNNING.getCode().equals(refundStatus)) {
createEvent = 5; createEvent = CreateEventEnum.FIVE.getType();
} else if (PayRefundStatus.SUCCESS.getCode().equals(refundStatus)) { } else if (PayRefundStatus.SUCCESS.getCode().equals(refundStatus)) {
createEvent = 4; createEvent = CreateEventEnum.FOUR.getType();
} else { } else {
createEvent = 5; createEvent = CreateEventEnum.FIVE.getType();
} }
OrderCancelReq orderCancelReq = new OrderCancelReq(); OrderCancelReq orderCancelReq = new OrderCancelReq();
orderCancelReq.setPartnerId(order.getCompanyId()); orderCancelReq.setPartnerId(order.getCompanyId());
...@@ -297,6 +299,7 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService { ...@@ -297,6 +299,7 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
orderCancelReq.setOperator(request.getOperator()); orderCancelReq.setOperator(request.getOperator());
com.freemud.application.sdk.api.ordercenter.response.BaseResponse baseResponse = orderSdkService.cancelOrder(orderCancelReq,UUID.randomUUID().toString()); com.freemud.application.sdk.api.ordercenter.response.BaseResponse baseResponse = orderSdkService.cancelOrder(orderCancelReq,UUID.randomUUID().toString());
if (!ObjectUtils.equals(SUCCESS,Integer.valueOf(baseResponse.getCode()))) { if (!ObjectUtils.equals(SUCCESS,Integer.valueOf(baseResponse.getCode()))) {
this.commonSendEmailAlert(order,baseResponse,"拒单在支付退款后的取消订单操作失败");
return ResponseUtil.error(ResponseResult.PARTNER_ORDER_CANCEL_ERROR); return ResponseUtil.error(ResponseResult.PARTNER_ORDER_CANCEL_ERROR);
} }
return ResponseUtil.success(); return ResponseUtil.success();
...@@ -309,10 +312,11 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService { ...@@ -309,10 +312,11 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
orderCancelReq.setOrderCode(order.getOid()); orderCancelReq.setOrderCode(order.getOid());
orderCancelReq.setCancelReason("商家取消"); orderCancelReq.setCancelReason("商家取消");
orderCancelReq.setAfterSalesType(AfterSalesType.PARTNER_CANCEL.getIndex()); orderCancelReq.setAfterSalesType(AfterSalesType.PARTNER_CANCEL.getIndex());
orderCancelReq.setCreateEvent(4); orderCancelReq.setCreateEvent(CreateEventEnum.FOUR.getType());
orderCancelReq.setOrderClient(OrderClientType.POS.getIndex()); orderCancelReq.setOrderClient(OrderClientType.POS.getIndex());
com.freemud.application.sdk.api.ordercenter.response.BaseResponse baseResponse = orderSdkService.cancelOrder(orderCancelReq,UUID.randomUUID().toString()); com.freemud.application.sdk.api.ordercenter.response.BaseResponse baseResponse = orderSdkService.cancelOrder(orderCancelReq,UUID.randomUUID().toString());
if (!Objects.equals(SUCCESS,Integer.valueOf(baseResponse.getCode()))){ if (!Objects.equals(SUCCESS,Integer.valueOf(baseResponse.getCode()))){
this.commonSendEmailAlert(order,baseResponse,"posCancel 取消订单失败");
return ResponseUtil.error(ResponseResult.PARTNER_ORDER_CANCEL_ERROR); return ResponseUtil.error(ResponseResult.PARTNER_ORDER_CANCEL_ERROR);
} }
// 储值卡退款 // 储值卡退款
...@@ -326,4 +330,8 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService { ...@@ -326,4 +330,8 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
} }
return ResponseUtil.success(); return ResponseUtil.success();
} }
private void commonSendEmailAlert(QueryOrdersResponse.DataBean.OrderBean order, com.freemud.application.sdk.api.ordercenter.response.BaseResponse baseResponse,String desc){
emailAlertService.sendEmailAlert(desc, "请求json:" + JSONObject.toJSONString(order) + "返回msg:" + baseResponse.getMessage());
}
} }
package cn.freemud.management.service.impl; package cn.freemud.management.service.impl;
import cn.freemud.base.entity.BaseResponse; import cn.freemud.base.entity.BaseResponse;
import cn.freemud.base.log.ErrorLog;
import cn.freemud.base.log.LogTreadLocal; import cn.freemud.base.log.LogTreadLocal;
import cn.freemud.management.adapter.WaimaiSdkAdapter; import cn.freemud.management.adapter.WaimaiSdkAdapter;
import cn.freemud.management.entities.dto.request.order.OrderManagerRequest; import cn.freemud.management.entities.dto.request.order.OrderManagerRequest;
...@@ -47,6 +48,7 @@ public class WaimaiOrderMangerServiceImpl implements OrderManagerService { ...@@ -47,6 +48,7 @@ public class WaimaiOrderMangerServiceImpl implements OrderManagerService {
PlatformOrderRequest platformOrderRequest = waimaiSdkAdapter.getPlatformOrderRequest(request, orderBean); PlatformOrderRequest platformOrderRequest = waimaiSdkAdapter.getPlatformOrderRequest(request, orderBean);
com.freemud.application.sdk.api.base.BaseResponse waimaiBaseResponse = waimaiOrderService.confirm(platformOrderRequest, LogTreadLocal.getTrackingNo()); com.freemud.application.sdk.api.base.BaseResponse waimaiBaseResponse = waimaiOrderService.confirm(platformOrderRequest, LogTreadLocal.getTrackingNo());
if (ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(), waimaiBaseResponse.getCode())) { if (ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(), waimaiBaseResponse.getCode())) {
ErrorLog.errorConvertJson(this.getClass(),ResponseResult.ORDER_ACCEPT_FAILED.getMessage() + " ordercode: "+ request.getOrderId(),null);
throw new OrderServiceException(ResponseResult.ORDER_ACCEPT_FAILED); throw new OrderServiceException(ResponseResult.ORDER_ACCEPT_FAILED);
} }
return ResponseUtil.success(); return ResponseUtil.success();
...@@ -112,7 +114,7 @@ public class WaimaiOrderMangerServiceImpl implements OrderManagerService { ...@@ -112,7 +114,7 @@ public class WaimaiOrderMangerServiceImpl implements OrderManagerService {
@Override @Override
public BaseResponse<OrderManagerResponse> orderReject(OrderManagerRequest request, QueryOrdersResponse.DataBean.OrderBean orderBean) { public BaseResponse<OrderManagerResponse> orderReject(OrderManagerRequest request, QueryOrdersResponse.DataBean.OrderBean orderBean) {
PartnerCancelRequest partnerCancelRequest = waimaiSdkAdapter.getPartnerCancelRequest(request, orderBean); PartnerCancelRequest partnerCancelRequest = waimaiSdkAdapter.getPartnerCancelRequest(request, orderBean);
com.freemud.application.sdk.api.base.BaseResponse rejectResponse = waimaiOrderService.reject(partnerCancelRequest, ""); com.freemud.application.sdk.api.base.BaseResponse rejectResponse = waimaiOrderService.reject(partnerCancelRequest, LogTreadLocal.getTrackingNo());
if (ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(), rejectResponse.getCode())) { if (ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(), rejectResponse.getCode())) {
return ResponseUtil.error(ResponseResult.REJECT_ORDER_FAIL); return ResponseUtil.error(ResponseResult.REJECT_ORDER_FAIL);
} }
...@@ -129,7 +131,7 @@ public class WaimaiOrderMangerServiceImpl implements OrderManagerService { ...@@ -129,7 +131,7 @@ public class WaimaiOrderMangerServiceImpl implements OrderManagerService {
@Override @Override
public BaseResponse<OrderManagerResponse> orderAgreeRefund(OrderManagerRequest request, QueryOrdersResponse.DataBean.OrderBean orderBean) { public BaseResponse<OrderManagerResponse> orderAgreeRefund(OrderManagerRequest request, QueryOrdersResponse.DataBean.OrderBean orderBean) {
AgreeOrderRequest agreeOrderRequest = waimaiSdkAdapter.getAgreeOrderRequest(request, orderBean,true); AgreeOrderRequest agreeOrderRequest = waimaiSdkAdapter.getAgreeOrderRequest(request, orderBean,true);
com.freemud.application.sdk.api.base.BaseResponse agreeRefundResponse = waimaiOrderService.isAgreeRefund(agreeOrderRequest, ""); com.freemud.application.sdk.api.base.BaseResponse agreeRefundResponse = waimaiOrderService.isAgreeRefund(agreeOrderRequest, LogTreadLocal.getTrackingNo());
if (ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(), agreeRefundResponse.getCode())) { if (ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(), agreeRefundResponse.getCode())) {
return ResponseUtil.error(ResponseResult.AGREE_REFUND_ORDER_FAIL); return ResponseUtil.error(ResponseResult.AGREE_REFUND_ORDER_FAIL);
} }
...@@ -146,7 +148,7 @@ public class WaimaiOrderMangerServiceImpl implements OrderManagerService { ...@@ -146,7 +148,7 @@ public class WaimaiOrderMangerServiceImpl implements OrderManagerService {
@Override @Override
public BaseResponse<OrderManagerResponse> orderRejectRefund(OrderManagerRequest request, QueryOrdersResponse.DataBean.OrderBean orderBean) { public BaseResponse<OrderManagerResponse> orderRejectRefund(OrderManagerRequest request, QueryOrdersResponse.DataBean.OrderBean orderBean) {
AgreeOrderRequest agreeOrderRequest = waimaiSdkAdapter.getAgreeOrderRequest(request, orderBean,false); AgreeOrderRequest agreeOrderRequest = waimaiSdkAdapter.getAgreeOrderRequest(request, orderBean,false);
com.freemud.application.sdk.api.base.BaseResponse agreeRefundResponse = waimaiOrderService.isAgreeRefund(agreeOrderRequest, ""); com.freemud.application.sdk.api.base.BaseResponse agreeRefundResponse = waimaiOrderService.isAgreeRefund(agreeOrderRequest, LogTreadLocal.getTrackingNo());
if (ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(), agreeRefundResponse.getCode())) { if (ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(), agreeRefundResponse.getCode())) {
return ResponseUtil.error(ResponseResult.REJECT_REFUND_ORDER_FAIL); return ResponseUtil.error(ResponseResult.REJECT_REFUND_ORDER_FAIL);
} }
......
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