feat(trade): 仓配可调配履约与三分支推单
CI / verify (pull_request) Has been cancelled

同城有仓按仓库绑定承运商自动推单或自管填单,无仓/跨城走总部快递;新增仓配注册表、FulfillmentService 及三端运单追踪。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-07-16 17:51:20 +08:00
parent f1dc23c54c
commit f6d97b4ee8
30 changed files with 1615 additions and 57 deletions
@@ -11,6 +11,7 @@ import {
PartnerProxyOrderPreviewDto,
PartnerProxyOrderSendSmsDto,
} from './dto/partner-proxy-order.dto';
import { ManualShipOrderDto } from '../ops/dto/admin-mutate.dto';
@Controller('trade/orders')
@UseGuards(JwtAuthGuard)
@@ -42,6 +43,11 @@ export class TradeController {
return this.tradeService.getOrder(user.actorId, BigInt(id));
}
@Get(':id/track')
track(@CurrentUser() user: AuthUser, @Param('id') id: string) {
return this.tradeService.getOrderTrack(user.actorId, BigInt(id));
}
@Post(':id/pay')
pay(@CurrentUser() user: AuthUser, @Param('id') id: string) {
return this.tradeService.payOrder(user.actorId, BigInt(id), user.clientApp);
@@ -91,6 +97,21 @@ export class PartnerOrderController {
return this.tradeService.getPartnerOrder(user.actorId, BigInt(id));
}
@Get(':id/track')
track(@CurrentUser() user: AuthUser, @Param('id') id: string) {
return this.tradeService.getPartnerOrderTrack(user.actorId, BigInt(id));
}
@Post(':id/manual-ship')
@RequirePartnerPermissions('warehouse:manage')
manualShip(
@CurrentUser() user: AuthUser,
@Param('id') id: string,
@Body() body: ManualShipOrderDto,
) {
return this.tradeService.partnerManualShip(user.actorId, BigInt(id), body);
}
@Post(':id/mock-advance-delivery')
mockAdvance(
@CurrentUser() user: AuthUser,