提交修改

This commit is contained in:
quyixiao 2025-11-15 14:43:03 +08:00
parent 126a2e8dbb
commit 5e92f27913
17 changed files with 288 additions and 25 deletions

View File

@ -1,11 +1,29 @@
package com.heyu.api.data.enums;
public enum OrderActionEnums {
Admin_Cancel("CancelButton", "取消按钮", "/mm/order/toShipping"),
Admin_Delivered("DeliveredButton", "妥投,确认收货", "/mm/order/delivered"),
Admin_Shipped("ShippedButton", "签收按钮", "/mm/order/shipped"),
Admin_To_Shipping("ToShippingButton", "发货按钮", "/mm/order/toShipping"),
Admin_Un_Shipping("UnShippingButton", "取消发货", "/mm/order/unShipping");
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"),
App_Delivered("App_Delivered", "app妥投,确认收货", "/app/order/delivered"),
Admin_Shipped("Admin_Shipped", "admin签收按钮", "/mm/order/shipped"),
App_Shipped("App_Shipped", "app签收按钮", "/app/order/shipped"),
Admin_To_Shipping("Admin_To_Shipping", "admin发货按钮", "/mm/order/toShipping"),
Admin_Un_Shipping("Admin_Un_Shipping", "admin取消发货", "/mm/order/unShipping"),
App_Delete("App_Delete", "app删除按钮", "/app/order/delete"),
App_Close("App_Close", "app关闭订单", "/app/order/close"),
App_Apply_Refund("App_Apply_Refund", "app申请退款,接口参数refundType传1 ", "/app/reverse/add"),
App_Apply_Return_Refund("App_Apply_Return_Refund", "app申请退货退款接口参数refundType传2", "/app/reverse/add");
/***
* 取消按钮
*/

View File

@ -173,10 +173,11 @@ public class SanUtils {
if (CollectionUtils.isEmpty(values)) {
return list;
}
V v = values.get(0);
for (LBiFunction0<T, ? extends Number> tlBiFunction0 : functionArray) {
Method method = getMethod(tlBiFunction0);
Class<?> returnClazz = method.getReturnType();
V v = values.get(0);
BigDecimal sum = new BigDecimal(0);
for (V value : values) {
Object r = method.invoke(value);
@ -193,8 +194,8 @@ public class SanUtils {
m.invoke(v,new Object[]{obj});
}
}
list.add(v);
}
list.add(v);
} catch (Exception e) {
e.printStackTrace();
}

View File

@ -3,6 +3,11 @@ package com.heyu.api.alibaba.request.mm.order.resp;
import com.heyu.api.data.entity.vv.VvTradeOrderLineEntity;
import lombok.Data;
import java.util.List;
@Data
public class VvTradeOrderLineDO extends VvTradeOrderLineEntity {
private List<OrderActionDTO> orderActionList;
}

View File

@ -0,0 +1,44 @@
package com.heyu.api.service.impl;
import com.heyu.api.alibaba.request.mm.order.resp.OrderActionDTO;
import com.heyu.api.data.entity.vv.VvTradeOrderLineEntity;
import com.heyu.api.data.enums.OrderActionEnums;
import com.heyu.api.service.impl.impl.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public abstract class AbstractAction {
public abstract OrderActionEnums getAction(VvTradeOrderLineEntity vvTradeOrderLineEntity, boolean isApp);
public static final List<AbstractAction> actions = Arrays.asList(
new ApplyReturnRefund(),
new CancelAction(),
new CloseAction(),
new DeleteAction(),
new DeliveredAction(),
new ShippedAction(),
new ToShippingAction(),
new UnShippingAction()
);
public static List<OrderActionDTO> getOrderActionDTO(VvTradeOrderLineEntity vvTradeOrderLineEntity, boolean isApp) {
List<OrderActionDTO> actionDTOS = new ArrayList<>();
for (AbstractAction action : actions) {
OrderActionEnums orderActionEnums = action.getAction(vvTradeOrderLineEntity, isApp);
if (orderActionEnums != null) {
OrderActionDTO orderActionDTO = new OrderActionDTO();
orderActionDTO.setDesc(orderActionEnums.getDesc());
orderActionDTO.setButtonName(orderActionEnums.getButtonName());
orderActionDTO.setInterfaceUri(orderActionEnums.getInterfaceUri());
actionDTOS.add(orderActionDTO);
}
}
return actionDTOS;
}
}

View File

@ -1,8 +0,0 @@
package com.heyu.api.service.impl;
public class BaseAction {
}

View File

@ -1,6 +1,7 @@
package com.heyu.api.service.impl;
import com.heyu.api.alibaba.request.mm.order.VvTradeOrderLineTrackNumberDTO;
import com.heyu.api.alibaba.request.mm.order.resp.OrderActionDTO;
import com.heyu.api.alibaba.request.mm.order.resp.PackageDTO;
import com.heyu.api.alibaba.request.mm.order.resp.VVOrderListResp;
import com.heyu.api.alibaba.request.mm.order.resp.VvTradeOrderLineDO;
@ -44,7 +45,6 @@ public class VvTradeOrderConvertServiceImpl implements VvTradeOrderConvertServic
for (Map.Entry<String, VvTradeOrderLineTrackNumberDTO> vvTradeOrderLineTrackNumber : vvTradeOrderLineEntityMap.entrySet()) {
VvTradeOrderLineTrackNumberDTO vvTradeOrderLineTrackNumberDTO = vvTradeOrderLineTrackNumber.getValue();
List<VvTradeOrderLineEntity> vvTradeOrderLines = vvTradeOrderLineTrackNumberDTO.getVvTradeOrderLineEntities();
List<VvTradeOrderLineEntity> mergeTradeOrderLineList = SanUtils.merge(
vvTradeOrderLines,
VvTradeOrderLineEntity::getPromotionPrice,
@ -53,13 +53,17 @@ public class VvTradeOrderConvertServiceImpl implements VvTradeOrderConvertServic
VvTradeOrderLineEntity::getOriginPrice,
VvTradeOrderLineEntity::getShippingAmount,
VvTradeOrderLineEntity::getRefundAmount,
VvTradeOrderLineEntity::getRefundCount
);
VvTradeOrderLineEntity::getRefundCount,
VvTradeOrderLineEntity::getProfitAmount
);
List<VvTradeOrderLineDO> vvTradeOrderLineRespList = new ArrayList<>();
for (VvTradeOrderLineEntity vvTradeOrderLine : mergeTradeOrderLineList) {
VvTradeOrderLineDO vvTradeOrderLineDO = new VvTradeOrderLineDO();
BeanUtils.copyProperties(vvTradeOrderLine, vvTradeOrderLineDO);
List<OrderActionDTO> orderActionList = AbstractAction.getOrderActionDTO(vvTradeOrderLine, false);
vvTradeOrderLineDO.setOrderActionList(orderActionList);
vvTradeOrderLineRespList.add(vvTradeOrderLineDO);
}
String trackNumber = vvTradeOrderLineTrackNumberDTO.getTrackNumber();

View File

@ -0,0 +1,23 @@
package com.heyu.api.service.impl.impl;
import com.heyu.api.data.entity.vv.VvTradeOrderLineEntity;
import com.heyu.api.data.enums.OrderActionEnums;
import com.heyu.api.data.enums.OrderStatusEnums;
import com.heyu.api.service.impl.AbstractAction;
public class ApplyRefund extends AbstractAction {
@Override
public OrderActionEnums getAction(VvTradeOrderLineEntity vvTradeOrderLineEntity, boolean isApp) {
if (
OrderStatusEnums.shipped.getStatus().equals(vvTradeOrderLineEntity.getStatus())
) {
if (isApp) {
return OrderActionEnums.App_Apply_Refund;
}
}
return null;
}
}

View File

@ -0,0 +1,22 @@
package com.heyu.api.service.impl.impl;
import com.heyu.api.data.entity.vv.VvTradeOrderLineEntity;
import com.heyu.api.data.enums.OrderActionEnums;
import com.heyu.api.data.enums.OrderStatusEnums;
import com.heyu.api.service.impl.AbstractAction;
public class ApplyReturnRefund extends AbstractAction {
@Override
public OrderActionEnums getAction(VvTradeOrderLineEntity vvTradeOrderLineEntity, boolean isApp) {
if (
OrderStatusEnums.shipped.getStatus().equals(vvTradeOrderLineEntity.getStatus())
) {
if (isApp) {
return OrderActionEnums.App_Apply_Return_Refund;
}
}
return null;
}
}

View File

@ -1,4 +1,22 @@
package com.heyu.api.service.impl.impl;
public class CancelAction {
import com.heyu.api.data.entity.vv.VvTradeOrderLineEntity;
import com.heyu.api.data.enums.OrderActionEnums;
import com.heyu.api.data.enums.OrderStatusEnums;
import com.heyu.api.service.impl.AbstractAction;
public class CancelAction extends AbstractAction {
@Override
public OrderActionEnums getAction(VvTradeOrderLineEntity vvTradeOrderLineEntity, boolean isApp) {
if (
OrderStatusEnums.wait_shipping.getStatus().equals(vvTradeOrderLineEntity.getStatus())
) {
if (isApp) {
return OrderActionEnums.App_Apply_Cancel;
}
return OrderActionEnums.Admin_Cancel;
}
return null;
}
}

View File

@ -0,0 +1,22 @@
package com.heyu.api.service.impl.impl;
import com.heyu.api.data.entity.vv.VvTradeOrderLineEntity;
import com.heyu.api.data.enums.OrderActionEnums;
import com.heyu.api.data.enums.OrderStatusEnums;
import com.heyu.api.service.impl.AbstractAction;
public class CloseAction extends AbstractAction {
@Override
public OrderActionEnums getAction(VvTradeOrderLineEntity vvTradeOrderLineEntity, boolean isApp) {
if (
OrderStatusEnums.wait_pay.getStatus().equals(vvTradeOrderLineEntity.getStatus())
|| OrderStatusEnums.create.getStatus().equals(vvTradeOrderLineEntity.getStatus())
) {
return OrderActionEnums.App_Close;
}
return null;
}
}

View File

@ -0,0 +1,24 @@
package com.heyu.api.service.impl.impl;
import com.heyu.api.data.entity.vv.VvTradeOrderLineEntity;
import com.heyu.api.data.enums.OrderActionEnums;
import com.heyu.api.data.enums.OrderStatusEnums;
import com.heyu.api.service.impl.AbstractAction;
public class DeleteAction extends AbstractAction {
@Override
public OrderActionEnums getAction(VvTradeOrderLineEntity vvTradeOrderLineEntity, boolean isApp) {
if (
OrderStatusEnums.cancel.getStatus().equals(vvTradeOrderLineEntity.getStatus())
|| OrderStatusEnums.close.getStatus().equals(vvTradeOrderLineEntity.getStatus())
|| OrderStatusEnums.create.getStatus().equals(vvTradeOrderLineEntity.getStatus())
|| OrderStatusEnums.delivered.getStatus().equals(vvTradeOrderLineEntity.getStatus())
|| OrderStatusEnums.shipped.getStatus().equals(vvTradeOrderLineEntity.getStatus())
) {
return OrderActionEnums.Admin_To_Shipping;
}
return null;
}
}

View File

@ -1,4 +1,25 @@
package com.heyu.api.service.impl.impl;
public class DeliveredAction {
import com.heyu.api.data.entity.vv.VvTradeOrderLineEntity;
import com.heyu.api.data.enums.OrderActionEnums;
import com.heyu.api.data.enums.OrderStatusEnums;
import com.heyu.api.service.impl.AbstractAction;
public class DeliveredAction extends AbstractAction {
@Override
public OrderActionEnums getAction(VvTradeOrderLineEntity vvTradeOrderLineEntity, boolean isApp) {
if (
OrderStatusEnums.shipped.getStatus().equals(vvTradeOrderLineEntity.getStatus())
) {
if(isApp){
return OrderActionEnums.Admin_Delivered;
}
return OrderActionEnums.Admin_Delivered;
}
return null;
}
}

View File

@ -1,4 +1,22 @@
package com.heyu.api.service.impl.impl;
public class ShippedAction {
import com.heyu.api.data.entity.vv.VvTradeOrderLineEntity;
import com.heyu.api.data.enums.OrderActionEnums;
import com.heyu.api.data.enums.OrderStatusEnums;
import com.heyu.api.service.impl.AbstractAction;
public class ShippedAction extends AbstractAction {
@Override
public OrderActionEnums getAction(VvTradeOrderLineEntity vvTradeOrderLineEntity, boolean isApp) {
if (
OrderStatusEnums.shipping.getStatus().equals(vvTradeOrderLineEntity.getStatus())
) {
if (isApp) {
return OrderActionEnums.App_Shipped;
}
return OrderActionEnums.Admin_Shipped;
}
return null;
}
}

View File

@ -1,4 +1,20 @@
package com.heyu.api.service.impl.impl;
public class ToShippingAction {
import com.heyu.api.data.entity.vv.VvTradeOrderLineEntity;
import com.heyu.api.data.enums.OrderActionEnums;
import com.heyu.api.data.enums.OrderStatusEnums;
import com.heyu.api.service.impl.AbstractAction;
public class ToShippingAction extends AbstractAction {
@Override
public OrderActionEnums getAction(VvTradeOrderLineEntity vvTradeOrderLineEntity, boolean isApp) {
if (
OrderStatusEnums.wait_shipping.getStatus().equals(vvTradeOrderLineEntity.getStatus())
) {
return OrderActionEnums.Admin_To_Shipping;
}
return null;
}
}

View File

@ -1,4 +1,20 @@
package com.heyu.api.service.impl.impl;
public class UnShippingAction {
import com.heyu.api.data.entity.vv.VvTradeOrderLineEntity;
import com.heyu.api.data.enums.OrderActionEnums;
import com.heyu.api.data.enums.OrderStatusEnums;
import com.heyu.api.service.impl.AbstractAction;
public class UnShippingAction extends AbstractAction {
@Override
public OrderActionEnums getAction(VvTradeOrderLineEntity vvTradeOrderLineEntity, boolean isApp) {
if (
OrderStatusEnums.shipping.getStatus().equals(vvTradeOrderLineEntity.getStatus())
) {
return OrderActionEnums.Admin_Un_Shipping;
}
return null;
}
}

View File

@ -140,6 +140,7 @@ public class AdminOrderController {
for (VvTradeOrderLineEntity vvTradeOrderLineEntity : vvTradeOrderLineEntities) {
vvTradeOrderEntities.add(vvTradeOrderEntityMap.get(vvTradeOrderLineEntity.getTradeOrderId()));
}
vvOrderRequest.setTradeOrderIds(tradeOrderIds);
// 重新获取子单

View File

@ -415,7 +415,6 @@ public class AppOrderController {
&& !OrderStatusEnums.close.getStatus().equals(vvTradeOrderLineEntity.getStatus())
&& !OrderStatusEnums.cancel.getStatus().equals(vvTradeOrderLineEntity.getStatus())
&& !OrderStatusEnums.shipped.getStatus().equals(vvTradeOrderLineEntity.getStatus())
&& !OrderStatusEnums.agree_sign_receipt.getStatus().equals(vvTradeOrderLineEntity.getStatus())
&& !OrderStatusEnums.reject_sign_receipt.getStatus().equals(vvTradeOrderLineEntity.getStatus())
&& !OrderStatusEnums.package_return.getStatus().equals(vvTradeOrderLineEntity.getStatus())
&& !OrderStatusEnums.package_seller_sign_receipt.getStatus().equals(vvTradeOrderLineEntity.getStatus())
@ -432,6 +431,26 @@ public class AppOrderController {
return R.ok();
}
// /app/order/applyCancel
@Describe("申请取消")
@RequestMapping("/applyCancel")
public R applyCancel(@RequestBody VvTradeOrderDeleteDTO vvOrderRequest) {
return R.ok();
}
// /app/order/shipped
@Describe("申请取消")
@RequestMapping("/shipped")
public R shipped(@RequestBody VvTradeOrderDeleteDTO vvOrderRequest) {
return R.ok();
}
/***
* 订单 妥投 /app/order/delivered
*/
@ -446,7 +465,6 @@ public class AppOrderController {
if (
!OrderStatusEnums.shipped.getStatus().equals(tradeOrderLineEntity.getStatus())
&& !OrderStatusEnums.shipping.getStatus().equals(tradeOrderLineEntity.getStatus())
&& !OrderStatusEnums.agree_sign_receipt.getStatus().equals(tradeOrderLineEntity.getStatus())
) {
return R.error("订单状态不对,status:" + tradeOrderLineEntity.getStatus());
}