diff --git a/app/admin/controller/Config.php b/app/admin/controller/Config.php index b89d23f..484e9e3 100755 --- a/app/admin/controller/Config.php +++ b/app/admin/controller/Config.php @@ -212,6 +212,11 @@ class Config extends Base //清除排行榜设置缓存 \app\common\helper\ConfigHelper::clearRankSettingsCache(); } + if ($data['key'] == 'app_setting') { + //清除redis缓存:app_setting + $redis = new RedisHelper(); + ($redis->getRedis())->del('config:app_setting'); + } $result = setConfig($data['key'], $data); if ($result) { diff --git a/app/admin/controller/User.php b/app/admin/controller/User.php index 8e5502a..e4d138f 100755 --- a/app/admin/controller/User.php +++ b/app/admin/controller/User.php @@ -538,7 +538,7 @@ class User extends Base $profit_loss_total = 0; $money = 0; foreach ($data['list'] as $k => &$v) { - #公式 (充值余额 + 吧唧币 + 微信支付 - 余额 - 背包赏品 + #公式 (充值余额 + 币 + 微信支付 - 余额 - 背包赏品 $cz_money = ProfitMoney::field('change_money')->where('user_id', '=', $v['id'])->where('type', '=', 1)->where('change_money', '>', 0)->where($where)->sum('change_money'); $wx_money = ProfitMoney::field('change_money')->where('user_id', '=', $v['id'])->where('type', '=', 2)->where('change_money', '>', 0)->where($where)->sum('change_money'); $cz_yue = $cz_money + $wx_money; diff --git a/app/admin/controller/UserRank.php b/app/admin/controller/UserRank.php new file mode 100644 index 0000000..b509466 --- /dev/null +++ b/app/admin/controller/UserRank.php @@ -0,0 +1,81 @@ +param('type', 'invite'); + + // 页码和每页显示条数 + $page = request()->param('page/d', 1); + $limit = request()->param('limit/d', 15); + + // 排序字段,主要用于亏损排行榜可按亏损金额或亏损率排序 + $sortField = request()->param('sort_field', 'loss_money'); + + // 获取排行榜服务类 + $rankService = new RankService(); + + // 获取排行榜数据 + try { + // 亏损排行榜需要额外传入排序字段 + if ($sortField != 'loss_money') { + $data = $rankService->getRankList('loss_desc', $page, $limit); + } else { + $data = $rankService->getRankList($type, $page, $limit); + } + + // 向模板传递变量 + View::assign('list', $data); + View::assign('type', $type); + View::assign('page', $page); + View::assign('limit', $limit); + View::assign('sort_field', $sortField); + + return View::fetch('user_rank/index'); + } catch (\Exception $e) { + // 异常处理 + return $this->renderError($e->getMessage()); + } + } + + /** + * 异步加载排行榜数据接口 + */ + public function getRankData() + { + // 获取参数 + $type = request()->param('type', 'invite'); + $page = request()->param('page/d', 1); + $limit = request()->param('limit/d', 15); + $sortField = request()->param('sort_field', 'loss_money'); + + // 获取排行榜服务类 + $rankService = new RankService(); + + try { + // 亏损排行榜需要额外传入排序字段 + if ($type == 'loss') { + $data = $rankService->getLossRank(0, 0, $page, $limit, $sortField); + } else { + $data = $rankService->getRankList($type, $page, $limit); + } + + return $this->renderSuccess('获取成功', $data); + } catch (\Exception $e) { + return $this->renderError($e->getMessage()); + } + } +} \ No newline at end of file diff --git a/app/admin/route/app.php b/app/admin/route/app.php index 54360bb..7310630 100755 --- a/app/admin/route/app.php +++ b/app/admin/route/app.php @@ -396,4 +396,10 @@ Route::post('sign_config_reward_edit', 'SignConfig/rewardEdit'); Route::post('sign_config_delete', 'SignConfig/delete'); Route::post('sign_config_sort', 'SignConfig/sort'); Route::post('sign_config_status', 'SignConfig/status'); -Route::get('sign_config_coupons', 'SignConfig/getCoupons'); \ No newline at end of file +Route::get('sign_config_coupons', 'SignConfig/getCoupons'); + +#============================ +#UserRank.php用户排行榜 +#============================ +Route::rule('user_rank', 'UserRank/index', 'GET'); +Route::rule('user_rank_data', 'UserRank/getRankData', 'GET'); \ No newline at end of file diff --git a/app/admin/view/Config/systemconfig.html b/app/admin/view/Config/systemconfig.html index 48d36b1..1a9a01b 100755 --- a/app/admin/view/Config/systemconfig.html +++ b/app/admin/view/Config/systemconfig.html @@ -29,7 +29,7 @@
| 排名 | +用户ID | +用户昵称 | +头像 | ++ {if $type=='invite'}邀请人数 + {elseif $type=='loss'}亏损金额 + {elseif $type=='dadajuan'}达达卷数量 + {elseif $type=='diamond'}钻石数量 + {elseif $type=='integral'}UU币数量 + {/if} + | + + {if $type=='loss'} +消耗金额 | +出货金额 | +亏损率 | + {/if} +
|---|---|---|---|---|---|---|---|
| {$vo.rank} | +{$vo.user_id} | +{$vo.nickname} | +
+ |
+ {$vo.value} {$vo.unit} | + + {if $type=='loss'} +{$vo.consume_money} 元 | +{$vo.output_money} 元 | +{$vo.loss_rate}% | + {/if} +