feat: 支付闭环 + 运营助手 Tool Calling + 管理后台完善
- 支付系统:微信支付 mock 自动完成、NATIVE 扫码支付、JSAPI 集成 - 运营助手:Tool Calling 架构,19 个可执行工具,AI 驱动操作 - 角色管理:表格布局 + Dialog 表单 + 权限勾选 - 配置统一:config.ts 单一数据源 - API 审计:补齐 status toggle / comments 端点 - 暗黑模式硬件编码颜色全部替换为 CSS 变量
This commit is contained in:
@@ -9,7 +9,7 @@ export class OrdersService {
|
||||
private paymentService: PaymentService,
|
||||
) {}
|
||||
|
||||
async create(userId: number, data: { amount: number; planType: string; payChannel?: string }) {
|
||||
async create(userId: number, data: { amount: number; planType: string; payChannel?: string; tradeType?: string; openid?: string }) {
|
||||
const orderNo = `YZR${Date.now()}${Math.random().toString(36).slice(2, 8).toUpperCase()}`;
|
||||
|
||||
const order = await this.prisma.order.create({
|
||||
@@ -33,7 +33,13 @@ export class OrdersService {
|
||||
description: planLabels[data.planType] || '宇之然AI会员充值',
|
||||
outTradeNo: orderNo,
|
||||
amount: data.amount,
|
||||
tradeType: (data.tradeType as 'JSAPI' | 'NATIVE' | 'MWEB') || 'NATIVE',
|
||||
openid: data.openid,
|
||||
});
|
||||
// Mock 模式下自动完成支付闭环(NATIVE mock 无需扫码)
|
||||
if (payResult?.codeUrl === 'mock://pay') {
|
||||
await this.paymentService.completeMockPayment(orderNo);
|
||||
}
|
||||
return { order, payResult };
|
||||
} catch {
|
||||
return { order, payResult: null };
|
||||
|
||||
Reference in New Issue
Block a user