Skip to content

现有云仓业务逻辑实现概述

flowchart TD
 subgraph s1["入口"]
        B("点击云仓入口")
        A(["进入个人中心"])
  end
 subgraph s2["权限判断"]
        C{"用户权限"}
        D["可下单、进货、增加库存"]
        E["可下单、向上级要货"]
  end
 subgraph s3["云仓进货"]
        F{"是否有购买资格"}
        G("查看云仓商品清单")
        H("无云仓购买资格")
        I["下单"]
        J{"订单金额"}
        K("显示存储方式选项")
        L("默认快递到家")
        M{"选择存储方式"}
        N(["生成待发运订单"])
        O(["更新云仓库存表"])
  end
 subgraph s4["云仓换货"]
        P("进入云仓换货")
        Q("查看换货比例表")
        R{"选择兑换商品"}
        S("确认兑换")
        T{"库存是否足够"}
        U(["更新云仓库存表"])
        V("兑换失败")
  end
 subgraph s5["云仓销货"]
        W("进入云仓销货")
        X("勾选商品分享")
        Y("新客通过链接下单")
        Z("订单绑定到分享人链路")
        AA("分享人查看待审核订单")
        AB{"审核订单"}
        AC(["生成待发运订单"])
        AD(["订单取消"])
  end
 subgraph s6["我的订单"]
        AE("进入我的订单")
        AF{"订单类型"}
        AG("等待发货")
        AH("查看下级订单详情")
        AI{"是否通过审核"}
        AJ(["生成待发运订单"])
        AK(["订单取消"])
  end
 subgraph s7["链路订单流转"]
        AL("无进货资格用户下单")
        AM("订单根据链路向上匹配")
        AN("链路上级收到待审核订单")
  end
    B --> C & P & W & AE
    C -- 服务商/省代 --> D
    C -- 其他用户 --> E
    D --> F
    F -- 是 --> G
    F -- 否 --> H
    G --> I
    I --> J
    J -- 市代≥9000/省代≥13000 --> K
    J -- 不足金额 --> L
    K --> M
    M -- 快递到家 --> N
    M -- 存入云仓 --> O
    L --> N
    P --> Q
    Q --> R
    R --> S
    S --> T
    T -- 是 --> U
    T -- 否 --> V
    W --> X
    X --> Y
    Y --> Z
    Z --> AA
    AA --> AB
    AB -- 通过 --> AC
    AB -- 拒绝 --> AD
    AE --> AF
    AF -- 我的待发运订单 --> AG
    AF -- 待审核下级订单 --> AH
    AH --> AI
    AI -- 通过 --> AJ
    AI -- 拒绝 --> AK
    E --> AL
    AL --> AM
    AM --> AN
    AN -- 处理流程同'我的订单' --> AH
    A -. 所有人权限 .-> B
    B -. 权限区分 .-> C
    D -. 进货资格 .-> F
    E -. 无进货资格 .-> AL
    U -. 库存变更 .-> Q
    AC -. 交易完成 .-> AF
    AJ -. 交易完成 .-> AF

     A:::startend
     B:::process
     C:::decision
     D:::process
     E:::process
     F:::decision
     G:::process
     H:::process
     I:::process
     J:::decision
     K:::process
     L:::process
     M:::decision
     N:::startend
     O:::startend
     P:::process
     Q:::process
     R:::decision
     S:::process
     T:::decision
     U:::startend
     V:::process
     W:::process
     X:::process
     Y:::process
     Z:::process
     AA:::process
     AB:::decision
     AC:::startend
     AD:::startend
     AE:::process
     AF:::decision
     AG:::process
     AH:::process
     AI:::decision
     AJ:::startend
     AK:::startend
     AL:::process
     AM:::process
     AN:::process
    classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px,shape:ellipse
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px,shape:rounded
    classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px,shape:diamond
    classDef io fill:#FFEBEB,stroke:#E68994,stroke-width:2px,shape:parallelogram