From 477fe9eca2e67fc9dd43542d77f4dfe8ff7208dc Mon Sep 17 00:00:00 2001 From: taoshihan1991 <630892807@qq.com> Date: Tue, 2 Mar 2021 15:06:02 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=9B=B4=E6=96=B0=E6=97=B6?= =?UTF-8?q?=E9=97=B4=E7=B4=A2=E5=BC=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/go-fly.sql | 3 ++- models/visitors.go | 10 +++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/config/go-fly.sql b/config/go-fly.sql index eed45fc..3d87dbe 100644 --- a/config/go-fly.sql +++ b/config/go-fly.sql @@ -34,7 +34,8 @@ CREATE TABLE `visitor` ( `extra` varchar(2048) NOT NULL DEFAULT '', PRIMARY KEY (`id`), UNIQUE KEY `visitor_id` (`visitor_id`), - KEY `to_id` (`to_id`) + KEY `to_id` (`to_id`), + KEY `idx_update` (`updated_at`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8| DROP TABLE IF EXISTS `message`| diff --git a/models/visitors.go b/models/visitors.go index e001d1a..8288510 100644 --- a/models/visitors.go +++ b/models/visitors.go @@ -1,6 +1,8 @@ package models -import "time" +import ( + "time" +) type Visitor struct { Model @@ -54,11 +56,13 @@ func FindVisitors(page uint, pagesize uint) []Visitor { } func FindVisitorsByKefuId(page uint, pagesize uint, kefuId string) []Visitor { offset := (page - 1) * pagesize - if offset < 0 { + if offset <= 0 { offset = 0 } var visitors []Visitor - DB.Where("to_id=?", kefuId).Offset(offset).Limit(pagesize).Order("status desc, updated_at desc").Find(&visitors) + //sql := fmt.Sprintf("select * from visitor where id>=(select id from visitor where to_id='%s' order by updated_at desc limit %d,1) and to_id='%s' order by updated_at desc limit %d ", kefuId, offset, kefuId, pagesize) + //DB.Raw(sql).Scan(&visitors) + DB.Where("to_id=?", kefuId).Offset(offset).Limit(pagesize).Order("updated_at desc").Find(&visitors) return visitors } func FindVisitorsOnline() []Visitor {