Skip to content

数据库结构设计

1. 概述

说明
Entity 总数src/**/Entities 为准
核心表下文按域精选(部分表字段详述)
域分组src/*Bundle 业务域分 8 组(平台基础、商品、订单/交易、支付、会员/营销、渠道/店铺、微信/社交、第三方/ERP)
数据源src/**/Entities 注解

2. 数据库与 Doctrine 配置

2.1 配置文件

文件作用
config/database.php默认连接名 env('DB_CONNECTION', 'default')connectionsconfig_ext('database') 按驱动加载
config/database.ext.php定义 MySQL / 主从下的多个 Laravel DB 连接
config/doctrine.phpDoctrine Entity Manager;仅注册 default 一个 manager

2.2 七个数据库连接名

config/database.ext.phpmysql(及 master_slave)下声明了以下连接:

连接名prefix 配置值说明
default''(空)主业务连接;Doctrine 与多数 Repository 使用
companyscompanysLaravel DB 连接级前缀( ORM 表名自动拼接)
datacubedatacube同上
kaquankaquan同上
membersmembers同上
ordersorders同上
wechatwechat同上

注意:

  1. Doctrine 只有一个 Entity Manager:default(见 config/doctrine.phpmanagers.default)。路径扫描 base_path('src'),元数据驱动为 annotations。
  2. 上述 prefixLaravel/Illuminate 数据库连接上的表前缀配置,用于部分 DBAL/getConnection('xxx') 场景;不要理解为「Doctrine ORM 会给所有 Entity 自动加前缀」。
  3. 当前未启用 TablePrefixExtension;表名以 Entity @ORM\Table 为准(例如 orders_normal_orderskaquan_discount_cards)。
  4. 主从模式下连接结构相同,凭 DB_MASTER / DB_SLAVES JSON 配置读写分离。

3. 命名与设计规范

3.1 无统一表前缀

本仓库没有统一的全局表前缀。物理表名即 Entity @ORM\Table 中的 name,写法多样:无前缀(itemsmemberstrade)、域前缀(orders_*companys_*)、业务前缀(kaquan_*thirdparty_*)等。同一 Bundle 内也可能有前缀/无前缀并存,以 Entity 为准。

3.2 多租户键 company_id

绝大多数业务表带有 company_id(公司/租户 ID),查询与写入需带租户条件。主键命名随域而异(如 item_idorder_iduser_idaftersales_bn),并非统一 id

3.3 金额单位

金额类字段在 Entity comment 中常见「以分为单位」;文档与代码对照时以 Column comment 为准,勿默认「元」。


4. 核心表按域

4.1 平台基础(EspierBundle、CompanysBundle、ThemeBundle、DataCubeBundle 等)

企业主体、后台账号、开放 API、菜单/装修/监控等平台能力。相关 Bundle:CompanysBundleOpenapiBundleSuperAdminBundleDataCubeBundleThemeBundleEspierBundle 等。

清单

表名EntityBundle深写一句话
companysCompanysCompanysBundleY多租户公司主体
companys_settingSettingCompanysBundleY企业级配置
operatorsOperatorsCompanysBundleY后台员工账号
openapi_developerOpenapiDeveloperOpenapiBundleY开放 API 开发者配置
shop_menuShopMenuSuperAdminBundleN商家/平台端菜单
datacube_monitorsMonitorsDataCubeBundleN小程序页面监控
pages_templatePagesTemplateThemeBundleN页面装修模板
espier_addressAddressEspierBundleN省市区地区字典
super_admin_accountsAccountsSuperAdminBundleN平台超管账号

companys — Companys(公司表)

内容
表名 / Entitycompanys / CompanysBundle\Entities\Companys
主键 / 租户键主键 company_id(即租户 ID)
路径src/CompanysBundle/Entities/Companys.php

关键字段

字段类型Comment
company_idbigint公司id
company_namestring公司名称
pc_domainstringPC域名
h5_domainstringH5域名
company_admin_operator_idbigint公司管理员id
industrystring所属行业
expiredAtbigint过期时间
is_disabledboolean是否禁用
third_paramsjson_array第三方特殊字段存储
salesman_limitinteger导购员数量
menu_typeinteger菜单类型。2:'b2c',3:'platform',4:'standard',5:'in_purchase'

关联说明company_admin_operator_idoperators.operator_id;业务表普遍以 company_id 引用本表。

companys_setting — Setting(企业设置表)

内容
表名 / Entitycompanys_setting / CompanysBundle\Entities\Setting
主键 / 租户键主键 company_id
路径src/CompanysBundle/Entities/Setting.php

