修复提现不显示 问题

This commit is contained in:
lingling 2025-02-18 12:36:42 +08:00
parent 8b8958d71e
commit be870ad1d7
3 changed files with 81 additions and 67 deletions

View File

@ -9,7 +9,7 @@ use GuzzleHttp\Client;
*/
class Payment
{
function generate_encrypt_value($data, $secret_key) {
public static function generate_encrypt_value($data, $secret_key) {
// 1. 过滤掉 EncryptValue 和值为 null 的参数
$filtered_data = array_filter($data, function($v, $k) {
return $k !== "EncryptValue" && $v !== null;
@ -57,7 +57,7 @@ class Payment
"ShopUserLongId" => "776ae472-d4fc-435c-9639-be5763138d95"
];
$secret_key = "sZ2wAfh1lMkxBVrlY4uZY8Fj92E4scFf";
$encrypt_value = Payment::generate_encrypt_value($payload, $secret_key);
$encrypt_value = self::generate_encrypt_value($payload, $secret_key);
$payload["EncryptValue"] = $encrypt_value;
$json_payload = json_encode($payload);

View File

@ -30,46 +30,61 @@ class WithdrawController
*/
public function withdrawCashList(Request $request)
{
$page = $request->post('page');
$size = $request->post('size');
$status = $request->post('status');
$time = $request->post('time');
$page = $request->post('page', 1); // 默认第一页
$size = $request->post('size', 15); // 默认每页15条
$status = $request->post('status', 0); // 默认状态为0全部
$time = $request->post('time', null); // 默认时间不做过滤
$userId = $request->data['id'];
// 初始化查询构建器
$query = Withdraw::query();
// 根据状态过滤
if ($status != 0) {
$query->where('status', $status);
}
// 初始化查询构建器
$query = Withdraw::query();
// 根据时间过滤
if (!is_null($time)) {
$todayStart = Carbon::now()->startOfDay(); // 今天的开始时间 (00:00:00)
$todayEnd = Carbon::now()->endOfDay(); // 今天的结束时间 (23:59:59)
$yesterdayStart = Carbon::now()->subDay()->startOfDay(); // 昨天的开始时间
$sevenDaysAgoStart = Carbon::now()->subDays(7)->startOfDay(); // 七天前的开始时间
switch ($time) {
case 1:
$query->whereBetween('createtime2', [$todayStart, $todayEnd]);
break;
case 2:
$query->whereBetween('createtime2', [$yesterdayStart, $todayStart]);
break;
case 3:
$query->whereBetween('createtime2', [$sevenDaysAgoStart, $todayEnd]);
break;
// 根据状态过滤
if ($status != 0) {
$query->where('status', $status);
}
}
// 添加用户ID过滤条件
$query->where('user_id', $userId);
$withdrawOrders = $query->orderBy('createtime2', 'desc')->get();
return ApiResponseApp::success($withdrawOrders);
}
// 根据时间过滤
if (!is_null($time)) {
$todayStart = Carbon::now()->startOfDay(); // 今天的开始时间 (00:00:00)
$todayEnd = Carbon::now()->endOfDay(); // 今天的结束时间 (23:59:59)
$yesterdayStart = Carbon::now()->subDay()->startOfDay(); // 昨天的开始时间
$sevenDaysAgoStart = Carbon::now()->subDays(7)->startOfDay(); // 七天前的开始时间
switch ($time) {
case 1:
$query->whereBetween('createtime2', [$todayStart, $todayEnd]);
break;
case 2:
$query->whereBetween('createtime2', [$yesterdayStart, $todayEnd]);
break;
case 3:
$query->whereBetween('createtime2', [$sevenDaysAgoStart, $todayEnd]);
break;
}
}
// 添加用户ID过滤条件
$query->where('user_id', $userId);
// 查询结果
$withdrawOrders = $query->orderBy('createtime2', 'desc')
->skip(($page - 1) * $size)
->take($size)
->get();
// 手动映射字段
$withdrawOrders = $withdrawOrders->map(function ($item) {
// 将 money 字段映射为 amount
$item->amount = $item->money;
unset($item->money); // 删除原始的 money 字段
return $item;
});
// 返回成功响应
return ApiResponseApp::success($withdrawOrders);
}
/**
* @Apidoc\Title("小于1000直接转账大于1000生成审批")
@ -81,16 +96,16 @@ class WithdrawController
$money_no = $request->post('money');
//不知道啥用
$bank_id = $request->post('bank_id');
$user_id=$request->data['id'];
$user=User::find($user_id);
$user_id = $request->data['id'];
$user = User::find($user_id);
//提现金额
$rate = ExchangeRate::where('type','BDT')->get();
$money = $money_no/100*$rate[0]['points'];
$rate = ExchangeRate::where('type', 'BDT')->get();
$money = $money_no / 100 * $rate[0]['points'];
var_dump($money);
//用户积分减少$money
UserRewardDao::base($user_id, 1, -($money_no+300), '提现');
UserRewardDao::base($user_id, 1, - ($money_no + 300), '提现');
//大于1000等待管理员审核
if($money>=1000){
if ($money >= 1000) {
Withdraw::create([
'user_id' => $user_id,
'amount' => $money,
@ -99,11 +114,12 @@ class WithdrawController
'username' => $user->username,
'status_text' => '申请中',
]);
return ApiResponseApp::success(null,'等待管理员审核');
return ApiResponseApp::success(null, '等待管理员审核');
}
$userbank = Userbank::where('user_id',$user_id)->first();
$res = Payment::pushMoney($money,$userbank->bank_username,$userbank->account,$userbank->bank_name);
$userbank = Userbank::where('user_id', $user_id)->first();
$res = Payment::pushMoney($money, $userbank->bank_username, $userbank->account, $userbank->bank_name);
var_dump($res);
//逻辑错误需要修改
if ($res['Success'] == 200) {
Withdraw::create([
'user_id' => $user_id,
@ -113,14 +129,14 @@ class WithdrawController
'username' => $user->username,
'status_text' => '已到账',
]);
return ApiResponseApp::success(null,'转账成功');
}else{
return ApiResponseApp::error(null,'转账失败');
return ApiResponseApp::success(null, '转账成功');
} else {
return ApiResponseApp::error(null, '转账失败');
}
return ApiResponseApp::success(null,'转账成功');
return ApiResponseApp::success(null, '转账成功');
}
/**
/**
* @Apidoc\Title("管理员同意转账")
* @Apidoc\Url("api/withdraw/pushMoney")
* @Apidoc\Method("POST")
@ -140,32 +156,31 @@ class WithdrawController
//管理员审批结果
$type = $request->post('type');
if($type == 1){
$res = Payment::pushMoney($amount,$bank_username,$account,$bank_name);
if ($type == 1) {
$res = Payment::pushMoney($amount, $bank_username, $account, $bank_name);
var_dump($res);
if ($res['Success'] == 200) {
$Withdraw = Withdraw::where('id',$id)->first();
$Withdraw = Withdraw::where('id', $id)->first();
$Withdraw->status = 2;
$Withdraw->status_text = '已到账';
$Withdraw->save();
return ApiResponseApp::success(null,'转账成功');
}else{
return ApiResponseApp::error(null,'转账失败');
return ApiResponseApp::success(null, '转账成功');
} else {
return ApiResponseApp::error(null, '转账失败');
}
}else{
$Withdraw = Withdraw::where('id',$id)->first();
} else {
$Withdraw = Withdraw::where('id', $id)->first();
$Withdraw->status = 3;
$Withdraw->status_text = '已驳回';
$Withdraw->save();
$rate = ExchangeRate::where('type','BDT')->get();
$rate = ExchangeRate::where('type', 'BDT')->get();
//计算积分
$money = $amount*100/$rate[0]['points']+300;
$money = $amount * 100 / $rate[0]['points'] + 300;
//用户id
$user_id=$request->data['id'];
//用户积分增加$money
$user_id = $request->data['id'];
//用户积分增加$money
UserRewardDao::base($user_id, 1, $money, '提现失败返还');
return ApiResponseApp::error(null,'操作成功');
return ApiResponseApp::error(null, '操作成功');
}
}
}

View File

@ -10,7 +10,7 @@ use app\model\GetLodeLog;
use app\model\User;
/**
* 查询用户是否在线类
* 获取今天在线时间超过6小时的用户
*/
class Task3
{
@ -48,7 +48,6 @@ class Task3
// });
// // 每5秒执行一次
new Crontab('0 */5 * * * *', function () {
echo date('Y-m-d H:i:s')."\n";
//获取今天在线时间超过6小时的用户
$today = date('Y-m-d');
$UserPhone = UserPhone::where('time', '>=', 3600)::where('time', '<', 4200)::where('created_at','>=',$today)->get();