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 {
public BaseResponse<OrderManagerResponse> orderConfirmTake(OrderManagerRequest request) {
//查询订单
QueryOrdersResponse.DataBean.OrderBean orderBean = orderBaseService.getByOrderCode(request.getOrderId());
// 防止NPE
if (orderBean == null) {
return ResponseUtil.error(ResponseResult.ORDER_NOT_EXIST);
}
//订单接单参数校验
String companyId = orderBean.getCompanyId();
if (!macCafePartnerId.equals(companyId)) {
......
......@@ -34,9 +34,8 @@ import org.springframework.stereotype.Component;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.List;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
import java.util.Map;
import java.util.concurrent.TimeUnit;
/**
* All rights Reserved, Designed By www.freemud.cn
......@@ -85,12 +84,7 @@ public class PaymentHandle {
return handlePayRefundResponse(refundStatus,orderRefundRequest.getRefundId());
}
BaseResponse<OrderRefundResponse> orderRefundResponse;
try {
orderRefundResponse = standardPaymentService.orderRefund(orderRefundRequest, "");
}catch (Exception ex){
ErrorLog.errorConvertJson(this.getClass(), "refundError", ex);
throw new OrderServiceException(ResponseResult.REFUND_EXCEPTION);
}
orderRefundResponse = standardPaymentService.orderRefund(orderRefundRequest, LogThreadLocal.getTrackingNo());
if (orderRefundResponse==null){
throw new OrderServiceException(ResponseResult.REFUND_EXCEPTION);
}
......
......@@ -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.response.order.OrderManagerResponse;
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.RefundStatus;
import cn.freemud.management.enums.ResponseResult;
......@@ -91,8 +92,9 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
// 创建配送单
deliveryHandle.createDelivery(orderBean, request, storeInfo);
// 推送pos、微信消息中心 重复接单不重复推消息(针对蜜雪做的修改)
if(baseResponse != null && baseResponse.getResult() == null)
if(baseResponse != null && baseResponse.getResult() == null){
orderBaseService.sendMessage(orderBean, OperateType.ORDER_CONFIRM, request.getReason());
}
return ResponseUtil.success(new OrderManagerResponse(storeInfo.getBizVO().getOrderPrintConfig(), orderBean.getGmtExpect(),
CollectionUtils.isEmpty(orderBean.getRefundList()) ? null : RefundStatus.getByCode(orderBean.getRefundList().get(0).getStatus())));
}
......@@ -155,7 +157,7 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
@Override
public BaseResponse<OrderManagerResponse> orderReject(OrderManagerRequest request, QueryOrdersResponse.DataBean.OrderBean orderBean) {
//支付退款
PayRefundResponse refundResponse = new PayRefundResponse();
PayRefundResponse refundResponse ;
try {
if(null != orderBean.getOrderPayItem() && orderBean.getOrderPayItem().size()>0){
refundResponse = paymentHandle.multiRefund(orderBean);
......@@ -189,7 +191,7 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
//取消配送单
deliveryHandle.cancelDelivery(orderBean,request);
//支付退款
PayRefundResponse refundResponse = new PayRefundResponse();
PayRefundResponse refundResponse;
try {
if(null != orderBean.getOrderPayItem() && orderBean.getOrderPayItem().size()>0){
refundResponse = paymentHandle.multiRefund(orderBean);
......@@ -235,7 +237,7 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
if (sourceList.contains(orderBean.getSource()) && oldOrderStatusList.contains(orderBean.getStatus())) {
return executeRefund(request,orderBean, OperateType.ORDER_REJECT.getOpType());
} 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()));
} else {
return executeRefund(request,orderBean, OperateType.ORDER_REJECT.getOpType());
......@@ -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) {
Integer createEvent;
if (PayRefundStatus.RUNNING.getCode().equals(refundStatus)) {
createEvent = 5;
createEvent = CreateEventEnum.FIVE.getType();
} else if (PayRefundStatus.SUCCESS.getCode().equals(refundStatus)) {
createEvent = 4;
createEvent = CreateEventEnum.FOUR.getType();
} else {
createEvent = 5;
createEvent = CreateEventEnum.FIVE.getType();
}
OrderCancelReq orderCancelReq = new OrderCancelReq();
orderCancelReq.setPartnerId(order.getCompanyId());
......@@ -297,6 +299,7 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
orderCancelReq.setOperator(request.getOperator());
com.freemud.application.sdk.api.ordercenter.response.BaseResponse baseResponse = orderSdkService.cancelOrder(orderCancelReq,UUID.randomUUID().toString());
if (!ObjectUtils.equals(SUCCESS,Integer.valueOf(baseResponse.getCode()))) {
this.commonSendEmailAlert(order,baseResponse,"拒单在支付退款后的取消订单操作失败");
return ResponseUtil.error(ResponseResult.PARTNER_ORDER_CANCEL_ERROR);
}
return ResponseUtil.success();
......@@ -309,10 +312,11 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
orderCancelReq.setOrderCode(order.getOid());
orderCancelReq.setCancelReason("商家取消");
orderCancelReq.setAfterSalesType(AfterSalesType.PARTNER_CANCEL.getIndex());
orderCancelReq.setCreateEvent(4);
orderCancelReq.setCreateEvent(CreateEventEnum.FOUR.getType());
orderCancelReq.setOrderClient(OrderClientType.POS.getIndex());
com.freemud.application.sdk.api.ordercenter.response.BaseResponse baseResponse = orderSdkService.cancelOrder(orderCancelReq,UUID.randomUUID().toString());
if (!Objects.equals(SUCCESS,Integer.valueOf(baseResponse.getCode()))){
this.commonSendEmailAlert(order,baseResponse,"posCancel 取消订单失败");
return ResponseUtil.error(ResponseResult.PARTNER_ORDER_CANCEL_ERROR);
}
// 储值卡退款
......@@ -326,4 +330,8 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
}
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;
import cn.freemud.base.entity.BaseResponse;
import cn.freemud.base.log.ErrorLog;
import cn.freemud.base.log.LogTreadLocal;
import cn.freemud.management.adapter.WaimaiSdkAdapter;
import cn.freemud.management.entities.dto.request.order.OrderManagerRequest;
......@@ -47,6 +48,7 @@ public class WaimaiOrderMangerServiceImpl implements OrderManagerService {
PlatformOrderRequest platformOrderRequest = waimaiSdkAdapter.getPlatformOrderRequest(request, orderBean);
com.freemud.application.sdk.api.base.BaseResponse waimaiBaseResponse = waimaiOrderService.confirm(platformOrderRequest, LogTreadLocal.getTrackingNo());
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);
}
return ResponseUtil.success();
......@@ -112,7 +114,7 @@ public class WaimaiOrderMangerServiceImpl implements OrderManagerService {
@Override
public BaseResponse<OrderManagerResponse> orderReject(OrderManagerRequest request, QueryOrdersResponse.DataBean.OrderBean 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())) {
return ResponseUtil.error(ResponseResult.REJECT_ORDER_FAIL);
}
......@@ -129,7 +131,7 @@ public class WaimaiOrderMangerServiceImpl implements OrderManagerService {
@Override
public BaseResponse<OrderManagerResponse> orderAgreeRefund(OrderManagerRequest request, QueryOrdersResponse.DataBean.OrderBean orderBean) {
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())) {
return ResponseUtil.error(ResponseResult.AGREE_REFUND_ORDER_FAIL);
}
......@@ -146,7 +148,7 @@ public class WaimaiOrderMangerServiceImpl implements OrderManagerService {
@Override
public BaseResponse<OrderManagerResponse> orderRejectRefund(OrderManagerRequest request, QueryOrdersResponse.DataBean.OrderBean orderBean) {
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())) {
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