From bcc0f7156f82fc2d9cc5ee90a175205d26bf5814 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E6=99=AF=E7=AB=8B?= <zoujingli@qq.com> Date: Thu, 18 Mar 2021 18:50:49 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../command/{UserBalance.php => UserAmount.php} | 15 ++++++++------- app/data/controller/User.php | 13 ++++++++++--- app/data/sys.php | 4 ++-- app/data/view/user/index.html | 6 ++++++ app/data/view/user_rebate/index.html | 4 ++-- app/data/view/user_upgrade/index.html | 2 +- 6 files changed, 29 insertions(+), 15 deletions(-) rename app/data/command/{UserBalance.php => UserAmount.php} (71%) diff --git a/app/data/command/UserBalance.php b/app/data/command/UserAmount.php similarity index 71% rename from app/data/command/UserBalance.php rename to app/data/command/UserAmount.php index 0631bc542..55a9e24c7 100644 --- a/app/data/command/UserBalance.php +++ b/app/data/command/UserAmount.php @@ -3,23 +3,23 @@ namespace app\data\command; use app\data\service\UserBalanceService; -use app\data\service\UserUpgradeService; +use app\data\service\UserRebateService; use think\admin\Command; use think\admin\Exception; use think\console\Input; use think\console\Output; /** - * 用户余额重算处理 + * 用户余额及返利重算处理 * Class UserBalance * @package app\data\command */ -class UserBalance extends Command +class UserAmount extends Command { protected function configure() { - $this->setName('xdata:UserBalance'); - $this->setDescription('批量重新计算用户余额'); + $this->setName('xdata:UserAmount'); + $this->setDescription('批量重新计算余额返利'); } /** @@ -33,9 +33,10 @@ class UserBalance extends Command try { [$total, $count] = [$this->app->db->name('DataUser')->count(), 0]; foreach ($this->app->db->name('DataUser')->field('id')->cursor() as $user) { - $this->queue->message($total, ++$count, "正在计算用户 [{$user['id']}] 的余额"); + $this->queue->message($total, ++$count, "正在计算用户 [{$user['id']}] 的余额和返利"); + UserRebateService::instance()->amount($user['id']); UserBalanceService::instance()->amount($user['id']); - $this->queue->message($total, $count, "完成计算用户 [{$user['id']}] 的余额", 1); + $this->queue->message($total, $count, "完成计算用户 [{$user['id']}] 的余额和返利", 1); } } catch (\Exception $exception) { $this->queue->error($exception->getMessage()); diff --git a/app/data/controller/User.php b/app/data/controller/User.php index 6a2ce2f68..9ff2ad35c 100644 --- a/app/data/controller/User.php +++ b/app/data/controller/User.php @@ -38,9 +38,6 @@ class User extends Controller /** * 数据列表处理 * @param array $data - * @throws \think\db\exception\DataNotFoundException - * @throws \think\db\exception\DbException - * @throws \think\db\exception\ModelNotFoundException */ protected function _page_filter(array &$data) { @@ -48,6 +45,16 @@ class User extends Controller UserAdminService::instance()->buildByUid($data, 'pid1', 'from'); } + + /** + * 重新计算用户余额返利 + * @auth true + */ + public function sync() + { + $this->_queue('重新计算用户余额返利', 'xdata:UserAmount'); + } + /** * 修改用户状态 * @auth true diff --git a/app/data/sys.php b/app/data/sys.php index 397791bab..0c894ee74 100644 --- a/app/data/sys.php +++ b/app/data/sys.php @@ -1,7 +1,7 @@ <?php use app\data\command\OrderClear; -use app\data\command\UserBalance; +use app\data\command\UserAmount; use app\data\command\UserTransfer; use app\data\command\UserUpgrade; use app\data\service\OrderService; @@ -13,7 +13,7 @@ use think\Console; if (app()->request->isCli()) { Console::starting(function (Console $console) { $console->addCommand(OrderClear::class); - $console->addCommand(UserBalance::class); + $console->addCommand(UserAmount::class); $console->addCommand(UserUpgrade::class); $console->addCommand(UserTransfer::class); }); diff --git a/app/data/view/user/index.html b/app/data/view/user/index.html index a2b62ddc1..37a307e55 100644 --- a/app/data/view/user/index.html +++ b/app/data/view/user/index.html @@ -1,5 +1,11 @@ {extend name="../../admin/view/main"} +{block name="button"} +<!--{if auth("sync")}--> +<button data-queue="{:url('sync')}" class='layui-btn layui-btn-sm layui-btn-primary'>刷新用户余额返利</button> +<!--{/if}--> +{/block} + {block name="content"} <div class="think-box-shadow table-block"> {include file='user/index_search'} diff --git a/app/data/view/user_rebate/index.html b/app/data/view/user_rebate/index.html index 9ea242462..ce790678f 100644 --- a/app/data/view/user_rebate/index.html +++ b/app/data/view/user_rebate/index.html @@ -8,7 +8,7 @@ {block name="content"} <div class="layui-badge layui-bg-cyan text-left notselect block shadow margin-0 padding-10 padding-left-20 border-radius-5 font-s15"> - 返利统计:累计已产生返利 <b>{$rebate.0|default=0.00}</b> 元( 不含锁定 <b>{$rebate.2|default='0.00'}</b> 元 ),累计已提现 <b>{$total.1|default=0.00}</b> 元。 + 返利统计:累计已产生返利 <b>{$rebate.0+$rebate.2}</b> 元 ( 含未到账 <b>{$rebate.2|default='0.00'}</b> 元 ),累计已提现 <b>{$total.1|default=0.00}</b> 元。 </div> <div class="think-box-shadow margin-top-10"> {include file='user_rebate/index_search'} @@ -56,7 +56,7 @@ <div class="layui-badge layui-badge-middle layui-bg-black" style="line-height:14px">{$vo.type|default=''}</div> <div class="inline-block text-middle"> <div>返利时间:<span class="color-blue">{$vo.create_at|format_datetime}</span></div> - <div>返利描述:{$vo.name|default=''} {if $vo.status}<span class="layui-badge layui-bg-black margin-left-5">未到账</span>{else}<span class="layui-badge layui-bg-green margin-left-5">已到账</span>{/if}</div> + <div>返利描述:{$vo.name|default='-'} {empty name='vo.status'}<span class="layui-badge layui-bg-black margin-left-5">未到账</span>{else}<span class="layui-badge layui-bg-green margin-left-5">已到账</span>{/empty}</div> <div class="sub-strong-blue">订单 <b>{$vo.order_no|default='--'}</b> 交易 <b>{$vo.order_amount+0}</b> 元返利 <b>{$vo.amount+0}</b> 元</div> </div> </td> diff --git a/app/data/view/user_upgrade/index.html b/app/data/view/user_upgrade/index.html index 25a3a1aa7..de9ddbc92 100644 --- a/app/data/view/user_upgrade/index.html +++ b/app/data/view/user_upgrade/index.html @@ -6,7 +6,7 @@ <!--{/if}--> <!--{if auth("sync")}--> -<button data-queue="{:url('sync')}" data-confirm="确定要刷新用户数据吗?" class='layui-btn layui-btn-sm layui-btn-primary'>刷新用户数据</button> +<button data-queue="{:url('sync')}" class='layui-btn layui-btn-sm layui-btn-primary'>刷新用户数据</button> <!--{/if}--> {/block}