feat(order): 禁止自己接自己发布的订单

- claimOrder 校验 buyer_id 与大神登录用户 id,相同直接 403「不能接自己发布的订单」

- 派单池支持 excludeBuyerId:已登录大神不会看到自己发布的待接单

- 115 套件/753 用例全绿;线上实测自接 403、他人可抢、自己的单不出现在自己的池子
这个提交包含在:
xcbyy
2026-10-22 10:35:56 +08:00
父节点 81368f870f
当前提交 082ec1c385
共有 4 个文件被更改,包括 26 次插入 和 6 次删除

查看文件

@@ -50,7 +50,7 @@ describe('订单与活动资金一致性护栏 (报名超卖 / 抢单 CAS / 评
const code = fs.readFileSync(serverRepoPath, 'utf-8');
const start = code.indexOf('async claimOrder(');
expect(start).toBeGreaterThan(-1);
const block = code.slice(start, start + 2400);
const block = code.slice(start, start + 3600);
expect(block).toContain("String(cur.status) !== '待接单'");
expect(block).toContain("AND status = '待接单'");
});

查看文件

@@ -60,4 +60,11 @@ describe('第九十五批平台派单闭环', () => {
expect(columns).toBe(24);
expect(placeholders + 2).toBe(columns);
});
it('禁止自己接自己发布的订单,派单池也不展示自己的单', () => {
expect(repo).toContain('不能接自己发布的订单');
expect(repo).toContain('const actorUserId = Number(comp && comp.user_id) || expertId;');
expect(repo).toContain('AND buyer_id <> ?');
expect(indexCode).toContain('excludeBuyerId');
});
});