定版之后bug修改
This commit is contained in:
@@ -55,7 +55,7 @@ class Ranking extends Model
|
|||||||
->where($where)
|
->where($where)
|
||||||
->order('total desc')
|
->order('total desc')
|
||||||
->group('a.user_id')
|
->group('a.user_id')
|
||||||
->page($this->page, $this->page_limit)
|
// ->page($this->page, $this->page_limit)
|
||||||
->select();
|
->select();
|
||||||
|
|
||||||
if($lists){
|
if($lists){
|
||||||
@@ -105,7 +105,7 @@ class Ranking extends Model
|
|||||||
->where($where)
|
->where($where)
|
||||||
->order('total desc')
|
->order('total desc')
|
||||||
->group('a.gift_user')
|
->group('a.gift_user')
|
||||||
->page($this->page, $this->page_limit)
|
// ->page($this->page, $this->page_limit)
|
||||||
->select();
|
->select();
|
||||||
|
|
||||||
if($lists){
|
if($lists){
|
||||||
@@ -149,7 +149,8 @@ class Ranking extends Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//截取20条
|
||||||
|
$lists = array_slice($lists,0,20);
|
||||||
$data = [
|
$data = [
|
||||||
'my_ranking' => $my_ranking,
|
'my_ranking' => $my_ranking,
|
||||||
'lists' => $lists
|
'lists' => $lists
|
||||||
@@ -171,7 +172,7 @@ class Ranking extends Model
|
|||||||
->join('vs_room b','a.from_id = b.id','left')
|
->join('vs_room b','a.from_id = b.id','left')
|
||||||
->where($where)->field($field)->group('a.from_id')
|
->where($where)->field($field)->group('a.from_id')
|
||||||
->order('total desc')
|
->order('total desc')
|
||||||
->page($this->page, $this->page_limit)
|
// ->page($this->page, $this->page_limit)
|
||||||
->select();
|
->select();
|
||||||
$my_ranking = null;
|
$my_ranking = null;
|
||||||
if($lists){
|
if($lists){
|
||||||
@@ -242,6 +243,8 @@ class Ranking extends Model
|
|||||||
$my_ranking['room_name'] = $myRoom['room_name'];
|
$my_ranking['room_name'] = $myRoom['room_name'];
|
||||||
$my_ranking['room_cover'] = $myRoom['room_cover'];
|
$my_ranking['room_cover'] = $myRoom['room_cover'];
|
||||||
}
|
}
|
||||||
|
//截取20条
|
||||||
|
$lists = array_slice($lists,0,20);
|
||||||
$data = [
|
$data = [
|
||||||
'my_ranking' => $my_ranking,
|
'my_ranking' => $my_ranking,
|
||||||
'lists' => $lists
|
'lists' => $lists
|
||||||
|
|||||||
@@ -107,7 +107,7 @@ class UserGiftPack extends Model
|
|||||||
->page($page, $page_limit)
|
->page($page, $page_limit)
|
||||||
->select();
|
->select();
|
||||||
if (empty($log_model)) {
|
if (empty($log_model)) {
|
||||||
return ['code' => 0, 'msg' => '没有数据', 'data' => null];
|
return ['code' => 0, 'msg' => '', 'data' => null];
|
||||||
}
|
}
|
||||||
$list = [];
|
$list = [];
|
||||||
foreach ($log_model as $k => $v){
|
foreach ($log_model as $k => $v){
|
||||||
@@ -134,7 +134,7 @@ class UserGiftPack extends Model
|
|||||||
->page($page, $page_limit)
|
->page($page, $page_limit)
|
||||||
->select();
|
->select();
|
||||||
if (empty($log_model)) {
|
if (empty($log_model)) {
|
||||||
return ['code' => 0, 'msg' => '没有数据', 'data' => null];
|
return ['code' => 0, 'msg' => '', 'data' => null];
|
||||||
}
|
}
|
||||||
$list = [];
|
$list = [];
|
||||||
foreach ($log_model as $k => $v){
|
foreach ($log_model as $k => $v){
|
||||||
|
|||||||
@@ -941,12 +941,130 @@ function get_user_constellation($birthday)
|
|||||||
}
|
}
|
||||||
|
|
||||||
//数字格式话
|
//数字格式话
|
||||||
function numberFormat($number) {
|
//function numberFormat($number) {
|
||||||
$num = round($number / 10000, 2);
|
// $num = round($number / 10000, 2);
|
||||||
if ($num > 1) {
|
// if ($num > 1) {
|
||||||
$number = $num . 'w';
|
// $number = $num . 'w';
|
||||||
|
// }
|
||||||
|
// return $number;
|
||||||
|
//}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数字格式化方法
|
||||||
|
* @param int|float $number 需要格式化的数字
|
||||||
|
* @param string $format 格式类型: 'short'(默认简写), 'thousand'(千分位), 'custom'(自定义)
|
||||||
|
* @param int $decimals 小数位数
|
||||||
|
* @param array $options 其他选项
|
||||||
|
* @return string 格式化后的数字字符串
|
||||||
|
*/
|
||||||
|
function numberFormat($number, $format = 'short', $decimals = 2, $options = []) {
|
||||||
|
|
||||||
|
// 确保输入是数字
|
||||||
|
if (!is_numeric($number)) {
|
||||||
|
return '0';
|
||||||
}
|
}
|
||||||
return $number;
|
|
||||||
|
switch ($format) {
|
||||||
|
case 'short':
|
||||||
|
return formatShortNumber($number, $decimals);
|
||||||
|
|
||||||
|
case 'thousand':
|
||||||
|
return formatThousandNumber($number, $decimals);
|
||||||
|
|
||||||
|
case 'custom':
|
||||||
|
return formatCustomNumber($number, $options);
|
||||||
|
|
||||||
|
default:
|
||||||
|
return formatShortNumber($number, $decimals);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 简写格式化数字 (如: 1.23w, 2.56亿)
|
||||||
|
*/
|
||||||
|
function formatShortNumber($number, $decimals = 2) {
|
||||||
|
$units = ['', 'w', '亿', '万亿'];
|
||||||
|
$unit_index = 0;
|
||||||
|
|
||||||
|
// 处理负数
|
||||||
|
$is_negative = $number < 0;
|
||||||
|
$number = abs($number);
|
||||||
|
|
||||||
|
// 根据数值大小选择合适的单位
|
||||||
|
while ($number >= 10000 && $unit_index < count($units) - 1) {
|
||||||
|
$number /= 10000;
|
||||||
|
$unit_index++;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 格式化数字
|
||||||
|
$formatted = round($number, $decimals);
|
||||||
|
|
||||||
|
// 如果是整数且小数部分为0,则不显示小数
|
||||||
|
if ($decimals > 0 && floor($formatted) == $formatted) {
|
||||||
|
$formatted = number_format($formatted, 0);
|
||||||
|
} else {
|
||||||
|
$formatted = number_format($formatted, $decimals, '.', '');
|
||||||
|
}
|
||||||
|
|
||||||
|
return ($is_negative ? '-' : '') . $formatted . $units[$unit_index];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 千分位格式化数字 (如: 1,234,567.89)
|
||||||
|
*/
|
||||||
|
function formatThousandNumber($number, $decimals = 2) {
|
||||||
|
return number_format($number, $decimals, '.', ',');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 自定义格式化数字
|
||||||
|
*/
|
||||||
|
function formatCustomNumber($number, $options = []) {
|
||||||
|
$defaults = [
|
||||||
|
'decimals' => 2,
|
||||||
|
'decimal_point' => '.',
|
||||||
|
'thousands_sep' => ',',
|
||||||
|
'suffix' => '',
|
||||||
|
'prefix' => ''
|
||||||
|
];
|
||||||
|
|
||||||
|
$options = array_merge($defaults, $options);
|
||||||
|
|
||||||
|
$formatted = number_format($number, $options['decimals'], $options['decimal_point'], $options['thousands_sep']);
|
||||||
|
|
||||||
|
return $options['prefix'] . $formatted . $options['suffix'];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 简化版本的数字格式化 (改进原方法)
|
||||||
|
* @param int|float $number 需要格式化的数字
|
||||||
|
* @param int $decimals 小数位数
|
||||||
|
* @return string 格式化后的数字字符串
|
||||||
|
*/
|
||||||
|
function simpleNumberFormat($number, $decimals = 2) {
|
||||||
|
if (!is_numeric($number)) {
|
||||||
|
return '0';
|
||||||
|
}
|
||||||
|
|
||||||
|
// 处理负数
|
||||||
|
$is_negative = $number < 0;
|
||||||
|
$number = abs($number);
|
||||||
|
|
||||||
|
if ($number >= 100000000) { // 1亿以上
|
||||||
|
$result = round($number / 100000000, $decimals) . '亿';
|
||||||
|
} elseif ($number >= 10000) { // 1万以上
|
||||||
|
$result = round($number / 10000, $decimals) . 'w';
|
||||||
|
} elseif ($number >= 1000) { // 1千以上
|
||||||
|
$result = round($number / 1000, $decimals) . 'k';
|
||||||
|
} else {
|
||||||
|
$result = round($number, $decimals);
|
||||||
|
// 如果是整数且小数部分为0,则不显示小数
|
||||||
|
if (floor($result) == $result) {
|
||||||
|
$result = (int)$result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return ($is_negative ? '-' : '') . $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
function generateRandomRoomName() {
|
function generateRandomRoomName() {
|
||||||
|
|||||||
Reference in New Issue
Block a user