关键字段

字段类型Comment
company_idbigint公司id
community_configtext社区相关设置
withdraw_banktext提现支持银行类型
consumer_hotlinestring客服电话
customer_switchinteger客服开关
fapiao_configtext发票相关设置
fapiao_switchinteger发票开关

关联说明:与 companys 一对一(同 company_id)。

operators — Operators(账号表)

内容
表名 / Entityoperators / CompanysBundle\Entities\Operators
主键 / 租户键主键 operator_id;租户 company_id
路径src/CompanysBundle/Entities/Operators.php

关键字段

字段类型Comment
operator_idbigint账号id
company_idbigint公司id
mobilestring手机号
login_namestring员工账号名
usernamestring名称
operator_typestring操作员类型类型。admin:超级管理员;staff:员工;distributor:店铺管理员;dealer:经销商;merchant:商户;supplier:供应商;self_delivery_staff:自配送员
distributor_idstext员工管理的店铺id集合
shop_idstext员工管理的门店id集合
merchant_idbigint商户id
regionauth_idbigint区域id
shopex_bind_accountstring可选绑定 Shopex 登录账号

关联说明company_idcompanysmerchant_idmerchantdistributor_ids 为店铺 ID 集合文本。

openapi_developer — OpenapiDeveloper(openapi开发配置表)

内容
表名 / Entityopenapi_developer / OpenapiBundle\Entities\OpenapiDeveloper
主键 / 租户键主键 developer_id;租户 company_id
路径src/OpenapiBundle/Entities/OpenapiDeveloper.php

关键字段

字段类型Comment
developer_idbigintdeveloper_id
company_idbigint公司id
app_keystringapp_key
app_secretstringapp_secret
external_base_uristring外部请求配置uri
external_app_keystring外部请求配置app_key
external_app_secretstring外部请求配置app_secret

关联说明:按 company_id 归属企业;OpenAPI 鉴权读取 app_key / app_secret


4.2 商品(GoodsBundle、PointsmallBundle、CommentsBundle 等)

商品 SPU/SKU、分类、属性、评价与积分商城商品。相关 Bundle:GoodsBundleCommentsBundlePointsmallBundle 等。

清单

表名EntityBundle深写一句话
itemsItemsGoodsBundleY商品 SPU/SKU 主表
items_categoryItemsCategoryGoodsBundleY商品分类
items_attributesItemsAttributesGoodsBundleY商品规格属性
goods_items_rel_catsItemsRelCatsGoodsBundleN商品-分类关联
items_rel_attributesItemRelAttributesGoodsBundleN商品-属性值关联
shop_commentsShopCommentsCommentsBundleN店铺/商品评价
pointsmall_itemsPointsmallItemsPointsmallBundleN积分商城商品

items — Items(商品表)

内容
表名 / Entityitems / GoodsBundle\Entities\Items
主键 / 租户键主键 item_id;租户 company_id
路径src/GoodsBundle/Entities/Items.php

关键字段

字段类型Comment
item_idbigint商品ID
company_idbigint公司ID
goods_idbigint产品ID
item_namestring商品名称
item_bnstring商品编号
item_typestring商品类型,services:服务商品,normal: 普通商品
priceinteger销售价,单位为‘分’
market_priceinteger原价,单位为‘分’
storeinteger库存
approve_statusstring商品状态 onsale 前台可销售,offline_sale前端不展示,instock 不可销售, only_show 前台仅展示
distributor_idinteger店铺id,为0时表示该商品为商城商品,否则为店铺自有商品
supplier_idinteger供应商id
is_defaultboolean商品是否为默认商品
nospecstring商品是否为单规格
briefstring简洁的描述

关联说明company_idcompanysdistributor_iddistribution_distributorsupplier_idsupplier;分类经 goods_items_rel_cats / item_category 关联;订单明细 orders_normal_orders_items.item_id 引用本表。

items_category — ItemsCategory(商品分类表)

内容
表名 / Entityitems_category / GoodsBundle\Entities\ItemsCategory
主键 / 租户键主键 category_id;租户 company_id
路径src/GoodsBundle/Entities/ItemsCategory.php

关键字段

字段类型Comment
category_idbigint商品分类id
company_idbigint公司ID
category_namestring分类名称
category_codestring分类编码
parent_idbigint父级id, 0为顶级
category_levelinteger商品分类等级
pathstring路径
is_main_categoryboolean是否为商品主类目
is_show_frontsmallint是否前台展示
distributor_idbigint店铺ID
sortbigint排序
commission_ratiointeger佣金比例

