1
0
mirror of https://gitee.com/koogua/course-tencent-cloud.git synced 2025-06-28 21:31:37 +08:00

1.优化后台数据统计日期问题

2.优化内容图片放大查看
This commit is contained in:
xiaochong0302 2025-02-07 18:35:39 +08:00
parent 97af1081d3
commit 9206166910
9 changed files with 64 additions and 54 deletions

View File

@ -23,11 +23,11 @@ class Stat extends Service
return [
[
'title' => "{$year}-{$month}",
'title' => sprintf('%02d-%02d', $year, $month),
'sales' => $this->handleHotSales($type, $year, $month),
],
[
'title' => "{$prev['year']}-{$prev['month']}",
'title' => sprintf('%02d-%02d', $prev['year'], $prev['month']),
'sales' => $this->handleHotSales($type, $prev['year'], $prev['month']),
],
];
@ -42,12 +42,13 @@ class Stat extends Service
$currSales = $this->handleSales($year, $month);
$prevSales = $this->handleSales($prev['year'], $prev['month']);
$currMonth = sprintf('%02d-%02d', $year, $month);
$prevMonth = sprintf('%02d-%02d', $prev['year'], $prev['month']);
$items = [];
foreach (range(1, 31) as $day) {
$date = sprintf('%02d', $day);
$prevMonth = "{$prev['year']}-{$prev['month']}";
$currMonth = "{$year}-{$month}";
$items[] = [
'date' => $date,
$currMonth => $currSales[$date] ?? 0,
@ -67,12 +68,13 @@ class Stat extends Service
$currRefunds = $this->handleRefunds($year, $month);
$prevRefunds = $this->handleRefunds($prev['year'], $prev['month']);
$currMonth = sprintf('%02d-%02d', $year, $month);
$prevMonth = sprintf('%02d-%02d', $prev['year'], $prev['month']);
$items = [];
foreach (range(1, 31) as $day) {
$date = sprintf('%02d', $day);
$prevMonth = "{$prev['year']}-{$prev['month']}";
$currMonth = "{$year}-{$month}";
$items[] = [
'date' => $date,
$currMonth => $currRefunds[$date] ?? 0,
@ -92,12 +94,13 @@ class Stat extends Service
$currUsers = $this->handleRegisteredUsers($year, $month);
$prevUsers = $this->handleRegisteredUsers($prev['year'], $prev['month']);
$currMonth = sprintf('%02d-%02d', $year, $month);
$prevMonth = sprintf('%02d-%02d', $prev['year'], $prev['month']);
$items = [];
foreach (range(1, 31) as $day) {
$date = sprintf('%02d', $day);
$prevMonth = "{$prev['year']}-{$prev['month']}";
$currMonth = "{$year}-{$month}";
$items[] = [
'date' => $date,
$currMonth => $currUsers[$date] ?? 0,
@ -117,12 +120,13 @@ class Stat extends Service
$currUsers = $this->handleOnlineUsers($year, $month);
$prevUsers = $this->handleOnlineUsers($prev['year'], $prev['month']);
$currMonth = sprintf('%02d-%02d', $year, $month);
$prevMonth = sprintf('%02d-%02d', $prev['year'], $prev['month']);
$items = [];
foreach (range(1, 31) as $day) {
$date = sprintf('%02d', $day);
$prevMonth = "{$prev['year']}-{$prev['month']}";
$currMonth = "{$year}-{$month}";
$items[] = [
'date' => $date,
$currMonth => $currUsers[$date] ?? 0,
@ -154,7 +158,10 @@ class Stat extends Service
protected function isCurrMonth($year, $month)
{
return date('Y-m') == "{$year}-{$month}";
$yearOk = date('Y') == $year;
$monthOk = date('m') == $month;
return $yearOk && $monthOk;
}
protected function getLifetime()

View File

@ -34,8 +34,8 @@
<th>用户IP</th>
<th>请求路由</th>
<th>请求路径</th>
<th>请求时间</th>
<th>请求内容</th>
<th>创建时间</th>
<th>操作</th>
</tr>
</thead>
<tbody>
@ -91,4 +91,4 @@
</script>
{% endblock %}
{% endblock %}

View File

@ -13,9 +13,9 @@
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">用户名称</label>
<label class="layui-form-label">用户IP</label>
<div class="layui-input-block">
<input class="layui-input" type="text" name="user_name" placeholder="用户名称精确匹配">
<input class="layui-input" type="text" name="user_ip" placeholder="用户IP精确匹配">
</div>
</div>
<div class="layui-form-item">
@ -31,7 +31,7 @@
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">请求时间</label>
<label class="layui-form-label">创建时间</label>
<div class="layui-input-inline">
<input class="layui-input time-range" type="text" name="start_time" autocomplete="off">
</div>
@ -70,4 +70,4 @@
</script>
{% endblock %}
{% endblock %}

View File

@ -44,12 +44,7 @@ class Trade extends Listener
$task = new TaskModel();
$itemInfo = [
'order' => ['id' => $order->id]
];
$task->item_id = $order->id;
$task->item_info = $itemInfo;
$task->item_type = TaskModel::TYPE_DELIVER;
$task->create();
@ -69,4 +64,4 @@ class Trade extends Listener
}
}
}
}

View File

@ -84,18 +84,8 @@ class GiftRedeem extends LogicService
$task = new TaskModel();
$itemInfo = [
'point_gift_redeem' => [
'id' => $redeem->id,
'user_id' => $redeem->user_id,
'gift_id' => $redeem->gift_id,
]
];
$task->item_id = $redeem->id;
$task->item_type = TaskModel::TYPE_POINT_GIFT_DELIVER;
$task->item_info = $itemInfo;
$result = $task->create();
if ($result === false) {

View File

@ -183,7 +183,7 @@ class Chapter extends Validator
public function checkPublishStatus($status)
{
if (!in_array($status, [0, 1])) {
throw new BadRequestException('course.invalid_publish_status');
throw new BadRequestException('chapter.invalid_publish_status');
}
return $status;

View File

@ -78,9 +78,33 @@
height: 100px;
}
.img-viewer {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.5);
z-index: 1000;
}
.img-viewer img {
position: absolute;
top: 50%;
left: 50%;
max-width: 90%;
max-height: 90%;
background-color: white;
transform: translate(-50%, -50%);
transition: transform 0.3s ease-in-out;
padding: 5px;
cursor: zoom-out;
}
.kg-zoom img {
max-width: 100%;
cursor: pointer;
cursor: zoom-in;
}
.breadcrumb {
@ -2245,4 +2269,4 @@
.gift-details {
min-height: 450px;
}
}

View File

@ -12,7 +12,6 @@
.ke-content img {
max-width: 100%;
cursor: pointer;
}
.ke-content a:hover {
@ -244,4 +243,4 @@
.ke-content pre:hover > span.kg-copy {
display: block;
}
}

View File

@ -129,20 +129,15 @@ layui.use(['jquery', 'form', 'element', 'layer', 'helper'], function () {
* 内容图片放大
*/
$('body').on('click', '.kg-zoom img', function () {
var width = $(window).width() * 0.8 + 'px';
var height = $(window).height() * 0.8 + 'px';
var src = $(this).attr('src');
var style = 'max-width:' + width + ';max-height:' + height;
var content = '<img alt="preview" src="' + src + '" style="' + style + '">';
layer.open({
type: 1,
title: false,
closeBtn: 0,
area: ['auto'],
skin: 'layui-layer-nobg',
shadeClose: true,
content: content,
});
var src = $(this).attr('src').replace('!content_800', '');
if ($('#img-viewer').length === 0) {
$('body').append('<div class="img-viewer" id="img-viewer"></div>');
}
$('#img-viewer').append('<img alt="preview" src="' + src + '">').fadeIn();
});
$('body').on('click', '#img-viewer', function () {
$(this).empty().fadeOut();
});
/**
@ -195,4 +190,4 @@ layui.use(['jquery', 'form', 'element', 'layer', 'helper'], function () {
});
});
});
});