订单状态 Mark

  订单状态 Mark

/*
* 订单流程:下单成功-》支付订单-》发货-》收货
* 订单状态:
* 101 订单生成,未支付;102,订单生产,但是未支付就取消;
* 201 支付完成,商家未发货;202,订单生产,已付款未发货,却取消
* 301 商家发货,用户未确认;
* 401 用户确认收货,订单结束; 402 用户没有确认收货,但是快递反馈已收获后,超过一定时间,系统自动确认收货,订单结束。
*
* 当101用户未付款时,此时用户可以进行的操作是取消订单,或者付款操作
* 当201支付完成而商家未发货时,此时用户可以取消订单并申请退款
* 当301商家已发货时,此时用户可以有确认收货的操作
* 当401用户确认收货以后,此时用户可以进行的操作是删除订单,评价商品,或者再次购买
* 当402系统自动确认收货以后,此时用户可以删除订单,评价商品,或者再次购买
*
* 目前不支持订单退货
*/
public class OrderUtil {

public static final Short STATUS_CREATE = 101;
public static final Short STATUS_PAY = 201;
public static final Short STATUS_SHIP= 301;
public static final Short STATUS_CONFIRM = 401;
public static final Short STATUS_CANCEL= 201;
public static final Short STATUS_REFUND = 202;
public static final Short STATUS_AUTO_CONFIRM= 402;


public static String orderStatusText(LitemallOrder order) {
int status = order.getOrderStatus().intValue();

if (status == 101) {
return "未付款";
}

if (status == 102) {
return "已取消";
}

if (status == 201) {
return "已付款";
}

if (status == 202) {
// 进一步跟踪退款状态
return "已取消,退款中";
}

if (status == 301) {
return "已发货";
}

if (status == 401) {
return "已收货";
}

if (status == 402) {
return "已收货(系统)";
}

Assert.state(false, "orderStatus不支持");
return "";
}


public static OrderHandleOption build(LitemallOrder order){
int status = order.getOrderStatus().intValue();
OrderHandleOption handleOption = new OrderHandleOption();

if (status == 101) {
// 如果订单没有被取消,且没有支付,则可支付,可取消
handleOption.setCancel(true);
handleOption.setPay(true);
}
else if (status == 102) {
// 如果订单已经取消或是已完成,则可删除
handleOption.setDelete(true);
handleOption.setRebuy(true);
}
else if (status == 201) {
// 如果订单已付款,没有发货,则可退款操作
handleOption.setRefund(true);
}
else if (status == 202) {
// 如果订单已经取消或是已完成,则可删除
handleOption.setDelete(true);
handleOption.setRebuy(true);
}
else if (status == 301) {
// 如果订单已经发货,没有收货,则可收货操作,
// 此时不能取消订单
handleOption.setConfirm(true);
}
else if (status == 401 || status == 402) {
// 如果订单已经支付,且已经收货,则可完成交易、评论和再次购买
handleOption.setDelete(true);
handleOption.setComment(true);
handleOption.setRebuy(true);
}
else {
Assert.state(false, "status不支持");
}
return handleOption;
}

public static List<Short> orderStatus(Integer showType){
// 全部订单
if (showType == 0) {
return null;
}

List<Short> status = new ArrayList<Short>(2);

if (showType.equals(1)) {
// 待付款订单
status.add((short)101);
}
else if (showType.equals(2)) {
// 待发货订单
status.add((short)201);
}
else if (showType.equals(3)) {
// 待收货订单
status.add((short)301);
}
else if (showType.equals(4)) {
// 待评价订单
status.add((short)401);
status.add((short)401);
}
else {
Assert.state(false, "showType不支持");
}
return status;
}


public static boolean isPayStatus(LitemallOrder zmallOrder) {
return OrderUtil.STATUS_PAY == zmallOrder.getOrderStatus().shortValue();
}

public static boolean isShipStatus(LitemallOrder zmallOrder) {
return OrderUtil.STATUS_SHIP == zmallOrder.getOrderStatus().shortValue();
}
}
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这段代码是一个 React 组件的 `componentDidMount` 方法的实现。`componentDidMount` 是 React 组件的生命周期方法之一,在组件挂载完成后会被自动调用。 这段代码中的 `componentDidMount` 方法用于在组件挂载完成后执行一些初始化操作。下面是对代码的解释: 首先,通过调用 `this.props.listOrderDetail({...this.state.queryObj, status: this.state.statusDefault})` 方法,向父组件传递了一个包含查询参数的对象,其中的 `status` 属性的值为组件状态中的 `statusDefault` 值。这个方法可能是用来获取订单详情列表。 接下来,通过调用 `this.props.fetchGetPublicFields("Order_Status,Order_Warning,Order_Type,Order_Mark,Plan_Mark", (res) => { ... })` 方法,获取公共字段的数据。该方法可能是用来获取订单状态、警告信息、订单类型、订单标记和计划标记等相关数据。在回调函数中,将 `res.data.Order_Mark` 的值更新到组件状态的 `OrderMark` 属性中。 然后,通过调用 `this.props.getMasterFields({ typeList: [...] })` 方法,获取主字段的数据。该方法传递一个包含不同类型列表的对象作为参数,可能是用来获取支付来源、销售组织、销售区域、销售办事处、渠道、客户组、产品组、类别、品牌、仓库和销售对象等主要字段的数据。 最后,通过调用 `this.props.getWarehouseMasterFields({ typeList: [...], status: "Valid", warehouseType: "CDC" }, (res) => { ... })` 方法,获取仓库主字段的数据。该方法传递一个包含不同类型列表、状态和仓库类型的对象作为参数,可能是用来获取有效状态下的 CDC 类型的仓库数据。在回调函数中,将 `res.data` 的值更新到组件状态的 `warehouseChangeList` 属性中。 总体来说,这段代码在组件挂载完成后进行一系列的数据获取和状态更新操作,用于初始化组件的数据。希望对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值