关联说明:树形自关联(parent_id);goods_items_rel_cats 关联商品与分类。

items_attributes — ItemsAttributes(商品属性表)

内容
表名 / Entityitems_attributes / GoodsBundle\Entities\ItemsAttributes
主键 / 租户键主键 attribute_id;租户 company_id
路径src/GoodsBundle/Entities/ItemsAttributes.php

关键字段

字段类型Comment
attribute_idbigint商品属性id
company_idbigint公司ID
attribute_namestring商品属性名称
attribute_typestring商品属性类型 unit单位,brand品牌,item_params商品参数, item_spec规格
attribute_showstring属性展示方式 select 下拉 input 平铺
attribute_memostring商品属性备注
shop_idbigint店铺ID,如果为0则表示总部
distributor_idbigint店铺ID
is_showstring是否用于筛选
is_imagestring属性是否需要配置图片
attribute_codestringoms 规格编码

关联说明:商品取值关联见 items_rel_attributes


4.3 订单 / 交易 / 售后(OrdersBundle、AftersalesBundle、DepositBundle 等)

实体订单、交易单、售后、购物车、发货、预约/定金/跨境等。相关 Bundle:OrdersBundleAftersalesBundleReservationBundleDepositBundleCrossBorderBundle

清单

表名EntityBundle深写一句话
orders_normal_ordersNormalOrdersOrdersBundleY实体订单主表
orders_normal_orders_itemsNormalOrdersItemsOrdersBundleY订单明细
tradeTradeOrdersBundleY交易单(支付域通用交易代表)
aftersalesAftersalesAftersalesBundleY售后主表
aftersales_detailAftersalesDetailAftersalesBundleN售后明细
aftersales_refundAftersalesRefundAftersalesBundleN退款记录
orders_cartCartOrdersBundleN购物车
orders_deliveryOrdersDeliveryOrdersBundleN发货单
orders_rel_promotionsOrderPromotionsOrdersBundleN订单-促销关联
reservation_recordReservationRecordReservationBundleN预约记录
deposit_tradeDepositTradeDepositBundleN预存款/定金交易
crossborder_identityCrossBorderIdentityCrossBorderBundleN跨境实名信息

orders_normal_orders — NormalOrders(实体订单表)

内容
表名 / Entityorders_normal_orders / OrdersBundle\Entities\NormalOrders
主键 / 租户键主键 order_id;租户 company_id
路径src/OrdersBundle/Entities/NormalOrders.php

关键字段

字段类型Comment
order_idbigint订单号
company_idbigint公司id
user_idbigint用户id
order_statusstring订单状态。可选值有 DONE—订单完成;NOTPAY—未支付;PART_PAYMENT-部分付款;WAIT_GROUPS_SUCCESS-等待拼团成功;PAYED-已支付;CANCEL—已取消;WAIT_BUYER_CONFIRM-待用户收货
pay_statusstring支付状态。可选值有 NOTPAY—未支付;PAYED-已支付;ADVANCE_PAY-预付款完成;TAIL_PAY-支付尾款中
delivery_statusstring发货状态。可选值有 DONE—已发货;PENDING—待发货;PARTAIL-部分发货
order_typestring订单类型。可选值有 normal:普通实体订单
total_feestring订单金额,以分为单位
item_feestring商品金额,以分为单位
freight_feeinteger运费价格,以分为单位
distributor_idbigint分销商id
mobilestring手机号
receiver_namestring收货人姓名
receiver_mobilestring收货人手机号
create_timeinteger订单创建时间

关联说明user_idmembers.user_id;明细 → orders_normal_orders_items.order_id;支付 → trade.order_id;售后 → aftersales.order_iddistributor_iddistribution_distributor

orders_normal_orders_items — NormalOrdersItems(实体订单明细表)

内容
表名 / Entityorders_normal_orders_items / OrdersBundle\Entities\NormalOrdersItems
主键 / 租户键主键 id;租户 company_id
路径src/OrdersBundle/Entities/NormalOrdersItems.php

关键字段

字段类型Comment
idbigintID
order_idbigint订单号
company_idbigint公司id
user_idbigint用户id
item_idbigint商品id
goods_idbigint产品id
item_bnstring商品编码
item_namestring商品名称
priceinteger单价,以分为单位
distributor_idbigint分销商id
supplier_idinteger供应商id
shop_idbigint门店id
act_idbigint营销活动ID,团购ID,社区拼团ID,秒杀活动ID等

