admins表存储的是后台管理员的账户信息,用来登入admin.nmgpay.cn/admin
level 并没有使用
uname 为登入的用户名
password_pub 为密码,明文,并没有加密
其余字段如非必要,可以空置不必实现
create_table "admins", do |t|
t.string "level", limit: 255
t.string "uname", limit: 255
t.datetime "remember_created_at"
t.datetime "current_sign_in_at"
t.datetime "last_sign_in_at"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.integer "sign_in_count", limit: 4, default: 0, null: false
t.string "current_sign_in_ip", limit: 255
t.string "last_sign_in_ip", limit: 255
t.string "password_pub", limit: 255
end
agents表存储的代理商信息,和user 一对多关联,一个user可以拥有多个agents, 用agents 里面的 user_id 关联users表
create_table "agents", do |t|
# 商户名称
t.string "agent_name", limit: 255
# 渠道号码,现在并没有使用,可为空
t.string "channel_code", limit: 255
# 商户手机号码
t.string "mobile", limit: 255
# 银行卡号
t.string "bank_card", limit: 255
# 现在没有使用,微信使用的是user的 uid 存储openid
t.string "openid", limit: 255
# 身份证号码
t.string "id_code", limit: 255
# 状态,有初始,普通用户,认证中,认证用户状态
t.string "status", limit: 255
# 法人姓名
t.string "owner_name", limit: 255
# 身份证照片
t.string "id_photo", limit: 255
# 法人照片
t.string "owner_photo", limit: 255
# 法人银行账号姓名
t.string "owner_account_name", limit: 255
# 所属区,没有使用
t.string "district", limit: 255
# 所属行业
t.string "business", limit: 255
# 实体名称
t.string "business_name", limit: 255
# 实体所在地区
t.string "business_district", limit: 255
# 实体所在地址
t.string "business_addr", limit: 255
# 实体照片
t.string "business_photo", limit: 255
# 公司名称
t.string "company_name", limit: 255
# 公司认证照片
t.string "company_cert_photo", limit: 255
# T0交易默认费率
t.decimal "tzero_rate", precision: 10, scale: 2, default: 5.0
# T0交易每日限额
t.decimal "tzero_quant_each", precision: 10, default: 30000
# T0交易每月限额
t.decimal "tzero_quant_month", precision: 10, default: 1000000
# T1交易默认费率
t.decimal "tone_rate", precision: 10, scale: 2, default: 3.0
# T1交易每日限额
t.decimal "tone_quant_each", precision: 10, default: 1000
# T0交易每月限额
t.decimal "tone_quant_month", precision: 10, default:1000000
# 银行支行联行号
t.string "bank_code", limit: 255
# 银行卡正面照片
t.string "bank_card_photo", limit: 255
# 身份证背面照片
t.string "id_photo_back", limit: 255
# 代理商关联的微信用户的id
t.string "user_id", limit: 255
# 代理商可以拥有的收银点的上限
t.integer "shop_limit", limit: 4, default: 1
# 认证状态, 默认为“初始”
t.string "cert_status", limit: 255, default: "init"
# 微信公众号appid(支付时使用)
t.string "app_id", limit: 255
微信公众号秘钥(支付时使用)
t.string "app_secret", limit: 255
t.string "app_token", limit: 255
# 来源渠道,目前没有使用
t.string "channel", limit: 255
# 钱方账户的 appcode
t.string "appcode_qpay", limit: 255
# 钱方账户的 秘钥
t.string "appsecret_qpay", limit: 255
# 中信威富通账户的 appcode
t.string "appcode_citic", limit: 255
# 中信威富通账户的 appcode
t.string "appsecret_citic", limit: 255
# 商户所属代理商的id
t.integer "dealer_id", limit: 4
# 代理商开户银行分行名称
t.string "bank_branch", limit: 255
#代理商所在的省
t.string "province", limit: 255
#代理商所在的城市
t.string "city", limit: 255
#代理商开户银行名称
t.string "bank_name", limit: 255
#代理商开户银行所在的省
t.string "bank_province", limit: 255
#代理商开户银行所在的市
t.string "bank_city", limit: 255
# 账户类型 0为对公, 1为对私
t.string "account_type", limit: 255
#代理商在银行的账户名
t.string "account_name", limit: 255
# t0交易每笔收取的手续费
t.decimal "tzero_fee", precision: 10, scale: 2, default: 1.0
# 开户银行预留手机号
t.string "bank_mobile", limit: 255
# 用户是否开设了威富通T1账户
t.boolean "vbill_account"
# 代理商的 联付 账号
t.string "unite_mcht_no", limit: 255
#代理商的联付 秘钥
t.string "unite_mcht_key", limit: 255
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
banks表存储的是银行支行名称, 省市和支行联行号的对应关系,以备开户时查询。
create_table "banks", force: :cascade do |t|
# 银行所在省
t.string "province", limit: 255
# 银行所在城市
t.string "city", limit: 255
# 银行所在区
t.string "district", limit: 255
# 银行总行名称
t.string "bank_name", limit: 255
# 分行名称
t.string "branch_name", limit: 255
# 银行总行代码
t.string "bank_code", limit: 255
# 银行分行联行号
t.string "branch_code", limit: 255
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
# 银行分行名称(前端显示需要截断版)
t.string "branch_display", limit: 255
end
cards表存储的是印刷的二维码牌 和 实际收银点的对应关系,因为二维码牌已经下放,请按照原有的网址路由重新实现。
create_table "cards", force: :cascade do |t|
#一个16位的随机字符串, 用来作为外放的二维码的唯一标识
t.string "secret_no", limit: 255
#一个可读的数字字符串, 用来作为人眼可读的编码。
t.string "display_no", limit: 255
#二维码被绑定的代理商id
t.integer "agent_id", limit: 4
#二维码被绑定的代理商名称
t.string "agent_name", limit: 255
#二维码被使用状态,默认为 'init'
t.string "status", limit: 255
#二维码被绑定时间
t.datetime "bind_time"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
# 在随行付开户时随行付返回的商户编号
t.string "mno", limit: 255
end
Cashers 表存储了收银员信息,收银员从属于收银点(店铺),一个收银点可以有个多个收银员
create_table "cashers" do |t|
#收银员姓名, 为人名
t.string "casher_name", limit: 255
# 收银员关联的收银点
t.integer "shop_id", limit: 4
# 收银员手机号
t.string "mobile", limit: 255
t.datetime "login_time"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
# 收银员绑定微信openid, 有单独的登入逻辑
t.string "openid", limit: 255
# 收银员是否在岗,如果在岗,其所在岗的收银点的收银通知 将通过模板消息发送给该收银员。
t.boolean "onduty"
end
Certs表存储的是认证请求信息, 逻辑请参考admin中的请求和前端的认证用户逻辑。
create_table "certs", do |t|
t.integer "agent_id", limit: 4
#请求的类型,普通用户还是认证用户
t.string "cert_type", limit: 255
# 通过时间
t.datetime "approve_time"
# 请求时间
t.datetime "request_time"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
# 请求是否被通过
t.boolean "certified"
#拒绝理由
t.string "reject_desc", limit: 255
end
Cities表存储的是城市码表
create_table "cities", force: :cascade do |t|
# 城市名称
t.string "city_name", limit: 255
# 省的名称
t.string "provice_name", limit: 255
# 省市编码
t.string "code", limit: 255
# 是否为省
t.boolean "is_province"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
codes表存储的是印刷的二维码牌 和 代理商的对应关系,因为二维码牌已经下放,请按照原有的网址路由重新实现。
create_table "codes", force: :cascade do |t|
t.string "sys_code", limit: 255
t.string "display_code", limit: 255
t.string "dealer_name", limit: 255
t.integer "dealer", limit: 4
t.integer "dealer_lv2", limit: 4
t.integer "dealer_lv3", limit: 4
t.integer "shop", limit: 4
t.string "status", limit: 255
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.integer "dealer_id", limit: 4
t.integer "shop_id", limit: 4
t.string "shop_name", limit: 255
t.datetime "bind_time"
t.string "bind_status", limit: 255
end
Dealers表 存储的是代理商系统的关联关系
create_table "dealers", force: :cascade do |t|
t.string "dealer_name", limit: 255
t.string "password_pub", limit: 255
t.string "dealer_code", limit: 255
t.string "provice", limit: 255
t.string "city", limit: 255
t.string "contact_person", limit: 255
t.string "contact_tel", limit: 255
t.string "person_id", limit: 255
t.string "address", limit: 255
t.string "bank_name", limit: 255
t.string "bank_card", limit: 255
t.integer "parent_id", limit: 4
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.integer "current_index", limit: 4, default: 1
t.string "role", limit: 255
t.string "reset_password_token", limit: 255
t.datetime "reset_password_sent_at"
t.datetime "remember_created_at"
t.integer "sign_in_count", limit: 4, default: 0, null: false
t.datetime "current_sign_in_at"
t.datetime "last_sign_in_at"
t.string "current_sign_in_ip", limit: 255
t.string "last_sign_in_ip", limit: 255
t.string "uname", limit: 255
t.integer "level", limit: 4, default: 1
end
payments表存储的是每一笔支付的信息
create_table "payments", force: :cascade do |t|
t.string "openid", limit: 255
#金额,单位为元
t.decimal "amount", precision: 10, scale: 2
t.string "status", limit: 255
t.datetime "reqtime"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
# 我方系统订单号
t.string "orderid", limit: 255
# 商品描述
t.string "desc", limit: 255
t.integer "shop_id", limit: 4
t.integer "casher_id", limit: 4
t.string "casher_name", limit: 255
t.string "agent_name", limit: 255
t.string "channel_name", limit: 255
t.string "app_code", limit: 255
t.string "shop_name", limit: 255
t.integer "agent_id", limit: 4
t.string "sec_no", limit: 255
t.string "channel_orderid", limit: 255
# 威富通订单号
t.string "swift_orderid", limit: 255
t.string "pay_method", limit: 255
t.string "pay_source", limit: 255
t.datetime "pay_time"
# 支付状态
t.string "pay_status", limit: 255
t.string "pay_result_info", limit: 255
t.string "good_name", limit: 255
t.boolean "is_subscribe"
t.string "attach_info", limit: 255
t.string "pay_bank", limit: 255
t.string "user_mark", limit: 255
t.string "pay_end_time", limit: 255
# 威富通商户号
t.string "wift_mch_id", limit: 255
end
codes 表存储的是收益记录
create_table "profits", force: :cascade do |t|
#代理商级别
t.integer "dealer_level", limit: 4
#收益类型
t.string "profit_type", limit: 255
#区段,月 如 201607
t.string "period", limit: 255
t.string "status", limit: 255
t.decimal "rate", precision: 10, scale: 2
t.decimal "limit", precision: 10
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.string "channel", limit: 255
t.integer "dealer_id", limit: 4
end
shops存储了收银点信息,收银点属于商户,一个商户可以有多个收银点。
create_table "shops" do |t|
# 收银点名称
t.string "shop_name", limit: 255
# 商户id
t.integer "agent_id", limit: 4
# 收银点固定收银金额
t.decimal "fix_amount", precision: 10, scale: 2
# 支付方式,暂时无用
t.string "pay_method", limit: 255
# 收银点固定收银金额
t.string "fix_amount_desc", limit: 255
# 支付码, 为绑定的二维码的secret_no
t.string "pay_code", limit: 255
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
# 微信支付开启状态
t.string "wepay_status", limit: 255
# 支付宝支付开启状态
t.string "alipay_status", limit: 255
# 在岗的收银员的openid
t.string "onduty_casher", limit: 255
# 代理商id
t.integer "dealer_id", limit: 4
end
用户表存储的是用户的信息,一个用户可以拥有多个商户
create_table "users", do |t|
# 此处存储的是openid
t.string "uid", limit: 255
# 微信昵称
t.string "nickname", limit: 255
t.integer "sex", limit: 4
# 微信头像地址
t.string "avatar", limit: 255
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.datetime "birthday"
t.string "city", limit: 255
t.string "province", limit: 255
# 一个用户可以拥有的商户的上限
t.integer "agent_limit", limit: 4, default: 1
t.string "dealer_code", limit: 255
end
网友评论