##ecShop架构分析
###数据库设计
ecs_order_action 对订单操作日志表
action_id mediumint 流水号
order_id mediumint 被操作的交易号
action_user varchar 操作该次的人员
order_status tinyint 作何操作.0,未确认;1,已确 认;2,已取消;3,无效;4,退货;
shipping_status tinyint 发货状态。0,未发货;1, 已发货;2,已收货;3,备货中
pay_status tinyint 支付状态.0,未付款;1,付款中;2, 已付款;
action_note varchar 操作备注
log_time int 操作时间
ecs_order_goods 订单的商品信息,注:订单的 商品信息基本都是从购物车所对应的
rec_id mediumint 订单商品信息自增id
order_id mediumint 订单商品信息对应的详细信息id, 取值order_info的order_id
goods_id mediumint 商品的的id,取值表ecs_goods 的 goods_id
goods_name varchar 商品的名称,取值表ecs_goods
goods_sn varchar 商品的唯一货号,取值ecs_goods
goods_number smallint 商品的购买数量
market_price decimal 商品的市场售价,取值ecs_goods
goods_price decimal 商品的本店售价,取值ecs_goods
goods_attr text 购买该商品时所选择的属性;
send_number smallint 当不是实物时,是否已发货,0 ,否;1,是
is_real tinyint 是否是实物,0,否;1,是;取值 ecs_goods
extension_code varchar 商品的扩展属性,比如像虚拟卡。取值ecs_goods
parent_id mediumint 父商品id,取值于ecs_cart的 parent_id;如果有该值则是值多代表的物品的配件
is_gift smallint 是否参加优惠活动,0,否;其他, 取值于ecs_cart 的is_gift,跟其一样,是参加的优惠活动的id
ecs_order_info 订单的配送,贺卡等详细信息
order_id mediumint 订单详细信息自增id
order_sn varchar 订单号,唯一
user_id mediumint 用户id,同ecs_users的user_id
order_status tinyint 订单状态。0,未确认;1,已确 认;2,已取消;3,无效;4,退货;
shipping_status tinyint 商品配送情况,0,未发货; 1,已发货;2,已收货;3,备货中
pay_status tinyint 支付状态;0,未付款;1,付款中 ;2,已付款
consignee varchar 收货人的姓名,用户页面填写,默认取值于表 user_address
country smallint 收货人的国家,用户页面填写,默认 取值于表user_address,其id对应的值在ecs_region
province smallint 收货人的省份,用户页面填写,默 认取值于表user_address,其id对应的值在ecs_region
city smallint 收货人的城市,用户页面填写,默认取 值于表user_address,其id对应的值在ecs_region
district smallint 收货人的地区,用户页面填写,默 认取值于表user_address,其id对应的值在ecs_region
address varchar 收货人的详细地址,用户页面填写,默认取值于表 user_address
zipcode varchar 收货人的邮编,用户页面填写,默认取值于表 user_address
tel varchar 收货人的电话,用户页面填写,默认取值于表user_address
mobile varchar 收货人的手机,用户页面填写,默认取值于表user_address
email varchar 收货人的手机,用户页面填写,默认取值于表user_address
best_time varchar 收货人的最佳送货时间,用户页面填写,默认取值于表 user_address
sign_building varchar 收货人的地址的标志性建筑,用户页面填写,默认取 值于表user_address
postscript varchar 订单附言,由用户提交订单前填写
shipping_id tinyint 用户选择的配送方式id,取值表 ecs_shipping
shipping_name varchar 用户选择的配送方式的名称,取值表ecs_shipping
pay_id tinyint 用户选择的支付方式的id,取值表ecs_payment
pay_name varchar 用户选择的支付方式的名称,取值表ecs_payment
how_oos varchar 缺货处理方式,等待所有商品备齐后再发; 取消订单;与 店主协商
how_surplus varchar 根据字段猜测应该是余额处理方式,程序未作这部分实 现
pack_name varchar 包装名称,取值表ecs_pack
card_name varchar 贺卡的名称,取值ecs_card
card_message varchar 贺卡内容,由用户提交
inv_payee varchar 发票抬头,用户页面填写
inv_content varchar 发票内容,用户页面选择,取值ecs_shop_config的 code字段的值为invoice_content的value
goods_amount decimal 商品总金额
shipping_fee decimal 配送费用
insure_fee decimal 保价费用
pay_fee decimal 支付费用,跟支付方式的配置相关,取值 表ecs_payment
pack_fee decimal 包装费用,取值表取值表ecs_pack
card_fee decimal 贺卡费用,取值ecs_card
money_paid decimal 已付款金额
surplus decimal 该订单使用余额的数量,取用户设定余额 ,用户可用余额,订单金额中最小者
integral int 使用的积分的数量,取用户使用积分, 商品可用积分,用户拥有积分中最小者
integral_money decimal 使用积分金额
bonus decimal 使用红包金额
order_amount decimal 应付款金额
from_ad smallint 订单由某广告带来的广告id,应该取值于 ecs_ad
referer varchar 订单的来源页面
add_time int 订单生成时间
confirm_time int 订单确认时间
pay_time int 订单支付时间
shipping_time int 订单配送时间
pack_id tinyint 包装id,取值取值表ecs_pack
card_id tinyint 贺卡id,用户在页面选择,取值取值 ecs_card
bonus_id smallint 红包的id,ecs_user_bonus的 bonus_id
invoice_no varchar 发货单号,发货时填写,可在订单查询查看
extension_code varchar 通过活动购买的商品的代号;GROUP_BUY是团购; AUCTION,是拍卖;SNATCH,夺宝奇兵;正常普通产品该处为空
extension_id mediumint 通过活动购买的物品的id,取 值ecs_goods_activity;如果是正常普通商品,该处为0
to_buyer varchar 商家给客户的留言,当该字段有值时可以在订单查询看到
pay_note varchar 付款备注,在订单管理里编辑修改
agency_id smallint 该笔订单被指派给的办事处的id,根据订单内容 和办事处负责范围自动决定,也可以有管理员修改,取值于表ecs_agency
inv_type varchar 发票类型,用户页面选择,取值ecs_shop_config的code字 段的值为invoice_type的value
tax decimal 发票税额
is_separate tinyint 0,未分成或等待分成;1,已分成;2,取 消分成;
parent_id mediumint 能获得推荐分成的用户id,id取 值于表ecs_users
discount decimal 折扣金额
http://www.ecshoptemplate.com/ecshop-mysql.html
###订单业务逻辑