|
@@ -1191,6 +1191,137 @@ class WithdrawalController extends BaseController
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 获取订单账号信息(用于编辑)
|
|
|
|
|
+ */
|
|
|
|
|
+ public function getAccountInfo($RecordID)
|
|
|
|
|
+ {
|
|
|
|
|
+ try {
|
|
|
|
|
+ $order = DB::connection('read')->table('QPAccountsDB.dbo.OrderWithDraw')
|
|
|
|
|
+ ->where('RecordID', $RecordID)
|
|
|
|
|
+ ->first();
|
|
|
|
|
+
|
|
|
|
|
+ if (!$order) {
|
|
|
|
|
+ return apiReturnFail('订单不存在');
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 检查订单状态
|
|
|
|
|
+ if ($order->State != 6) {
|
|
|
|
|
+ return apiReturnFail('只能编辑失败订单的账号信息');
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ return apiReturnSuc([
|
|
|
|
|
+ 'RecordID' => $order->RecordID,
|
|
|
|
|
+ 'UserID' => $order->UserID,
|
|
|
|
|
+ 'BankUserName' => $order->BankUserName ?? '',
|
|
|
|
|
+ 'EmailAddress' => $order->EmailAddress ?? '',
|
|
|
|
|
+ 'PhoneNumber' => $order->PhoneNumber ?? '',
|
|
|
|
|
+ 'PixNum' => $order->PixNum ?? '',
|
|
|
|
|
+ 'PixType' => $order->PixType ?? 0,
|
|
|
|
|
+ 'BankNO' => $order->BankNO ?? '',
|
|
|
|
|
+ 'AccountsBank' => $order->AccountsBank ?? '',
|
|
|
|
|
+ 'IFSCNumber' => $order->IFSCNumber ?? '',
|
|
|
|
|
+ 'PANNumber' => $order->PANNumber ?? '',
|
|
|
|
|
+ 'AdhaarNumber' => $order->AdhaarNumber ?? '',
|
|
|
|
|
+ 'BranchBank' => $order->BranchBank ?? '',
|
|
|
|
|
+ ]);
|
|
|
|
|
+ } catch (\Exception $e) {
|
|
|
|
|
+ Log::error('获取订单账号信息失败', [
|
|
|
|
|
+ 'RecordID' => $RecordID,
|
|
|
|
|
+ 'error' => $e->getMessage()
|
|
|
|
|
+ ]);
|
|
|
|
|
+ return apiReturnFail('获取信息失败:' . $e->getMessage());
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 更新订单账号信息(同时更新OrderWithDraw和AccountWithDrawInfo)
|
|
|
|
|
+ */
|
|
|
|
|
+ public function updateAccountInfo(Request $request, $RecordID)
|
|
|
|
|
+ {
|
|
|
|
|
+ try {
|
|
|
|
|
+ $validator = Validator::make($request->all(), [
|
|
|
|
|
+ 'BankUserName' => 'nullable|string|max:100',
|
|
|
|
|
+ 'EmailAddress' => 'nullable|string|max:80',
|
|
|
|
|
+ 'PhoneNumber' => 'nullable|string|max:20',
|
|
|
|
|
+ 'PixNum' => 'nullable|string|max:32',
|
|
|
|
|
+ 'PixType' => 'nullable|integer|in:0,1,2,3',
|
|
|
|
|
+ 'BankNO' => 'nullable|string|max:30',
|
|
|
|
|
+ 'AccountsBank' => 'nullable|string|max:100',
|
|
|
|
|
+ 'IFSCNumber' => 'nullable|string|max:20',
|
|
|
|
|
+ 'PANNumber' => 'nullable|string|max:10',
|
|
|
|
|
+ 'AdhaarNumber' => 'nullable|string|max:80',
|
|
|
|
|
+ 'BranchBank' => 'nullable|string|max:100',
|
|
|
|
|
+ ]);
|
|
|
|
|
+
|
|
|
|
|
+ if ($validator->fails()) {
|
|
|
|
|
+ return apiReturnFail($validator->errors()->first());
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 获取订单信息
|
|
|
|
|
+ $order = DB::connection('read')->table('QPAccountsDB.dbo.OrderWithDraw')
|
|
|
|
|
+ ->where('RecordID', $RecordID)
|
|
|
|
|
+ ->first();
|
|
|
|
|
+
|
|
|
|
|
+ if (!$order) {
|
|
|
|
|
+ return apiReturnFail('订单不存在');
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 检查订单状态
|
|
|
|
|
+ if ($order->State != 6) {
|
|
|
|
|
+ return apiReturnFail('只能编辑失败订单的账号信息');
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 准备更新数据
|
|
|
|
|
+ $updateData = [];
|
|
|
|
|
+ $fields = [
|
|
|
|
|
+ 'BankUserName', 'EmailAddress', 'PhoneNumber', 'PixNum', 'PixType',
|
|
|
|
|
+ 'BankNO', 'AccountsBank', 'IFSCNumber', 'PANNumber', 'AdhaarNumber', 'BranchBank'
|
|
|
|
|
+ ];
|
|
|
|
|
+
|
|
|
|
|
+ foreach ($fields as $field) {
|
|
|
|
|
+ if ($request->has($field)) {
|
|
|
|
|
+ $updateData[$field] = trim($request->input($field, ''));
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ if (empty($updateData)) {
|
|
|
|
|
+ return apiReturnFail('没有需要更新的数据');
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ DB::beginTransaction();
|
|
|
|
|
+ try {
|
|
|
|
|
+ // 更新 OrderWithDraw 表
|
|
|
|
|
+ DB::connection('write')->table('QPAccountsDB.dbo.OrderWithDraw')
|
|
|
|
|
+ ->where('RecordID', $RecordID)
|
|
|
|
|
+ ->update($updateData);
|
|
|
|
|
+
|
|
|
|
|
+ // 更新 AccountWithDrawInfo 表
|
|
|
|
|
+ DB::connection('write')->table('QPAccountsDB.dbo.AccountWithDrawInfo')
|
|
|
|
|
+ ->where('UserID', $order->UserID)
|
|
|
|
|
+ ->update($updateData);
|
|
|
|
|
+
|
|
|
|
|
+ DB::commit();
|
|
|
|
|
+
|
|
|
|
|
+ // 记录操作日志
|
|
|
|
|
+ $admin_id = session('admin')->id ?? 0;
|
|
|
|
|
+ (new AccountsRecordLogic())->create_record($RecordID, $order->State, $order->State, '编辑提款账号信息', $admin_id, 2);
|
|
|
|
|
+
|
|
|
|
|
+ return apiReturnSuc(['updated_fields' => array_keys($updateData)], '更新成功');
|
|
|
|
|
+ } catch (\Exception $e) {
|
|
|
|
|
+ DB::rollBack();
|
|
|
|
|
+ throw $e;
|
|
|
|
|
+ }
|
|
|
|
|
+ } catch (\Exception $e) {
|
|
|
|
|
+ Log::error('更新订单账号信息失败', [
|
|
|
|
|
+ 'RecordID' => $RecordID,
|
|
|
|
|
+ 'error' => $e->getMessage(),
|
|
|
|
|
+ 'data' => $request->all()
|
|
|
|
|
+ ]);
|
|
|
|
|
+ return apiReturnFail('更新失败:' . $e->getMessage());
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
public function withdrawRank(Request $request)
|
|
public function withdrawRank(Request $request)
|
|
|
{
|
|
{
|
|
|
$date = Carbon::now();
|
|
$date = Carbon::now();
|