提交修改
This commit is contained in:
parent
f9146aaa3d
commit
3d1dded608
@ -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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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() {
|
||||||
|
|||||||
@ -26,4 +26,11 @@ public class OrderActionDTO {
|
|||||||
*/
|
*/
|
||||||
private String interfaceUri;
|
private String interfaceUri;
|
||||||
|
|
||||||
|
|
||||||
|
/***
|
||||||
|
* 目标状态名称
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private String targetStatus ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -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;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -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;
|
||||||
@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -22,6 +22,4 @@ public class SellerAgreeCancelAction extends AbstractReverseAction {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
/***
|
/***
|
||||||
* 上传结算证据
|
* 上传结算证据
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -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();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -443,10 +443,10 @@ public class AppOrderController {
|
|||||||
request.getBuyerId() + ""
|
request.getBuyerId() + ""
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return R.ok();
|
return R.ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/***
|
/***
|
||||||
* 订单 妥投 /app/order/delivered
|
* 订单 妥投 /app/order/delivered
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -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() + ""
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user