关联说明order_idorders_normal_ordersitem_iditems

trade — Trade(交易单表)

内容
表名 / Entitytrade / OrdersBundle\Entities\Trade
主键 / 租户键主键 trade_id;租户键字段 company_id(类型为 string)
路径src/OrdersBundle/Entities/Trade.php

关键字段

字段类型Comment
trade_idstring交易单号
order_idstring订单号
company_idstring企业ID
user_idstring购买用户
trade_source_typestring交易单来源类型。可选值有 membercard-会员卡购买;normal-实体订单购买;servers-服务订单购买;normal_community-社区订单购买;diposit-预存款购买;order_pay-买单购买;
total_feeinteger应付总金额,以分为单位
pay_feeinteger支付金额
trade_statestring交易状态。可选值有 SUCCESS—支付成功;REFUND—转入退款;NOTPAY—未支付;CLOSED—已关闭;REVOKED—已撤销;PAYERROR--支付失败(其他原因,如银行返回失败)
pay_typestring支付方式。wxpay-微信支付;deposit-预存款支付;pos-刷卡;point-积分
transaction_idstring支付订单号
mch_idstring商户号,微信支付
mobilestring购买用户手机号
open_idstring用户open_id
distributor_idstring店铺ID
discount_infotext优惠金额,优惠金额,优惠原因json结构

关联说明order_id 关联订单(实体订单场景对应 orders_normal_orders.order_id);user_id → 会员;通道确认单等通过 order_id / transaction_id 与 AdaPay 等通道表衔接。

aftersales — Aftersales(售后主表)

内容
表名 / Entityaftersales / AftersalesBundle\Entities\Aftersales
主键 / 租户键主键 aftersales_bn;租户 company_id
路径src/AftersalesBundle/Entities/Aftersales.php

关键字段

字段类型Comment
aftersales_bnbigint售后单号
order_idbigint订单号
company_idbigint公司id
user_idbigint用户id
aftersales_typestring售后服务类型
aftersales_statusinteger售后状态
progressinteger处理进度
refund_feeinteger应退总金额,单位(分)
item_bnstring商品编码
distributor_idbigint分销商id
reasonstring申请售后原因
mobilestring手机号
return_typestring退货方式:logistics寄回 offline到店退
merchant_idbigint商户id

关联说明order_idorders_normal_orders;明细/退款见 aftersales_detailaftersales_refunduser_idmembers


4.4 支付(PaymentBundle 无 Entity;AdaPayBundle、BsPayBundle 等)

PaymentBundle 无 Entity;通用交易见 §4.3 trade

清单

表名EntityBundle深写一句话
adapay_paymemt_confirmAdapayPaymemtConfirmAdaPayBundleYAdaPay 支付确认
bspay_entry_applyEntryApplyBsPayBundleY汇付斗拱开户进件
chinaumspay_divisionChinaumspayDivisionChinaumsPayBundleY银联商务分账流水
offline_paymentOfflinePaymentOrdersBundleN线下转账支付订单
orders_rel_chinaumspay_divisionOrdersRelChinaumspayDivisionOrdersBundleN订单-银联分账关联

adapay_paymemt_confirm — AdapayPaymemtConfirm(adapay支付确认表)

内容
表名 / Entityadapay_paymemt_confirm / AdaPayBundle\Entities\AdapayPaymemtConfirm
主键 / 租户键主键 id;租户 company_id
路径src/AdaPayBundle/Entities/AdapayPaymemtConfirm.php

关键字段

字段类型Comment
idbigintID
company_idbigint公司id
order_idstring订单id
distributor_idbigint店铺id
payment_idstringAdapay生成的支付对象id 对应order表的transaction_id
payment_confirmation_idstring支付确认id
order_nostring支付确认请求订单号
confirm_amtstring确认金额 单位:元
div_memberstext分账对象信息列表 json
statusstring交易状态
request_paramstext请求参数 json
response_paramstext响应参数 json
create_timeinteger创建时间
update_timeinteger更新时间

关联说明order_id / payment_id 与订单及 trade.transaction_id 衔接(comment 写明对应 order 表的 transaction_id)。

bspay_entry_apply — EntryApply(开户申请表)

内容
表名 / Entitybspay_entry_apply / BsPayBundle\Entities\EntryApply
主键 / 租户键主键 id;租户 company_id
路径src/BsPayBundle/Entities/EntryApply.php

关键字段

