- 将默认更新条件从 companyId 为空改为 companyId=0 - 修改查询条件从 isNull 改为等于 0 的判断 - 更新业务逻辑中对 needUpdate 的判断条件 docs(shop): 添加经销商推荐绑定接口文档 - 新增 SHOP_DEALER_REFEREE_BINDING.md 文档 - 定义 POST /api/shop/shop-dealer-referee 接口规则 - 说明邀请人有效性验证和防止自绑限制 - 描述首次绑定幂等性和溯源字段要求 - 提供数据库唯一索引建议和建表语句
1.1 KiB
1.1 KiB
ShopDealerReferee 绑定接口规则与索引建议
接口:POST /api/shop/shop-dealer-referee
业务规则(后端)
- 邀请人(dealerId)必须存在且有效:以
shop_dealer_user记录存在且is_delete=0为准 - 当前用户(userId)仅从 token 获取;若 body.userId 存在且与 token 不一致则拒绝
- 禁止自己绑定自己:
dealerId == userId - 仅首次绑定生效:若已存在(同一 tenant、同一 user、
level=1)则直接返回成功(幂等,不改绑) - 记录溯源字段:
source、scene
并发幂等(数据库建议)
建议在 shop_dealer_referee 增加溯源字段,并加唯一索引保证并发下不重复写入:
ALTER TABLE shop_dealer_referee
ADD COLUMN source VARCHAR(32) NULL COMMENT '来源(如 goods_share)',
ADD COLUMN scene VARCHAR(255) NULL COMMENT '场景参数(溯源统计)';
-- 约束:同一 tenant 下,一个用户每个 level 只能有一条推荐关系
ALTER TABLE shop_dealer_referee
ADD UNIQUE KEY uk_shop_dealer_referee_tenant_user_level (tenant_id, user_id, level);