Files
juipphp/app/order/controller/CashOutAdmin.php

167 lines
5.5 KiB
PHP
Raw Normal View History

2020-10-11 19:23:42 +08:00
<?php
2020-10-13 09:38:55 +08:00
/*
* @Descripttion:
* @version:
* @Author: kangkang
* @Date: 2020-10-11 11:22:56
* @LastEditors: kangkang
2020-10-21 20:24:13 +08:00
* @LastEditTime: 2020-10-21 20:01:22
2020-10-13 09:38:55 +08:00
*/
2020-10-11 19:23:42 +08:00
namespace app\order\controller;
use app\order\model\CashOut as CashMoedl;
2020-10-21 20:24:13 +08:00
use app\order\model\User as UserModel;
use app\order\model\UserScore as ScoreModel;
2020-10-11 19:23:42 +08:00
use fastphp\base\Controller;
2020-10-21 20:24:13 +08:00
use alipay\Alipay;
2020-10-11 19:23:42 +08:00
2020-10-14 20:20:49 +08:00
class CashOutAdmin extends Controller
2020-10-11 19:23:42 +08:00
{
//获取记录
public function getData()
{
$cash = new CashMoedl;
$list = $cash->getListPage();
//提现状态
$status = ['待处理', '同意', '拒绝'];
foreach ($list as &$v) {
$v['status'] = $status[$v['status']];
$v['alipay_account'] = substr($v['alipay_account'], 0, 3) . '***' . substr($v['alipay_account'], -3);
2020-10-21 20:24:13 +08:00
$v['username'] = substr($v['username'], 0, 3) . '***' . substr($v['username'], -3);
2020-10-11 19:23:42 +08:00
}
$count = $cash->getCount();
$data = [
'Code' => 10000,
'count' => $count['count'],
'data' => $list,
];
echo json_encode($data);
}
//获取指定页码数据
public function pageList()
{
if (!$_GET) {
die;
}
$page = ($_GET['page'] - 1) * 50;
$cash = new CashMoedl;
2020-10-13 09:38:55 +08:00
$list = $cash->getListPage([], '*', 'id desc', "$page,50");
//提现状态
$status = ['待处理', '同意', '拒绝'];
foreach ($list as &$v) {
$v['status'] = $status[$v['status']];
$v['alipay_account'] = substr($v['alipay_account'], 0, 3) . '***' . substr($v['alipay_account'], -3);
2020-10-21 20:24:13 +08:00
$v['username'] = substr($v['username'], 0, 3) . '***' . substr($v['username'], -3);
2020-10-13 09:38:55 +08:00
}
2020-10-11 19:23:42 +08:00
$data = [
'Code' => 10000,
'data' => $list,
];
echo json_encode($data);
}
2020-10-13 09:38:55 +08:00
/**
2020-10-14 20:20:49 +08:00
* @description: 处理订单
* @param {type}
* @return {type}
2020-10-13 09:38:55 +08:00
*/
2020-10-11 19:23:42 +08:00
public function handle()
{
2020-10-13 09:38:55 +08:00
$data = json_decode(file_get_contents("php://input"), true)['info'];
2020-10-11 19:23:42 +08:00
$id = $data['id'];
unset($data['update_time']);
unset($data['create_time']);
unset($data['id']);
2020-10-21 20:24:13 +08:00
unset($data['username']);
2020-10-13 09:38:55 +08:00
2020-10-11 19:23:42 +08:00
$user = $this->userinfo;
2020-10-21 20:24:13 +08:00
$cash = new CashMoedl;
$cash_data = $cash->getOne(['id' => $id]);
if($data['status'] == '1'){
$param = [
'out_biz_no'=>'2020'.time().rand(10000,99999),
'trans_amount' => $cash_data['money'],
'product_code' => 'TRANS_ACCOUNT_NO_PWD',
'biz_scene' => 'DIRECT_TRANSFER',
'payee_info' => [
'identity' => $cash_data['alipay_account'],
'identity_type' => 'ALIPAY_LOGON_ID',
'name' => $cash_data['real_name']
],
'remark' => '聚IP提现-会员'.$cash_data['username'].'-'.$cash_data['money'].'元'
];
$result = Alipay::transfer($param);
if ($result){
$data['cash_no'] = $result->alipay_fund_trans_uni_transfer_response->out_biz_no;
$data['alipay_no'] = $result->alipay_fund_trans_uni_transfer_response->order_id;
$data['status'] = 1;
} else {
die;
}
} else if($data['status'] == '2'){
$user_model = new UserModel;
$user_rest = $user_model->getOne(['id'=>$data['userid']],'RestAmount')['RestAmount'];
$rest = $user_rest + $cash_data['money'];
$user_model->where(['id'=>$data['userid']])->update(['RestAmount'=>$rest]);
$score = new ScoreModel;
$score_data = [
'UserId' => $data['userid'],
'ScoreType' => 9,
'ScoreTypeName' => '提现被拒退还',
'ScoreValue' => $cash_data['money'],
'UserName' => $cash_data['username'],
'OperateUserName' => $user['LoginName'],
'RestAmount1' => $user_rest,
'RestAmount2' => $rest,
'CreateTime' => date('Y-m-d H:i:s',time()),
'UpdateTime' => date('Y-m-d H:i:s',time()),
'TenantId' => 0,
'DeleteTag' => 0,
];
$score->add($score_data);
}
2020-10-11 19:23:42 +08:00
$data['op_user'] = $user['LoginName'];
$status = ['0', '1', '2'];
2020-10-13 09:38:55 +08:00
if (!in_array($data['status'], $status)) {
2020-10-11 19:23:42 +08:00
unset($data['status']);
}
2020-10-21 20:24:13 +08:00
2020-10-13 09:38:55 +08:00
$up_status = $cash->where(['id' => $id])->update($data);
2020-10-11 19:23:42 +08:00
$return_info = [
'Code' => 10000,
];
echo json_encode($return_info);
}
2020-10-13 09:38:55 +08:00
//获取记录
public function search()
{
$username = json_decode(file_get_contents("php://input"), true)['username'];
$cash = new CashMoedl;
if ($username) {
$list = $cash->getListPage(['username' => $username], '*', 'id desc', '100');
} else {
$list = $cash->getListPage();
$count = $cash->getCount();
}
//提现状态
$status = ['待处理', '同意', '拒绝'];
foreach ($list as &$v) {
$v['status'] = $status[$v['status']];
$v['alipay_account'] = substr($v['alipay_account'], 0, 3) . '***' . substr($v['alipay_account'], -3);
}
$data = [
'Code' => 10000,
'count' => $count['count'] ?? 0,
'data' => $list,
];
echo json_encode($data);
}
2020-10-11 19:23:42 +08:00
}