字段类型Comment
idbigintID
company_idbigint公司id
user_namestring用户名
user_idstring开户进件ID
operator_idinteger操作者id
operator_typestring操作者类型:distributor-店铺;dealer-经销;promoter-推广员
user_typestring进件类型
addressstring所属地区
commentstext审批意见
statusstringWAIT_APPROVE;APPROVED;REJECT

关联说明:进件主体通过 operator_type + operator_id 关联店铺/经销/推广员;非订单支付流水表。

chinaumspay_division — ChinaumspayDivision(银联商务支付分账流水)

内容
表名 / Entitychinaumspay_division / ChinaumsPayBundle\Entities\ChinaumspayDivision
主键 / 租户键主键 id;租户 company_id
路径src/ChinaumsPayBundle/Entities/ChinaumspayDivision.php

关键字段

字段类型Comment
idbigintID
company_idbigint公司id
distributor_idbigint店铺ID
total_feestring订单金额,以分为单位
actual_feestring订单实际金额,以分为单位
commission_rate_feeinteger收单手续费金额,以分为单位
division_feeinteger分账金额,以分为单位
create_timeinteger订单创建时间
update_timeinteger订单更新时间

关联说明distributor_id → 店铺;订单侧关联见 orders_rel_chinaumspay_division


4.5 会员 / 营销(MembersBundle、KaquanBundle、PromotionsBundle、EmployeePurchaseBundle 等)

会员主数据、地址、卡券、积分、促销与推广。相关 Bundle:MembersBundleKaquanBundlePointBundlePromotionsBundlePopularizeBundleEmployeePurchaseBundle 等。

清单

表名EntityBundle深写一句话
membersMembersMembersBundleY会员主表
members_infoMembersInfoMembersBundleY会员扩展资料
members_addressMembersAddressMembersBundleY收货地址
kaquan_discount_cardsDiscountCardsKaquanBundleY优惠券模板
kaquan_user_discountUserDiscountKaquanBundleN用户已领优惠券
point_memberPointMemberPointBundleN会员积分余额
point_member_logPointMemberLogPointBundleN积分流水
promotions_marketing_activityMarketingActivityPromotionsBundleN营销活动
promotions_seckill_activitySeckillActivityPromotionsBundleN秒杀活动
popularize_promoterPromoterPopularizeBundleN推广员
employee_purchase_activitiesActivitiesEmployeePurchaseBundleN员工内购活动

members — Members(会员主表)

内容
表名 / Entitymembers / MembersBundle\Entities\Members
主键 / 租户键主键 user_id;租户 company_id
路径src/MembersBundle/Entities/Members.php

关键字段

字段类型Comment
user_idbigint(主键,注解无额外 comment)
company_idbigint(租户键)
mobilestring(手机号)
region_mobilestring带区号的手机号
mobile_country_codestring手机号的区号
passwordstring密码
login_emailstring登录邮箱(小写)
grade_idbigint(会员等级)
inviter_idbigint推荐人id
source_fromstring来源类型 default默认
disabledboolean是否禁用。0:可用;1:禁用
authorizer_appidstring(微信授权 appid)
createdinteger
updatedinteger

关联说明:订单/售后/地址等以 user_id 引用;扩展信息见 members_info(同 user_id)。

members_info — MembersInfo(会员详情信息表)

内容
表名 / Entitymembers_info / MembersBundle\Entities\MembersInfo
主键 / 租户键主键 user_id;租户 company_id
路径src/MembersBundle/Entities/MembersInfo.php

关键字段

字段类型Comment
user_idbigint用户id
company_idbigint公司id
usernamestring姓名
namestring名称
avatarstring头像
sexsmallint性别。0 未知 1 男 2 女
birthdaystring出生日期
addressstring家庭住址
emailstring常用邮箱
have_consumeboolean是否有消费
dm_member_idstring达摩CRM会员id

关联说明:与 members 一对一(user_id)。

members_address — MembersAddress(会员收货地址表)

内容
表名 / Entitymembers_address / MembersBundle\Entities\MembersAddress
主键 / 租户键主键 address_id;租户 company_id
路径src/MembersBundle/Entities/MembersAddress.php

关键字段

字段类型Comment
address_idbigintid
company_idbigint公司id
user_idbigint用户id
usernamestring收货人
telephonestring手机号码
provincestring地区:省
citystring地区:市
countystring地区:区
adrdetailstring详细地址
postalCodestring邮编
is_defboolean是否默认地址
lngstring腾讯地图纬度
latstring腾讯地图经度

关联说明user_idmembers

kaquan_discount_cards — DiscountCards(优惠券信息表)

