diff --git a/src/actions/cust.ts b/src/actions/cust.ts index 13e9fb5..9935dfb 100644 --- a/src/actions/cust.ts +++ b/src/actions/cust.ts @@ -44,7 +44,11 @@ export async function createCust(data: { return callByUser>("/api/admin/user/create", data) } -export async function getDeposit(params: { user_id: number; amount: string }) { +export async function getDeposit(params: { + user_id: number + amount: string + remark: string +}) { return callByUser>( "/api/admin/user/update/balance-inc", params, @@ -54,6 +58,7 @@ export async function getDeposit(params: { user_id: number; amount: string }) { export async function getDeduction(params: { user_id: number amount: string + remark: string }) { return callByUser>( "/api/admin/user/update/balance-dec", diff --git a/src/actions/trade.ts b/src/actions/trade.ts index 736a5e3..5a7990b 100644 --- a/src/actions/trade.ts +++ b/src/actions/trade.ts @@ -39,7 +39,7 @@ export async function updateTradeRemark(params: { } type PayCloseData = { - status: 0 | 1 | 2 + Status: 0 | 1 | 2 TransId: string } @@ -49,3 +49,27 @@ export async function getTradeCheckk(params: { }) { return callByUser("/api/admin/trade/check", params) } + +export async function tradeComplete(params: { + trade_no: string + method: number + user_id: number +}) { + return callByUser("/api/admin/trade/complete", params) +} + +export async function tradeConvert(params: { + trade_no: string + method: number + user_id: number +}) { + return callByUser("/api/admin/trade/convert", params) +} + +export async function tradeCancel(params: { + trade_no: string + method: number + user_id: number +}) { + return callByUser("/api/admin/trade/cancel", params) +} diff --git a/src/app/(root)/cust/deduction.tsx b/src/app/(root)/cust/deduction.tsx index 69496a8..c800da6 100644 --- a/src/app/(root)/cust/deduction.tsx +++ b/src/app/(root)/cust/deduction.tsx @@ -18,6 +18,7 @@ import { } from "@/components/ui/dialog" import { Field, FieldError, FieldLabel } from "@/components/ui/field" import { Input } from "@/components/ui/input" +import { Textarea } from "@/components/ui/textarea" import type { User } from "@/models/user" const Schema = z.object({ @@ -26,6 +27,7 @@ const Schema = z.object({ .min(1, "请输入扣款金额") .refine(val => !Number.isNaN(Number(val)), "请输入有效的数字") .refine(val => Number(val) >= 0, "金额不能为负数"), + remark: z.string().min(1, "请输入操作说明"), }) type FormValues = z.infer @@ -52,6 +54,7 @@ export function DeductionDialog({ resolver: zodResolver(Schema), defaultValues: { deduction: "", + remark: "", }, }) @@ -61,6 +64,7 @@ export function DeductionDialog({ const result = await getDeduction({ user_id: user.id, amount: data.deduction, + remark: data.remark, }) if (result.success) { @@ -123,6 +127,15 @@ export function DeductionDialog({ /> {errors.deduction?.message} + + 操作说明 +