ECSHOP的訂單狀態在數據庫中的表現

ecs_order_info表

訂單狀態 未確認 取消 確認 已付款 配貨中 已發貨 已收貨 退貨
order_status 0 2 1 1 1 5 5 4
shipping_status 0 0 0 0 3 1 2 0
pay_status 0 0 0 2 2 2 2 0

/* 訂單狀態 */

define(‘OS_UNCONFIRMED’, 0); // 未確認

define(‘OS_CONFIRMED’, 1); // 已確認

define(‘OS_CANCELED’, 2); // 已取消

define(‘OS_INVALID’, 3); // 無效

define(‘OS_RETURNED’, 4); // 退貨

 

/* 支付類型 */

define(‘PAY_ORDER’, 0); // 訂單支付

define(‘PAY_SURPLUS’, 1); // 會員預付款

 

/* 配送狀態 */

define(‘SS_UNSHIPPED’, 0); // 未發貨

define(‘SS_SHIPPED’, 1); // 已發貨

define(‘SS_RECEIVED’, 2); // 已收貨

define(‘SS_PREPARING’, 3); // 備貨中

 

/* 支付狀態 */

define(‘PS_UNPAYED’, 0); // 未付款

define(‘PS_PAYING’, 1); // 付款中

define(‘PS_PAYED’, 2); // 已付款


$_LANG['os'][OS_UNCONFIRMED] = ‘未確認’;0

$_LANG['os'][OS_CONFIRMED] = ‘已確認’;1

$_LANG['os'][OS_CANCELED] = ‘ 取消‘;2

$_LANG['os'][OS_INVALID] = ‘無效‘;3

$_LANG['os'][OS_RETURNED] = ‘退貨‘;4

 

$_LANG['ss'][SS_UNSHIPPED] = ‘未發貨’;

$_LANG['ss'][SS_PREPARING] = ‘配貨中’;

$_LANG['ss'][SS_SHIPPED] = ‘已發貨’;

$_LANG['ss'][SS_RECEIVED] = ‘收貨確認’;

 

$_LANG['ps'][PS_UNPAYED] = ‘未付款’;

$_LANG['ps'][PS_PAYING] = ‘付款中’;

$_LANG['ps'][PS_PAYED] = ‘已付款’;