内容
表名 / Entitykaquan_discount_cards / KaquanBundle\Entities\DiscountCards
主键 / 租户键主键 card_id;租户 company_id
路径src/KaquanBundle/Entities/DiscountCards.php

关键字段

字段类型Comment
card_idbigint卡券id
company_idbigint公司id
card_typestring卡券类型,可选值有,discount:折扣券;cash:代金券;gift:兑换券;new_gift:兑换券(新)
titlestring卡券名,最大9个汉字
brand_namestring商户名称
logo_urlstring卡券商户 logo
noticestring卡券使用提醒,最大16汉字
descriptiontext卡券使用说明
date_typestring有效期的类型
begin_dateinteger有效期开始时间
end_dateinteger有效期结束时间
distributor_idtext店铺id
dm_card_idstring达摩CRM卡券ID

关联说明:用户领券见 kaquan_user_discount;同 Bundle 内表名前缀写法以 Entity 为准。


4.6 渠道 / 店铺(DistributionBundle、MerchantBundle、SupplierBundle 等)

分销店铺、商户、供应商、导购与自助终端。相关 Bundle:DistributionBundleMerchantBundleSupplierBundleSalespersonBundleSelfserviceBundle

清单

表名EntityBundle深写一句话
distribution_distributorDistributorDistributionBundleY分销店铺主表
merchantMerchantMerchantBundleY商户主体
supplierSupplierSupplierBundleY供应商档案
shop_salespersonShopSalespersonSalespersonBundleN门店导购员
distribution_distribute_logsDistributeLogsDistributionBundleN分销佣金记录
distribution_cash_withdrawalCashWithdrawalDistributionBundleN分销商提现
selfservice_form_templateFormTemplateSelfserviceBundleN自助终端表单模板

distribution_distributor — Distributor(店铺表)

内容
表名 / Entitydistribution_distributor / DistributionBundle\Entities\Distributor
主键 / 租户键主键 distributor_id;租户 company_id
路径src/DistributionBundle/Entities/Distributor.php

关键字段

字段类型Comment
distributor_idbigint(主键)
company_idbigint公司id
namestring店铺名称
mobilestring店铺手机号
addressstring店铺地址
contactstring联系人名称
logostring店铺logo
is_validstring店铺状态:true启用云店 false禁用云店 closed闭店 delete撤店
is_distributorboolean是否是主店铺
shop_idbigint门店id
merchant_idbigint商户id
lngstring腾讯地图纬度
latstring腾讯地图经度
is_zitiboolean是否支持自提
is_deliveryboolean是否支持配送

关联说明:订单/商品/售后中的 distributor_id 多指向本表;merchant_idmerchant

merchant — Merchant(商户表)

内容
表名 / Entitymerchant / MerchantBundle\Entities\Merchant
主键 / 租户键主键 id;租户 company_id
路径src/MerchantBundle/Entities/Merchant.php

关键字段

字段类型Comment
idbigintID
company_idbigint公司id
merchant_namestring商户名称
settled_typestring商户入驻类型。enterprise:企业;soletrader:个体户
social_credit_code_idstring统一社会信用代码
legal_namestring联系人
legal_cert_idstring法人身份证号码
legal_mobilestring法人手机号码
addressstring详细地址
bank_acct_typestring银行账户类型:1-对公;2-对私
card_id_maskstring结算银行卡号
merchant_type_idbigint商户类型ID
settlement_apply_idbigint入驻申请id

关联说明:店铺 distribution_distributor.merchant_id、操作员 operators.merchant_id 可引用本表 id

supplier — Supplier(供应商)

内容
表名 / Entitysupplier / SupplierBundle\Entities\Supplier
主键 / 租户键主键 id;字段 company_id comment 为「商户id」
路径src/SupplierBundle/Entities/Supplier.php

关键字段

字段类型Comment
idbigintid
company_idbigint商户id
supplier_namestring供应商名称
contactstring联系人
mobilestring手机号
business_licensestring营业执照
service_telstring客服电话
bank_namestring收款银行
bank_accountstring收款账号
audit_remarkstring审核备注
adapay_mch_idstring汇付商户ID
operator_idbigint管理员id
wx_openidstring微信公众号openid

关联说明:商品 items.supplier_id、订单明细 supplier_id 引用本表。


4.7 微信 / 社交(WechatBundle、WorkWechatBundle、ImBundle、CommunityBundle 等)

公众号/小程序授权、小程序发版、企微关联、社区与 UGC。相关 Bundle:WechatBundleWorkWechatBundleCommunityBundleWsugcBundle

