<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ## 1. 界面 1. 運營后臺-訂單管理-所有訂單![img](https://img.kancloud.cn/b5/7d/b57d446175432113674b6414f5ece11c_1603x621.png) 2. 運營后臺-訂單管理-訂單詳情![img](https://img.kancloud.cn/73/e0/73e018f87debdd980f54ac0d9b84534a_1486x946.png) # 2. 數據庫實體 整體實體類關系如下圖: ![img](https://img.kancloud.cn/3f/f6/3ff6a4a9e77106b1db9d82e700432153_1032x460.png) - OrderSettlement:一個訂單會有一個結算信息,結算信息記錄著用戶的支付方式,支付金額等。 - Order:一個訂單的訂單信息,記錄著訂單的訂單狀態、運費、備注等信息。 - OrderItem:一個訂單有多個訂單項,每個訂單項記錄著每件商品的訂單信息。 - UserAddrOrder:訂單地址信息,每個訂單會有收貨地址。 ## 2.1 Order Order,訂單。一次下單,生成一條訂單記錄,即使多種商品。 字段較多,我們進行簡單的切塊。 ### 2.1.1 基礎字段 ```java /** * 訂單ID */ @TableId private Long orderId; /** * 店鋪id */ private Long shopId; /** * 訂購流水號 */ private String orderNumber; /** * 訂單狀態 1:待付款 2:待發貨 3:待收貨 4:待評價 5:成功 6 交易失敗 */ private Integer status; /** * 訂購時間 */ private Date createTime; /** * 訂單更新時間 */ private Date updateTime; /** * 付款時間 */ private Date payTime; /** * 發貨時間 */ private Date dvyTime; /** * 完成時間 */ private Date finallyTime; /** * 取消時間 */ private Date cancelTime; ``` - `orderId` :訂單id,自增,沒啥用。 - `orderNumber`:訂單編號例如:1060804015757070336 。通過[雪花算法](http://www.cnblogs.com/relucent/p/4955340.html)生成id。 - `shopId` :店鋪編號。 - `status`:訂單狀態,交易主狀態。交易會有較多分支狀態,例如退款狀態、物流狀態等等狀態。不同于分支狀態,主狀態控制整個訂單的生命周期。 狀態流轉如下圖:![img](https://img.kancloud.cn/9e/74/9e74a5ecd6f2e6e6f2fc397cdbb643c4_948x1464.png) ### 2.1.2 商品信息 ```java /** * 產品名稱,多個產品將會以逗號隔開 */ private String prodName; /** * 總值 */ private Double total; /** * 實際總值 */ private Double actualTotal; /** * 訂單商品總數 */ private Integer productNums; /** * 優惠總額 */ private Double reduceAmount; ``` - 我們可以看到,該快字段主要**冗余**了多個商品的名稱到交易記錄中。 ### 2.1.3 買家信息 ```java /** * 訂購用戶ID */ private String userId; /** * 訂單備注 */ private String remarks; ``` - `userId` ,買家用戶編號。 - `remarks` ,買家購買備注。 ![img](https://img.kancloud.cn/97/4f/974f375aa4b9daab857534094290225a_440x865.png) ### 2.1.4 價格信息 ``` /** * 總值 */ private Double total; /** * 實際總值 */ private Double actualTotal; /** * 訂單運費 */ private Double freightAmount; /** * 優惠總額 */ private Double reduceAmount; ``` - `total` :商品總價。該字段通過 OrderItem的 `price` 求和計算。 - `freightAmount` :運費總價。該字段通過 OrderItem的商品的**運費價格**求和計算。 - `reduceAmount`:交易優惠金額。注意,TradeOrder 的 - 購買的商品參加 折扣活動,原價 100 元,折扣價 10 元。那么數據如下(我們會看到折扣活動跟著 商品走): - `total = 100` ,`reduceAmount = 10` ,`actualTotal = 90` 。 - 購買的商品使用優惠劵,在上面例子的基礎上,優惠劵打 2 折。那么數據如下(我們會看到優惠劵跟著 Trade 走): - `total = 100` ,`reduceAmount = 72` ,`actualTotal = 18` 。 - `actualTotal`:`actualTotal = total + freightAmount - reduceAmount` ### 2.1.5 物流 ```java /** * 配送類型 */ private String dvyType; /** * 配送方式ID */ private Long dvyId; /** * 物流單號 */ private String dvyFlowId; ``` 通過物流的id獲取物流方式,提供給前端顯示 ## 2.2 收貨人信息UserAddrOrder ```java public class UserAddrOrder implements Serializable { /** * ID */ @TableId private Long addrOrderId; /** * 地址ID */ private Long addrId; /** * 用戶ID */ private String userId; /** * 收貨人 */ private String receiver; /** * 省 */ private String province; /** * 城市 */ private String city; /** * 區 */ private String area; /** * 地址 */ private String addr; /** * 郵編 */ private String postCode; /** * 省ID */ private Long provinceId; /** * 城市ID */ private Long cityId; /** * 區域ID */ private Long areaId; /** * 手機 */ private String mobile; /** * 建立時間 */ private Date createTime; /** * 版本號 */ private Integer version; } ``` - `addrOrderId` ,收貨人的地址編號。 - `receiver` **等等**,**冗余**交易的收貨地址信息,避免買家修改收貨人地址編號對應的地址信息。 ## 2.3 結算信息OrderSettlement ```java public class OrderSettlement implements Serializable { /** * 支付結算單據ID */ @TableId private Long settlementId; /** * 用戶系統內部的訂單號 */ private String payNo; /** * 外部訂單流水號 */ private String bizPayNo; /** * 訂單號 */ private String orderNumber; /** * 支付方式 0 手動代付 1 微信支付 2 支付寶 */ private Integer payType; /** * 支付金額 */ private Double payAmount; /** * 用戶ID */ private String userId; /** * 是否清算 0:否 1:是 */ private Integer isClearing; /** * 創建時間 */ private Date createTime; /** * 清算時間 */ private Date clearingTime; /** * 支付狀態 */ private Integer payStatus; /** * 版本號 */ private Integer version; /** * 支付方式名稱 */ private String payTypeName; } ``` - `orderNumber` :關聯訂單的訂單號 - `payNo`: 支付時的支付訂單號,根據雪花算法生成 - `payAmount`:實付金額。 - `bizPayNo`:外部交易編號。比如,如果支付方式是微信支付,就是財付通的交易單號。 ## 2.4 訂單項 OrderItem 每個訂單都會有多個商品,每個商品就是一個訂單項。 ```java /** * 訂單項ID */ @TableId(type = IdType.AUTO) private Long orderItemId; private Long shopId; /** * 訂單orderNumber */ private String orderNumber; /** * 產品ID */ private Long prodId; /** * 產品SkuID */ private Long skuId; /** * 購物車產品個數 */ private Integer prodCount; /** * 產品名稱 */ private String prodName; /** * sku名稱 */ private String skuName; /** * 產品主圖片路徑 */ private String pic; /** * 產品價格 */ private Double price; /** * 用戶Id */ private String userId; /** * 商品總金額 */ private Double productTotalAmount; /** * 購物時間 */ private Date recTime; /** * 評論狀態: 0 未評價 1 已評價 */ private Integer commSts; /** * 推廣員使用的推銷卡號 */ private String distributionCardNo; /** * 加入購物車的時間 */ private Date basketDate; ``` - `orderNumber` :訂單編號,指向 `Order.orderNumber` 。 - `prodId`:商品id - 冗余商品字段: - `prodName` ,商品標題。 - `pic` ,商品主圖片地址。 - `skuId` ,商品 SKU 編號,指向 `ItemSku.id` 。 - 冗余商品 SKU 字段: - `skuName` ,SKU的值,即:商品的規格。如:機身顏色:黑色;手機套餐:官方標配。 - `num` ,購買數量。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看