訂單的處理判斷

 

  while ($row = $GLOBALS['db']->fetchRow($res))

    {

//

        if ($row['order_status'] == OS_UNCONFIRMED)

        {

            $row['handler'] = "<a href=\"user.php?act=cancel_order&order_id=" .$row['order_id']. "\" οnclick=\"if (!confirm('".$GLOBALS['_LANG']['confirm_cancel']."')) return false;\">".$GLOBALS['_LANG']['cancel']."</a>";

        }

        else if ($row['order_status'] == OS_CONFIRMED)

        {

            /* 對配送狀態的處理 */

            if ($row['shipping_status'] == SS_SHIPPED)

            {

                @$row['handler'] = "<a href=\"user.php?act=affirm_received&order_id=" .$row['order_id']. "\" οnclick=\"if (!confirm('".$GLOBALS['_LANG']['confirm_received']."')) return false;\">".$GLOBALS['_LANG']['received']."</a>";

            }

            elseif ($row['shipping_status'] == SS_RECEIVED)

            {

                @$row['handler'] = '<span style="color:red">'.$GLOBALS['_LANG']['ss_received'] .'</span>';

            }

            else

            {

                if ($row['pay_status'] == PS_UNPAYED)

                {

                    @$row['handler'] = "<a href=\"user.php?act=order_detail&order_id=" .$row['order_id']. '">' .$GLOBALS['_LANG']['pay_money']. '</a>';

                }

                else

                {

                    @$row['handler'] = "<a href=\"user.php?act=order_detail&order_id=" .$row['order_id']. '">' .$GLOBALS['_LANG']['view_order']. '</a>';

                }

 

            }

        }

        else

        {

            $row['handler'] = '<span style="color:red">'.$GLOBALS['_LANG']['os'][$row['order_status']] .'</span>';

        }


字段 類型 Null/默認 註釋
order_id   mediumint(8)   否  自增ID 
order_sn   varchar(20)  否   訂單號,唯一 
user_id   mediumint(8)   否  用戶id,同users的user_id 
order_status   tinyint(1)   否  訂單的狀態;0未確認,1確認,2已取消,3無效,4退貨 
shipping_status   tinyint(1)   否  商品配送情況;0未發貨,1已發貨,2已收貨,4退貨 
pay_status   tinyint(1)   否  支付狀態;0未付款;1付款中;2已付款 
consignee   varchar(60)  否  收貨人的姓名,用戶頁面填寫,默認取值表user_address 
country   smallint(5)   否  收貨人的國家,用戶頁面填寫,默認取值於表user_address,其id對應的值在region 
province   smallint(5)   否  收貨人的省份,用戶頁面填寫,默認取值於表user_address, 其id對應的值在region 
city   smallint(5)   否  收貨人的城市,用戶頁面填寫,默認取值於表user_address,其id對應的值在region 
district   smallint(5)   否  收貨人的地區,用戶頁面填寫,默認取值於表user_address,其id對應的值在region 
address   varchar(255)  否  收貨人的詳細地址,用戶頁面填寫,默認取值於表user_address 
zipcode   varchar(60)  否  收貨人的郵編,用戶頁面填寫,默認取值於表user_address 
tel   varchar(60)  否  收貨人的電話,用戶頁面填寫,默認取值於表user_address 
mobile   varchar(60)  否  收貨人的手機,用戶頁面填寫,默認取值於表user_address 
email   varchar(60)  否  收貨人的Email, 用戶頁面填寫,默認取值於表user_address 
best_time   varchar(120)  否  收貨人的最佳送貨時間,用戶頁面填寫,默認取值於表user_addr  
sign_building   varchar(120)  否  送貨人的地址的標誌性建築,用戶頁面填寫,默認取值於表user_address 
postscript   varchar(255)  否  訂單附言,由用戶提交訂單前填寫 
shipping_id   tinyint(3)  否  用戶選擇的配送方式id,取值表shipping 
shipping_name   varchar(120)  否  用戶選擇的配送方式的名稱,取值表shipping 
pay_id   tinyint(3)  否  用戶選擇的支付方式的id,取值表payment 
pay_name   varchar(120)  否  用戶選擇的支付方式名稱,取值表payment 
how_oos   varchar(120)  否  缺貨處理方式,等待所有商品備齊後再發,取消訂單;與店主協商 
how_surplus   varchar(120)  否  根據字段猜測應該是餘額處理方式,程序未作這部分實現 
pack_name   varchar(120)  否  包裝名稱,取值表pack 
card_name   varchar(120)  否  賀卡的名稱,取值card 
card_message   varchar(255)  否  賀卡內容,由用戶提交 
inv_payee   varchar(120)  否  發票擡頭,用戶頁面填寫 
inv_content   varchar(120)  否  發票內容,用戶頁面選擇,取值shop_config的code字段的值 爲invoice_content的value 
goods_amount   decimal(10,2)  否  商品的總金額 
shipping_fee   decimal(10,2)  否  配送費用 
insure_fee   decimal(10,2)  否  保價費用 
pay_fee   decimal(10,2)  否  支付費用,跟支付方式的配置相關,取值表payment 
pack_fee   decimal(10,2)  否  包裝費用,取值表pack 
card_fee   decimal(10,2)  否  賀卡費用,取值card 
money_paid   decimal(10,2)  否  已付款金額 
surplus   decimal(10,2)  否  該訂單使用金額的數量,取用戶設定餘額,用戶可用餘額,訂單金額中最小者 
integral   int(10)   否  使用的積分的數量,取用戶使用積分,商品可用積分,用戶擁有積分中最小者 
integral_money   decimal(10,2)  否  使用積分金額 
bonus   decimal(10,2)  否  使用紅包金額 
order_amount   decimal(10,2)  否  應付款金額 
from_ad   smallint(5)  否  訂單由某廣告帶來的廣告id,應該取值於ad 
referer   varchar(255)  否  訂單的來源頁面 
add_time   int(10)   否  訂單生成時間 
confirm_time   int(10)   否  訂單確認時間 
pay_time   int(10)   否  訂單支付時間 
shipping_time   int(10)   否  訂單配送時間 
pack_id   tinyint(3)   否  包裝id,取值表pck 
card_id   tinyint(3)   否  賀卡id,用戶在頁面選擇,取值 
bonus_id   smallint(5)   否  紅包id, user_bonus的bonus_id 
invoice_no   varchar(50)  否  發貨時填寫, 可在訂單查詢查看 
extension_code   varchar(30)  否  通過活動購買的商品的代號,group_buy是團購; auction是拍賣;snatch奪寶奇兵;正常普通產品該處理爲空 
extension_id   mediumint(8)   否  通過活動購買的物品id,取值ecs_good_activity;如果是正常普通商品,該處爲0 
to_buyer   varchar(255)  否  商家給客戶的留言,當該字段值時可以在訂單查詢看到 
pay_note   varchar(255)  否  付款備註, 在訂單管理編輯修改 
agency_id   smallint(5)   否  該筆訂單被指派給的辦事處的id, 根據訂單內容和辦事處負責範圍自動決定,也可以有管理員修改,取值於表agency 
inv_type   varchar(60)  否  發票類型,用戶頁面選擇,取值shop_config的code字段的值invoice_type的value 
tax   decimal(10,2)  否  發票稅額 
is_separate   tinyint(1)  否  0未分成或等待分成;1已分成;2取消分成 
parent_id   mediumint(8)   否  自增ID 
discount   decimal(10,2)  否   訂單號,唯一


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章