mirror of
https://gitee.com/zoujingli/ThinkAdmin.git
synced 2025-05-22 22:59:14 +08:00
修改用户提现记录
This commit is contained in:
parent
8991dddb7c
commit
a74b216dfd
@ -3,6 +3,7 @@
|
|||||||
namespace app\data\controller;
|
namespace app\data\controller;
|
||||||
|
|
||||||
use app\data\service\UserService;
|
use app\data\service\UserService;
|
||||||
|
use app\data\service\UserUpgradeService;
|
||||||
use think\admin\Controller;
|
use think\admin\Controller;
|
||||||
use think\admin\extend\CodeExtend;
|
use think\admin\extend\CodeExtend;
|
||||||
use think\admin\service\AdminService;
|
use think\admin\service\AdminService;
|
||||||
@ -20,6 +21,25 @@ class UserTransfer extends Controller
|
|||||||
*/
|
*/
|
||||||
private $table = 'DataUserTransfer';
|
private $table = 'DataUserTransfer';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 奖励提现配置
|
||||||
|
* @throws \think\db\exception\DataNotFoundException
|
||||||
|
* @throws \think\db\exception\DbException
|
||||||
|
* @throws \think\db\exception\ModelNotFoundException
|
||||||
|
*/
|
||||||
|
public function config()
|
||||||
|
{
|
||||||
|
$this->skey = 'TransferRule';
|
||||||
|
$this->title = '奖励提现配置';
|
||||||
|
if ($this->request->isGet()) {
|
||||||
|
$this->data = sysdata($this->skey);
|
||||||
|
$this->fetch();
|
||||||
|
} else {
|
||||||
|
sysdata($this->skey, $this->request->post());
|
||||||
|
$this->success('配置修改成功');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 用户提现管理
|
* 用户提现管理
|
||||||
* @menu true
|
* @menu true
|
||||||
|
@ -3,6 +3,8 @@
|
|||||||
namespace app\data\controller\api\auth;
|
namespace app\data\controller\api\auth;
|
||||||
|
|
||||||
use app\data\controller\api\Auth;
|
use app\data\controller\api\Auth;
|
||||||
|
use app\data\service\UserUpgradeService;
|
||||||
|
use think\admin\extend\CodeExtend;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 用户返利管理
|
* 用户返利管理
|
||||||
@ -28,4 +30,55 @@ class Rebate extends Auth
|
|||||||
$query = $this->_query($this->table)->where(['uid' => $this->uuid]);
|
$query = $this->_query($this->table)->where(['uid' => $this->uuid]);
|
||||||
$query->like('create_at#date')->order('id desc')->page(true, false, false, 15);
|
$query->like('create_at#date')->order('id desc')->page(true, false, false, 15);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 提交用户提现审核
|
||||||
|
* @throws \think\db\exception\DataNotFoundException
|
||||||
|
* @throws \think\db\exception\DbException
|
||||||
|
* @throws \think\db\exception\ModelNotFoundException
|
||||||
|
*/
|
||||||
|
public function addUsed()
|
||||||
|
{
|
||||||
|
if (!empty($this->user['status'])) {
|
||||||
|
$this->error('账户异常,请联系客服');
|
||||||
|
}
|
||||||
|
$data = $this->_vali([
|
||||||
|
'amount.require' => '提现金额不能为空',
|
||||||
|
'remark.default' => '用户主动提交审核',
|
||||||
|
]);
|
||||||
|
$params = sysdata('TransferRule') ?: [];
|
||||||
|
if (empty($params['transfer_state'])) $this->error('提现功能已经关闭');
|
||||||
|
[$total, $count] = UserUpgradeService::instance()->syncRebate($this->uuid);
|
||||||
|
if ($total - $count - $data['amount'] < 0) $this->error('可提现金额不足');
|
||||||
|
if ($data['amount'] < $params['transfer_min']) $this->error("提现不能少于{$params['transfer_min']}元");
|
||||||
|
if ($data['amount'] > $params['transfer_max']) $this->error("提现不能大于{$params['transfer_max']}元");
|
||||||
|
$result = $this->app->db->name('DataUserTransfer')->insert([
|
||||||
|
'uid' => $this->uuid,
|
||||||
|
'code' => CodeExtend::uniqidDate(20, 'T'),
|
||||||
|
'openid' => $this->user['openid1'],
|
||||||
|
'status' => $params['transfer_audit'] > 0 ? 2 : 1,
|
||||||
|
'amount' => $data['amount'],
|
||||||
|
'remark' => $data['remark'],
|
||||||
|
]);
|
||||||
|
if ($result !== false) {
|
||||||
|
UserUpgradeService::instance()->syncRebate($this->uuid);
|
||||||
|
$this->success('提交申请成功');
|
||||||
|
} else {
|
||||||
|
$this->error('提交申请失败');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取用户提现记录
|
||||||
|
* @throws \think\db\exception\DataNotFoundException
|
||||||
|
* @throws \think\db\exception\DbException
|
||||||
|
* @throws \think\db\exception\ModelNotFoundException
|
||||||
|
*/
|
||||||
|
public function getUsed()
|
||||||
|
{
|
||||||
|
$date = input('date', date('Y-m-'));
|
||||||
|
$map = [['mid', '=', $this->mid], ['create_at', 'like', "{$date}%"]];
|
||||||
|
$query = $this->_query('DataUserTransfer')->in('status')->order('id desc');
|
||||||
|
$this->success('获取提现记录', $query->where($map)->page(true, false, false, 15));
|
||||||
|
}
|
||||||
}
|
}
|
@ -69,13 +69,13 @@ class UserUpgradeService extends Service
|
|||||||
*/
|
*/
|
||||||
public function syncRebate(int $uuid): array
|
public function syncRebate(int $uuid): array
|
||||||
{
|
{
|
||||||
$total = abs($this->app->db->name('DataUserRebate')->where("uid='{$uuid}' and status=1 and amount>0 and deleted=0")->sum('amount'));
|
$count = abs($this->app->db->name('DataUserTransfer')->where("uid='{$uuid}' and status>0")->sum('amount'));
|
||||||
$count = abs($this->app->db->name('DataUserRebate')->where("uid='{$uuid}' and status=1 and amount<0 and deleted=0")->sum('amount'));
|
$total = abs($this->app->db->name('DataUserRebate')->where("uid='{$uuid}' and status=1 and deleted=0")->sum('amount'));
|
||||||
$lockd = abs($this->app->db->name('DataUserRebate')->where("uid='{$uuid}' and status=0 and amount<0 and deleted=0")->sum('amount'));
|
$locks = abs($this->app->db->name('DataUserRebate')->where("uid='{$uuid}' and status=0 and deleted=0")->sum('amount'));
|
||||||
$this->app->db->name('DataUser')->where(['id' => $uuid])->update([
|
$this->app->db->name('DataUser')->where(['id' => $uuid])->update([
|
||||||
'rebate_total' => $total, 'rebate_used' => $count, 'rebate_lock' => $lockd,
|
'rebate_total' => $total, 'rebate_used' => $count, 'rebate_lock' => $locks,
|
||||||
]);
|
]);
|
||||||
return [$total, $count, $lockd];
|
return [$total, $count, $locks];
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
73
app/data/view/user_transfer/config.html
Normal file
73
app/data/view/user_transfer/config.html
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
<form class="layui-form layui-card" action="{:request()->url()}" data-auto="true" method="post" autocomplete="off">
|
||||||
|
<div class="layui-card-body padding-left-40">
|
||||||
|
|
||||||
|
<div class="layui-form-item relative block">
|
||||||
|
<span class="color-green font-w7 label-required-prev">是否开启提现</span>
|
||||||
|
<span class="color-desc margin-left-5">Transfer State</span>
|
||||||
|
<div class="layui-textarea padding-15" style="min-height:auto">
|
||||||
|
{php} $data['transfer_state'] = $data['transfer_state'] ?? 0; {/php}
|
||||||
|
{foreach ['关闭用户提现', '开启用户提现'] as $k => $v}
|
||||||
|
{if $data.transfer_state eq $k}
|
||||||
|
<input checked class="layui-input layui-bg-gray" type="radio" title="{$v}" name="transfer_state" value="{$k}">
|
||||||
|
{else}
|
||||||
|
<input class="layui-input layui-bg-gray" type="radio" title="{$v}" name="transfer_state" value="{$k}">
|
||||||
|
{/if}{/foreach}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-form-item relative block">
|
||||||
|
<span class="color-green font-w7 label-required-prev">提现金额范围</span>
|
||||||
|
<span class="color-desc margin-left-5">Transfer Range</span>
|
||||||
|
<div class="padding-10">
|
||||||
|
<div class="layui-inline">
|
||||||
|
<label class="layui-input-inline" style="width:200px;">
|
||||||
|
<span class="font-s12 color-blue">最小提现金额( 元 )</span>
|
||||||
|
<input type="text" placeholder="¥" class="layui-input" data-blur-number="2" name="transfer_min" value="{$data.transfer_min|default='1.00'}">
|
||||||
|
</label>
|
||||||
|
<div class="layui-form-mid text-center notselect">
|
||||||
|
<span class="block"> </span>
|
||||||
|
<span class="block">-</span>
|
||||||
|
</div>
|
||||||
|
<label class="layui-input-inline" style="width:200px;">
|
||||||
|
<span class="font-s12 color-blue">最大提现金额( 元 )</span>
|
||||||
|
<input type="text" placeholder="¥" class="layui-input" data-blur-number="2" name="transfer_max" value="{$data.transfer_max|default='2000.00'}">
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-form-item relative block">
|
||||||
|
<span class="color-green font-w7 label-required-prev">提现是否需要审核</span>
|
||||||
|
<span class="color-desc margin-left-5">Transfer Audit</span>
|
||||||
|
<div class="layui-textarea padding-15" style="min-height:auto">
|
||||||
|
{php} $data['transfer_audit'] = $data['transfer_audit'] ?? 0; {/php}
|
||||||
|
{foreach ['提现无需审核', '提现需要审核'] as $k => $v}
|
||||||
|
{if $data.transfer_audit eq $k}
|
||||||
|
<input checked class="layui-input layui-bg-gray" type="radio" title="{$v}" name="transfer_audit" value="{$k}">
|
||||||
|
{else}
|
||||||
|
<input class="layui-input layui-bg-gray" type="radio" title="{$v}" name="transfer_audit" value="{$k}">
|
||||||
|
{/if}{/foreach}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-form-item relative block">
|
||||||
|
<span class="color-green font-w7">用户提现描述内容</span>
|
||||||
|
<span class="color-desc margin-left-5">Transfer Remark</span>
|
||||||
|
<label class="relative block">
|
||||||
|
<textarea class="layui-textarea" placeholder="请输入用户提现描述内容" name="remark">{$data.remark|default=''}</textarea>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="hr-line-dashed"></div>
|
||||||
|
|
||||||
|
<div class="layui-form-item text-center">
|
||||||
|
<button class="layui-btn" type='submit'>保存数据</button>
|
||||||
|
<button class="layui-btn layui-btn-danger" type='button' data-confirm="确定要取消编辑吗?" data-close>取消编辑</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
layui.form.render();
|
||||||
|
</script>
|
||||||
|
</form>
|
@ -1,6 +1,9 @@
|
|||||||
{extend name="../../admin/view/main"}
|
{extend name="../../admin/view/main"}
|
||||||
|
|
||||||
{block name="button"}
|
{block name="button"}
|
||||||
|
<!--{if auth('config')}-->
|
||||||
|
<a class="layui-btn layui-btn-sm layui-btn-primary" data-modal="{:url('config')}">提现配置</a>
|
||||||
|
<!--{/if}-->
|
||||||
<!--{if auth('sync')}-->
|
<!--{if auth('sync')}-->
|
||||||
<a class="layui-btn layui-btn-sm layui-btn-primary" data-queue="{:url('sync')}">打款服务</a>
|
<a class="layui-btn layui-btn-sm layui-btn-primary" data-queue="{:url('sync')}">打款服务</a>
|
||||||
<!--{/if}-->
|
<!--{/if}-->
|
||||||
|
Loading…
x
Reference in New Issue
Block a user