清单

表名EntityBundle深写一句话
wechat_authorizationWechatAuthWechatBundleY公众号/小程序授权
wechat_weappWeappWechatBundleY小程序提交审核
work_wechat_relWorkWechatRelWorkWechatBundleY企业微信用户关联
community_activityCommunityActivityCommunityBundleN社区拼团活动
wsugc_postPostWsugcBundleN微信 UGC 笔记

wechat_authorization — WechatAuth(微信授权表)

内容
表名 / Entitywechat_authorization / WechatBundle\Entities\WechatAuth
主键 / 租户键主键 authorizer_appid;租户 company_id
路径src/WechatBundle/Entities/WechatAuth.php

关键字段

字段类型Comment
authorizer_appidstring(公众号,小程序)微信appid
company_idbigint公司id
authorizer_appsecretstring(公众号,小程序)微信appsecret
authorizer_refresh_tokenstring(公众号,小程序)微信refresh_token
nick_namestring(公众号,小程序)昵称
head_imgstring(公众号,小程序)头像
service_type_infointeger(公众号,小程序)类型。可选值有 0代表订阅号;1代表由历史老帐号升级后的订阅号;2代表服务号;3代表小程序(自定义)
verify_type_infointeger(公众号,小程序)认证类型。-1代表未认证;0代表微信认证;…
user_namestring(公众号,小程序)原始 ID
principal_namestring(公众号,小程序)主体名称
qrcode_urlstring(公众号,小程序)二维码图片的URL
operator_idbigint授权操作者id

关联说明:会员 members.authorizer_appid、小程序表 wechat_weapp.authorizer_appid 可与本表主键对应。

wechat_weapp — Weapp(微信小程序提交审核表)

内容
表名 / Entitywechat_weapp / WechatBundle\Entities\Weapp
主键 / 租户键主键 authorizer_appid;租户 company_id
路径src/WechatBundle/Entities/Weapp.php

关键字段

字段类型Comment
authorizer_appidstring微信appid
company_idbigint公司id
audit_statusinteger审核状态,其中0为审核成功,1为审核失败,2为审核中, 3为待提交审核
release_statusinteger发布状态,其中0为未发布,1为已发布
reasontext审核失败原因
template_idstring小程序模板ID
template_namestring小程序模板名称
release_verstring小程序已发布的版本
template_verstring小程序模板版本
visitstatusinteger小程序线上代码的可见状态 0不可见 1可见
operator_idbigint绑定操作者id

关联说明:与 wechat_authorizationauthorizer_appid

work_wechat_rel — WorkWechatRel(企业微信用户关联表)

内容
表名 / Entitywork_wechat_rel / WorkWechatBundle\Entities\WorkWechatRel
主键 / 租户键主键 id;租户 company_id
路径src/WorkWechatBundle/Entities/WorkWechatRel.php

关键字段

字段类型Comment
idbigint企业微信用户关联表id
company_idbigint公司id
work_useridstring通讯录成员id
salesperson_idbigint导购员id
external_useridstring企业微信外部成员id
unionidstring企业微信外部成员unionid
user_idbigint会员id
is_friendboolean是否好友 0 否 1 是
is_bindboolean是否绑定 0 否 1 是
bound_timebigint绑定时间
add_friend_timebigint添加好友时间

关联说明user_idmemberssalesperson_id → 导购(如 shop_salesperson)。


4.8 第三方 / ERP(SystemLinkBundle、ThirdPartyBundle、ShuyunBundle 等)

矩阵节点绑定、SaaS ERP / OMS 通信与短信模板等。相关 Bundle:ThirdPartyBundleSystemLinkBundleAliyunsmsBundle

清单

表名EntityBundle深写一句话
thirdparty_shop_bindShopBindThirdPartyBundleY矩阵节点/店铺绑定
thirdparty_saaserp_logSaasErpLogThirdPartyBundleYShopex SaaS ERP 通信日志
systemlink_oms_queuelogOmsQueueLogSystemLinkBundleNOMS 队列通信日志
aliyunsms_templateTemplateAliyunsmsBundleN阿里云短信模板

thirdparty_shop_bind — ShopBind(矩阵节点绑定)

内容
表名 / Entitythirdparty_shop_bind / ThirdPartyBundle\Entities\ShopBind
主键 / 租户键主键 id;租户 company_id
路径src/ThirdPartyBundle/Entities/ShopBind.php

关键字段

字段类型Comment
idbigintid
company_idbigint公司id
namestring名称
node_idstring节点
node_typestring节点类型
statussmallint绑定状态 1:已绑定 0:未绑定

