修改统计
This commit is contained in:
parent
19f1f3e7b6
commit
d15b6def61
|
|
@ -1687,13 +1687,41 @@ class Statistics extends Base
|
|||
*/
|
||||
public function getProfitData()
|
||||
{
|
||||
// 当天收入:当日微信支付+当日钻石消费
|
||||
$today_income = Db::query("SELECT IFNULL(sum(ol.price),0)+IFNULL(sum(ol.use_money),0) as total
|
||||
// 今日收入(当日微信支付+当日钻石消费)
|
||||
$today_income_query = Db::query("SELECT IFNULL(sum(ol.price),0)+IFNULL(sum(ol.use_money),0) as total
|
||||
FROM `order` ol
|
||||
LEFT JOIN `user` us ON ol.user_id=us.id
|
||||
WHERE us.status=1 AND us.istest=0 AND ol.status=1
|
||||
AND ol.pay_time>UNIX_TIMESTAMP(CURDATE())");
|
||||
$today_income = isset($today_income[0]['total']) ? round($today_income[0]['total'], 2) : 0;
|
||||
$today_income = isset($today_income_query[0]['total']) ? round($today_income_query[0]['total'], 2) : 0;
|
||||
|
||||
// RMB 收入
|
||||
$rmb_income_query = Db::query("SELECT IFNULL(sum(ol.price),0) as total
|
||||
FROM `order` ol
|
||||
LEFT JOIN `user` us ON ol.user_id=us.id
|
||||
WHERE us.status=1 AND us.istest=0 AND ol.status=1
|
||||
AND ol.pay_time>UNIX_TIMESTAMP(CURDATE())");
|
||||
$rmb_income = isset($rmb_income_query[0]['total']) ? round($rmb_income_query[0]['total'], 2) : 0;
|
||||
|
||||
// 其它收入
|
||||
$other_income_query = Db::query("SELECT IFNULL(sum(price),0) as total
|
||||
from profit_revenue
|
||||
where profit_date = CURDATE()");
|
||||
$other_income = isset($other_income_query[0]['total']) ? round($other_income_query[0]['total'], 2) : 0;
|
||||
|
||||
// 今日出货总额
|
||||
$shipped_today_query = Db::query("SELECT IFNULL(sum(goodslist_money),0) as total
|
||||
FROM order_list oll
|
||||
LEFT JOIN `user` us ON oll.user_id=us.id
|
||||
WHERE us.status=1 AND us.istest=0
|
||||
AND oll.goodslist_type<3 AND oll.addtime>UNIX_TIMESTAMP(CURDATE())");
|
||||
$shipped_today = isset($shipped_today_query[0]['total']) ? round($shipped_today_query[0]['total'], 2) : 0;
|
||||
|
||||
// 其它支出
|
||||
$expenses_query = Db::query("SELECT IFNULL(sum(amount),0) as total
|
||||
from profit_expenses
|
||||
where profit_date = CURDATE()");
|
||||
$expenses = isset($expenses_query[0]['total']) ? round($expenses_query[0]['total'], 2) : 0;
|
||||
|
||||
// 当日发货金额
|
||||
$today_shipped = Db::query("SELECT sum(goodslist_money) as total
|
||||
|
|
@ -1703,7 +1731,7 @@ class Statistics extends Base
|
|||
AND oll.goodslist_type<3 AND oll.choice_time>UNIX_TIMESTAMP(CURDATE())");
|
||||
$today_shipped = isset($today_shipped[0]['total']) ? round($today_shipped[0]['total'], 2) : 0;
|
||||
|
||||
// 用户盒柜剩余
|
||||
// 用户盒柜剩余价值
|
||||
$box_remaining = Db::query("SELECT sum(goodslist_money) as total
|
||||
FROM order_list oll
|
||||
LEFT JOIN `user` us ON oll.user_id=us.id
|
||||
|
|
@ -1711,7 +1739,7 @@ class Statistics extends Base
|
|||
AND oll.goodslist_type<3");
|
||||
$box_remaining = isset($box_remaining[0]['total']) ? round($box_remaining[0]['total'], 2) : 0;
|
||||
|
||||
// 用户还剩多少达达券(查询出来后,需要除以100,达达券和emb的比例为100:1,1块钱兑换100rmb)
|
||||
// 用户剩余达达券(查询出来后,需要除以100,达达券和emb的比例为100:1,1块钱兑换100rmb)
|
||||
$remaining_coupon = Db::query("SELECT sum(money2) as money2
|
||||
FROM `user`
|
||||
WHERE status=1 AND istest=0");
|
||||
|
|
@ -1725,11 +1753,15 @@ class Statistics extends Base
|
|||
'code' => 0,
|
||||
'msg' => '获取数据成功',
|
||||
'data' => [
|
||||
'profit' => $profit,
|
||||
'today_income' => $today_income,
|
||||
'rmb_income' => $rmb_income,
|
||||
'other_income' => $other_income,
|
||||
'shipped_today' => $shipped_today,
|
||||
'expenses' => $expenses,
|
||||
'today_shipped' => $today_shipped,
|
||||
'remaining_coupon' => $remaining_coupon,
|
||||
'box_remaining' => $box_remaining,
|
||||
'profit' => $profit,
|
||||
'formula' => "利润({$profit}) = 当天收入({$today_income}) - 当天发货金额({$today_shipped}) - 当天用户剩余达达券({$remaining_coupon}) - 盒柜剩余({$box_remaining})"
|
||||
]
|
||||
]);
|
||||
|
|
@ -1833,4 +1865,263 @@ class Statistics extends Base
|
|||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取消费与虚拟货币数据
|
||||
* @return \think\response\Json
|
||||
*/
|
||||
public function getCurrencyData()
|
||||
{
|
||||
try {
|
||||
// 获取测试用户ID列表
|
||||
$userList = User::where('istest', '>', 0)->field('id')->select();
|
||||
$userArray = array_column($userList->toArray(), 'id');
|
||||
|
||||
// 时间范围
|
||||
$ranges = [
|
||||
// 今日时间
|
||||
'today_start' => strtotime('today'),
|
||||
'today_end' => strtotime('tomorrow') - 1,
|
||||
// 昨日时间
|
||||
'yesterday_start' => strtotime('yesterday'),
|
||||
'yesterday_end' => strtotime('today') - 1,
|
||||
// 本周时间(周一到周日)
|
||||
'this_week_start' => strtotime('monday this week'),
|
||||
'this_week_end' => strtotime('sunday this week') + 86399,
|
||||
// 上周时间(上周一到上周日)
|
||||
'last_week_start' => strtotime('monday last week'),
|
||||
'last_week_end' => strtotime('sunday last week') + 86399,
|
||||
// 本月时间(1号到月末)
|
||||
'this_month_start' => strtotime(date('Y-m-01')),
|
||||
'this_month_end' => strtotime(date('Y-m-t')) + 86399,
|
||||
// 上月时间(上个月1号到月末)
|
||||
'last_month_start' => strtotime(date('Y-m-01', strtotime('-1 month'))),
|
||||
'last_month_end' => strtotime(date('Y-m-t', strtotime('-1 month'))) + 86399
|
||||
];
|
||||
|
||||
// 消费人数统计
|
||||
$consume_today = OrderModel::where('status', '=', 1)->whereNotIn('user_id', $userArray)->whereBetweenTime('addtime', $ranges['today_start'], $ranges['today_end'])->field('user_id')->group('user_id')->count('user_id');
|
||||
$consume_yesterday = OrderModel::where('status', '=', 1)->whereNotIn('user_id', $userArray)->whereBetweenTime('addtime', $ranges['yesterday_start'], $ranges['yesterday_end'])->field('user_id')->group('user_id')->count('user_id');
|
||||
$consume_this_week = OrderModel::where('status', '=', 1)->whereNotIn('user_id', $userArray)->whereBetweenTime('addtime', $ranges['this_week_start'], $ranges['this_week_end'])->field('user_id')->group('user_id')->count('user_id');
|
||||
$consume_last_week = OrderModel::where('status', '=', 1)->whereNotIn('user_id', $userArray)->whereBetweenTime('addtime', $ranges['last_week_start'], $ranges['last_week_end'])->field('user_id')->group('user_id')->count('user_id');
|
||||
$consume_this_month = OrderModel::where('status', '=', 1)->whereNotIn('user_id', $userArray)->whereBetweenTime('addtime', $ranges['this_month_start'], $ranges['this_month_end'])->field('user_id')->group('user_id')->count('user_id');
|
||||
$consume_last_month = OrderModel::where('status', '=', 1)->whereNotIn('user_id', $userArray)->whereBetweenTime('addtime', $ranges['last_month_start'], $ranges['last_month_end'])->field('user_id')->group('user_id')->count('user_id');
|
||||
|
||||
// RMB消费人数统计
|
||||
$rmb_consume_today = OrderModel::where('status', '=', 1)->whereNotIn('user_id', $userArray)->where('price', '>', 0)->whereBetweenTime('addtime', $ranges['today_start'], $ranges['today_end'])->field('user_id')->group('user_id')->count('user_id');
|
||||
$rmb_consume_yesterday = OrderModel::where('status', '=', 1)->whereNotIn('user_id', $userArray)->where('price', '>', 0)->whereBetweenTime('addtime', $ranges['yesterday_start'], $ranges['yesterday_end'])->field('user_id')->group('user_id')->count('user_id');
|
||||
$rmb_consume_this_week = OrderModel::where('status', '=', 1)->whereNotIn('user_id', $userArray)->where('price', '>', 0)->whereBetweenTime('addtime', $ranges['this_week_start'], $ranges['this_week_end'])->field('user_id')->group('user_id')->count('user_id');
|
||||
$rmb_consume_last_week = OrderModel::where('status', '=', 1)->whereNotIn('user_id', $userArray)->where('price', '>', 0)->whereBetweenTime('addtime', $ranges['last_week_start'], $ranges['last_week_end'])->field('user_id')->group('user_id')->count('user_id');
|
||||
$rmb_consume_this_month = OrderModel::where('status', '=', 1)->whereNotIn('user_id', $userArray)->where('price', '>', 0)->whereBetweenTime('addtime', $ranges['this_month_start'], $ranges['this_month_end'])->field('user_id')->group('user_id')->count('user_id');
|
||||
$rmb_consume_last_month = OrderModel::where('status', '=', 1)->whereNotIn('user_id', $userArray)->where('price', '>', 0)->whereBetweenTime('addtime', $ranges['last_month_start'], $ranges['last_month_end'])->field('user_id')->group('user_id')->count('user_id');
|
||||
|
||||
// 今日余额消费
|
||||
$money_today = OrderModel::where('status', '=', 1)->whereNotIn('user_id', $userArray)->whereBetweenTime('addtime', $ranges['today_start'], $ranges['today_end'])->sum('use_money');
|
||||
$money_yesterday = OrderModel::where('status', '=', 1)->whereNotIn('user_id', $userArray)->whereBetweenTime('addtime', $ranges['yesterday_start'], $ranges['yesterday_end'])->sum('use_money');
|
||||
|
||||
// 今日积分抵扣
|
||||
$score_today = OrderModel::where('status', '=', 1)->whereNotIn('user_id', $userArray)->whereBetweenTime('addtime', $ranges['today_start'], $ranges['today_end'])->sum('use_score');
|
||||
$score_yesterday = OrderModel::where('status', '=', 1)->whereNotIn('user_id', $userArray)->whereBetweenTime('addtime', $ranges['yesterday_start'], $ranges['yesterday_end'])->sum('use_score');
|
||||
|
||||
// 今日余额发放
|
||||
$money_recovery_today = OrderListRecovery::whereBetweenTime('addtime', $ranges['today_start'], $ranges['today_end'])->whereNotIn('user_id', $userArray)->sum('money');
|
||||
$money_recovery_yesterday = OrderListRecovery::whereBetweenTime('addtime', $ranges['yesterday_start'], $ranges['yesterday_end'])->whereNotIn('user_id', $userArray)->sum('money');
|
||||
|
||||
// 今日优惠券消费
|
||||
$coupon_today = OrderModel::where('status', '=', 1)->whereBetweenTime('addtime', $ranges['today_start'], $ranges['today_end'])->whereNotIn('user_id', $userArray)->sum('use_coupon');
|
||||
|
||||
// 返回JSON数据
|
||||
return json([
|
||||
'code' => 0,
|
||||
'msg' => '获取数据成功',
|
||||
'data' => [
|
||||
// 消费人数
|
||||
'consume_today' => $consume_today,
|
||||
'consume_yesterday' => $consume_yesterday,
|
||||
'consume_this_week' => $consume_this_week,
|
||||
'consume_last_week' => $consume_last_week,
|
||||
'consume_this_month' => $consume_this_month,
|
||||
'consume_last_month' => $consume_last_month,
|
||||
|
||||
// RMB消费人数
|
||||
'rmb_consume_today' => $rmb_consume_today,
|
||||
'rmb_consume_yesterday' => $rmb_consume_yesterday,
|
||||
'rmb_consume_this_week' => $rmb_consume_this_week,
|
||||
'rmb_consume_last_week' => $rmb_consume_last_week,
|
||||
'rmb_consume_this_month' => $rmb_consume_this_month,
|
||||
'rmb_consume_last_month' => $rmb_consume_last_month,
|
||||
|
||||
// 虚拟货币数据
|
||||
'money_today' => round($money_today, 2),
|
||||
'money_yesterday' => round($money_yesterday, 2),
|
||||
'score_today' => round($score_today, 2),
|
||||
'score_yesterday' => round($score_yesterday, 2),
|
||||
'money_recovery_today' => round($money_recovery_today, 2),
|
||||
'money_recovery_yesterday' => round($money_recovery_yesterday, 2),
|
||||
'coupon_today' => round($coupon_today, 2)
|
||||
]
|
||||
]);
|
||||
} catch (\Exception $e) {
|
||||
return json(['code' => 1, 'msg' => '获取数据失败:' . $e->getMessage()]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取今日订单数据
|
||||
* @return \think\response\Json
|
||||
*/
|
||||
public function getTodayOrderData()
|
||||
{
|
||||
try {
|
||||
// 获取测试用户ID列表
|
||||
$userList = User::where('istest', '>', 0)->field('id')->select();
|
||||
$userArray = empty($userList) ? [0] : array_column($userList->toArray(), 'id');
|
||||
|
||||
// 获取今日时间范围
|
||||
$today_start = strtotime('today');
|
||||
|
||||
// 1. 发起订单数
|
||||
$initiate_order_count = \think\facade\Db::query(
|
||||
"SELECT count(1) as orderCount FROM `order` o
|
||||
LEFT join `user` u ON o.user_id=u.id
|
||||
where u.status=1 and u.istest=0 and o.addtime>UNIX_TIMESTAMP(CURDATE())"
|
||||
);
|
||||
$initiate_order_count = isset($initiate_order_count[0]['orderCount']) ? $initiate_order_count[0]['orderCount'] : 0;
|
||||
|
||||
// 2. 今日消费数据
|
||||
$order_data = \think\facade\Db::query(
|
||||
"SELECT count(DISTINCT(user_id)) userCount, count(1) orderCount,
|
||||
sum(order_zhe_total) order_zhe_total,
|
||||
IFNULL(sum(use_money),0) use_money,
|
||||
IFNULL(sum(use_integral),0) use_integral,
|
||||
IFNULL(sum(use_money2),0) use_money2,
|
||||
IFNULL(sum(price),0) price,
|
||||
sum(use_coupon) use_coupon
|
||||
FROM `order` o
|
||||
LEFT join `user` u ON o.user_id=u.id
|
||||
where u.status=1 and u.istest=0 and o.status=1
|
||||
and o.addtime>UNIX_TIMESTAMP(CURDATE())"
|
||||
);
|
||||
|
||||
// 3. 今日出货总额
|
||||
$goods_total = \think\facade\Db::query(
|
||||
"SELECT IFNULL(sum(goodslist_money),0) as total
|
||||
FROM order_list oll
|
||||
LEFT join `user` us on oll.user_id=us.id
|
||||
where us.status=1 and us.istest=0
|
||||
and oll.goodslist_type<3
|
||||
and oll.addtime>UNIX_TIMESTAMP(CURDATE())"
|
||||
);
|
||||
|
||||
// 处理查询结果
|
||||
$user_count = isset($order_data[0]['userCount']) ? $order_data[0]['userCount'] : 0;
|
||||
$paid_order_count = isset($order_data[0]['orderCount']) ? $order_data[0]['orderCount'] : 0;
|
||||
$order_zhe_total = isset($order_data[0]['order_zhe_total']) ? round($order_data[0]['order_zhe_total'], 2) : 0;
|
||||
$use_money = isset($order_data[0]['use_money']) ? round($order_data[0]['use_money'], 2) : 0;
|
||||
$use_integral = isset($order_data[0]['use_integral']) ? round($order_data[0]['use_integral'], 2) : 0;
|
||||
$use_money2 = isset($order_data[0]['use_money2']) ? round($order_data[0]['use_money2'], 2) : 0;
|
||||
$price = isset($order_data[0]['price']) ? round($order_data[0]['price'], 2) : 0;
|
||||
$use_coupon = isset($order_data[0]['use_coupon']) ? round($order_data[0]['use_coupon'], 2) : 0;
|
||||
|
||||
$goods_total_amount = isset($goods_total[0]['total']) ? round($goods_total[0]['total'], 2) : 0;
|
||||
|
||||
// 返回JSON数据
|
||||
return json([
|
||||
'code' => 0,
|
||||
'msg' => '获取数据成功',
|
||||
'data' => [
|
||||
'initiate_order_count' => $initiate_order_count,
|
||||
'paid_order_count' => $paid_order_count,
|
||||
'user_count' => $user_count,
|
||||
'order_zhe_total' => $order_zhe_total,
|
||||
'goods_total_amount' => $goods_total_amount,
|
||||
'use_coupon' => $use_coupon,
|
||||
'price' => $price,
|
||||
'use_money' => $use_money,
|
||||
'use_integral' => $use_integral,
|
||||
'use_money2' => $use_money2
|
||||
]
|
||||
]);
|
||||
} catch (\Exception $e) {
|
||||
return json(['code' => 1, 'msg' => '获取数据失败:' . $e->getMessage()]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取今日货币信息数据
|
||||
* @return \think\response\Json
|
||||
*/
|
||||
public function getCurrencyInfoData()
|
||||
{
|
||||
try {
|
||||
// 今日发放的达达券
|
||||
$today_add_money2_sql = "select IFNULL(sum(change_money),0) as total from profit_money2 m LEFT join `user` u on m.user_id=u.id where u.status=1 and u.istest=0 and m.change_money>0 and m.addtime>UNIX_TIMESTAMP(CURDATE())";
|
||||
$today_add_money2_data = Db::query($today_add_money2_sql);
|
||||
|
||||
// 今日消耗的达达券
|
||||
$today_use_money2_sql = "select IFNULL(sum(ABS(change_money)),0) as total from profit_money2 m LEFT join `user` u on m.user_id=u.id where u.status=1 and u.istest=0 and m.change_money<0 and m.addtime>UNIX_TIMESTAMP(CURDATE())";
|
||||
$today_use_money2_data = Db::query($today_use_money2_sql);
|
||||
|
||||
// 今日发放的钻石
|
||||
$today_add_money_sql = "select IFNULL(sum(change_money),0) as total from profit_money m LEFT join `user` u on m.user_id=u.id where u.status=1 and u.istest=0 and m.change_money>0 and m.addtime>UNIX_TIMESTAMP(CURDATE())";
|
||||
$today_add_money_data = Db::query($today_add_money_sql);
|
||||
|
||||
// 今日消耗的钻石
|
||||
$today_use_money_sql = "select IFNULL(sum(ABS(change_money)),0) as total from profit_money m LEFT join `user` u on m.user_id=u.id where u.status=1 and u.istest=0 and m.change_money<0 and m.addtime>UNIX_TIMESTAMP(CURDATE())";
|
||||
$today_use_money_data = Db::query($today_use_money_sql);
|
||||
|
||||
// 今日发放的UU币
|
||||
$today_add_integral_sql = "select IFNULL(sum(change_money),0) as total from profit_integral m LEFT join `user` u on m.user_id=u.id where u.status=1 and u.istest=0 and m.change_money>0 and m.addtime>UNIX_TIMESTAMP(CURDATE())";
|
||||
$today_add_integral_data = Db::query($today_add_integral_sql);
|
||||
|
||||
// 今日消耗的UU币
|
||||
$today_use_integral_sql = "select IFNULL(sum(ABS(change_money)),0) as total from profit_integral m LEFT join `user` u on m.user_id=u.id where u.status=1 and u.istest=0 and m.change_money<0 and m.addtime>UNIX_TIMESTAMP(CURDATE())";
|
||||
$today_use_integral_data = Db::query($today_use_integral_sql);
|
||||
|
||||
// 昨日发放的达达券
|
||||
$yesterday_add_money2_sql = "select IFNULL(sum(change_money),0) as total from profit_money2 m LEFT join user u on m.user_id=u.id where u.status=1 and u.istest=0 and m.change_money>0 and m.addtime>=UNIX_TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 1 DAY)) and m.addtime<UNIX_TIMESTAMP(CURDATE())";
|
||||
$yesterday_add_money2_data = Db::query($yesterday_add_money2_sql);
|
||||
|
||||
// 昨日消耗的达达券
|
||||
$yesterday_use_money2_sql = "select IFNULL(sum(ABS(change_money)),0) as total from profit_money2 m LEFT join user u on m.user_id=u.id where u.status=1 and u.istest=0 and m.change_money<0 and m.addtime>=UNIX_TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 1 DAY)) and m.addtime<UNIX_TIMESTAMP(CURDATE())";
|
||||
$yesterday_use_money2_data = Db::query($yesterday_use_money2_sql);
|
||||
|
||||
// 昨日发放的钻石
|
||||
$yesterday_add_money_sql = "select IFNULL(sum(change_money),0) as total from profit_money m LEFT join user u on m.user_id=u.id where u.status=1 and u.istest=0 and m.change_money>0 and m.addtime>=UNIX_TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 1 DAY)) and m.addtime<UNIX_TIMESTAMP(CURDATE())";
|
||||
$yesterday_add_money_data = Db::query($yesterday_add_money_sql);
|
||||
|
||||
// 昨日消耗的钻石
|
||||
$yesterday_use_money_sql = "select IFNULL(sum(ABS(change_money)),0) as total from profit_money m LEFT join user u on m.user_id=u.id where u.status=1 and u.istest=0 and m.change_money<0 and m.addtime>=UNIX_TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 1 DAY)) and m.addtime<UNIX_TIMESTAMP(CURDATE())";
|
||||
$yesterday_use_money_data = Db::query($yesterday_use_money_sql);
|
||||
|
||||
// 昨日发放的UU币
|
||||
$yesterday_add_integral_sql = "select IFNULL(sum(change_money),0) as total from profit_integral m LEFT join user u on m.user_id=u.id where u.status=1 and u.istest=0 and m.change_money>0 and m.addtime>=UNIX_TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 1 DAY)) and m.addtime<UNIX_TIMESTAMP(CURDATE())";
|
||||
$yesterday_add_integral_data = Db::query($yesterday_add_integral_sql);
|
||||
|
||||
// 昨日消耗的UU币
|
||||
$yesterday_use_integral_sql = "select IFNULL(sum(ABS(change_money)),0) as total from profit_integral m LEFT join user u on m.user_id=u.id where u.status=1 and u.istest=0 and m.change_money<0 and m.addtime>=UNIX_TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 1 DAY)) and m.addtime<UNIX_TIMESTAMP(CURDATE())";
|
||||
$yesterday_use_integral_data = Db::query($yesterday_use_integral_sql);
|
||||
|
||||
$data = [
|
||||
'today_add_money2' => floatval($today_add_money2_data[0]['total']),
|
||||
'yesterday_add_money2' => floatval($yesterday_add_money2_data[0]['total']),
|
||||
'today_use_money2' => floatval($today_use_money2_data[0]['total']),
|
||||
'yesterday_use_money2' => floatval($yesterday_use_money2_data[0]['total']),
|
||||
|
||||
'today_add_money' => floatval($today_add_money_data[0]['total']),
|
||||
'yesterday_add_money' => floatval($yesterday_add_money_data[0]['total']),
|
||||
'today_use_money' => floatval($today_use_money_data[0]['total']),
|
||||
'yesterday_use_money' => floatval($yesterday_use_money_data[0]['total']),
|
||||
|
||||
'today_add_integral' => floatval($today_add_integral_data[0]['total']),
|
||||
'yesterday_add_integral' => floatval($yesterday_add_integral_data[0]['total']),
|
||||
'today_use_integral' => floatval($today_use_integral_data[0]['total']),
|
||||
'yesterday_use_integral' => floatval($yesterday_use_integral_data[0]['total']),
|
||||
];
|
||||
|
||||
return json(['code'=>0,'msg'=>'获取成功', 'data'=>$data]);
|
||||
}catch (\Exception $e){
|
||||
return json(['code'=>0,'msg'=>$e->getMessage()]);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -533,7 +533,7 @@ class User extends Base
|
|||
// $end_time = $start_time + 86399;
|
||||
// $where[] = ['addtime', 'BETWEEN', [$start_time, $end_time]];
|
||||
// }
|
||||
$data = UserModel::getList($whe, 'id,nickname,headimg,money,uid', 'id desc', 20);
|
||||
$data = UserModel::getList($whe, '*', 'id desc', 20);
|
||||
$cz_money_total = 0;
|
||||
$wx_money_total = 0;
|
||||
$cz_yue_total = 0;
|
||||
|
|
@ -545,14 +545,43 @@ class User extends Base
|
|||
$profit_loss_total = 0;
|
||||
$money = 0;
|
||||
foreach ($data['list'] as $k => &$v) {
|
||||
#公式 (充值余额 + 币 + 微信支付 - 余额 - 背包赏品
|
||||
#收入(800) - 发货金额(0) - 用户剩余达达券(2741.86) - 盒柜剩余(20254.15)
|
||||
$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;
|
||||
$cz_integral = ProfitIntegral::field('change_money')->where('user_id', '=', $v['id'])->where('type', '=', 1)->where('change_money', '>', 0)->where($where)->sum('change_money');
|
||||
$price = Order::field('price')->where('user_id', '=', $v['id'])->where('status', '=', 1)->where('price', '>', 0)->where($where)->sum('price');
|
||||
$shang_money = OrderList::field('goodslist_money')->where('user_id', '=', $v['id'])->whereIn('status', [0])->where('goodslist_money', '>', 0)->where($where)->sum('goodslist_money');
|
||||
$fh_money = OrderList::field('goodslist_money')->where('user_id', '=', $v['id'])->where('status', '=', 2)->where('goodslist_money', '>', 0)->where($where)->sum('goodslist_money');
|
||||
# 钻石支付
|
||||
$use_money = Order::field('use_money')
|
||||
->where('user_id', '=', $v['id'])
|
||||
->where('status', '=', 1)
|
||||
->where('use_money', '>', 0)
|
||||
->where($where)
|
||||
->sum('use_money');
|
||||
|
||||
# 微信支付
|
||||
$price = Order::field('price')
|
||||
->where('user_id', '=', $v['id'])
|
||||
->where('status', '=', 1)
|
||||
->where('price', '>', 0)
|
||||
->where($where)
|
||||
->sum('price');
|
||||
$shouru = $use_money ?? 0 + $price ?? 0;
|
||||
# 盒柜剩余
|
||||
$shang_money = OrderList::field('goodslist_money')
|
||||
->where('user_id', '=', $v['id'])
|
||||
->whereIn('status', [0])
|
||||
->where('goodslist_money', '>', 0)
|
||||
->where($where)->sum('goodslist_money') ?? 0;
|
||||
# 发货价值
|
||||
$fh_money = OrderList::field('goodslist_money')
|
||||
->where('user_id', '=', $v['id'])
|
||||
->where('status', '=', 2)
|
||||
->where('goodslist_money', '>', 0)
|
||||
->where($where)->sum('goodslist_money') ?? 0;
|
||||
# 用户剩余达达券
|
||||
$money2 = $v['money2'];
|
||||
$lirun = $shouru - $shang_money - $fh_money - $money2;
|
||||
|
||||
$tx_money = ProfitMoney2::field('change_money')->where('user_id', '=', $v['id'])->where('type', '=', 5)->where('change_money', '<', 0)->where($where)->sum('change_money');
|
||||
$profit_loss = $cz_yue + $price - $v['money'] - $shang_money - $fh_money;
|
||||
$profit_loss = $profit_loss + $tx_money;
|
||||
|
|
@ -564,7 +593,9 @@ class User extends Base
|
|||
$v['fh_money'] = $fh_money;
|
||||
$v['tx_money'] = $tx_money;
|
||||
$v['profit_loss'] = $profit_loss;
|
||||
|
||||
$v['lirun'] = $lirun;
|
||||
$v['liruntips'] = '收入('.$shouru.')- 发货金额('.$fh_money.') - 用户剩余达达券('.$money2.') - 盒柜剩余('.$shang_money.' ) ;';
|
||||
$v['shouru'] = $shouru;
|
||||
|
||||
$cz_money_total += $cz_yue;
|
||||
$wx_money_total += $wx_money;
|
||||
|
|
@ -722,21 +753,21 @@ class User extends Base
|
|||
// 将UID转换为用户ID
|
||||
$id = $this->convertUidToUserId($id);
|
||||
// dd($id);
|
||||
|
||||
|
||||
// 获取当前页码
|
||||
$page_num = $request->param('page', 1);
|
||||
$list_rows = 20;
|
||||
|
||||
|
||||
// 修复分页:明确指定包含id参数
|
||||
$query = ['id' => $id]; // 确保id参数被保留
|
||||
$list = \app\common\model\User::where('pid', $id)->paginate([
|
||||
'list_rows' => $list_rows,
|
||||
'query' => $query
|
||||
]);
|
||||
|
||||
|
||||
// 计算基础序号
|
||||
$start_index = ($page_num - 1) * $list_rows;
|
||||
|
||||
|
||||
$page = $list->render();
|
||||
$data['list'] = $list->toArray()['data'];
|
||||
$data['count'] = $list->total();
|
||||
|
|
|
|||
|
|
@ -439,6 +439,9 @@ Route::rule('statistics_lotteryUsersData', 'Statistics/lotteryUsersData', 'GET')
|
|||
Route::rule('Statistics/getUserStatisticsData', 'Statistics/getUserStatisticsData', 'GET');
|
||||
Route::rule('Statistics/getProfitData', 'Statistics/getProfitData', 'GET');
|
||||
Route::rule('Statistics/getUserRegisterData', 'Statistics/getUserRegisterData', 'GET');
|
||||
Route::rule('Statistics/getTodayOrderData', 'Statistics/getTodayOrderData', 'GET');
|
||||
Route::rule('Statistics/getCurrencyInfoData', 'Statistics/getCurrencyInfoData', 'GET');
|
||||
|
||||
// 盒子下架日志相关路由
|
||||
Route::post('goods_offshelf_read', 'GoodsOffshelfController/read');
|
||||
Route::get('goods_offshelf_unread_count', 'GoodsOffshelfController/getUnreadCount');
|
||||
|
|
|
|||
|
|
@ -10,81 +10,136 @@
|
|||
<div class="layui-fluid">
|
||||
<div class="layui-card">
|
||||
<div class="layui-row">
|
||||
<div class="layui-col-xs6">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header" style="background-color: yellow;">
|
||||
总注册人数:
|
||||
<span style="color: red;" id="totalUserCount">
|
||||
<i class="layui-icon layui-icon-loading layui-anim layui-anim-rotate layui-anim-loop"></i> 加载中...
|
||||
</span>
|
||||
<button type="button" class="layui-btn layui-btn-xs layui-btn-warm" id="refreshUserRegister" style="float: right;margin-top: 5px;">
|
||||
<i class="layui-icon layui-icon-refresh"></i> 刷新
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div class="layui-col-xs6">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header" style="background-color: #1E3A8A; color: #fff; font-weight: 700; height: 41px; line-height: 41px; padding: 0 20px; border-radius: 2px 2px 0 0;">
|
||||
今日订单
|
||||
<button type="button" class="layui-btn layui-btn-xs layui-btn-normal" id="refreshTodayOrder"
|
||||
style="float: right;margin-top: 10px;">
|
||||
<i class="layui-icon layui-icon-refresh"></i> 刷新
|
||||
</button>
|
||||
</div>
|
||||
<div class="layui-card-body" style="padding: 0px;">
|
||||
<div id="todayOrderLoading" style="text-align: center; padding: 20px;">
|
||||
<i class="layui-icon layui-icon-loading layui-anim layui-anim-rotate layui-anim-loop"
|
||||
style="font-size: 30px;"></i>
|
||||
<p>正在加载数据...</p>
|
||||
</div>
|
||||
<div class="layui-card-body" style="padding: 0px;">
|
||||
<div id="userRegisterLoading" style="text-align: center; padding: 20px;">
|
||||
<i class="layui-icon layui-icon-loading layui-anim layui-anim-rotate layui-anim-loop" style="font-size: 30px;"></i>
|
||||
<p>正在加载数据...</p>
|
||||
</div>
|
||||
<div class="layui-row" id="userRegisterData" style="display: none;">
|
||||
<div class="layui-col-xs6" style="padding: 0px 5px;background-color: #393D49;">
|
||||
<div class="layui-card" style="background-color: #393D49;color: #fff;">
|
||||
<div class="layui-card-header" style="color: #fff;">用户注册数据</div>
|
||||
<div class="layui-card-body">
|
||||
<div class="layui-row s-row ">
|
||||
<div class="layui-col-xs6">
|
||||
今日新增用户: <span class="layui-badge layui-bg-gray" id="user_today">-</span>
|
||||
</div>
|
||||
<div class="layui-col-xs6">
|
||||
昨日新增用户: <span class="layui-badge layui-bg-gray" id="user_yesterday">-</span>
|
||||
</div>
|
||||
<div class="layui-row" id="todayOrderData" style="display: none;">
|
||||
<!-- 第一行:发起订单数,支付订单数,消费人数,空 -->
|
||||
<div class="layui-col-xs12" style="margin-bottom: 5px;">
|
||||
<div class="layui-row">
|
||||
<div class="layui-col-xs3" style="padding: 0px 2px;">
|
||||
<div class="layui-card"
|
||||
style="background-color: #EFF6FF; color: #1E40AF; margin: 0;">
|
||||
<div class="layui-card-body" style="padding: 10px;">
|
||||
<p>发起订单数:<span style="float: right; font-weight: 600;" id="initiate_order_count">-</span>
|
||||
</p>
|
||||
</div>
|
||||
<div class="layui-row s-row ">
|
||||
<div class="layui-col-xs6">
|
||||
本周新增用户: <span class="layui-badge layui-bg-gray" id="user_this_week">-</span>
|
||||
</div>
|
||||
<div class="layui-col-xs6">
|
||||
上周新增用户: <span class="layui-badge layui-bg-gray" id="user_last_week">-</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-xs3" style="padding: 0px 2px;">
|
||||
<div class="layui-card"
|
||||
style="background-color: #EFF6FF; color: #1E40AF; margin: 0;">
|
||||
<div class="layui-card-body" style="padding: 10px;">
|
||||
<p>支付订单数:<span style="float: right; font-weight: 600;" id="paid_order_count">-</span></p>
|
||||
</div>
|
||||
<div class="layui-row s-row ">
|
||||
<div class="layui-col-xs6">
|
||||
本月新增用户: <span class="layui-badge layui-bg-gray" id="user_this_month">-</span>
|
||||
</div>
|
||||
<div class="layui-col-xs6">
|
||||
上月新增用户: <span class="layui-badge layui-bg-gray" id="user_last_month">-</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-xs3" style="padding: 0px 2px;">
|
||||
<div class="layui-card"
|
||||
style="background-color: #EFF6FF; color: #1E40AF; margin: 0;">
|
||||
<div class="layui-card-body" style="padding: 10px;">
|
||||
<p>消费人数:<span style="float: right; font-weight: 600;"
|
||||
id="consuming_user_count_today">-</span></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-xs3" style="padding: 0px 2px;">
|
||||
<div class="layui-card"
|
||||
style="background-color: #EFF6FF; color: #1E40AF; margin: 0;">
|
||||
<div class="layui-card-body" style="padding: 10px;">
|
||||
<p> </p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-xs6" style="padding: 0px 5px;background-color: #009688;">
|
||||
<div class="layui-card" style="background-color: #009688;color: #fff;">
|
||||
<div class="layui-card-header" style="color: #fff;">用户充值数据</div>
|
||||
<div class="layui-card-body">
|
||||
<div class="layui-row s-row ">
|
||||
<div class="layui-col-xs6">
|
||||
今日充值金额: <span class="layui-badge layui-bg-gray" id="order_today_value">-</span>
|
||||
</div>
|
||||
<div class="layui-col-xs6">
|
||||
昨日充值金额: <span class="layui-badge layui-bg-gray" id="order_yesterday_value">-</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 第二行:订单总金额,出货总金额,优惠卷抵扣,空 -->
|
||||
<div class="layui-col-xs12" style="margin-bottom: 5px;">
|
||||
<div class="layui-row">
|
||||
<div class="layui-col-xs3" style="padding: 0px 2px;">
|
||||
<div class="layui-card"
|
||||
style="background-color: #ECFDF5; color: #065F46; margin: 0;">
|
||||
<div class="layui-card-body" style="padding: 10px;">
|
||||
<p>订单总金额:<span style="float: right; font-weight: 600;" id="order_total_amount">-</span>
|
||||
</p>
|
||||
</div>
|
||||
<div class="layui-row s-row ">
|
||||
<div class="layui-col-xs6">
|
||||
本周充值金额: <span class="layui-badge layui-bg-gray" id="order_this_week_value">-</span>
|
||||
</div>
|
||||
<div class="layui-col-xs6">
|
||||
上周充值金额: <span class="layui-badge layui-bg-gray" id="order_last_week_value">-</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-xs3" style="padding: 0px 2px;">
|
||||
<div class="layui-card"
|
||||
style="background-color: #ECFDF5; color: #065F46; margin: 0;">
|
||||
<div class="layui-card-body" style="padding: 10px;">
|
||||
<p>出货总金额:<span style="float: right; font-weight: 600;" id="goods_total_amount">-</span>
|
||||
</p>
|
||||
</div>
|
||||
<div class="layui-row s-row ">
|
||||
<div class="layui-col-xs6">
|
||||
本月充值金额: <span class="layui-badge layui-bg-gray" id="order_this_month_value">-</span>
|
||||
</div>
|
||||
<div class="layui-col-xs6">
|
||||
上月充值金额: <span class="layui-badge layui-bg-gray" id="order_last_month_value">-</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-xs3" style="padding: 0px 2px;">
|
||||
<div class="layui-card"
|
||||
style="background-color: #ECFDF5; color: #065F46; margin: 0;">
|
||||
<div class="layui-card-body" style="padding: 10px;">
|
||||
<p> </p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-xs3" style="padding: 0px 2px;">
|
||||
<div class="layui-card"
|
||||
style="background-color: #ECFDF5; color: #065F46; margin: 0;">
|
||||
<div class="layui-card-body" style="padding: 10px;">
|
||||
<p>优惠券抵扣:<span style="float: right; font-weight: 600;" id="coupon_discount">-</span></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 第三行:RMB支付,钻石支付,UU币支付,达达券支付 -->
|
||||
<div class="layui-col-xs12">
|
||||
<div class="layui-row">
|
||||
<div class="layui-col-xs3" style="padding: 0px 2px;">
|
||||
<div class="layui-card"
|
||||
style="background-color: #F9FAFB; color: #111827; margin: 0;">
|
||||
<div class="layui-card-body" style="padding: 10px;">
|
||||
<p>RMB支付:<span style="float: right; font-weight: 600;" id="rmb_payment">-</span></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-xs3" style="padding: 0px 2px;">
|
||||
<div class="layui-card"
|
||||
style="background-color: #F9FAFB; color: #111827; margin: 0;">
|
||||
<div class="layui-card-body" style="padding: 10px;">
|
||||
<p>钻石支付:<span style="float: right; font-weight: 600;" id="diamond_payment">-</span></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-xs3" style="padding: 0px 2px;">
|
||||
<div class="layui-card"
|
||||
style="background-color: #F9FAFB; color: #111827; margin: 0;">
|
||||
<div class="layui-card-body" style="padding: 10px;">
|
||||
<p>UU币支付:<span style="float: right; font-weight: 600;" id="uu_payment">-</span></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-xs3" style="padding: 0px 2px;">
|
||||
<div class="layui-card"
|
||||
style="background-color: #F9FAFB; color: #111827; margin: 0;">
|
||||
<div class="layui-card-body" style="padding: 10px;">
|
||||
<p>达达券支付:<span style="float: right; font-weight: 600;" id="dada_payment">-</span></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -93,98 +148,149 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-xs6">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header" style="background-color: #2F3F56;color: #fff;">
|
||||
消费与虚拟货币
|
||||
<span style="color: red;">
|
||||
|
||||
</span>
|
||||
</div>
|
||||
<div class="layui-col-xs6">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header"
|
||||
style="background: #2563EB; color: #fff; font-weight: 700; height: 41px; line-height: 41px; padding: 0 20px; border-radius: 2px 2px 0 0;">
|
||||
<div style="position: relative">
|
||||
<span>今日货币信息</span>
|
||||
<button type="button" class="layui-btn layui-btn-xs layui-btn-normal" id="refreshCurrencyInfo"
|
||||
style="float: right;margin-top: 10px;">
|
||||
<i class="layui-icon layui-icon-refresh"></i> 刷新
|
||||
</button>
|
||||
</div>
|
||||
<div class="layui-card-body" style="padding: 0px;">
|
||||
<div class="layui-row">
|
||||
<div class="layui-col-xs6" style="padding: 0px 5px;background-color: #21A0BF;">
|
||||
<div class="layui-card" style="background-color: #21A0BF;color: #fff;">
|
||||
<div class="layui-card-header" style="color: #fff;">消费数据(RMB/全部)</div>
|
||||
<div class="layui-card-body">
|
||||
<div class="layui-row s-row ">
|
||||
<div class="layui-col-xs6">
|
||||
今日消费人数: <span
|
||||
class="layui-badge layui-bg-gray">{$rmb_consume_today}/{$consume_today}</span>
|
||||
</div>
|
||||
<div class="layui-col-xs6">
|
||||
昨日消费人数: <span
|
||||
class="layui-badge layui-bg-gray">{$rmb_consume_yesterday}/{$consume_yesterday}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-row s-row ">
|
||||
<div class="layui-col-xs6">
|
||||
本周消费人数: <span
|
||||
class="layui-badge layui-bg-gray">{$rmb_consume_this_week}/{$consume_this_week}</span>
|
||||
</div>
|
||||
<div class="layui-col-xs6">
|
||||
上周消费人数: <span
|
||||
class="layui-badge layui-bg-gray">{$rmb_consume_last_week}/{$consume_last_week}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-row s-row ">
|
||||
<div class="layui-col-xs6">
|
||||
本月消费人数: <span
|
||||
class="layui-badge layui-bg-gray">{$rmb_consume_this_month}/{$consume_this_month}</span>
|
||||
</div>
|
||||
<div class="layui-col-xs6">
|
||||
上月消费人数: <span
|
||||
class="layui-badge layui-bg-gray">{$rmb_consume_last_month}/{$consume_last_month}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-card-body" style="padding: 0px;">
|
||||
<div id="currencyInfoLoading" style="text-align: center; padding: 20px;">
|
||||
<i class="layui-icon layui-icon-loading layui-anim layui-anim-rotate layui-anim-loop"
|
||||
style="font-size: 30px;"></i>
|
||||
<p>正在加载数据...</p>
|
||||
</div>
|
||||
<div class="layui-row" id="currencyInfoData" style="display: none;">
|
||||
<!-- 第一行:今日发放钻石,今日消费钻石,昨日发放钻石,昨日消费钻石 -->
|
||||
<div class="layui-col-xs12" style="margin-bottom: 5px;">
|
||||
<div class="layui-row">
|
||||
<div class="layui-col-xs3" style="padding: 0px 2px;">
|
||||
<div class="layui-card"
|
||||
style="background-color: #EFF6FF; color: #1E40AF; margin: 0;">
|
||||
<div class="layui-card-body" style="padding: 10px;">
|
||||
<p>今日发放钻石:<span style="float: right; font-weight: 600;" id="today_add_money">-</span></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-xs6" style="padding: 0px 5px;background-color: #FF5722;">
|
||||
<div class="layui-card" style="background-color: #FF5722;color: #fff;">
|
||||
<div class="layui-card-header" style="color: #fff;">虚拟货币统计</div>
|
||||
<div class="layui-card-body">
|
||||
<div class="layui-row s-row ">
|
||||
<div class="layui-col-xs6">
|
||||
今日余额消费: <span
|
||||
class="layui-badge layui-bg-gray">{$money_today}</span>
|
||||
</div>
|
||||
<div class="layui-col-xs6">
|
||||
今日余额发放: <span
|
||||
class="layui-badge layui-bg-gray">{$money_recovery_today}</span>
|
||||
</div>
|
||||
|
||||
<div class="layui-col-xs3" style="padding: 0px 2px;">
|
||||
<div class="layui-card"
|
||||
style="background-color: #EFF6FF; color: #1E40AF; margin: 0;">
|
||||
<div class="layui-card-body" style="padding: 10px;">
|
||||
<p>今日消费钻石:<span style="float: right; font-weight: 600;" id="today_use_money">-</span></p>
|
||||
</div>
|
||||
<div class="layui-row s-row ">
|
||||
<div class="layui-col-xs6">
|
||||
今日积分消费: <span
|
||||
class="layui-badge layui-bg-gray">{$score_today}</span>
|
||||
</div>
|
||||
<div class="layui-col-xs6">
|
||||
今日消费卷抵扣: <span
|
||||
class="layui-badge layui-bg-gray">{$coupon_today}</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-xs3" style="padding: 0px 2px;">
|
||||
<div class="layui-card"
|
||||
style="background-color: #EFF6FF; color: #1E40AF; margin: 0;">
|
||||
<div class="layui-card-body" style="padding: 10px;">
|
||||
<p>昨日发放钻石:<span style="float: right; font-weight: 600;" id="yesterday_add_money">-</span>
|
||||
</p>
|
||||
</div>
|
||||
<div class="layui-row s-row ">
|
||||
<div class="layui-col-xs6">
|
||||
昨日积分消费: <span
|
||||
class="layui-badge layui-bg-gray">{$score_yesterday}</span>
|
||||
</div>
|
||||
<!-- <div class="layui-col-xs6">
|
||||
昨日余额消费: <span
|
||||
class="layui-badge layui-bg-gray">{$money_yesterday}</span>
|
||||
</div> -->
|
||||
<div class="layui-col-xs6">
|
||||
昨日余额发放: <span
|
||||
class="layui-badge layui-bg-gray">{$money_recovery_yesterday}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-xs3" style="padding: 0px 2px;">
|
||||
<div class="layui-card"
|
||||
style="background-color: #EFF6FF; color: #1E40AF; margin: 0;">
|
||||
<div class="layui-card-body" style="padding: 10px;">
|
||||
<p>昨日消费钻石:<span style="float: right; font-weight: 600;" id="yesterday_use_money">-</span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 第二行:今日发放UU币,今日消费UU币,昨日发放UU币,昨日消费UU币 -->
|
||||
<div class="layui-col-xs12" style="margin-bottom: 5px;">
|
||||
<div class="layui-row">
|
||||
<div class="layui-col-xs3" style="padding: 0px 2px;">
|
||||
<div class="layui-card"
|
||||
style="background-color: #ECFDF5; color: #065F46; margin: 0;">
|
||||
<div class="layui-card-body" style="padding: 10px;">
|
||||
<p>今日发放UU币:<span style="float: right; font-weight: 600;" id="today_add_integral">-</span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-xs3" style="padding: 0px 2px;">
|
||||
<div class="layui-card"
|
||||
style="background-color: #ECFDF5; color: #065F46; margin: 0;">
|
||||
<div class="layui-card-body" style="padding: 10px;">
|
||||
<p>今日消费UU币:<span style="float: right; font-weight: 600;" id="today_use_integral">-</span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-xs3" style="padding: 0px 2px;">
|
||||
<div class="layui-card"
|
||||
style="background-color: #ECFDF5; color: #065F46; margin: 0;">
|
||||
<div class="layui-card-body" style="padding: 10px;">
|
||||
<p>昨日发放UU币:<span style="float: right; font-weight: 600;"
|
||||
id="yesterday_add_integral">-</span></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-xs3" style="padding: 0px 2px;">
|
||||
<div class="layui-card"
|
||||
style="background-color: #ECFDF5; color: #065F46; margin: 0;">
|
||||
<div class="layui-card-body" style="padding: 10px;">
|
||||
<p>昨日消费UU币:<span style="float: right; font-weight: 600;"
|
||||
id="yesterday_use_integral">-</span></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 第三行:今日兑换达达券,今日消费达达券,昨日兑换达达券,昨日消费达达券 -->
|
||||
<div class="layui-col-xs12">
|
||||
<div class="layui-row">
|
||||
<div class="layui-col-xs3" style="padding: 0px 2px;">
|
||||
<div class="layui-card"
|
||||
style="background-color: #F9FAFB; color: #111827; margin: 0;">
|
||||
<div class="layui-card-body" style="padding: 10px;">
|
||||
<p>今日发放达达券:<span style="float: right; font-weight: 600;" id="today_add_money2">-</span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-xs3" style="padding: 0px 2px;">
|
||||
<div class="layui-card"
|
||||
style="background-color: #F9FAFB; color: #111827; margin: 0;">
|
||||
<div class="layui-card-body" style="padding: 10px;">
|
||||
<p>今日消费达达券:<span style="float: right; font-weight: 600;" id="today_use_money2">-</span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-xs3" style="padding: 0px 2px;">
|
||||
<div class="layui-card"
|
||||
style="background-color: #F9FAFB; color: #111827; margin: 0;">
|
||||
<div class="layui-card-body" style="padding: 10px;">
|
||||
<p>昨日发放达达券:<span style="float: right; font-weight: 600;"
|
||||
id="yesterday_add_money2">-</span></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-xs3" style="padding: 0px 2px;">
|
||||
<div class="layui-card"
|
||||
style="background-color: #F9FAFB; color: #111827; margin: 0;">
|
||||
<div class="layui-card-body" style="padding: 10px;">
|
||||
<p>昨日消费达达券:<span style="float: right; font-weight: 600;"
|
||||
id="yesterday_use_money2">-</span></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -192,14 +298,20 @@
|
|||
<div class="layui-row">
|
||||
<div class="layui-col-xs6">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header" style="text-align:center;background-color: #7C98CB;">
|
||||
<div class="layui-card-header" style="background-color: #1E3A8A; color: #fff; font-weight: 700; height: 41px; line-height: 41px; padding: 0 20px; border-radius: 2px 2px 0 0;">
|
||||
今日收入汇总
|
||||
<button type="button" class="layui-btn layui-btn-xs layui-btn-normal" id="refreshProfit" style="float: right;margin-top: 5px;">
|
||||
<button type="button" class="layui-btn layui-btn-xs layui-btn-normal" id="refreshProfit"
|
||||
style="float: right;margin-top: 10px;">
|
||||
<i class="layui-icon layui-icon-refresh"></i> 刷新
|
||||
</button>
|
||||
</div>
|
||||
<div class="layui-card-body" style="padding: 0px;">
|
||||
<table class="layui-table">
|
||||
<div id="profitDataLoading" style="text-align: center; padding: 20px;">
|
||||
<i class="layui-icon layui-icon-loading layui-anim layui-anim-rotate layui-anim-loop"
|
||||
style="font-size: 30px;"></i>
|
||||
<p>正在加载数据...</p>
|
||||
</div>
|
||||
<table class="layui-table" id="profitDataTable" style="display: none;">
|
||||
<colgroup>
|
||||
<col width="150">
|
||||
<col>
|
||||
|
|
@ -207,43 +319,46 @@
|
|||
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>订单收入:</td>
|
||||
<td>{$order_zhe_total}(收入不包含折扣,不包含优惠卷)</td>
|
||||
<td>订单收入(RMB+钻石):</td>
|
||||
<td id="today_income">加载中...</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>RMB收入:</td>
|
||||
<td>{$order_today}</td>
|
||||
<td id="rmb_income">加载中...</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>其他收入:</td>
|
||||
<td>{$profit_rvenue}</td>
|
||||
<td id="other_income">加载中...</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>订单出货:</td>
|
||||
<td>{$order_goodslist_money}</td>
|
||||
<td id="shipped_today">加载中...</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>支出</td>
|
||||
<td>{$profit_expenses}</td>
|
||||
<td>支出:</td>
|
||||
<td id="expenses">加载中...</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>订单笔数:</td>
|
||||
<td>{$order_count}</td>
|
||||
<td>当天发货金额:</td>
|
||||
<td id="today_shipped">加载中...</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>发数:</td>
|
||||
<td>{$order_goodslist_count}</td>
|
||||
<td>当天用户剩余达达券:</td>
|
||||
<td id="remaining_coupon">加载中...</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>盒柜剩余价值:</td>
|
||||
<td id="box_remaining">加载中...</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>利润:</td>
|
||||
<td id="profit_value">
|
||||
<div class="layui-progress" lay-filter="profit-loading" style="margin-top: 10px;">
|
||||
<div class="layui-progress" lay-filter="profit-loading"
|
||||
style="margin-top: 10px;">
|
||||
<div class="layui-progress-bar layui-bg-blue" lay-percent="0%"></div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td>利润计算方式:</td>
|
||||
<td id="profit_formula">加载中...</td>
|
||||
|
|
@ -253,52 +368,19 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-xs6" style="display: none;">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header" style="text-align:center;background-color:darkorange;">
|
||||
今日毛利统计
|
||||
</div>
|
||||
<div class="layui-card-body" style="padding: 0px;">
|
||||
<table class="layui-table">
|
||||
<colgroup>
|
||||
<col width="50%">
|
||||
<col>
|
||||
</colgroup>
|
||||
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>今日毛利:{$order_lirun}</td>
|
||||
<td>昨日毛利:{$order_lirun_yester}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>本周毛利:{$order_lirun_week}</td>
|
||||
<td>上周毛利:{$order_lirun_last_week}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>本月毛利:{$order_zhe_total_month}</td>
|
||||
<td>上月毛利:{$order_lirun_last_month}</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 新增用户数据统计卡片 -->
|
||||
<div class="layui-row" style="margin-top: 15px;">
|
||||
<div class="layui-col-xs6">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header" style="text-align:center;background-color: #1E9FFF;color:#fff;">
|
||||
用户数据统计
|
||||
<button type="button" class="layui-btn layui-btn-xs layui-btn-normal" id="refreshUserStats" style="float: right;margin-top: 5px;">
|
||||
<button type="button" class="layui-btn layui-btn-xs layui-btn-normal" id="refreshUserStats"
|
||||
style="float: right;margin-top: 5px;">
|
||||
<i class="layui-icon layui-icon-refresh"></i> 刷新
|
||||
</button>
|
||||
</div>
|
||||
<div class="layui-card-body" style="padding: 0px;">
|
||||
<div id="userStatsLoading" style="text-align: center; padding: 20px;">
|
||||
<i class="layui-icon layui-icon-loading layui-anim layui-anim-rotate layui-anim-loop" style="font-size: 30px;"></i>
|
||||
<i class="layui-icon layui-icon-loading layui-anim layui-anim-rotate layui-anim-loop"
|
||||
style="font-size: 30px;"></i>
|
||||
<p>正在加载数据...</p>
|
||||
</div>
|
||||
<table class="layui-table" id="userStatsTable" style="display: none;">
|
||||
|
|
@ -351,6 +433,42 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-xs6" style="display: none;">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header" style="text-align:center;background-color:darkorange;">
|
||||
今日毛利统计
|
||||
</div>
|
||||
<div class="layui-card-body" style="padding: 0px;">
|
||||
<table class="layui-table">
|
||||
<colgroup>
|
||||
<col width="50%">
|
||||
<col>
|
||||
</colgroup>
|
||||
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>今日毛利:{$order_lirun}</td>
|
||||
<td>昨日毛利:{$order_lirun_yester}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>本周毛利:{$order_lirun_week}</td>
|
||||
<td>上周毛利:{$order_lirun_last_week}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>本月毛利:{$order_zhe_total_month}</td>
|
||||
<td>上月毛利:{$order_lirun_last_month}</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 新增用户数据统计卡片 -->
|
||||
<div class="layui-row" style="margin-top: 15px;">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -377,12 +495,12 @@
|
|||
function loadUserStatistics() {
|
||||
$('#userStatsTable').hide();
|
||||
$('#userStatsLoading').show();
|
||||
|
||||
|
||||
$.ajax({
|
||||
url: '{:url("admin/Statistics/getUserStatisticsData")}',
|
||||
type: 'GET',
|
||||
dataType: 'json',
|
||||
success: function(res) {
|
||||
success: function (res) {
|
||||
if (res.code === 0) {
|
||||
// 填充数据
|
||||
$('#user_register_count').text(res.data.user_register_count);
|
||||
|
|
@ -396,122 +514,182 @@
|
|||
$('#exchanged_coupon').text(res.data.exchanged_coupon);
|
||||
$('#shipped_amount').text(res.data.shipped_amount);
|
||||
$('#total_goods_amount').text(res.data.total_goods_amount);
|
||||
|
||||
|
||||
// 显示表格
|
||||
$('#userStatsLoading').hide();
|
||||
$('#userStatsTable').show();
|
||||
} else {
|
||||
layer.msg('加载数据失败:' + res.msg, {icon: 2});
|
||||
layer.msg('加载数据失败:' + res.msg, { icon: 2 });
|
||||
$('#userStatsLoading').html('<p>加载失败,请点击刷新按钮重试</p>');
|
||||
}
|
||||
},
|
||||
error: function() {
|
||||
layer.msg('服务器连接失败,请稍后再试', {icon: 2});
|
||||
error: function () {
|
||||
layer.msg('服务器连接失败,请稍后再试', { icon: 2 });
|
||||
$('#userStatsLoading').html('<p>加载失败,请点击刷新按钮重试</p>');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
// 加载利润数据
|
||||
function loadProfitData() {
|
||||
// 显示加载动画,隐藏数据表格
|
||||
$('#profitDataTable').hide();
|
||||
$('#profitDataLoading').show();
|
||||
|
||||
// 更新进度条
|
||||
element.progress('profit-loading', '30%');
|
||||
|
||||
|
||||
$.ajax({
|
||||
url: '{:url("admin/Statistics/getProfitData")}',
|
||||
type: 'GET',
|
||||
dataType: 'json',
|
||||
success: function(res) {
|
||||
success: function (res) {
|
||||
if (res.code === 0) {
|
||||
// 填充所有数据
|
||||
$('#today_income').text(res.data.today_income);
|
||||
$('#rmb_income').text(res.data.rmb_income);
|
||||
$('#other_income').text(res.data.other_income);
|
||||
$('#shipped_today').text(res.data.shipped_today);
|
||||
$('#expenses').text(res.data.expenses);
|
||||
$('#today_shipped').text(res.data.today_shipped);
|
||||
$('#remaining_coupon').text(res.data.remaining_coupon);
|
||||
$('#box_remaining').text(res.data.box_remaining);
|
||||
|
||||
// 填充利润数据
|
||||
element.progress('profit-loading', '100%');
|
||||
setTimeout(function() {
|
||||
setTimeout(function () {
|
||||
$('#profit_value').html('<span style="color:' + (res.data.profit >= 0 ? 'green' : 'red') + ';font-weight:bold;">' + res.data.profit + '</span>');
|
||||
$('#profit_formula').html(res.data.formula);
|
||||
|
||||
// 隐藏加载动画,显示数据表格
|
||||
$('#profitDataLoading').hide();
|
||||
$('#profitDataTable').show();
|
||||
}, 300);
|
||||
} else {
|
||||
layer.msg('加载利润数据失败:' + res.msg, {icon: 2});
|
||||
$('#profit_value').html('<span style="color:red;">加载失败</span>');
|
||||
$('#profit_formula').html('加载失败,请刷新页面重试');
|
||||
layer.msg('加载利润数据失败:' + res.msg, { icon: 2 });
|
||||
$('#profitDataLoading').html('<p>加载失败,请点击刷新按钮重试</p>');
|
||||
}
|
||||
},
|
||||
error: function() {
|
||||
layer.msg('服务器连接失败,请稍后再试', {icon: 2});
|
||||
$('#profit_value').html('<span style="color:red;">加载失败</span>');
|
||||
$('#profit_formula').html('加载失败,请刷新页面重试');
|
||||
error: function () {
|
||||
layer.msg('服务器连接失败,请稍后再试', { icon: 2 });
|
||||
$('#profitDataLoading').html('<p>加载失败,请点击刷新按钮重试</p>');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// 加载用户注册数据
|
||||
function loadUserRegisterData() {
|
||||
$('#userRegisterData').hide();
|
||||
$('#userRegisterLoading').show();
|
||||
|
||||
|
||||
// 加载货币信息数据
|
||||
function loadCurrencyInfoData() {
|
||||
$('#currencyInfoData').hide();
|
||||
$('#currencyInfoLoading').show();
|
||||
|
||||
$.ajax({
|
||||
url: '{:url("admin/Statistics/getUserRegisterData")}',
|
||||
url: '{:url("admin/Statistics/getCurrencyInfoData")}',
|
||||
type: 'GET',
|
||||
dataType: 'json',
|
||||
success: function(res) {
|
||||
success: function (res) {
|
||||
if (res.code === 0) {
|
||||
// 填充总注册人数
|
||||
$('#totalUserCount').html('<span style="font-weight:bold;">' + res.data.userCount + '</span>');
|
||||
|
||||
// 填充用户注册数据
|
||||
$('#user_today').text(res.data.user_today);
|
||||
$('#user_yesterday').text(res.data.user_yesterday);
|
||||
$('#user_this_week').text(res.data.user_this_week);
|
||||
$('#user_last_week').text(res.data.user_last_week);
|
||||
$('#user_this_month').text(res.data.user_this_month);
|
||||
$('#user_last_month').text(res.data.user_last_month);
|
||||
|
||||
// 填充充值数据
|
||||
$('#order_today_value').text(res.data.order_today);
|
||||
$('#order_yesterday_value').text(res.data.order_yesterday);
|
||||
$('#order_this_week_value').text(res.data.order_this_week);
|
||||
$('#order_last_week_value').text(res.data.order_last_week);
|
||||
$('#order_this_month_value').text(res.data.order_this_month);
|
||||
$('#order_last_month_value').text(res.data.order_last_month);
|
||||
|
||||
// 填充钻石数据
|
||||
$('#today_add_money').text(res.data.today_add_money);
|
||||
$('#today_use_money').text(res.data.today_use_money);
|
||||
$('#yesterday_add_money').text(res.data.yesterday_add_money);
|
||||
$('#yesterday_use_money').text(res.data.yesterday_use_money);
|
||||
|
||||
// 填充UU币数据
|
||||
$('#today_add_integral').text(res.data.today_add_integral);
|
||||
$('#today_use_integral').text(res.data.today_use_integral);
|
||||
$('#yesterday_add_integral').text(res.data.yesterday_add_integral);
|
||||
$('#yesterday_use_integral').text(res.data.yesterday_use_integral);
|
||||
|
||||
// 填充达达券数据
|
||||
$('#today_add_money2').text(res.data.today_add_money2);
|
||||
$('#today_use_money2').text(res.data.today_use_money2);
|
||||
$('#yesterday_add_money2').text(res.data.yesterday_add_money2);
|
||||
$('#yesterday_use_money2').text(res.data.yesterday_use_money2);
|
||||
|
||||
// 显示数据区域
|
||||
$('#userRegisterLoading').hide();
|
||||
$('#userRegisterData').show();
|
||||
$('#currencyInfoLoading').hide();
|
||||
$('#currencyInfoData').show();
|
||||
} else {
|
||||
layer.msg('加载用户数据失败:' + res.msg, {icon: 2});
|
||||
$('#userRegisterLoading').html('<p>加载失败,请点击刷新按钮重试</p>');
|
||||
$('#totalUserCount').html('<span style="color:red;">加载失败</span>');
|
||||
layer.msg('加载货币信息数据失败:' + res.msg, { icon: 2 });
|
||||
$('#currencyInfoLoading').html('<p>加载失败,请点击刷新按钮重试</p>');
|
||||
}
|
||||
},
|
||||
error: function() {
|
||||
layer.msg('服务器连接失败,请稍后再试', {icon: 2});
|
||||
$('#userRegisterLoading').html('<p>加载失败,请点击刷新按钮重试</p>');
|
||||
$('#totalUserCount').html('<span style="color:red;">加载失败</span>');
|
||||
error: function () {
|
||||
layer.msg('服务器连接失败,请稍后再试', { icon: 2 });
|
||||
$('#currencyInfoLoading').html('<p>加载失败,请点击刷新按钮重试</p>');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
// 加载今日订单数据
|
||||
function loadTodayOrderData() {
|
||||
$('#todayOrderData').hide();
|
||||
$('#todayOrderLoading').show();
|
||||
|
||||
$.ajax({
|
||||
url: '{:url("admin/Statistics/getTodayOrderData")}',
|
||||
type: 'GET',
|
||||
dataType: 'json',
|
||||
success: function (res) {
|
||||
if (res.code === 0) {
|
||||
// 填充订单数据
|
||||
$('#initiate_order_count').text(res.data.initiate_order_count);
|
||||
$('#paid_order_count').text(res.data.paid_order_count);
|
||||
$('#consuming_user_count_today').text(res.data.user_count);
|
||||
$('#order_total_amount').text(res.data.order_zhe_total);
|
||||
$('#goods_total_amount').text(res.data.goods_total_amount);
|
||||
$('#coupon_discount').text(res.data.use_coupon);
|
||||
$('#rmb_payment').text(res.data.price);
|
||||
$('#diamond_payment').text(res.data.use_money);
|
||||
$('#uu_payment').text(res.data.use_integral);
|
||||
$('#dada_payment').text(res.data.use_money2);
|
||||
|
||||
// 显示数据区域
|
||||
$('#todayOrderLoading').hide();
|
||||
$('#todayOrderData').show();
|
||||
} else {
|
||||
layer.msg('加载今日订单数据失败:' + res.msg, { icon: 2 });
|
||||
$('#todayOrderLoading').html('<p>加载失败,请点击刷新按钮重试</p>');
|
||||
}
|
||||
},
|
||||
error: function () {
|
||||
layer.msg('服务器连接失败,请稍后再试', { icon: 2 });
|
||||
$('#todayOrderLoading').html('<p>加载失败,请点击刷新按钮重试</p>');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// 页面加载完成后加载数据
|
||||
loadUserStatistics();
|
||||
loadProfitData();
|
||||
loadUserRegisterData();
|
||||
|
||||
loadCurrencyInfoData();
|
||||
loadTodayOrderData();
|
||||
|
||||
// 刷新按钮点击事件
|
||||
$('#refreshUserStats').on('click', function() {
|
||||
$('#refreshUserStats').on('click', function () {
|
||||
loadUserStatistics();
|
||||
});
|
||||
|
||||
|
||||
// 刷新利润按钮点击事件
|
||||
$('#refreshProfit').on('click', function() {
|
||||
$('#refreshProfit').on('click', function () {
|
||||
$('#profitDataTable').hide();
|
||||
$('#profitDataLoading').show();
|
||||
$('#profitDataLoading').html('<i class="layui-icon layui-icon-loading layui-anim layui-anim-rotate layui-anim-loop" style="font-size: 30px;"></i><p>正在加载数据...</p>');
|
||||
|
||||
$('#profit_value').html('<div class="layui-progress" lay-filter="profit-loading" style="margin-top: 10px;"><div class="layui-progress-bar layui-bg-blue" lay-percent="0%"></div></div>');
|
||||
$('#profit_formula').html('加载中...');
|
||||
element.render('progress');
|
||||
loadProfitData();
|
||||
});
|
||||
|
||||
// 刷新用户注册数据按钮点击事件
|
||||
$('#refreshUserRegister').on('click', function() {
|
||||
$('#totalUserCount').html('<i class="layui-icon layui-icon-loading layui-anim layui-anim-rotate layui-anim-loop"></i> 加载中...');
|
||||
loadUserRegisterData();
|
||||
|
||||
// 刷新货币信息按钮点击事件
|
||||
$('#refreshCurrencyInfo').on('click', function () {
|
||||
loadCurrencyInfoData();
|
||||
});
|
||||
|
||||
// 刷新今日订单按钮点击事件
|
||||
$('#refreshTodayOrder').on('click', function () {
|
||||
loadTodayOrderData();
|
||||
});
|
||||
})
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -1,118 +1,133 @@
|
|||
{include file="Public:header2"/}
|
||||
|
||||
<body>
|
||||
<div class="layui-fluid">
|
||||
<div class="layui-card">
|
||||
<form method="get" class="layui-form layui-card-header layuiadmin-card-header-auto">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<div class="layui-input-inline" style="width: 300px;margin-left: 0px">
|
||||
<input type="text" id="uid" name="uid" value="{$Request.get.uid}" class="layui-input" placeholder="会员UID" style="" autocomplete="off">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<div class="layui-input-inline" style="width: 300px;margin-left: 0px">
|
||||
<input type="text" id="addtime" name="addtime" value="{$Request.get.addtime}" class="layui-input" placeholder="开始时间" style="width:300px;" autocomplete="off" >
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<button class="layui-btn layuiadmin-btn-useradmin" lay-submit lay-filter="LAY-user-front-search">
|
||||
<i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<div class="layui-card-body">
|
||||
<xblock>
|
||||
<div style="padding-bottom: 10px;">
|
||||
<span style="line-height:40px;float:right;">共有数据: {$count}条</span>
|
||||
</div>
|
||||
</xblock>
|
||||
<table class="layui-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<!-- <th>总计</th>-->
|
||||
</tr>
|
||||
<tr>
|
||||
<th>用户信息</th>
|
||||
<th>充值余额</th>
|
||||
<!--<th>充值吧唧币</th>-->
|
||||
<th>微信支付</th>
|
||||
<th>余额</th>
|
||||
<th>背包赏品</th>
|
||||
<th>发货赏品</th>
|
||||
|
||||
<th>盈亏</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{volist name="total_money" id="vo"}
|
||||
<tr>
|
||||
<td>总计</td>
|
||||
<td>{$vo['cz_money_total']}</td>
|
||||
<!--<td>{$vo['cz_integral_total']}</td>-->
|
||||
<td>{$vo['price_total']}</td>
|
||||
<td>{$vo['total_money']}</td>
|
||||
<td>{$vo['shang_money_total']}</td>
|
||||
<td>{$vo['fh_money_total']}</td>
|
||||
|
||||
<td>{$vo['profit_loss_total']}</td>
|
||||
</tr>
|
||||
{/volist}
|
||||
{volist name="list" id="vo"}
|
||||
<tr>
|
||||
<td style="text-align: left">
|
||||
<div style="display: flex;">
|
||||
<div><img src="{:imageUrl($vo['headimg'])}" alt="" width="50px" height="50px"></div>
|
||||
<div style="margin-left: 10px">
|
||||
<p style="color: #e91e63;font-size: 9px">UID:{$vo['uid']}</p>
|
||||
<p style="color: #e91e63;font-size: 9px">真实ID:{$vo['id']}</p>
|
||||
<p style="color: #666666ba;font-size: 9px">{$vo['nickname']}</p>
|
||||
</div>
|
||||
<div class="layui-fluid">
|
||||
<div class="layui-card">
|
||||
<form method="get" class="layui-form layui-card-header layuiadmin-card-header-auto">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<div class="layui-input-inline" style="width: 300px;margin-left: 0px">
|
||||
<input type="text" id="uid" name="uid" value="{$Request.get.uid}" class="layui-input"
|
||||
placeholder="会员UID" style="" autocomplete="off">
|
||||
</div>
|
||||
</td>
|
||||
<td>{$vo['cz_money']}</td>
|
||||
<!--<td>{$vo['cz_integral']}</td>-->
|
||||
<td>{$vo['price']}</td>
|
||||
<td>{$vo['money']}</td>
|
||||
<td>{$vo['shang_money']}</td>
|
||||
<td>{$vo['fh_money']}</td>
|
||||
|
||||
<td>{$vo['profit_loss']}</td>
|
||||
|
||||
</tr>
|
||||
{/volist}
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<div class="layui-input-inline" style="width: 300px;margin-left: 0px">
|
||||
<input type="text" id="addtime" name="addtime" value="{$Request.get.addtime}"
|
||||
class="layui-input" placeholder="开始时间" style="width:300px;" autocomplete="off">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<button class="layui-btn layuiadmin-btn-useradmin" lay-submit
|
||||
lay-filter="LAY-user-front-search">
|
||||
<i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
{if condition="empty($list)"}
|
||||
<tr><td colspan='10' style="text-align:center;">暂时没有数据!</td></tr>
|
||||
{/if}
|
||||
<div class="layui-card-body">
|
||||
<xblock>
|
||||
<div style="padding-bottom: 10px;">
|
||||
<span style="line-height:40px;float:right;">共有数据: {$count}条</span>
|
||||
</div>
|
||||
</xblock>
|
||||
<table class="layui-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<!-- <th>总计</th>-->
|
||||
</tr>
|
||||
<tr>
|
||||
<th>用户信息</th>
|
||||
<!-- <th>钻石</th> -->
|
||||
<!--<th>充值吧唧币</th>-->
|
||||
<th>微信支付</th>
|
||||
<th>钻石</th>
|
||||
<th>UU币</th>
|
||||
<th>达达券</th>
|
||||
<th>背包价值</th>
|
||||
<th>发货价值</th>
|
||||
<th>收入(RMB支付+钻石)</th>
|
||||
<th style="width: 200px;">盈亏(收入- 发货金额- 用户剩余达达券 - 盒柜剩余)</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{volist name="total_money" id="vo"}
|
||||
<!-- <tr>
|
||||
<td>总计</td>
|
||||
|
||||
<td>{$vo['price_total']}</td>
|
||||
<td>{$vo['total_money']}</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td>{$vo['shang_money_total']}</td>
|
||||
<td>{$vo['fh_money_total']}</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td>{$vo['profit_loss_total']}</td>
|
||||
</tr> -->
|
||||
{/volist}
|
||||
{volist name="list" id="vo"}
|
||||
<tr>
|
||||
<td style="text-align: left">
|
||||
<div style="display: flex;">
|
||||
<div><img src="{:imageUrl($vo['headimg'])}" alt="" width="50px" height="50px"></div>
|
||||
<div style="margin-left: 10px">
|
||||
<p style="color: #e91e63;font-size: 9px">UID:{$vo['uid']}</p>
|
||||
<p style="color: #e91e63;font-size: 9px">真实ID:{$vo['id']}</p>
|
||||
<p style="color: #666666ba;font-size: 9px">{$vo['nickname']}</p>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="my_page layui-box layui-laypage layui-laypage-default">
|
||||
{$page|raw}
|
||||
<td>{$vo['price']}</td>
|
||||
<td>{$vo['money']}</td>
|
||||
<td>{$vo['integral']}</td>
|
||||
<td>{$vo['money2']*100}</td>
|
||||
<td>{$vo['shang_money']}</td>
|
||||
<td>{$vo['fh_money']}</td>
|
||||
<td>{$vo['shouru']}</td>
|
||||
<td>
|
||||
<div>
|
||||
{$vo['lirun']}
|
||||
<p style="color: #666666ba;font-size: 9px">{$vo['liruntips']}</p>
|
||||
</div>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
{/volist}
|
||||
|
||||
{if condition="empty($list)"}
|
||||
<tr>
|
||||
<td colspan='10' style="text-align:center;">暂时没有数据!</td>
|
||||
</tr>
|
||||
{/if}
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="my_page layui-box layui-laypage layui-laypage-default">
|
||||
{$page|raw}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{include file="Public:footer"/}
|
||||
<script type="text/javascript">
|
||||
layui.use(['table','laydate'], function(){
|
||||
var laydate = layui.laydate;
|
||||
//执行一个laydate实例
|
||||
laydate.render({
|
||||
elem: '#addtime'
|
||||
,type: 'datetime'
|
||||
,range: '-'
|
||||
,format: 'yyyy-MM-dd'
|
||||
})
|
||||
});
|
||||
{include file="Public:footer"/}
|
||||
<script type="text/javascript">
|
||||
layui.use(['table', 'laydate'], function () {
|
||||
var laydate = layui.laydate;
|
||||
//执行一个laydate实例
|
||||
laydate.render({
|
||||
elem: '#addtime'
|
||||
, type: 'datetime'
|
||||
, range: '-'
|
||||
, format: 'yyyy-MM-dd'
|
||||
})
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
||||
</html>
|
||||
Loading…
Reference in New Issue
Block a user