no message
This commit is contained in:
parent
81cd2e8387
commit
d8df166f55
@ -313,16 +313,18 @@ final class Cron
|
||||
|
||||
foreach ($paidUsers as $user) {
|
||||
if (strtotime($user->class_expire) < time()) {
|
||||
$text = '你好,系统发现你的账号等级已经过期了。';
|
||||
$text = '您好,系统发现您的套餐已经过期了。';
|
||||
$reset_traffic = $_ENV['class_expire_reset_traffic'];
|
||||
|
||||
if ($reset_traffic >= 0) {
|
||||
$user->transfer_enable = Tools::toGB($reset_traffic);
|
||||
$text .= '流量已经被重置为' . $reset_traffic . 'GB。';
|
||||
$text .= '已转为免费体验帐户,赠送' . $reset_traffic . 'GB体验流量。';
|
||||
}
|
||||
|
||||
// todo 反水
|
||||
|
||||
try {
|
||||
Notification::notifyUser($user, $_ENV['appName'] . '-你的账号等级已经过期了', $text);
|
||||
Notification::notifyUser($user, $_ENV['appName'] . '-您的套餐已经过期', $text);
|
||||
} catch (GuzzleException|ClientExceptionInterface|TelegramSDKException $e) {
|
||||
echo $e->getMessage() . PHP_EOL;
|
||||
}
|
||||
@ -333,6 +335,33 @@ final class Cron
|
||||
$user->class = 0;
|
||||
$user->save();
|
||||
}
|
||||
|
||||
//// 流量到期处理
|
||||
// 这里,只重置付费用户,不重置免费用户。那么假如免费用户领了60g流量,他就真的能用到没。付费用户则会连带套餐一起重置掉。
|
||||
// 应该问题不大,赠送流量有关时,区分免费付费用户,对付费大方(陷阱),对免费抠门。
|
||||
// 其实压根就不叠加,套餐流量直接覆盖免费流量。
|
||||
// 再者,免费流量
|
||||
// 总之,免费流量就是零头,无所谓重置的。
|
||||
$ud = $user->u + $user->d;
|
||||
if ($ud >= $user->transfer_enable && $user->class > 0) {
|
||||
|
||||
$sText = "你好,系统发现您的流量已用完,已转为免费体验帐户,可用每日签到获取免费流量。";
|
||||
|
||||
try {
|
||||
Notification::notifyUser($user, $_ENV['appName'] . '-您的流量已用完', $sText);
|
||||
} catch (GuzzleException|ClientExceptionInterface|TelegramSDKException $e) {
|
||||
echo $e->getMessage() . PHP_EOL;
|
||||
}
|
||||
|
||||
$user->u = 0;
|
||||
$user->d = 0;
|
||||
$user->transfer_today = 0;
|
||||
$user->class = 0;
|
||||
$user->save();
|
||||
|
||||
}
|
||||
|
||||
//// end
|
||||
}
|
||||
|
||||
echo Tools::toDateTime(time()) . ' 付费用户过期检测完成' . PHP_EOL;
|
||||
|
||||
@ -9,8 +9,48 @@ use App\Models\User as ModelUser;
|
||||
use App\Utils\Tools;
|
||||
use App\Services\CountUser as ServiceCountUser;
|
||||
|
||||
final class User
|
||||
final class User extends Base
|
||||
{
|
||||
private function format($aUser)
|
||||
{
|
||||
unset($aUser['pass']);
|
||||
unset($aUser['passwd']);
|
||||
unset($aUser['uuid']);
|
||||
unset($aUser['method']);
|
||||
unset($aUser['is_admin']);
|
||||
unset($aUser['theme']);
|
||||
unset($aUser['ga_token']);
|
||||
unset($aUser['ga_enable']);
|
||||
unset($aUser['api_token']);
|
||||
unset($aUser['is_dark_mode']);
|
||||
unset($aUser['locale']);
|
||||
|
||||
$aUser['transfer_today'] = Tools::flowToGB($aUser['transfer_today']).'GB';
|
||||
$aUser['transfer_total'] = Tools::flowToGB($aUser['transfer_total']).'GB';
|
||||
$aUser['transfer_enable'] = Tools::flowToGB($aUser['transfer_enable']).'GB';
|
||||
$aUser['u'] = Tools::flowToGB($aUser['u']).'GB';
|
||||
$aUser['d'] = Tools::flowToGB($aUser['d']).'GB';
|
||||
$aUser['ud'] = $aUser['u'] + $aUser['d'];
|
||||
$aUser['last_use_time'] = date('Y-m-d H:i:s', $aUser['last_use_time']);
|
||||
|
||||
return $aUser;
|
||||
}
|
||||
|
||||
public function Limit($aParam)
|
||||
{
|
||||
// $sField = $aParam['aOption'][1];
|
||||
$iLimit = $aParam['aArg'][1] ?? 5; // 默认五条
|
||||
|
||||
$aUser = ModelUser::where("class", '>', 0)->orderBy("id", "desc")->limit($iLimit)->get()->toArray();
|
||||
|
||||
foreach ($aUser as $row) {
|
||||
$sMsg = json_encode($row, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
|
||||
$this->oTGHttp->sendToTG($sMsg);
|
||||
}
|
||||
|
||||
$this->oHttp::response(200, 'ok');
|
||||
|
||||
}
|
||||
|
||||
public function Find($aParam)
|
||||
{
|
||||
@ -23,25 +63,26 @@ final class User
|
||||
|
||||
if ($oUser) {
|
||||
$aUser = $oUser->toArray();
|
||||
unset($aUser['pass']);
|
||||
unset($aUser['passwd']);
|
||||
unset($aUser['uuid']);
|
||||
unset($aUser['method']);
|
||||
unset($aUser['is_admin']);
|
||||
unset($aUser['theme']);
|
||||
unset($aUser['ga_token']);
|
||||
unset($aUser['ga_enable']);
|
||||
unset($aUser['api_token']);
|
||||
unset($aUser['is_dark_mode']);
|
||||
unset($aUser['locale']);
|
||||
|
||||
$aUser['transfer_today'] = Tools::flowToGB($aUser['transfer_today']).'GB';
|
||||
$aUser['transfer_total'] = Tools::flowToGB($aUser['transfer_total']).'GB';
|
||||
$aUser['transfer_enable'] = Tools::flowToGB($aUser['transfer_enable']).'GB';
|
||||
$aUser['u'] = Tools::flowToGB($aUser['u']).'GB';
|
||||
$aUser['d'] = Tools::flowToGB($aUser['d']).'GB';
|
||||
$aUser['ud'] = $aUser['u'] + $aUser['d'];
|
||||
$aUser['last_use_time'] = date('Y-m-d H:i:s', $aUser['last_use_time']);
|
||||
$aUser = $this->format($aUser);
|
||||
// unset($aUser['pass']);
|
||||
// unset($aUser['passwd']);
|
||||
// unset($aUser['uuid']);
|
||||
// unset($aUser['method']);
|
||||
// unset($aUser['is_admin']);
|
||||
// unset($aUser['theme']);
|
||||
// unset($aUser['ga_token']);
|
||||
// unset($aUser['ga_enable']);
|
||||
// unset($aUser['api_token']);
|
||||
// unset($aUser['is_dark_mode']);
|
||||
// unset($aUser['locale']);
|
||||
//
|
||||
// $aUser['transfer_today'] = Tools::flowToGB($aUser['transfer_today']).'GB';
|
||||
// $aUser['transfer_total'] = Tools::flowToGB($aUser['transfer_total']).'GB';
|
||||
// $aUser['transfer_enable'] = Tools::flowToGB($aUser['transfer_enable']).'GB';
|
||||
// $aUser['u'] = Tools::flowToGB($aUser['u']).'GB';
|
||||
// $aUser['d'] = Tools::flowToGB($aUser['d']).'GB';
|
||||
// $aUser['ud'] = $aUser['u'] + $aUser['d'];
|
||||
// $aUser['last_use_time'] = date('Y-m-d H:i:s', $aUser['last_use_time']);
|
||||
} else {
|
||||
$aUser = ["not have id" => $iUserId];
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user