关联说明:按 company_id 归属企业;node_id / node_type 标识外部矩阵节点。

thirdparty_saaserp_log — SaasErpLog(联通saasErp通信日志)

内容
表名 / Entitythirdparty_saaserp_log / ThirdPartyBundle\Entities\SaasErpLog
主键 / 租户键主键 id;租户 company_id
路径src/ThirdPartyBundle/Entities/SaasErpLog.php

关键字段

字段类型Comment
idbigintid
company_idbigint公司id
api_typestring日志同步类型, response:响应,request:请求
workerstringapi
paramsjson_array任务参数
resultjson_array返回数据
statusstring运行状态:running,success,fail
runtimestring运行时间(秒)
msg_idstringmsg_id

关联说明:ERP 同步排障日志。


5. 跨域关系

5.1 订单 → 支付 → 售后 → 会员

mermaid
flowchart LR
  M["members\nuser_id"] --> O["orders_normal_orders\norder_id / user_id / company_id"]
  O --> OI["orders_normal_orders_items\norder_id / item_id"]
  I["items\nitem_id"] --> OI
  O --> T["trade\norder_id / trade_id / pay_type / trade_state"]
  O --> A["aftersales\naftersales_bn / order_id / user_id"]
  T -.-> AP["adapay_paymemt_confirm\norder_id / payment_id"]
  M --> A
字段说明
orders_normal_ordersuser_idmembers.user_id下单会员
orders_normal_orders_itemsorder_idorders_normal_orders.order_id订单明细
orders_normal_orders_itemsitem_iditems.item_id购买商品
tradeorder_idorders_normal_orders.order_id支付交易(类型多为 string)
aftersalesorder_idorders_normal_orders.order_id售后单
aftersalesuser_idmembers.user_id申请会员
adapay_paymemt_confirmorder_id / payment_id订单 / trade.transaction_id通道确认

5.2 租户与店铺

多数表经 company_idcompanys.company_id;店铺维度经 distributor_iddistribution_distributor.distributor_id

ASCII 简图:

companys (company_id)
   ├── members (company_id, user_id)
   ├── items (company_id, item_id, distributor_id?)
   ├── distribution_distributor (company_id, distributor_id)
   ├── orders_normal_orders (company_id, order_id, user_id, distributor_id)
   │      ├── trade (order_id, trade_id)
   │      └── aftersales (order_id, aftersales_bn, user_id)
   └── kaquan_discount_cards (company_id, card_id)

6. Entity / Repository 示例

6.1 Entity:GoodsBundle\Entities\Items

  • 路径:src/GoodsBundle/Entities/Items.php
  • @ORM\Table(name="items", options={"comment"="商品表"}, ...)
  • @ORM\Entity(repositoryClass="GoodsBundle\Repositories\ItemsRepository")
  • 主键:item_id@ORM\Id + @ORM\GeneratedValue(strategy="AUTO")
php
/**
 * @ORM\Table(name="items", options={"comment"="商品表"}, indexes={ ... })
 * @ORM\Entity(repositoryClass="GoodsBundle\Repositories\ItemsRepository")
 */
class Items
{
    /**
     * @ORM\Id
     * @ORM\Column(name="item_id", type="bigint", options={"comment":"商品ID"})
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $item_id;

    /**
     * @ORM\Column(name="item_name", type="string", length=255, options={"comment":"商品名称"})
     */
    private $item_name;
    // ... 其余字段见源文件
}

6.2 Repository:GoodsBundle\Repositories\ItemsRepository

  • 路径:src/GoodsBundle/Repositories/ItemsRepository.php
  • 继承 Doctrine\ORM\EntityRepository
  • 显式维护 $table = 'items'$prk = 'item_id'$cols 列白名单
  • create()new Items()setColumnNamesData$em->persist / flush
  • insert():也可走 app('registry')->getConnection('default')->insert($this->table, $data)(DBAL,连接名 default
php
namespace GoodsBundle\Repositories;

class ItemsRepository extends EntityRepository
{
    public $table = 'items';
    private $prk = 'item_id';

    public function create($params)
    {
        $itemsEnt = new Items();
        $itemsEnt = $this->setColumnNamesData($itemsEnt, $params);
        $em = $this->getEntityManager();
        $em->persist($itemsEnt);
        $em->flush();
        // ...
    }
}

查找 Entity 对应 Repository:看 Entity 上 repositoryClass=...,或同 Bundle 下 Repositories/ 目录。