提交修改

This commit is contained in:
quyixiao 2025-11-17 23:51:42 +08:00
parent f9146aaa3d
commit 3d1dded608
18 changed files with 237 additions and 193 deletions

View File

@ -1,52 +1,68 @@
package com.heyu.api.data.enums; package com.heyu.api.data.enums;
public enum OrderActionEnums { public enum OrderActionEnums {
Admin_Cancel("Admin_Cancel", "admin取消按钮", "/mm/order/cancel"),
App_Apply_Cancel("App_Apply_Cancel", "app申请取消按钮", "/app/order/applyCancel"),
Admin_Delivered("Admin_Delivered", "admin妥投,确认收货", "/mm/order/delivered"), Admin_Cancel("Admin_Cancel", "admin取消按钮", "/mm/order/cancel", OrderStatusEnums.cancel.getStatus()),
App_Delivered("App_Delivered", "app妥投,确认收货", "/app/order/delivered"), App_Apply_Cancel("App_Apply_Cancel", "app申请取消按钮", "/app/order/applyCancel", OrderStatusEnums.apply_cancel.getStatus()),
Admin_Shipped("Admin_Shipped", "admin签收按钮", "/mm/order/shipped"), Admin_Delivered("Admin_Delivered", "admin妥投,确认收货", "/mm/order/delivered",OrderStatusEnums.delivered.getStatus()),
App_Shipped("App_Shipped", "app签收按钮", "/app/order/shipped"),
Admin_To_Shipping("Admin_To_Shipping", "admin发货按钮", "/mm/order/toShipping"), App_Delivered("App_Delivered", "app妥投,确认收货", "/app/order/delivered",OrderStatusEnums.delivered.getStatus()),
Admin_Un_Shipping("Admin_Un_Shipping", "admin取消发货", "/mm/order/unShipping"),
App_Delete("App_Delete", "app删除按钮", "/app/order/delete"), Admin_Shipped("Admin_Shipped", "admin签收按钮", "/mm/order/shipped",OrderStatusEnums.shipped.getStatus()),
App_Close("App_Close", "app关闭订单", "/app/order/close"), App_Shipped("App_Shipped", "app签收按钮", "/app/order/shipped",OrderStatusEnums.shipped.getStatus()),
App_Apply_Refund("App_Apply_Refund", "app申请退款,接口参数refundType传1 ", "/app/reverse/add"), Admin_To_Shipping("Admin_To_Shipping", "admin发货按钮", "/mm/order/toShipping", OrderStatusEnums.shipping.getStatus()),
App_Apply_Return_Refund("App_Apply_Return_Refund", "app申请退货退款接口参数refundType传2", "/app/reverse/add"), Admin_Un_Shipping("Admin_Un_Shipping", "admin取消发货", "/mm/order/unShipping",OrderStatusEnums.wait_shipping.getStatus()),
Admin_Seller_Agree_Cancel("Admin_Seller_Agree_Cancel", "卖家同意取消", "/mm/reverse/approve"), App_Delete("App_Delete", "app删除按钮", "/app/order/delete",OrderStatusEnums.delete.getStatus()),
Admin_Seller_Reject_Cancel("Admin_Seller_Reject_Cancel", "卖家拒绝取消", "/mm/reverse/approve"), App_Close("App_Close", "app关闭订单", "/app/order/close",OrderStatusEnums.close.getStatus()),
Admin_Seller_Agree_Refund("Admin_Seller_Agree_Refund", "卖家同意退款", "/mm/reverse/approve"), App_Apply_Refund("App_Apply_Refund", "app申请退款,接口参数refundType传1 ", "/app/reverse/add",
ReverseStatusEnums.buyer_apply_refund_wait_seller_agree.getStatus()),
Admin_Seller_Reject_Refund("Admin_Seller_Reject_Refund", "卖家拒绝退款", "/mm/reverse/approve"), App_Apply_Return_Refund("App_Apply_Return_Refund", "app申请退货退款接口参数refundType传2",
"/app/reverse/add",ReverseStatusEnums.buyer_apply_return_wait_seller_agree.getStatus()),
Admin_Seller_Agree_Return_Refund("Admin_Seller_Agree_Refund", "卖家同意退货退款", "/mm/reverse/approve"), Admin_Seller_Agree_Cancel("Admin_Seller_Agree_Cancel", "卖家同意取消", "/mm/reverse/approve",
ReverseStatusEnums.seller_agree_cancel.getStatus()),
Admin_Seller_Reject_Return_Refund("Admin_Seller_Reject_Refund", "卖家拒绝退货退款", "/mm/reverse/approve"), Admin_Seller_Reject_Cancel("Admin_Seller_Reject_Cancel", "卖家拒绝取消", "/mm/reverse/approve",
ReverseStatusEnums.seller_reject_cancel.getStatus()),
App_Buyer_Upload_Reverse_TrackNumber("App_Buyer_Upload_Reverse_TrackNumber", "买家上传逆向tracknumber", "/app/reverse/tracknumber"), Admin_Seller_Agree_Refund("Admin_Seller_Agree_Refund", "卖家同意退款", "/mm/reverse/approve",
ReverseStatusEnums.agree_refund.getStatus()),
Admin_Seller_Agree_Sign_Receipt("Admin_Seller_Agree_Sign_Receipt", "卖家同意签收", "/mm/reverse/approve"), Admin_Seller_Reject_Refund("Admin_Seller_Reject_Refund", "卖家拒绝退款", "/mm/reverse/approve",
ReverseStatusEnums.reject_refund.getStatus()),
Admin_Seller_Reject_Sign_Receipt("Admin_Seller_Reject_Sign_Receipt", "卖家拒绝签收", "/mm/reverse/approve"), Admin_Seller_Agree_Return_Refund("Admin_Seller_Agree_Refund", "卖家同意退货退款", "/mm/reverse/approve",
ReverseStatusEnums.seller_agree_return_wait_buyer_post.getStatus()),
Admin_Seller_Qa_Check_Finished("Admin_Seller_Qa_Check_Finished", "卖家质检完成", "/mm/reverse/approve"), Admin_Seller_Reject_Return_Refund("Admin_Seller_Reject_Refund", "卖家拒绝退货退款", "/mm/reverse/approve"
, ReverseStatusEnums.reject_return.getStatus()),
App_Buyer_Upload_Reverse_TrackNumber("App_Buyer_Upload_Reverse_TrackNumber", "买家上传逆向tracknumber",
"/app/reverse/tracknumber",ReverseStatusEnums.shipping.getStatus()),
Admin_Seller_Agree_Sign_Receipt("Admin_Seller_Agree_Sign_Receipt", "卖家同意签收", "/mm/reverse/approve",
ReverseStatusEnums.agree_sign_receipt.getStatus()),
Admin_Seller_Reject_Sign_Receipt("Admin_Seller_Reject_Sign_Receipt", "卖家拒绝签收", "/mm/reverse/approve",
ReverseStatusEnums.reject_sign_receipt.getStatus()),
Admin_Seller_Qa_Check_Finished("Admin_Seller_Qa_Check_Finished", "卖家质检完成", "/mm/reverse/approve",
ReverseStatusEnums.qa_check_finished.getStatus()),
App_Buyer_Reverse_Order_Close("App_Buyer_Reverse_Order_Close", "买家申请退款后,可关闭逆向订单", "/app/reverse/close",
ReverseStatusEnums.close.getStatus()),
App_Buyer_Reverse_Order_Close("App_Buyer_Reverse_Order_Close", "买家申请退款后,可关闭逆向订单", "/app/reverse/close"),
; ;
/*** /***
* 取消按钮 * 取消按钮
*/ */
@ -64,13 +80,21 @@ public enum OrderActionEnums {
*/ */
private String interfaceUri; private String interfaceUri;
/***
* 目标状态名称
*
*/
private String targetStatus ;
OrderActionEnums(String buttonName, String desc, String interfaceUri) {
OrderActionEnums(String buttonName, String desc, String interfaceUri, String targetStatus) {
this.buttonName = buttonName; this.buttonName = buttonName;
this.desc = desc; this.desc = desc;
this.interfaceUri = interfaceUri; this.interfaceUri = interfaceUri;
this.targetStatus = targetStatus;
} }
public String getButtonName() { public String getButtonName() {
return buttonName; return buttonName;
} }
@ -94,4 +118,12 @@ public enum OrderActionEnums {
public void setInterfaceUri(String interfaceUri) { public void setInterfaceUri(String interfaceUri) {
this.interfaceUri = interfaceUri; this.interfaceUri = interfaceUri;
} }
public String getTargetStatus() {
return targetStatus;
}
public void setTargetStatus(String targetStatus) {
this.targetStatus = targetStatus;
}
} }

View File

@ -1,5 +1,7 @@
package com.heyu.api.data.enums; package com.heyu.api.data.enums;
import com.heyu.api.data.entity.vv.VvReverseOrderEntity;
public enum ReverseStatusEnums { public enum ReverseStatusEnums {
// 逆向状态状态 wait_seller_agree 等待卖家同意 , // 逆向状态状态 wait_seller_agree 等待卖家同意 ,
@ -57,6 +59,8 @@ public enum ReverseStatusEnums {
private String desc; private String desc;
// 订单取消:cancel,买家申请退款等待卖家同意:buyer_apply_reverse_wait_seller_agree,卖家同意退货买家邮寄:seller_agree_return_wait_buyer_post,运送中:shipping,已签收:shipped,拒绝签收:reject_shipped,质检完成:qa_check_finished,同意退款:agree_refund,拒绝退款:reject_refund,微信退款中:weixin_refunding,退款完成:refunded,退款关闭:close // 订单取消:cancel,买家申请退款等待卖家同意:buyer_apply_reverse_wait_seller_agree,卖家同意退货买家邮寄:seller_agree_return_wait_buyer_post,运送中:shipping,已签收:shipped,拒绝签收:reject_shipped,质检完成:qa_check_finished,同意退款:agree_refund,拒绝退款:reject_refund,微信退款中:weixin_refunding,退款完成:refunded,退款关闭:close
public String getStatus() { public String getStatus() {

View File

@ -26,4 +26,11 @@ public class OrderActionDTO {
*/ */
private String interfaceUri; private String interfaceUri;
/***
* 目标状态名称
*
*/
private String targetStatus ;
} }

View File

@ -2,54 +2,36 @@ package com.heyu.api.alibaba.request.mm.reverse;
import com.heyu.api.alibaba.request.mm.AdminBaseDTO; import com.heyu.api.alibaba.request.mm.AdminBaseDTO;
import com.heyu.api.alibaba.request.mm.order.ResourceDTO;
import lombok.Data; import lombok.Data;
import java.util.List;
@Data @Data
public class VvApproveRequest extends AdminBaseDTO { public class VvApproveRequest extends AdminBaseDTO {
/*** /***
* 逆向id * 逆向id
*/ */
private Long reverseOrderId; private Long reverseOrderId;
/*** /***
* 卖家同意退货买家邮寄:seller_agree_return_wait_buyer_post * 按钮名称
* 拒绝退货reject_return
* 拒绝签收:reject_shipped,
* 质检完成:qa_check_finished,
* 同意退款:agree_refund,
* 拒绝退款:reject_refund
* 退款关闭:close
*/ */
private String status ; private String buttonName ;
/*** /***
* 关闭订单原因 * 关闭订单原因
*/ */
private String closeReason; private String reason;
/*** /***
* 拒绝退款原因 * 资源信息
*/ */
private String rejectRefundReason; private List<ResourceDTO> resources;
/***
* 拒绝签收原因
*/
private String rejectShippedReason;
/***
* 质检完成评论
*/
private String qaCheckFinishedComment;
/***
* 拒绝退货原因
*/
private String rejectReturnReason;
} }

View File

@ -1,5 +1,6 @@
package com.heyu.api.alibaba.request.mm.reverse; package com.heyu.api.alibaba.request.mm.reverse;
import com.heyu.api.alibaba.request.mm.order.resp.OrderActionDTO;
import com.heyu.api.data.entity.vv.VvPackageEntity; import com.heyu.api.data.entity.vv.VvPackageEntity;
import com.heyu.api.data.entity.vv.VvReverseOrderEntity; import com.heyu.api.data.entity.vv.VvReverseOrderEntity;
import com.heyu.api.data.entity.vv.VvReverseOrderLineEntity; import com.heyu.api.data.entity.vv.VvReverseOrderLineEntity;
@ -24,10 +25,16 @@ public class VvReverseOrderDTO extends VvReverseOrderEntity {
*/ */
private List<VvReverseOrderProveEntity> vvReverseOrderProveEntities; private List<VvReverseOrderProveEntity> vvReverseOrderProveEntities;
/***
* 包裹信息
*/
private VvPackageEntity vvPackageEntity;; private VvPackageEntity vvPackageEntity;;
/***
* action 列表
*/
private List<OrderActionDTO> orderActionList;
} }

View File

@ -3,6 +3,7 @@ package com.heyu.api.service.impl;
import com.heyu.api.alibaba.request.mm.order.resp.OrderActionDTO; import com.heyu.api.alibaba.request.mm.order.resp.OrderActionDTO;
import com.heyu.api.data.entity.vv.VvTradeOrderLineEntity; import com.heyu.api.data.entity.vv.VvTradeOrderLineEntity;
import com.heyu.api.data.enums.OrderActionEnums; import com.heyu.api.data.enums.OrderActionEnums;
import com.heyu.api.data.utils.CollectionUtils;
import com.heyu.api.service.impl.order.*; import com.heyu.api.service.impl.order.*;
import java.util.ArrayList; import java.util.ArrayList;
@ -16,7 +17,10 @@ public abstract class AbstractOrderAction {
public static final List<AbstractOrderAction> actions = Arrays.asList( public static final List<AbstractOrderAction> actions = Arrays.asList(
new ApplyRefund(),
new ApplyReturnRefund(), new ApplyReturnRefund(),
new BuyerCloseReverseOrderAction(),
new BuyerUploadReverseTrackNumberAction(),
new CancelAction(), new CancelAction(),
new CloseAction(), new CloseAction(),
new DeleteAction(), new DeleteAction(),
@ -39,6 +43,20 @@ public abstract class AbstractOrderAction {
} }
} }
return actionDTOS; return actionDTOS;
} }
public static boolean checkFailed(VvTradeOrderLineEntity vvTradeOrderLineEntity, boolean isApp, OrderActionEnums orderActionEnums) {
List<OrderActionDTO> orderActionDTOS = getOrderActionDTO(vvTradeOrderLineEntity, isApp);
if (CollectionUtils.isNotEmpty(orderActionDTOS)) {
for (OrderActionDTO orderActionDTO : orderActionDTOS) {
if (orderActionDTO.getButtonName().equals(orderActionEnums.getButtonName())) {
return false;
}
}
}
return true;
}
} }

View File

@ -3,7 +3,8 @@ package com.heyu.api.service.impl;
import com.heyu.api.alibaba.request.mm.order.resp.OrderActionDTO; import com.heyu.api.alibaba.request.mm.order.resp.OrderActionDTO;
import com.heyu.api.data.entity.vv.VvReverseOrderEntity; import com.heyu.api.data.entity.vv.VvReverseOrderEntity;
import com.heyu.api.data.enums.OrderActionEnums; import com.heyu.api.data.enums.OrderActionEnums;
import com.heyu.api.service.impl.reverse.SellerAgreeCancelAction; import com.heyu.api.data.utils.CollectionUtils;
import com.heyu.api.service.impl.reverse.*;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
@ -11,27 +12,47 @@ import java.util.List;
public abstract class AbstractReverseAction { public abstract class AbstractReverseAction {
public abstract OrderActionEnums getAction(VvReverseOrderEntity vvReverseOrderEntity, boolean isApp, boolean isAdmin);
public abstract OrderActionEnums getAction(VvReverseOrderEntity vvReverseOrderEntity, boolean isApp,boolean isAdmin);
public static final List<AbstractReverseAction> actions = Arrays.asList( public static final List<AbstractReverseAction> actions = Arrays.asList(
new SellerAgreeCancelAction() new SellerAgreeCancelAction(),
new SellerAgreeRefundAction(),
new SellerAgreeReturnRefundAction(),
new SellerAgreeSignReceiptAction(),
new SellerQaCheckFinishedAction(),
new SellerRejectCancelAction(),
new SellerRejectRefundAction(),
new SellerRejectReturnRefundAction(),
new SellerRejectSignReceiptAction()
); );
public static List<OrderActionDTO> getOrderActionDTO(VvReverseOrderEntity vvReverseOrderEntity, boolean isApp) { public static List<OrderActionDTO> getOrderActionDTO(VvReverseOrderEntity vvReverseOrderEntity, boolean isApp) {
List<OrderActionDTO> actionDTOS = new ArrayList<>(); List<OrderActionDTO> actionDTOS = new ArrayList<>();
for (AbstractReverseAction action : actions) { for (AbstractReverseAction action : actions) {
OrderActionEnums orderActionEnums = action.getAction(vvReverseOrderEntity, isApp,!isApp); OrderActionEnums orderActionEnums = action.getAction(vvReverseOrderEntity, isApp, !isApp);
if (orderActionEnums != null) { if (orderActionEnums != null) {
OrderActionDTO orderActionDTO = new OrderActionDTO(); OrderActionDTO orderActionDTO = new OrderActionDTO();
orderActionDTO.setDesc(orderActionEnums.getDesc()); orderActionDTO.setDesc(orderActionEnums.getDesc());
orderActionDTO.setButtonName(orderActionEnums.getButtonName()); orderActionDTO.setButtonName(orderActionEnums.getButtonName());
orderActionDTO.setInterfaceUri(orderActionEnums.getInterfaceUri()); orderActionDTO.setInterfaceUri(orderActionEnums.getInterfaceUri());
orderActionDTO.setTargetStatus(orderActionEnums.getTargetStatus());
actionDTOS.add(orderActionDTO); actionDTOS.add(orderActionDTO);
} }
} }
return actionDTOS; return actionDTOS;
} }
public static OrderActionDTO check(VvReverseOrderEntity vvReverseOrderEntity, boolean isApp,String buttonName) {
List<OrderActionDTO> orderActionDTOS = getOrderActionDTO(vvReverseOrderEntity, isApp);
if(CollectionUtils.isNotEmpty(orderActionDTOS)){
for (OrderActionDTO orderActionDTO : orderActionDTOS) {
if(orderActionDTO.getButtonName().equals(buttonName)){
return orderActionDTO;
}
}
}
return null;
}
} }

View File

@ -96,20 +96,23 @@ public class VvTradeOrderConvertServiceImpl implements VvTradeOrderConvertServic
public int addOrderLineStatusLog(Long tradeOrderLineId, Object status, String changeStatusUser, String ... reason) { public int addOrderLineStatusLog(Long tradeOrderLineId, Object status, String changeStatusUser, String ... reason) {
VvTradeOrderLineStatusLogEntity entity = new VvTradeOrderLineStatusLogEntity(); VvTradeOrderLineStatusLogEntity entity = new VvTradeOrderLineStatusLogEntity();
entity.setTradeOrderLineId(tradeOrderLineId); entity.setTradeOrderLineId(tradeOrderLineId);
if (status instanceof OrderStatusEnums) {
if(status instanceof OrderStatusEnums){
entity.setStatus(((OrderStatusEnums) status).getStatus()); entity.setStatus(((OrderStatusEnums) status).getStatus());
entity.setStatusDesc(((OrderStatusEnums) status).getDesc()); entity.setStatusDesc(((OrderStatusEnums) status).getDesc());
}else if (status instanceof ReverseStatusEnums){ } else if (status instanceof ReverseStatusEnums) {
entity.setStatus(((ReverseStatusEnums) status).getStatus()); entity.setStatus(((ReverseStatusEnums) status).getStatus());
entity.setStatusDesc(((ReverseStatusEnums) status).getDesc()); entity.setStatusDesc(((ReverseStatusEnums) status).getDesc());
} }
entity.setChangeStatusUser(changeStatusUser); entity.setChangeStatusUser(changeStatusUser);
if (reason != null && reason.length > 0) { if (reason != null && reason.length > 0) {
entity.setReason(reason[0]); entity.setReason(reason[0]);
if (reason.length > 1) {
entity.setFeatures(reason[1]);
}
} }
entity.setTraceId(LogAspect.threadLocalNo.get()); entity.setTraceId(LogAspect.threadLocalNo.get());
vvTradeOrderLineStatusLogDao.insertVvTradeOrderLineStatusLog(entity); vvTradeOrderLineStatusLogDao.insertVvTradeOrderLineStatusLog(entity);
return 1; return 1;

View File

@ -0,0 +1,22 @@
package com.heyu.api.service.impl.order;
import com.heyu.api.data.entity.vv.VvTradeOrderLineEntity;
import com.heyu.api.data.enums.OrderActionEnums;
import com.heyu.api.data.enums.ReverseStatusEnums;
import com.heyu.api.service.impl.AbstractOrderAction;
public class BuyerCloseReverseOrderAction extends AbstractOrderAction {
@Override
public OrderActionEnums getAction(VvTradeOrderLineEntity vvReverseOrderEntity, boolean isApp) {
if (
ReverseStatusEnums.buyer_apply_cancel.getStatus().equals(vvReverseOrderEntity.getReverseStatus())
) {
if (isApp) {
return OrderActionEnums.App_Buyer_Reverse_Order_Close;
}
}
return null;
}
}

View File

@ -1,16 +1,16 @@
package com.heyu.api.service.impl.reverse; package com.heyu.api.service.impl.order;
import com.heyu.api.data.entity.vv.VvReverseOrderEntity; import com.heyu.api.data.entity.vv.VvTradeOrderLineEntity;
import com.heyu.api.data.enums.OrderActionEnums; import com.heyu.api.data.enums.OrderActionEnums;
import com.heyu.api.data.enums.ReverseStatusEnums; import com.heyu.api.data.enums.ReverseStatusEnums;
import com.heyu.api.service.impl.AbstractReverseAction; import com.heyu.api.service.impl.AbstractOrderAction;
public class BuyerUploadReverseTrackNumberAction extends AbstractReverseAction { public class BuyerUploadReverseTrackNumberAction extends AbstractOrderAction {
@Override @Override
public OrderActionEnums getAction(VvReverseOrderEntity vvReverseOrderEntity, boolean isApp, boolean isAdmin) { public OrderActionEnums getAction(VvTradeOrderLineEntity vvReverseOrderEntity, boolean isApp) {
if ( if (
ReverseStatusEnums.seller_agree_return_wait_buyer_post.getStatus().equals(vvReverseOrderEntity.getStatus()) ReverseStatusEnums.seller_agree_return_wait_buyer_post.getStatus().equals(vvReverseOrderEntity.getReverseStatus())
) { ) {
if (isApp) { if (isApp) {
return OrderActionEnums.App_Buyer_Upload_Reverse_TrackNumber; return OrderActionEnums.App_Buyer_Upload_Reverse_TrackNumber;

View File

@ -16,8 +16,9 @@ public class DeleteAction extends AbstractOrderAction {
|| OrderStatusEnums.delivered.getStatus().equals(vvTradeOrderLineEntity.getStatus()) || OrderStatusEnums.delivered.getStatus().equals(vvTradeOrderLineEntity.getStatus())
|| OrderStatusEnums.shipped.getStatus().equals(vvTradeOrderLineEntity.getStatus()) || OrderStatusEnums.shipped.getStatus().equals(vvTradeOrderLineEntity.getStatus())
) { ) {
return OrderActionEnums.Admin_To_Shipping; if(isApp){
return OrderActionEnums.App_Delete;
}
} }
return null; return null;
} }

View File

@ -14,7 +14,7 @@ public class DeliveredAction extends AbstractOrderAction {
) { ) {
if(isApp){ if(isApp){
return OrderActionEnums.Admin_Delivered; return OrderActionEnums.App_Delivered;
} }
return OrderActionEnums.Admin_Delivered; return OrderActionEnums.Admin_Delivered;
} }

View File

@ -1,22 +0,0 @@
package com.heyu.api.service.impl.reverse;
import com.heyu.api.data.entity.vv.VvReverseOrderEntity;
import com.heyu.api.data.enums.OrderActionEnums;
import com.heyu.api.data.enums.ReverseStatusEnums;
import com.heyu.api.service.impl.AbstractReverseAction;
public class BuyerCloseReverseOrderAction extends AbstractReverseAction {
@Override
public OrderActionEnums getAction(VvReverseOrderEntity vvReverseOrderEntity, boolean isApp, boolean isAdmin) {
if (
ReverseStatusEnums.buyer_apply_cancel.getStatus().equals(vvReverseOrderEntity.getStatus())
) {
if (isApp) {
return OrderActionEnums.App_Buyer_Reverse_Order_Close;
}
}
return null;
}
}

View File

@ -22,6 +22,4 @@ public class SellerAgreeCancelAction extends AbstractReverseAction {
return null; return null;
} }
} }

View File

@ -22,6 +22,7 @@ import com.heyu.api.jsapi.JsapiPrepay;
import com.heyu.api.jsapi.dto.refund.Refund; import com.heyu.api.jsapi.dto.refund.Refund;
import com.heyu.api.service.ReverseOrderService; import com.heyu.api.service.ReverseOrderService;
import com.heyu.api.service.VvTradeOrderConvertService; import com.heyu.api.service.VvTradeOrderConvertService;
import com.heyu.api.service.impl.AbstractOrderAction;
import com.heyu.api.utils.ISelect; import com.heyu.api.utils.ISelect;
import com.heyu.api.utils.PPageUtils; import com.heyu.api.utils.PPageUtils;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -182,7 +183,6 @@ public class AdminOrderController {
VVOrderDetailResp vvOrderDetailResp = new VVOrderDetailResp(); VVOrderDetailResp vvOrderDetailResp = new VVOrderDetailResp();
vvOrderDetailResp.setVvTradeOrderResp(vvOrderListResps.get(0)); vvOrderDetailResp.setVvTradeOrderResp(vvOrderListResps.get(0));
if (CollectionUtils.isEmpty(vvOrderListResps)) { if (CollectionUtils.isEmpty(vvOrderListResps)) {
for (VVOrderListResp vvOrderListResp : vvOrderListResps) { for (VVOrderListResp vvOrderListResp : vvOrderListResps) {
List<AdminPackageDTO> adminPackageDTOS = vvOrderListResp.getPackageList(); List<AdminPackageDTO> adminPackageDTOS = vvOrderListResp.getPackageList();
@ -210,14 +210,14 @@ public class AdminOrderController {
public R toPackAndShipping(@RequestBody VvToShippingDTO vvOrderRequest) { public R toPackAndShipping(@RequestBody VvToShippingDTO vvOrderRequest) {
List<VvTradeOrderLineEntity> vvTradeOrderLineEntityList = vvTradeOrderLineDao.selectVvTradeOrderLineByIds(vvOrderRequest.getTradeOrderLineIds()); List<VvTradeOrderLineEntity> vvTradeOrderLineEntityList = vvTradeOrderLineDao.selectVvTradeOrderLineByIds(vvOrderRequest.getTradeOrderLineIds());
for (VvTradeOrderLineEntity tradeOrderLineEntity : vvTradeOrderLineEntityList) { for (VvTradeOrderLineEntity tradeOrderLineEntity : vvTradeOrderLineEntityList) {
if (!OrderStatusEnums.wait_shipping.getStatus().equals(tradeOrderLineEntity.getStatus())) { if (AbstractOrderAction.checkFailed(tradeOrderLineEntity, false, OrderActionEnums.Admin_To_Shipping)) {
return R.error("订单状态不对"); return R.error("订单状态不对");
} }
} }
VvTradeOrderEntity vvTradeOrderEntity = vvTradeOrderDao.selectVvTradeOrderById(vvTradeOrderLineEntityList.get(0).getTradeOrderId()); VvTradeOrderEntity vvTradeOrderEntity = vvTradeOrderDao.selectVvTradeOrderById(vvTradeOrderLineEntityList.get(0).getTradeOrderId());
VvPackageEntity vvPackageEntity = vvPackageDao.selectVvPackageByTrackNumber(vvOrderRequest.getTrackNumber()); VvPackageEntity vvPackageEntity = vvPackageDao.selectVvPackageByTrackNumber(vvOrderRequest.getTrackNumber());
if(vvPackageEntity == null ){ if (vvPackageEntity == null) {
vvPackageEntity = new VvPackageEntity(); vvPackageEntity = new VvPackageEntity();
} }
@ -248,7 +248,6 @@ public class AdminOrderController {
OrderStatusEnums.shipping, OrderStatusEnums.shipping,
vvOrderRequest.getUserName()); vvOrderRequest.getUserName());
} }
return R.ok(); return R.ok();
} }
@ -257,8 +256,14 @@ public class AdminOrderController {
* http://localhost:8888/mm/order/unShipping * http://localhost:8888/mm/order/unShipping
*/ */
@RequestMapping("/unShipping") @RequestMapping("/unShipping")
public R unpack(@RequestBody VvUnShippingDTO vvOrderRequest) { public R unShipping(@RequestBody VvUnShippingDTO vvOrderRequest) {
List<VvTradeOrderLineEntity> vvTradeOrderLineEntityList = vvTradeOrderLineDao.selectVvTradeOrderLineByIds(vvOrderRequest.getTradeOrderLineIds()); List<VvTradeOrderLineEntity> vvTradeOrderLineEntityList = vvTradeOrderLineDao.selectVvTradeOrderLineByIds(vvOrderRequest.getTradeOrderLineIds());
for (VvTradeOrderLineEntity tradeOrderLineEntity : vvTradeOrderLineEntityList) {
if (AbstractOrderAction.checkFailed(tradeOrderLineEntity, false, OrderActionEnums.Admin_Un_Shipping)) {
return R.error("没有Admin_Un_Shipping按钮");
}
}
for (VvTradeOrderLineEntity tradeOrderLineEntity : vvTradeOrderLineEntityList) { for (VvTradeOrderLineEntity tradeOrderLineEntity : vvTradeOrderLineEntityList) {
tradeOrderLineEntity.setStatus(OrderStatusEnums.wait_shipping.getStatus()); tradeOrderLineEntity.setStatus(OrderStatusEnums.wait_shipping.getStatus());
tradeOrderLineEntity.setTrackNumber(null); tradeOrderLineEntity.setTrackNumber(null);
@ -284,7 +289,7 @@ public class AdminOrderController {
public R shipped(@RequestBody VvShippedDTO vvDeliveredDTO) { public R shipped(@RequestBody VvShippedDTO vvDeliveredDTO) {
List<VvTradeOrderLineEntity> vvTradeOrderLineEntityList = vvTradeOrderLineDao.selectVvTradeOrderLineByTrackNumber(vvDeliveredDTO.getTrackNumber()); List<VvTradeOrderLineEntity> vvTradeOrderLineEntityList = vvTradeOrderLineDao.selectVvTradeOrderLineByTrackNumber(vvDeliveredDTO.getTrackNumber());
for (VvTradeOrderLineEntity tradeOrderLineEntity : vvTradeOrderLineEntityList) { for (VvTradeOrderLineEntity tradeOrderLineEntity : vvTradeOrderLineEntityList) {
if (!OrderStatusEnums.shipping.getStatus().equals(tradeOrderLineEntity.getStatus())) { if (AbstractOrderAction.checkFailed(tradeOrderLineEntity, false, OrderActionEnums.Admin_Shipped)) {
return R.error("订单状态不对"); return R.error("订单状态不对");
} }
} }
@ -335,10 +340,11 @@ public class AdminOrderController {
public R delivered(@RequestBody VvDeliveredDTO vvDeliveredDTO) { public R delivered(@RequestBody VvDeliveredDTO vvDeliveredDTO) {
List<VvTradeOrderLineEntity> vvTradeOrderLineEntityList = vvTradeOrderLineDao.selectVvTradeOrderLineByTrackNumber(vvDeliveredDTO.getTrackNumber()); List<VvTradeOrderLineEntity> vvTradeOrderLineEntityList = vvTradeOrderLineDao.selectVvTradeOrderLineByTrackNumber(vvDeliveredDTO.getTrackNumber());
for (VvTradeOrderLineEntity tradeOrderLineEntity : vvTradeOrderLineEntityList) { for (VvTradeOrderLineEntity tradeOrderLineEntity : vvTradeOrderLineEntityList) {
if (!OrderStatusEnums.shipped.getStatus().equals(tradeOrderLineEntity.getStatus())) { if (AbstractOrderAction.checkFailed(tradeOrderLineEntity, false, OrderActionEnums.Admin_Delivered)) {
return R.error("订单状态不对"); return R.error("订单状态不对");
} }
} }
for (VvTradeOrderLineEntity tradeOrderLineEntity : vvTradeOrderLineEntityList) { for (VvTradeOrderLineEntity tradeOrderLineEntity : vvTradeOrderLineEntityList) {
tradeOrderLineEntity.setStatus(OrderStatusEnums.delivered.getStatus()); tradeOrderLineEntity.setStatus(OrderStatusEnums.delivered.getStatus());
tradeOrderLineEntity.setGmtDelivered(new Date()); tradeOrderLineEntity.setGmtDelivered(new Date());
@ -362,14 +368,15 @@ public class AdminOrderController {
public R delivered(@RequestBody VvCancelDTO vvCancelDTO) { public R delivered(@RequestBody VvCancelDTO vvCancelDTO) {
List<VvTradeOrderLineEntity> vvTradeOrderLineEntityList = vvTradeOrderLineDao.selectVvTradeOrderLineByTradeOrderId(vvCancelDTO.getTradeOrderId()); List<VvTradeOrderLineEntity> vvTradeOrderLineEntityList = vvTradeOrderLineDao.selectVvTradeOrderLineByTradeOrderId(vvCancelDTO.getTradeOrderId());
for (VvTradeOrderLineEntity vvTradeOrderLineEntity : vvTradeOrderLineEntityList) { for (VvTradeOrderLineEntity vvTradeOrderLineEntity : vvTradeOrderLineEntityList) {
if (!OrderStatusEnums.wait_shipping.getStatus().equals(vvTradeOrderLineEntity.getStatus())) { if (AbstractOrderAction.checkFailed(vvTradeOrderLineEntity, false, OrderActionEnums.Admin_Cancel)) {
return R.error("订单状态不是wait_shipping不能取消订单"); return R.error("订单状态不是wait_shipping不能取消订单");
} }
} }
AppliyReverseRequest appliyReverseRequest = new AppliyReverseRequest(); AppliyReverseRequest appliyReverseRequest = new AppliyReverseRequest();
appliyReverseRequest.setRefundType(RefundTypeEnums.only_refund.getCode()); appliyReverseRequest.setRefundType(RefundTypeEnums.only_refund.getCode());
appliyReverseRequest.setRefundReason("订单取消:" + vvCancelDTO.getReason()); appliyReverseRequest.setRefundReason("订单取消:" + vvCancelDTO.getReason());
appliyReverseRequest.setStatus(ReverseStatusEnums.cancel.getStatus()); appliyReverseRequest.setStatus(ReverseStatusEnums.seller_agree_cancel.getStatus());
R r = reverseOrderService.createReverseOrder(vvTradeOrderLineEntityList, appliyReverseRequest); R r = reverseOrderService.createReverseOrder(vvTradeOrderLineEntityList, appliyReverseRequest);
if (r.ifSuccessful()) { if (r.ifSuccessful()) {
@ -401,6 +408,7 @@ public class AdminOrderController {
} }
return r; return r;
} }
/*** /***
* 上传结算证据 * 上传结算证据
*/ */

View File

@ -3,12 +3,13 @@ package com.heyu.api.controller.mm;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.heyu.api.data.enums.ReverseStatusEnums; import com.heyu.api.alibaba.request.mm.order.resp.OrderActionDTO;
import com.heyu.api.alibaba.request.mm.reverse.VvApproveRequest; import com.heyu.api.alibaba.request.mm.reverse.VvApproveRequest;
import com.heyu.api.alibaba.request.mm.reverse.VvReverseListRequest; import com.heyu.api.alibaba.request.mm.reverse.VvReverseListRequest;
import com.heyu.api.alibaba.request.mm.reverse.VvReverseOrderDTO; import com.heyu.api.alibaba.request.mm.reverse.VvReverseOrderDTO;
import com.heyu.api.data.dao.vv.*; import com.heyu.api.data.dao.vv.*;
import com.heyu.api.data.entity.vv.*; import com.heyu.api.data.entity.vv.*;
import com.heyu.api.data.enums.ReverseStatusEnums;
import com.heyu.api.data.enums.RoleEnums; import com.heyu.api.data.enums.RoleEnums;
import com.heyu.api.data.service.vv.VvPackageService; import com.heyu.api.data.service.vv.VvPackageService;
import com.heyu.api.data.utils.R; import com.heyu.api.data.utils.R;
@ -16,7 +17,8 @@ import com.heyu.api.data.utils.SanUtils;
import com.heyu.api.data.utils.StringUtils; import com.heyu.api.data.utils.StringUtils;
import com.heyu.api.jsapi.JsapiPrepay; import com.heyu.api.jsapi.JsapiPrepay;
import com.heyu.api.jsapi.dto.refund.Refund; import com.heyu.api.jsapi.dto.refund.Refund;
import com.heyu.api.service.ReverseOrderService; import com.heyu.api.service.VvTradeOrderConvertService;
import com.heyu.api.service.impl.AbstractReverseAction;
import com.heyu.api.utils.ISelect; import com.heyu.api.utils.ISelect;
import com.heyu.api.utils.PPageUtils; import com.heyu.api.utils.PPageUtils;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -45,15 +47,9 @@ public class AdminReverseController {
private VvReverseOrderProveDao vvReverseOrderProveDao; private VvReverseOrderProveDao vvReverseOrderProveDao;
@Autowired
private VvTradeOrderDao vvTradeOrderDao;
@Autowired @Autowired
private VvTradeOrderLineDao vvTradeOrderLineDao; private VvTradeOrderLineDao vvTradeOrderLineDao;
@Autowired
private ReverseOrderService reverseOrderService;
@Autowired @Autowired
private JsapiPrepay jsapiPrepay; private JsapiPrepay jsapiPrepay;
@ -63,6 +59,9 @@ public class AdminReverseController {
@Autowired @Autowired
private VvPackageService vvPackageService; private VvPackageService vvPackageService;
@Autowired
private VvTradeOrderConvertService vvTradeOrderConvertService;
/*** /***
* 逆向列表 https://api.1024api.com/api-interface/mm/reverse/list * 逆向列表 https://api.1024api.com/api-interface/mm/reverse/list
* @param vvReverseListRequest * @param vvReverseListRequest
@ -98,7 +97,6 @@ public class AdminReverseController {
vvPackageService.selectVvKuaidiAndUpdateData(vvReverseOrderEntity.getTrackNumber(), RoleEnums.admin.getRole()); vvPackageService.selectVvKuaidiAndUpdateData(vvReverseOrderEntity.getTrackNumber(), RoleEnums.admin.getRole());
} }
} }
Map<String, VvPackageEntity> vvPackageEntityMap = new HashMap<>(); Map<String, VvPackageEntity> vvPackageEntityMap = new HashMap<>();
if (CollectionUtils.isNotEmpty(trackNumbers)) { if (CollectionUtils.isNotEmpty(trackNumbers)) {
List<VvPackageEntity> packageEntities = vvPackageDao.selectVvPackageByTrackNumbers(trackNumbers); List<VvPackageEntity> packageEntities = vvPackageDao.selectVvPackageByTrackNumbers(trackNumbers);
@ -106,6 +104,7 @@ public class AdminReverseController {
vvPackageEntityMap.put(packageEntity.getTrackNumber(), packageEntity); vvPackageEntityMap.put(packageEntity.getTrackNumber(), packageEntity);
} }
} }
List<VvReverseOrderDTO> vvReverseOrderDTOS = new ArrayList<>(); List<VvReverseOrderDTO> vvReverseOrderDTOS = new ArrayList<>();
for (VvReverseOrderEntity vvReverseOrderEntity : vvReverseOrderEntities) { for (VvReverseOrderEntity vvReverseOrderEntity : vvReverseOrderEntities) {
VvReverseOrderDTO vvReverseOrderDTO = new VvReverseOrderDTO(); VvReverseOrderDTO vvReverseOrderDTO = new VvReverseOrderDTO();
@ -114,111 +113,75 @@ public class AdminReverseController {
vvReverseOrderDTO.setVvReverseOrderProveEntities(vvProveMap.get(vvReverseOrderEntity.getId())); vvReverseOrderDTO.setVvReverseOrderProveEntities(vvProveMap.get(vvReverseOrderEntity.getId()));
vvReverseOrderDTO.setVvPackageEntity(vvPackageEntityMap.get(vvReverseOrderEntity.getTrackNumber())); vvReverseOrderDTO.setVvPackageEntity(vvPackageEntityMap.get(vvReverseOrderEntity.getTrackNumber()));
List<OrderActionDTO> actionDTOS = AbstractReverseAction.getOrderActionDTO(vvReverseOrderEntity, false);
vvReverseOrderDTO.setOrderActionList(actionDTOS);
vvReverseOrderDTOS.add(vvReverseOrderDTO); vvReverseOrderDTOS.add(vvReverseOrderDTO);
} }
pageUtils.setRows(vvReverseOrderDTOS); pageUtils.setRows(vvReverseOrderDTOS);
return R.ok().put("page", pageUtils); return R.ok().setData(pageUtils);
} }
/***
* 卖家同意退货买家邮寄:seller_agree_return_wait_buyer_post
* 拒绝退货reject_return
* 拒绝签收:reject_shipped,
* 质检完成:qa_check_finished,
* 同意退款:agree_refund,
* 拒绝退款:reject_refund
* 退款关闭:close
*
* 逆向审批 https://api.1024api.com/api-interface/mm/reverse/approve
*/
@RequestMapping("/approve") @RequestMapping("/approve")
public R approve(@RequestBody VvApproveRequest vvApproveRequest) { public R approve(@RequestBody VvApproveRequest vvApproveRequest) {
VvReverseOrderEntity vvReverseOrderEntity = vvReverseOrderDao.selectVvReverseOrderById(vvApproveRequest.getReverseOrderId()); VvReverseOrderEntity vvReverseOrderEntity = vvReverseOrderDao.selectVvReverseOrderById(vvApproveRequest.getReverseOrderId());
vvReverseOrderEntity.setStatus(vvApproveRequest.getStatus()); OrderActionDTO orderActionDTO = AbstractReverseAction.check(vvReverseOrderEntity, false, vvApproveRequest.getButtonName());
if (orderActionDTO == null) {
return R.error("没有这个按钮的权限");
}
String targetStatus = orderActionDTO.getTargetStatus();
vvReverseOrderEntity.setStatus(targetStatus);
vvReverseOrderDao.updateVvReverseOrderById(vvReverseOrderEntity); vvReverseOrderDao.updateVvReverseOrderById(vvReverseOrderEntity);
if (ReverseStatusEnums.seller_agree_return_wait_buyer_post.getStatus().equals(targetStatus)) {
if (ReverseStatusEnums.seller_agree_return_wait_buyer_post.getStatus().equals(vvApproveRequest.getStatus())) {
if (!ReverseStatusEnums.buyer_apply_return_wait_seller_agree.getStatus().equals(vvReverseOrderEntity.getStatus())) {
return R.error("逆向订单状态不是 seller_agree_return_wait_buyer_post");
}
vvReverseOrderEntity.setGmtSellerAgreeReturn(new Date()); vvReverseOrderEntity.setGmtSellerAgreeReturn(new Date());
vvReverseOrderEntity.setSellerAgreeReturnUser(vvApproveRequest.getUserName()); vvReverseOrderEntity.setSellerAgreeReturnUser(vvApproveRequest.getUserName());
} } else if (ReverseStatusEnums.reject_return.getStatus().equals(targetStatus)) {
if (ReverseStatusEnums.reject_return.getStatus().equals(vvApproveRequest.getStatus())) {
if (!ReverseStatusEnums.buyer_apply_return_wait_seller_agree.getStatus().equals(vvReverseOrderEntity.getStatus())) {
return R.error("逆向订单状态不是 buyer_apply_reverse_wait_seller_agree");
}
vvReverseOrderEntity.setGmtRejectReturn(new Date()); vvReverseOrderEntity.setGmtRejectReturn(new Date());
vvReverseOrderEntity.setRejectReturnUser(vvApproveRequest.getUserName()); vvReverseOrderEntity.setRejectReturnUser(vvApproveRequest.getUserName());
vvReverseOrderEntity.setRejectReturnReason(vvApproveRequest.getRejectReturnReason()); vvReverseOrderEntity.setRejectReturnReason(vvApproveRequest.getReason());
} else if (ReverseStatusEnums.shipped.getStatus().equals(vvApproveRequest.getStatus())) { } else if (ReverseStatusEnums.shipped.getStatus().equals(targetStatus)) {
if (!ReverseStatusEnums.shipping.getStatus().equals(vvReverseOrderEntity.getStatus())) {
return R.error("逆向订单状态不是 shipping");
}
vvReverseOrderEntity.setGmtShipped(new Date()); vvReverseOrderEntity.setGmtShipped(new Date());
vvReverseOrderEntity.setShippedUser(vvApproveRequest.getUserName()); vvReverseOrderEntity.setShippedUser(vvApproveRequest.getUserName());
} else if (ReverseStatusEnums.reject_sign_receipt.getStatus().equals(vvApproveRequest.getStatus())) { } else if (ReverseStatusEnums.reject_sign_receipt.getStatus().equals(targetStatus)) {
if (!ReverseStatusEnums.shipping.getStatus().equals(vvReverseOrderEntity.getStatus())
&& !ReverseStatusEnums.shipped.getStatus().equals(vvReverseOrderEntity.getStatus())) {
return R.error("逆向订单状态不是 shipping or shipped");
}
vvReverseOrderEntity.setGmtRejectSignReceipt(new Date()); vvReverseOrderEntity.setGmtRejectSignReceipt(new Date());
vvReverseOrderEntity.setRejectSignReceiptUser(vvApproveRequest.getUserName()); vvReverseOrderEntity.setRejectSignReceiptUser(vvApproveRequest.getUserName());
vvReverseOrderEntity.setRejectSignReceiptReason(vvApproveRequest.getRejectRefundReason()); vvReverseOrderEntity.setRejectSignReceiptReason(vvApproveRequest.getReason());
} else if (ReverseStatusEnums.agree_sign_receipt.getStatus().equals(vvApproveRequest.getStatus())) { } else if (ReverseStatusEnums.agree_sign_receipt.getStatus().equals(targetStatus)) {
if (!ReverseStatusEnums.shipped.getStatus().equals(vvReverseOrderEntity.getStatus())) {
return R.error("逆向订单状态不是 shipping");
}
vvReverseOrderEntity.setGmtAgreeSignReceipt(new Date()); vvReverseOrderEntity.setGmtAgreeSignReceipt(new Date());
vvReverseOrderEntity.setAgreeSignReceiptUser(vvApproveRequest.getUserName()); vvReverseOrderEntity.setAgreeSignReceiptUser(vvApproveRequest.getUserName());
} else if (ReverseStatusEnums.qa_check_finished.getStatus().equals(vvApproveRequest.getStatus())) { } else if (ReverseStatusEnums.qa_check_finished.getStatus().equals(targetStatus)) {
if (!ReverseStatusEnums.shipped.getStatus().equals(vvReverseOrderEntity.getStatus())) {
return R.error("逆向订单状态不是 shipped");
}
vvReverseOrderEntity.setGmtQaCheckFinished(new Date()); vvReverseOrderEntity.setGmtQaCheckFinished(new Date());
vvReverseOrderEntity.setQaCheckFinishedUser(vvApproveRequest.getUserName()); vvReverseOrderEntity.setQaCheckFinishedUser(vvApproveRequest.getUserName());
vvReverseOrderEntity.setQaCheckFinishedComment(vvApproveRequest.getQaCheckFinishedComment()); vvReverseOrderEntity.setQaCheckFinishedComment(vvApproveRequest.getReason());
} else if (ReverseStatusEnums.agree_refund.getStatus().equals(vvApproveRequest.getStatus())) { } else if (ReverseStatusEnums.agree_refund.getStatus().equals(targetStatus)) {
if (!ReverseStatusEnums.qa_check_finished.getStatus().equals(vvReverseOrderEntity.getStatus())
&& !ReverseStatusEnums.cancel.getDesc().equals(vvApproveRequest.getStatus())
&& !ReverseStatusEnums.buyer_apply_refund_wait_seller_agree.getDesc().equals(vvApproveRequest.getStatus())
) {
return R.error("逆向订单状态不是 qa_check_finished 或 cancel ");
}
vvReverseOrderEntity.setGmtAgreeRefund(new Date()); vvReverseOrderEntity.setGmtAgreeRefund(new Date());
vvReverseOrderEntity.setAgreeRefundUser(vvApproveRequest.getUserName()); vvReverseOrderEntity.setAgreeRefundUser(vvApproveRequest.getUserName());
} else if (ReverseStatusEnums.reject_refund.getStatus().equals(vvApproveRequest.getStatus())) { } else if (ReverseStatusEnums.reject_refund.getStatus().equals(targetStatus)) {
if (!ReverseStatusEnums.qa_check_finished.getStatus().equals(vvReverseOrderEntity.getStatus())
&& !ReverseStatusEnums.buyer_apply_refund_wait_seller_agree.getDesc().equals(vvApproveRequest.getStatus())
) {
return R.error("逆向订单状态不是 buyer_apply_reverse_wait_seller_agree");
}
vvReverseOrderEntity.setGmtRejectRefund(new Date()); vvReverseOrderEntity.setGmtRejectRefund(new Date());
vvReverseOrderEntity.setRejectRefundUser(vvApproveRequest.getUserName()); vvReverseOrderEntity.setRejectRefundUser(vvApproveRequest.getUserName());
vvReverseOrderEntity.setRejectRefundReason(vvApproveRequest.getRejectRefundReason()); vvReverseOrderEntity.setRejectRefundReason(vvApproveRequest.getReason());
} else if (ReverseStatusEnums.close.getStatus().equals(vvApproveRequest.getStatus())) { } else if (ReverseStatusEnums.close.getStatus().equals(targetStatus)) {
if (
!ReverseStatusEnums.buyer_apply_refund_wait_seller_agree.getStatus().equals(vvReverseOrderEntity.getStatus())
&& !ReverseStatusEnums.buyer_apply_return_wait_seller_agree.getStatus().equals(vvReverseOrderEntity.getStatus())
&& !ReverseStatusEnums.buyer_apply_return_wait_seller_agree.getStatus().equals(vvReverseOrderEntity.getStatus())
) {
return R.error("逆向订单状态不是 buyer_apply_reverse_wait_seller_agree");
}
vvReverseOrderEntity.setGmtClose(new Date()); vvReverseOrderEntity.setGmtClose(new Date());
vvReverseOrderEntity.setCloseUser(vvApproveRequest.getUserName()); vvReverseOrderEntity.setCloseUser(vvApproveRequest.getUserName());
vvReverseOrderEntity.setCloseReason(vvApproveRequest.getCloseReason()); vvReverseOrderEntity.setCloseReason(vvApproveRequest.getReason());
} }
List<VvReverseOrderLineEntity> vvReverseOrderLineEntities = vvReverseOrderLineDao.selectVvReverseOrderLineByReverseOrderId(vvApproveRequest.getReverseOrderId()); List<VvReverseOrderLineEntity> vvReverseOrderLineEntities = vvReverseOrderLineDao.selectVvReverseOrderLineByReverseOrderId(vvApproveRequest.getReverseOrderId());
List<Long> tradeOrderLineIds = SanUtils.list2FieldList(vvReverseOrderLineEntities, VvReverseOrderLineEntity::getTradeOrderLineId); List<Long> tradeOrderLineIds = SanUtils.list2FieldList(vvReverseOrderLineEntities, VvReverseOrderLineEntity::getTradeOrderLineId);
List<VvTradeOrderLineEntity> vvTradeOrderLineEntityList = vvTradeOrderLineDao.selectVvTradeOrderLineByIds(tradeOrderLineIds); List<VvTradeOrderLineEntity> vvTradeOrderLineEntityList = vvTradeOrderLineDao.selectVvTradeOrderLineByIds(tradeOrderLineIds);
for (VvTradeOrderLineEntity vvTradeOrderLineEntity : vvTradeOrderLineEntityList) { for (VvTradeOrderLineEntity vvTradeOrderLineEntity : vvTradeOrderLineEntityList) {
vvTradeOrderLineEntity.setReverseStatus(vvReverseOrderEntity.getStatus()); vvTradeOrderLineEntity.setReverseStatus(vvReverseOrderEntity.getStatus());
vvTradeOrderLineDao.updateVvTradeOrderLineById(vvTradeOrderLineEntity); vvTradeOrderLineDao.updateVvTradeOrderLineById(vvTradeOrderLineEntity);
// 添加逆向状态日志
vvTradeOrderConvertService.addOrderLineStatusLog(
vvTradeOrderLineEntity.getId(),
targetStatus,
vvApproveRequest.getUserName(),
vvApproveRequest.getReason(),
JSON.toJSONString(vvApproveRequest.getResources())
);
} }
if (ReverseStatusEnums.agree_refund.getStatus().equals(vvApproveRequest.getStatus())) { if (ReverseStatusEnums.agree_refund.getStatus().equals(targetStatus)) {
Refund refund = jsapiPrepay.refund(vvReverseOrderEntity.getTradeOrderId(), vvReverseOrderEntity.getId()); Refund refund = jsapiPrepay.refund(vvReverseOrderEntity.getTradeOrderId(), vvReverseOrderEntity.getId());
log.info("AdminReverseController reverseOrderEntity id:{} refund:{}", vvReverseOrderEntity.getId(), JSON.toJSONString(refund)); log.info("AdminReverseController reverseOrderEntity id:{} refund:{}", vvReverseOrderEntity.getId(), JSON.toJSONString(refund));
vvReverseOrderEntity.setWeixinFundsAccount(JSON.toJSONString(refund.getFundsAccount())); vvReverseOrderEntity.setWeixinFundsAccount(JSON.toJSONString(refund.getFundsAccount()));
@ -230,12 +193,8 @@ public class AdminReverseController {
vvReverseOrderEntity.setGmtPreRefund(new Date()); vvReverseOrderEntity.setGmtPreRefund(new Date());
vvReverseOrderEntity.setStatus(ReverseStatusEnums.weixin_refunding.getStatus()); vvReverseOrderEntity.setStatus(ReverseStatusEnums.weixin_refunding.getStatus());
vvReverseOrderDao.updateVvReverseOrderById(vvReverseOrderEntity); vvReverseOrderDao.updateVvReverseOrderById(vvReverseOrderEntity);
} }
return R.ok(); return R.ok();
} }

View File

@ -443,10 +443,10 @@ public class AppOrderController {
request.getBuyerId() + "" request.getBuyerId() + ""
); );
} }
return R.ok(); return R.ok();
} }
/*** /***
* 订单 妥投 /app/order/delivered * 订单 妥投 /app/order/delivered
*/ */

View File

@ -132,6 +132,9 @@ public class AppReverseController {
!ReverseStatusEnums.buyer_apply_refund_wait_seller_agree.getStatus().equals(vvReverseOrderEntity.getStatus()) !ReverseStatusEnums.buyer_apply_refund_wait_seller_agree.getStatus().equals(vvReverseOrderEntity.getStatus())
&& !ReverseStatusEnums.buyer_apply_return_wait_seller_agree.getStatus().equals(vvReverseOrderEntity.getStatus()) && !ReverseStatusEnums.buyer_apply_return_wait_seller_agree.getStatus().equals(vvReverseOrderEntity.getStatus())
&& !ReverseStatusEnums.seller_agree_return_wait_buyer_post.getStatus().equals(vvReverseOrderEntity.getStatus())) { && !ReverseStatusEnums.seller_agree_return_wait_buyer_post.getStatus().equals(vvReverseOrderEntity.getStatus())) {
return R.error("逆向订单状态非buyer_apply_reverse_wait_seller_agree 和 seller_agree_return_wait_buyer_post,订单不允许关闭 "); return R.error("逆向订单状态非buyer_apply_reverse_wait_seller_agree 和 seller_agree_return_wait_buyer_post,订单不允许关闭 ");
} }
@ -146,6 +149,7 @@ public class AppReverseController {
for (VvTradeOrderLineEntity tradeOrderLineEntity : tradeOrderLineEntities) { for (VvTradeOrderLineEntity tradeOrderLineEntity : tradeOrderLineEntities) {
tradeOrderLineEntity.setReverseStatus(ReverseStatusEnums.close.getStatus()); tradeOrderLineEntity.setReverseStatus(ReverseStatusEnums.close.getStatus());
vvTradeOrderLineDao.updateVvTradeOrderLineById(tradeOrderLineEntity); vvTradeOrderLineDao.updateVvTradeOrderLineById(tradeOrderLineEntity);
vvTradeOrderConvertService.addOrderLineStatusLog(tradeOrderLineEntity.getId(), vvTradeOrderConvertService.addOrderLineStatusLog(tradeOrderLineEntity.getId(),
ReverseStatusEnums.close.getStatus(), ReverseStatusEnums.close.getStatus(),
request.getBuyerId() + "" request.getBuyerId() + ""