123
This commit is contained in:
parent
be0a485dea
commit
5e25df1ea0
|
|
@ -79,7 +79,7 @@ class Advert extends Base
|
|||
return $this->renderError("优惠券不存在");
|
||||
}
|
||||
}
|
||||
if ($data['ttype'] == 2 || $data['ttype'] == 3) {
|
||||
if ($data['ttype'] == 2 || $data['ttype'] == 3 || $data['ttype'] == 4) {
|
||||
if (empty($data['goods_id']) || $data['goods_id'] < 0) {
|
||||
return $this->renderError("盒子id错误");
|
||||
}
|
||||
|
|
@ -88,6 +88,15 @@ class Advert extends Base
|
|||
return $this->renderError("盒子不存在");
|
||||
}
|
||||
}
|
||||
if ($data['ttype'] == 5) {
|
||||
if (empty($data['url_link'])) {
|
||||
return $this->renderError("请输入跳转链接");
|
||||
}
|
||||
// 简单的URL格式验证
|
||||
if (!filter_var($data['url_link'], FILTER_VALIDATE_URL)) {
|
||||
return $this->renderError("请输入有效的URL地址,必须包含http://或https://");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (isset($data['sort']) && !ctype_digit((string)$data['sort'])) {
|
||||
|
|
@ -153,7 +162,7 @@ class Advert extends Base
|
|||
return $this->renderError("优惠券不存在");
|
||||
}
|
||||
}
|
||||
if ($data['ttype'] == 2 || $data['ttype'] == 3) {
|
||||
if ($data['ttype'] == 2 || $data['ttype'] == 3 || $data['ttype'] == 4) {
|
||||
if (empty($data['goods_id']) || $data['goods_id'] < 0) {
|
||||
return $this->renderError("盒子id错误");
|
||||
}
|
||||
|
|
@ -162,6 +171,15 @@ class Advert extends Base
|
|||
return $this->renderError("盒子不存在");
|
||||
}
|
||||
}
|
||||
if ($data['ttype'] == 5) {
|
||||
if (empty($data['url_link'])) {
|
||||
return $this->renderError("请输入跳转链接");
|
||||
}
|
||||
// 简单的URL格式验证
|
||||
if (!filter_var($data['url_link'], FILTER_VALIDATE_URL)) {
|
||||
return $this->renderError("请输入有效的URL地址,必须包含http://或https://");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (isset($data['sort']) && !ctype_digit((string)$data['sort'])) {
|
||||
|
|
|
|||
|
|
@ -82,6 +82,7 @@ class Config extends Base
|
|||
$app_setting = getConfig('app_setting');
|
||||
$infinite_multiple = getConfig('infinite_multiple');
|
||||
$wechatofficialaccount_setting = getConfig('wechatofficialaccount_setting');
|
||||
$rank_setting = getConfig('rank_setting');
|
||||
|
||||
View::assign("key", "systemconfig");
|
||||
View::assign("data", $config);
|
||||
|
|
@ -90,6 +91,7 @@ class Config extends Base
|
|||
View::assign("app_setting", $app_setting);
|
||||
View::assign("wechatofficialaccount_setting", $wechatofficialaccount_setting);
|
||||
View::assign("infinite_multiple", $infinite_multiple);
|
||||
View::assign("rank_setting", $rank_setting);
|
||||
return View::fetch('Config/systemconfig');
|
||||
}
|
||||
|
||||
|
|
@ -144,6 +146,11 @@ class Config extends Base
|
|||
$redis = new RedisHelper();
|
||||
($redis->getRedis())->del('config:infinite_multiple');
|
||||
}
|
||||
|
||||
if ($data['key'] == 'rank_setting') {
|
||||
//清除排行榜设置缓存
|
||||
\app\common\helper\ConfigHelper::clearRankSettingsCache();
|
||||
}
|
||||
|
||||
$result = setConfig($data['key'], $data);
|
||||
if ($result) {
|
||||
|
|
|
|||
|
|
@ -34,6 +34,7 @@
|
|||
<input type="radio" name="ttype" value="2" lay-filter="ttype" class="layui-input" title="一番赏(包含全局赏,积分赏)" >
|
||||
<input type="radio" name="ttype" value="3" lay-filter="ttype" class="layui-input" title="无限赏(包含领主赏)" >
|
||||
<input type="radio" name="ttype" value="4" lay-filter="ttype" class="layui-input" title="连击赏" >
|
||||
<input type="radio" name="ttype" value="5" lay-filter="ttype" class="layui-input" title="自定义URL" >
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
@ -49,6 +50,13 @@
|
|||
<input type="text" name="goods_id" value="0" lay-verify="required" placeholder="请输入盒子id" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item url_link">
|
||||
<label class="layui-form-label">跳转链接</label>
|
||||
<div class="layui-input-inline" style="width: 400px;">
|
||||
<input type="text" name="url_link" value="" lay-verify="required" placeholder="请输入完整的URL地址" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
<div class="layui-form-mid layui-word-aux">例如: /pages/shouye/index</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">图片</label>
|
||||
<div class="layui-input-inline">
|
||||
|
|
@ -82,23 +90,33 @@
|
|||
|
||||
$(".coupon_id").hide();
|
||||
$(".goods_id").hide();
|
||||
$(".url_link").hide();
|
||||
form.on('radio(ttype)', function (data) {
|
||||
var value = data.value; // 当前选中的value值
|
||||
if(value == 1){
|
||||
$(".coupon_id").show();
|
||||
$(".goods_id").hide();
|
||||
$(".url_link").hide();
|
||||
}else if(value == 2) {
|
||||
$(".coupon_id").hide();
|
||||
$(".goods_id").show();
|
||||
$(".url_link").hide();
|
||||
}else if(value == 3) {
|
||||
$(".coupon_id").hide();
|
||||
$(".goods_id").show();
|
||||
$(".url_link").hide();
|
||||
}else if(value == 4) {
|
||||
$(".coupon_id").hide();
|
||||
$(".goods_id").show();
|
||||
$(".url_link").hide();
|
||||
}else if(value == 5) {
|
||||
$(".coupon_id").hide();
|
||||
$(".goods_id").hide();
|
||||
$(".url_link").show();
|
||||
}else {
|
||||
$(".coupon_id").hide();
|
||||
$(".goods_id").hide();
|
||||
$(".url_link").hide();
|
||||
}
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -34,6 +34,7 @@
|
|||
<input type="radio" name="ttype" value="2" lay-filter="ttype" class="layui-input" title="一番赏(包含全局赏,积分赏)" {if condition="$data.ttype eq 2"}checked{/if}>
|
||||
<input type="radio" name="ttype" value="3" lay-filter="ttype" class="layui-input" title="无限赏(包含领主赏)" {if condition="$data.ttype eq 3"}checked{/if}>
|
||||
<input type="radio" name="ttype" value="4" lay-filter="ttype" class="layui-input" title="连击赏" {if condition="$data.ttype eq 4"}checked{/if}>
|
||||
<input type="radio" name="ttype" value="5" lay-filter="ttype" class="layui-input" title="自定义URL" {if condition="$data.ttype eq 5"}checked{/if}>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
@ -49,6 +50,13 @@
|
|||
<input type="text" name="goods_id" value="{$data['goods_id']}" lay-verify="required" placeholder="请输入盒子id" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item url_link">
|
||||
<label class="layui-form-label">跳转链接</label>
|
||||
<div class="layui-input-inline" style="width: 400px;">
|
||||
<input type="text" name="url_link" value="{$data['url_link']}" lay-verify="required" placeholder="请输入完整的URL地址" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
<div class="layui-form-mid layui-word-aux">例如: /pages/shouye/index</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">图片</label>
|
||||
<div class="layui-input-inline">
|
||||
|
|
@ -90,18 +98,27 @@
|
|||
if(value == 1){
|
||||
$(".coupon_id").show();
|
||||
$(".goods_id").hide();
|
||||
$(".url_link").hide();
|
||||
}else if(value == 2) {
|
||||
$(".coupon_id").hide();
|
||||
$(".goods_id").show();
|
||||
$(".url_link").hide();
|
||||
}else if(value == 3) {
|
||||
$(".coupon_id").hide();
|
||||
$(".goods_id").show();
|
||||
$(".url_link").hide();
|
||||
}else if(value == 4) {
|
||||
$(".coupon_id").hide();
|
||||
$(".goods_id").show();
|
||||
$(".url_link").hide();
|
||||
}else if(value == 5) {
|
||||
$(".coupon_id").hide();
|
||||
$(".goods_id").hide();
|
||||
$(".url_link").show();
|
||||
}else {
|
||||
$(".coupon_id").hide();
|
||||
$(".goods_id").hide();
|
||||
$(".url_link").hide();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -136,8 +136,9 @@
|
|||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">小程序版本号</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="applet_version" value="{$app_setting.applet_version|default=''}"
|
||||
autocomplete="off" class="layui-input" placeholder="请输入小程序版本号,如v1.0.0">
|
||||
<input type="text" name="applet_version"
|
||||
value="{$app_setting.applet_version|default=''}" autocomplete="off"
|
||||
class="layui-input" placeholder="请输入小程序版本号,如v1.0.0">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
|
|
@ -152,7 +153,8 @@
|
|||
<div class="layui-form-item">
|
||||
<div class="layui-input-block">
|
||||
<button class="layui-btn" lay-submit lay-filter="app-setting-form">保存</button>
|
||||
<button type="button" class="layui-btn layui-btn-normal" id="copy-download-json">复制并下载json格式</button>
|
||||
<button type="button" class="layui-btn layui-btn-normal"
|
||||
id="copy-download-json">复制并下载json格式</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
|
@ -199,35 +201,6 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header">微信设置</div>
|
||||
<div class="layui-card-body">
|
||||
<form class="layui-form" action="" lay-filter="wechat-setting-form">
|
||||
<input type="hidden" name="key" value="wechat_setting">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">Appid</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="appid" value="{$wechat_setting.appid|default=''}"
|
||||
autocomplete="off" class="layui-input" placeholder="请输入微信AppID">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">AppSecret</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="appSecret" value="{$wechat_setting.appSecret|default=''}"
|
||||
autocomplete="off" class="layui-input" placeholder="请输入微信AppSecret">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-input-block">
|
||||
<button class="layui-btn" lay-submit lay-filter="wechat-setting-form">保存</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-card">
|
||||
|
|
@ -238,9 +211,15 @@
|
|||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">抽奖倍数</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="radio" name="multiple" value="1000" title="1000" {if !isset($infinite_multiple.multiple) || $infinite_multiple.multiple==1000}checked{/if}>
|
||||
<input type="radio" name="multiple" value="10000" title="10000" {if isset($infinite_multiple.multiple) && $infinite_multiple.multiple==10000}checked{/if}>
|
||||
<input type="radio" name="multiple" value="100000" title="100000" {if isset($infinite_multiple.multiple) && $infinite_multiple.multiple==100000}checked{/if}>
|
||||
<input type="radio" name="multiple" value="1000" title="1000" {if
|
||||
!isset($infinite_multiple.multiple) ||
|
||||
$infinite_multiple.multiple==1000}checked{/if}>
|
||||
<input type="radio" name="multiple" value="10000" title="10000" {if
|
||||
isset($infinite_multiple.multiple) &&
|
||||
$infinite_multiple.multiple==10000}checked{/if}>
|
||||
<input type="radio" name="multiple" value="100000" title="100000" {if
|
||||
isset($infinite_multiple.multiple) &&
|
||||
$infinite_multiple.multiple==100000}checked{/if}>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
|
|
@ -253,6 +232,161 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<!-- 排行榜设置卡片 -->
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header">排行榜设置</div>
|
||||
<div class="layui-card-body">
|
||||
<form class="layui-form" action="" lay-filter="rank-setting-form">
|
||||
<input type="hidden" name="key" value="rank_setting">
|
||||
|
||||
<!-- 达达卷排行榜 -->
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>达达卷排行榜</legend>
|
||||
</fieldset>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">统计方式</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="radio" name="dadajuan_stat_type" value="daily" title="每天统计" lay-filter="dadajuan_stat_type"
|
||||
{if !isset($rank_setting.dadajuan_stat_type) || $rank_setting.dadajuan_stat_type=='daily'}checked{/if}>
|
||||
<input type="radio" name="dadajuan_stat_type" value="weekly" title="每周统计" lay-filter="dadajuan_stat_type"
|
||||
{if isset($rank_setting.dadajuan_stat_type) && $rank_setting.dadajuan_stat_type=='weekly'}checked{/if}>
|
||||
<input type="radio" name="dadajuan_stat_type" value="monthly" title="每月统计" lay-filter="dadajuan_stat_type"
|
||||
{if isset($rank_setting.dadajuan_stat_type) && $rank_setting.dadajuan_stat_type=='monthly'}checked{/if}>
|
||||
<input type="radio" name="dadajuan_stat_type" value="yearly" title="每年统计" lay-filter="dadajuan_stat_type"
|
||||
{if isset($rank_setting.dadajuan_stat_type) && $rank_setting.dadajuan_stat_type=='yearly'}checked{/if}>
|
||||
<input type="radio" name="dadajuan_stat_type" value="custom" title="自定义时间范围" lay-filter="dadajuan_stat_type"
|
||||
{if isset($rank_setting.dadajuan_stat_type) && $rank_setting.dadajuan_stat_type=='custom'}checked{/if}>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item dadajuan-time-range" {if !isset($rank_setting.dadajuan_stat_type) || $rank_setting.dadajuan_stat_type!='custom'}style="display:none"{/if}>
|
||||
<label class="layui-form-label">开始时间</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="dadajuan_start_time" id="dadajuan_start_time"
|
||||
value="{$rank_setting.dadajuan_start_time|default=''}" autocomplete="off"
|
||||
class="layui-input" placeholder="不填则不限制开始时间">
|
||||
</div>
|
||||
<label class="layui-form-label">结束时间</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="dadajuan_end_time" id="dadajuan_end_time"
|
||||
value="{$rank_setting.dadajuan_end_time|default=''}" autocomplete="off"
|
||||
class="layui-input" placeholder="不填则不限制结束时间">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 钻石排行榜 -->
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>钻石排行榜</legend>
|
||||
</fieldset>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">统计方式</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="radio" name="diamond_stat_type" value="daily" title="每天统计" lay-filter="diamond_stat_type"
|
||||
{if !isset($rank_setting.diamond_stat_type) || $rank_setting.diamond_stat_type=='daily'}checked{/if}>
|
||||
<input type="radio" name="diamond_stat_type" value="weekly" title="每周统计" lay-filter="diamond_stat_type"
|
||||
{if isset($rank_setting.diamond_stat_type) && $rank_setting.diamond_stat_type=='weekly'}checked{/if}>
|
||||
<input type="radio" name="diamond_stat_type" value="monthly" title="每月统计" lay-filter="diamond_stat_type"
|
||||
{if isset($rank_setting.diamond_stat_type) && $rank_setting.diamond_stat_type=='monthly'}checked{/if}>
|
||||
<input type="radio" name="diamond_stat_type" value="yearly" title="每年统计" lay-filter="diamond_stat_type"
|
||||
{if isset($rank_setting.diamond_stat_type) && $rank_setting.diamond_stat_type=='yearly'}checked{/if}>
|
||||
<input type="radio" name="diamond_stat_type" value="custom" title="自定义时间范围" lay-filter="diamond_stat_type"
|
||||
{if isset($rank_setting.diamond_stat_type) && $rank_setting.diamond_stat_type=='custom'}checked{/if}>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item diamond-time-range" {if !isset($rank_setting.diamond_stat_type) || $rank_setting.diamond_stat_type!='custom'}style="display:none"{/if}>
|
||||
<label class="layui-form-label">开始时间</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="diamond_start_time" id="diamond_start_time"
|
||||
value="{$rank_setting.diamond_start_time|default=''}" autocomplete="off"
|
||||
class="layui-input" placeholder="不填则不限制开始时间">
|
||||
</div>
|
||||
<label class="layui-form-label">结束时间</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="diamond_end_time" id="diamond_end_time"
|
||||
value="{$rank_setting.diamond_end_time|default=''}" autocomplete="off"
|
||||
class="layui-input" placeholder="不填则不限制结束时间">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- UU币排行榜 -->
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>UU币排行榜</legend>
|
||||
</fieldset>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">统计方式</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="radio" name="integral_stat_type" value="daily" title="每天统计" lay-filter="integral_stat_type"
|
||||
{if !isset($rank_setting.integral_stat_type) || $rank_setting.integral_stat_type=='daily'}checked{/if}>
|
||||
<input type="radio" name="integral_stat_type" value="weekly" title="每周统计" lay-filter="integral_stat_type"
|
||||
{if isset($rank_setting.integral_stat_type) && $rank_setting.integral_stat_type=='weekly'}checked{/if}>
|
||||
<input type="radio" name="integral_stat_type" value="monthly" title="每月统计" lay-filter="integral_stat_type"
|
||||
{if isset($rank_setting.integral_stat_type) && $rank_setting.integral_stat_type=='monthly'}checked{/if}>
|
||||
<input type="radio" name="integral_stat_type" value="yearly" title="每年统计" lay-filter="integral_stat_type"
|
||||
{if isset($rank_setting.integral_stat_type) && $rank_setting.integral_stat_type=='yearly'}checked{/if}>
|
||||
<input type="radio" name="integral_stat_type" value="custom" title="自定义时间范围" lay-filter="integral_stat_type"
|
||||
{if isset($rank_setting.integral_stat_type) && $rank_setting.integral_stat_type=='custom'}checked{/if}>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item integral-time-range" {if !isset($rank_setting.integral_stat_type) || $rank_setting.integral_stat_type!='custom'}style="display:none"{/if}>
|
||||
<label class="layui-form-label">开始时间</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="integral_start_time" id="integral_start_time"
|
||||
value="{$rank_setting.integral_start_time|default=''}" autocomplete="off"
|
||||
class="layui-input" placeholder="不填则不限制开始时间">
|
||||
</div>
|
||||
<label class="layui-form-label">结束时间</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="integral_end_time" id="integral_end_time"
|
||||
value="{$rank_setting.integral_end_time|default=''}" autocomplete="off"
|
||||
class="layui-input" placeholder="不填则不限制结束时间">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 邀请新人排行榜 -->
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>邀请新人排行榜</legend>
|
||||
</fieldset>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">统计方式</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="radio" name="invite_stat_type" value="daily" title="每天统计" lay-filter="invite_stat_type"
|
||||
{if !isset($rank_setting.invite_stat_type) || $rank_setting.invite_stat_type=='daily'}checked{/if}>
|
||||
<input type="radio" name="invite_stat_type" value="weekly" title="每周统计" lay-filter="invite_stat_type"
|
||||
{if isset($rank_setting.invite_stat_type) && $rank_setting.invite_stat_type=='weekly'}checked{/if}>
|
||||
<input type="radio" name="invite_stat_type" value="monthly" title="每月统计" lay-filter="invite_stat_type"
|
||||
{if isset($rank_setting.invite_stat_type) && $rank_setting.invite_stat_type=='monthly'}checked{/if}>
|
||||
<input type="radio" name="invite_stat_type" value="yearly" title="每年统计" lay-filter="invite_stat_type"
|
||||
{if isset($rank_setting.invite_stat_type) && $rank_setting.invite_stat_type=='yearly'}checked{/if}>
|
||||
<input type="radio" name="invite_stat_type" value="custom" title="自定义时间范围" lay-filter="invite_stat_type"
|
||||
{if isset($rank_setting.invite_stat_type) && $rank_setting.invite_stat_type=='custom'}checked{/if}>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item invite-time-range" {if !isset($rank_setting.invite_stat_type) || $rank_setting.invite_stat_type!='custom'}style="display:none"{/if}>
|
||||
<label class="layui-form-label">开始时间</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="invite_start_time" id="invite_start_time"
|
||||
value="{$rank_setting.invite_start_time|default=''}" autocomplete="off"
|
||||
class="layui-input" placeholder="不填则不限制开始时间">
|
||||
</div>
|
||||
<label class="layui-form-label">结束时间</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="invite_end_time" id="invite_end_time"
|
||||
value="{$rank_setting.invite_end_time|default=''}" autocomplete="off"
|
||||
class="layui-input" placeholder="不填则不限制结束时间">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-input-block">
|
||||
<button class="layui-btn" lay-submit lay-filter="rank-setting-form">保存</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header">盒子同步地址</div>
|
||||
|
|
@ -308,6 +442,35 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header">微信设置</div>
|
||||
<div class="layui-card-body">
|
||||
<form class="layui-form" action="" lay-filter="wechat-setting-form">
|
||||
<input type="hidden" name="key" value="wechat_setting">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">Appid</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="appid" value="{$wechat_setting.appid|default=''}"
|
||||
autocomplete="off" class="layui-input" placeholder="请输入微信AppID">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">AppSecret</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="appSecret" value="{$wechat_setting.appSecret|default=''}"
|
||||
autocomplete="off" class="layui-input" placeholder="请输入微信AppSecret">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-input-block">
|
||||
<button class="layui-btn" lay-submit lay-filter="wechat-setting-form">保存</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header">微信公众号设置</div>
|
||||
|
|
@ -342,16 +505,18 @@
|
|||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{include file="Public:footer"/}
|
||||
|
||||
<script>
|
||||
layui.use(['form', 'layer', 'upload'], function () {
|
||||
layui.use(['form', 'layer', 'upload', 'laydate'], function () {
|
||||
var form = layui.form;
|
||||
var layer = layui.layer;
|
||||
var upload = layui.upload;
|
||||
var laydate = layui.laydate;
|
||||
|
||||
// 图标上传功能
|
||||
$('.upload-icon').each(function () {
|
||||
|
|
@ -598,18 +763,112 @@
|
|||
return false;
|
||||
});
|
||||
|
||||
// 排行榜设置表单提交
|
||||
form.on('submit(rank-setting-form)', function (data) {
|
||||
var field = data.field;
|
||||
|
||||
// 提交到后台
|
||||
$.ajax({
|
||||
url: '{:url("/admin/update")}',
|
||||
type: 'post',
|
||||
data: field,
|
||||
success: function (res) {
|
||||
if (res.status) {
|
||||
layer.msg(res.msg, { icon: 1 });
|
||||
} else {
|
||||
layer.msg(res.msg, { icon: 2 });
|
||||
}
|
||||
}
|
||||
});
|
||||
return false;
|
||||
});
|
||||
|
||||
// 初始化排行榜日期选择器
|
||||
laydate.render({
|
||||
elem: '#dadajuan_start_time',
|
||||
type: 'date'
|
||||
});
|
||||
|
||||
laydate.render({
|
||||
elem: '#dadajuan_end_time',
|
||||
type: 'date'
|
||||
});
|
||||
|
||||
laydate.render({
|
||||
elem: '#diamond_start_time',
|
||||
type: 'date'
|
||||
});
|
||||
|
||||
laydate.render({
|
||||
elem: '#diamond_end_time',
|
||||
type: 'date'
|
||||
});
|
||||
|
||||
laydate.render({
|
||||
elem: '#integral_start_time',
|
||||
type: 'date'
|
||||
});
|
||||
|
||||
laydate.render({
|
||||
elem: '#integral_end_time',
|
||||
type: 'date'
|
||||
});
|
||||
|
||||
laydate.render({
|
||||
elem: '#invite_start_time',
|
||||
type: 'date'
|
||||
});
|
||||
|
||||
laydate.render({
|
||||
elem: '#invite_end_time',
|
||||
type: 'date'
|
||||
});
|
||||
|
||||
// 监听排行榜统计方式的选择变化
|
||||
form.on('radio(dadajuan_stat_type)', function(data){
|
||||
if(data.value === 'custom'){
|
||||
$('.dadajuan-time-range').show();
|
||||
} else {
|
||||
$('.dadajuan-time-range').hide();
|
||||
}
|
||||
});
|
||||
|
||||
form.on('radio(diamond_stat_type)', function(data){
|
||||
if(data.value === 'custom'){
|
||||
$('.diamond-time-range').show();
|
||||
} else {
|
||||
$('.diamond-time-range').hide();
|
||||
}
|
||||
});
|
||||
|
||||
form.on('radio(integral_stat_type)', function(data){
|
||||
if(data.value === 'custom'){
|
||||
$('.integral-time-range').show();
|
||||
} else {
|
||||
$('.integral-time-range').hide();
|
||||
}
|
||||
});
|
||||
|
||||
form.on('radio(invite_stat_type)', function(data){
|
||||
if(data.value === 'custom'){
|
||||
$('.invite-time-range').show();
|
||||
} else {
|
||||
$('.invite-time-range').hide();
|
||||
}
|
||||
});
|
||||
|
||||
// 复制并下载JSON格式按钮点击事件
|
||||
$('#copy-download-json').on('click', function () {
|
||||
// 获取app-setting-form表单的所有值
|
||||
var formData = form.val('app-setting-form');
|
||||
|
||||
|
||||
// 创建包含当前时间戳的JSON对象
|
||||
var jsonData = Object.assign({}, formData);
|
||||
jsonData.update_time = Math.floor(Date.now() / 1000); // 添加时间戳(秒)
|
||||
|
||||
|
||||
// 格式化为JSON字符串
|
||||
var jsonString = JSON.stringify(jsonData, null, 2);
|
||||
|
||||
|
||||
// 复制到剪贴板
|
||||
var textArea = document.createElement("textarea");
|
||||
textArea.value = jsonString;
|
||||
|
|
@ -617,7 +876,7 @@
|
|||
textArea.select();
|
||||
document.execCommand('copy');
|
||||
document.body.removeChild(textArea);
|
||||
|
||||
|
||||
// 创建并下载JSON文件
|
||||
var blob = new Blob([jsonString], { type: 'application/json' });
|
||||
var link = document.createElement('a');
|
||||
|
|
@ -626,10 +885,10 @@
|
|||
document.body.appendChild(link);
|
||||
link.click();
|
||||
document.body.removeChild(link);
|
||||
|
||||
|
||||
// 提示用户
|
||||
layer.msg('已复制到剪贴板并下载JSON文件', { icon: 1 });
|
||||
|
||||
|
||||
return false; // 阻止表单提交
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -206,5 +206,280 @@ class Index extends Base
|
|||
return $this->renderSuccess('请求成功', $user_base);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取排行榜数据
|
||||
* 支持:diamond(钻石排行榜)、integral(UU币排行榜)、dadajuan(达达卷排行榜)、invite(邀请新人排行榜)
|
||||
*
|
||||
* @return \think\response\Json
|
||||
*/
|
||||
public function getRankList()
|
||||
{
|
||||
// 获取排行榜类型参数
|
||||
$type = request()->param('type', '');
|
||||
|
||||
// 验证排行榜类型是否有效
|
||||
$validTypes = ['diamond', 'integral', 'dadajuan', 'invite'];
|
||||
if (!in_array($type, $validTypes)) {
|
||||
return $this->renderError('无效的排行榜类型');
|
||||
}
|
||||
|
||||
// 从配置助手获取排行榜时间设置
|
||||
$timeSettings = \app\common\helper\ConfigHelper::getRankTime($type);
|
||||
$startTime = !empty($timeSettings['start_time']) ? strtotime($timeSettings['start_time']) : 0;
|
||||
$endTime = !empty($timeSettings['end_time']) ? strtotime($timeSettings['end_time']) : time();
|
||||
|
||||
// 设置分页参数
|
||||
$page = request()->param('page/d', 1);
|
||||
$limit = request()->param('limit/d', 10);
|
||||
|
||||
// 初始化返回数据
|
||||
$data = [];
|
||||
|
||||
// 根据不同排行榜类型查询数据
|
||||
switch ($type) {
|
||||
case 'diamond': // 钻石排行榜
|
||||
$data = $this->getDiamondRank($startTime, $endTime, $page, $limit);
|
||||
break;
|
||||
|
||||
case 'integral': // UU币排行榜
|
||||
$data = $this->getIntegralRank($startTime, $endTime, $page, $limit);
|
||||
break;
|
||||
|
||||
case 'dadajuan': // 达达卷排行榜
|
||||
$data = $this->getDadajuanRank($startTime, $endTime, $page, $limit);
|
||||
break;
|
||||
|
||||
case 'invite': // 邀请新人排行榜
|
||||
$data = $this->getInviteRank($startTime, $endTime, $page, $limit);
|
||||
break;
|
||||
}
|
||||
|
||||
// 返回数据
|
||||
return $this->renderSuccess('请求成功', $data);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取钻石排行榜数据
|
||||
*
|
||||
* @param int $startTime 开始时间戳
|
||||
* @param int $endTime 结束时间戳
|
||||
* @param int $page 页码
|
||||
* @param int $limit 每页数量
|
||||
* @return array 排行榜数据
|
||||
*/
|
||||
private function getDiamondRank($startTime, $endTime, $page, $limit)
|
||||
{
|
||||
// 构建查询条件
|
||||
$where = [
|
||||
['status', '=', 1],
|
||||
['use_money', '>', 0],
|
||||
['user_id', 'not in', function ($query) {
|
||||
$query->name('user')->where('istest', '>', 0)->where('status', '=', 1)->field('id');
|
||||
}]
|
||||
];
|
||||
|
||||
// 添加时间范围条件
|
||||
if ($startTime > 0) {
|
||||
$where[] = ['pay_time', '>=', $startTime];
|
||||
}
|
||||
if ($endTime > 0) {
|
||||
$where[] = ['pay_time', '<=', $endTime];
|
||||
}
|
||||
|
||||
// 查询数据
|
||||
$list = Order::where($where)
|
||||
->field('user_id, sum(use_money) as use_money')
|
||||
->group('user_id')
|
||||
->order('use_money desc')
|
||||
->page($page, $limit)
|
||||
->select()
|
||||
->toArray();
|
||||
|
||||
// 处理用户信息
|
||||
$rankList = [];
|
||||
foreach ($list as $index => $item) {
|
||||
$userInfo = User::field('nickname, headimg, mobile')->where('id', $item['user_id'])->find();
|
||||
if ($userInfo) {
|
||||
$rankList[] = [
|
||||
'rank' => ($page - 1) * $limit + $index + 1,
|
||||
'user_id' => $item['user_id'],
|
||||
'nickname' => $userInfo['nickname'],
|
||||
'headimg' => imageUrl($userInfo['headimg']),
|
||||
'value' => $item['use_money'],
|
||||
'unit' => '钻石'
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
return $rankList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取UU币排行榜数据
|
||||
*
|
||||
* @param int $startTime 开始时间戳
|
||||
* @param int $endTime 结束时间戳
|
||||
* @param int $page 页码
|
||||
* @param int $limit 每页数量
|
||||
* @return array 排行榜数据
|
||||
*/
|
||||
private function getIntegralRank($startTime, $endTime, $page, $limit)
|
||||
{
|
||||
// 构建查询条件
|
||||
$where = [
|
||||
['status', '=', 1],
|
||||
['use_integral', '>', 0],
|
||||
['user_id', 'not in', function ($query) {
|
||||
$query->name('user')->where('istest', '>', 0)->where('status', '=', 1)->field('id');
|
||||
}]
|
||||
];
|
||||
|
||||
// 添加时间范围条件
|
||||
if ($startTime > 0) {
|
||||
$where[] = ['pay_time', '>=', $startTime];
|
||||
}
|
||||
if ($endTime > 0) {
|
||||
$where[] = ['pay_time', '<=', $endTime];
|
||||
}
|
||||
|
||||
// 查询数据
|
||||
$list = Order::where($where)
|
||||
->field('user_id, sum(use_integral) as use_money')
|
||||
->group('user_id')
|
||||
->order('use_money desc')
|
||||
->page($page, $limit)
|
||||
->select()
|
||||
->toArray();
|
||||
|
||||
// 处理用户信息
|
||||
$rankList = [];
|
||||
foreach ($list as $index => $item) {
|
||||
$userInfo = User::field('nickname, headimg, mobile')->where('id', $item['user_id'])->find();
|
||||
if ($userInfo) {
|
||||
$rankList[] = [
|
||||
'rank' => ($page - 1) * $limit + $index + 1,
|
||||
'user_id' => $item['user_id'],
|
||||
'nickname' => $userInfo['nickname'],
|
||||
'headimg' => imageUrl($userInfo['headimg']),
|
||||
'value' => $item['use_money'],
|
||||
'unit' => 'UU币'
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
return $rankList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取达达卷排行榜数据
|
||||
*
|
||||
* @param int $startTime 开始时间戳
|
||||
* @param int $endTime 结束时间戳
|
||||
* @param int $page 页码
|
||||
* @param int $limit 每页数量
|
||||
* @return array 排行榜数据
|
||||
*/
|
||||
private function getDadajuanRank($startTime, $endTime, $page, $limit)
|
||||
{
|
||||
// 构建查询条件
|
||||
$where = [
|
||||
['status', '=', 1],
|
||||
['use_money2', '>', 0],
|
||||
['user_id', 'not in', function ($query) {
|
||||
$query->name('user')->where('istest', '>', 0)->where('status', '=', 1)->field('id');
|
||||
}]
|
||||
];
|
||||
|
||||
// 添加时间范围条件
|
||||
if ($startTime > 0) {
|
||||
$where[] = ['pay_time', '>=', $startTime];
|
||||
}
|
||||
if ($endTime > 0) {
|
||||
$where[] = ['pay_time', '<=', $endTime];
|
||||
}
|
||||
|
||||
// 查询数据
|
||||
$list = Order::where($where)
|
||||
->field('user_id, sum(use_money2) as use_money')
|
||||
->group('user_id')
|
||||
->order('use_money desc')
|
||||
->page($page, $limit)
|
||||
->select()
|
||||
->toArray();
|
||||
|
||||
// 处理用户信息
|
||||
$rankList = [];
|
||||
foreach ($list as $index => $item) {
|
||||
$userInfo = User::field('nickname, headimg, mobile')->where('id', $item['user_id'])->find();
|
||||
if ($userInfo) {
|
||||
$rankList[] = [
|
||||
'rank' => ($page - 1) * $limit + $index + 1,
|
||||
'user_id' => $item['user_id'],
|
||||
'nickname' => $userInfo['nickname'],
|
||||
'headimg' => imageUrl($userInfo['headimg']),
|
||||
'value' => $item['use_money'],
|
||||
'unit' => '达达卷'
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
return $rankList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取邀请新人排行榜数据
|
||||
*
|
||||
* @param int $startTime 开始时间戳
|
||||
* @param int $endTime 结束时间戳
|
||||
* @param int $page 页码
|
||||
* @param int $limit 每页数量
|
||||
* @return array 排行榜数据
|
||||
*/
|
||||
private function getInviteRank($startTime, $endTime, $page, $limit)
|
||||
{
|
||||
// 构建查询条件
|
||||
$where = [
|
||||
['pid', '>', 0],
|
||||
['istest', '=', 0], // 排除测试用户
|
||||
['status', '=', 1] // 只查询状态正常的用户
|
||||
];
|
||||
|
||||
// 添加时间范围条件
|
||||
if ($startTime > 0) {
|
||||
$where[] = ['addtime', '>=', $startTime];
|
||||
}
|
||||
if ($endTime > 0) {
|
||||
$where[] = ['addtime', '<=', $endTime];
|
||||
}
|
||||
|
||||
// 查询数据
|
||||
$list = User::where($where)
|
||||
->field('pid, COUNT(1) as invite_count')
|
||||
->group('pid')
|
||||
->having('invite_count > 0')
|
||||
->order('invite_count desc')
|
||||
->page($page, $limit)
|
||||
->select()
|
||||
->toArray();
|
||||
|
||||
// 处理用户信息
|
||||
$rankList = [];
|
||||
foreach ($list as $index => $item) {
|
||||
$userInfo = User::field('nickname, headimg, mobile')->where('id', $item['pid'])->find();
|
||||
if ($userInfo) {
|
||||
$rankList[] = [
|
||||
'rank' => ($page - 1) * $limit + $index + 1,
|
||||
'user_id' => $item['pid'],
|
||||
'nickname' => $userInfo['nickname'],
|
||||
'headimg' => imageUrl($userInfo['headimg']),
|
||||
'value' => $item['invite_count'],
|
||||
'unit' => '人'
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
return $rankList;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -192,4 +192,9 @@ Route::any('fuliwu_user_records', 'FuLiWu/fuliwu_user_records');
|
|||
Route::any('fuliwu_user_winning_records', 'FuLiWu/fuliwu_user_winning_records');
|
||||
|
||||
// 添加记录登录的路由
|
||||
Route::rule('login_record', 'Login/recordLogin', 'POST');
|
||||
Route::rule('login_record', 'Login/recordLogin', 'POST');
|
||||
|
||||
Route::any('advlist', 'Index/getAdvert');
|
||||
Route::any('recordConsume', 'Index/record');
|
||||
Route::any('getPeopleList', 'Index/get_user_yaoqing');
|
||||
Route::any('getRankList', 'Index/getRankList');
|
||||
|
|
@ -19,6 +19,13 @@ class ConfigHelper
|
|||
*/
|
||||
private static $infiniteMultiple = null;
|
||||
|
||||
/**
|
||||
* 静态属性,用于存储排行榜设置
|
||||
*
|
||||
* @var array|null
|
||||
*/
|
||||
private static $rankSettings = null;
|
||||
|
||||
/**
|
||||
* 获取无限赏抽奖倍数
|
||||
* 从数据库中查询key为infinite_multiple的配置,获取multiple字段
|
||||
|
|
@ -66,4 +73,160 @@ class ConfigHelper
|
|||
|
||||
return self::$infiniteMultiple;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取排行榜设置
|
||||
* 从数据库中查询key为rank_setting的配置
|
||||
*
|
||||
* @return array 排行榜设置
|
||||
*/
|
||||
public static function getRankSettings()
|
||||
{
|
||||
// 如果静态属性已有值,直接返回
|
||||
if (self::$rankSettings !== null) {
|
||||
return self::$rankSettings;
|
||||
}
|
||||
|
||||
// 实例化Redis助手
|
||||
$redis = new RedisHelper();
|
||||
|
||||
// 设置Redis键名
|
||||
$redisKey = 'config:rank_settings';
|
||||
|
||||
// 尝试从Redis获取
|
||||
$cachedValue = $redis->get($redisKey);
|
||||
if ($cachedValue !== false) {
|
||||
// 缓存结果到静态属性
|
||||
self::$rankSettings = json_decode($cachedValue, true);
|
||||
return self::$rankSettings;
|
||||
}
|
||||
|
||||
// Redis中不存在,从数据库获取
|
||||
$config = Db::name('config')
|
||||
->where('key', 'rank_setting')
|
||||
->value('value');
|
||||
|
||||
// 解析JSON数据
|
||||
$configArray = json_decode($config, true) ?: [];
|
||||
|
||||
// 存入Redis,过期时间为1小时(3600秒)
|
||||
$redis->set($redisKey, json_encode($configArray), 3600);
|
||||
|
||||
// 缓存结果到静态属性
|
||||
self::$rankSettings = $configArray;
|
||||
|
||||
return self::$rankSettings;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取特定排行榜的时间设置
|
||||
*
|
||||
* @param string $type 排行榜类型:dadajuan(达达卷), diamond(钻石), integral(UU币), invite(邀请新人)
|
||||
* @return array 包含统计方式、开始时间和结束时间的数组
|
||||
*/
|
||||
public static function getRankTime($type)
|
||||
{
|
||||
// 获取所有排行榜设置
|
||||
$settings = self::getRankSettings();
|
||||
|
||||
// 根据类型设置默认的键名
|
||||
$statTypeKey = '';
|
||||
$startKey = '';
|
||||
$endKey = '';
|
||||
|
||||
switch ($type) {
|
||||
case 'dadajuan':
|
||||
$statTypeKey = 'dadajuan_stat_type';
|
||||
$startKey = 'dadajuan_start_time';
|
||||
$endKey = 'dadajuan_end_time';
|
||||
break;
|
||||
case 'diamond':
|
||||
$statTypeKey = 'diamond_stat_type';
|
||||
$startKey = 'diamond_start_time';
|
||||
$endKey = 'diamond_end_time';
|
||||
break;
|
||||
case 'integral':
|
||||
$statTypeKey = 'integral_stat_type';
|
||||
$startKey = 'integral_start_time';
|
||||
$endKey = 'integral_end_time';
|
||||
break;
|
||||
case 'invite':
|
||||
$statTypeKey = 'invite_stat_type';
|
||||
$startKey = 'invite_start_time';
|
||||
$endKey = 'invite_end_time';
|
||||
break;
|
||||
default:
|
||||
return [
|
||||
'stat_type' => 'daily',
|
||||
'start_time' => '',
|
||||
'end_time' => ''
|
||||
];
|
||||
}
|
||||
|
||||
// 获取统计方式,默认为每天统计
|
||||
$statType = isset($settings[$statTypeKey]) ? $settings[$statTypeKey] : 'daily';
|
||||
|
||||
// 根据统计方式计算时间范围
|
||||
$startTime = '';
|
||||
$endTime = '';
|
||||
|
||||
// 当前时间
|
||||
$now = time();
|
||||
|
||||
switch ($statType) {
|
||||
case 'daily': // 每天统计:当天0点到第二天0点
|
||||
$startTime = date('Y-m-d 00:00:00', $now);
|
||||
$endTime = date('Y-m-d 00:00:00', strtotime('+1 day', $now));
|
||||
break;
|
||||
|
||||
case 'weekly': // 每周统计:本周一0点到下周一0点
|
||||
$weekStart = strtotime('this week monday', $now);
|
||||
$startTime = date('Y-m-d 00:00:00', $weekStart);
|
||||
$endTime = date('Y-m-d 00:00:00', strtotime('+1 week', $weekStart));
|
||||
break;
|
||||
|
||||
case 'monthly': // 每月统计:本月1号0点到下月1号0点
|
||||
$startTime = date('Y-m-01 00:00:00', $now);
|
||||
$endTime = date('Y-m-01 00:00:00', strtotime('+1 month', $now));
|
||||
break;
|
||||
|
||||
case 'yearly': // 每年统计:本年1月1号0点到下年1月1号0点
|
||||
$startTime = date('Y-01-01 00:00:00', $now);
|
||||
$endTime = date('Y-01-01 00:00:00', strtotime('+1 year', $now));
|
||||
break;
|
||||
|
||||
case 'custom': // 自定义时间范围:使用设置的时间
|
||||
$startTime = isset($settings[$startKey]) && !empty($settings[$startKey]) ?
|
||||
$settings[$startKey] : '';
|
||||
$endTime = isset($settings[$endKey]) && !empty($settings[$endKey]) ?
|
||||
$settings[$endKey] : '';
|
||||
break;
|
||||
}
|
||||
|
||||
// 返回排行榜配置
|
||||
return [
|
||||
'stat_type' => $statType,
|
||||
'start_time' => $startTime,
|
||||
'end_time' => $endTime
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* 清除排行榜设置的Redis缓存
|
||||
* 在排行榜设置更新时调用,确保获取最新数据
|
||||
*
|
||||
* @return bool 是否成功清除缓存
|
||||
*/
|
||||
public static function clearRankSettingsCache()
|
||||
{
|
||||
// 重置静态属性
|
||||
self::$rankSettings = null;
|
||||
|
||||
// 清除Redis缓存
|
||||
$redis = new RedisHelper();
|
||||
$redisKey = 'config:rank_settings';
|
||||
|
||||
// 删除缓存,返回是否成功
|
||||
return $redis->delete($redisKey);
|
||||
}
|
||||
}
|
||||
BIN
public/storage/poster/share/6165.png
Normal file
BIN
public/storage/poster/share/6165.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 17 KiB |
Loading…
Reference in New Issue
Block a user