Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
A
aon-tg-messenger
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Odysseus
aon-tg-messenger
Commits
83e3beec
Commit
83e3beec
authored
Oct 08, 2024
by
贾浩@五瓣科技
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update check new username
parent
eea31436
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
27 additions
and
4 deletions
+27
-4
db.go
dao/db.go
+11
-3
messenger.go
messenger/messenger.go
+16
-1
No files found.
dao/db.go
View file @
83e3beec
...
...
@@ -34,6 +34,7 @@ func (d *Dao) IncrMessageCount(a *dbModel.Active) (err error) {
func
(
d
*
Dao
)
GetUserActiveMsgCount
(
userId
,
chatId
,
unixDay
int
)
(
count
int
,
err
error
)
{
a
:=
dbModel
.
Active
{}
err
=
d
.
db
.
Model
(
&
dbModel
.
Active
{})
.
Select
(
"msg_count"
)
.
Where
(
"user_id = ? AND chat_id = ? AND unix_day = ?"
,
userId
,
chatId
,
unixDay
)
.
First
(
&
a
)
.
Error
...
...
@@ -44,15 +45,22 @@ func (d *Dao) GetUserActiveMsgCount(userId, chatId, unixDay int) (count int, err
return
a
.
MsgCount
,
err
}
func
(
d
*
Dao
)
UserExist
(
userId
,
chatId
int
)
(
exist
bool
,
err
error
)
{
func
(
d
*
Dao
)
UserExist
(
userId
,
chatId
int
)
(
exist
bool
,
username
string
,
err
error
)
{
a
:=
dbModel
.
User
{}
err
=
d
.
db
.
Model
(
&
dbModel
.
User
{})
.
Select
(
"username"
)
.
Where
(
"user_id = ? AND chat_id = ? AND left_at IS NULL"
,
userId
,
chatId
)
.
First
(
&
a
)
.
Error
if
err
==
gorm
.
ErrRecordNotFound
{
return
false
,
nil
return
false
,
""
,
nil
}
return
err
==
nil
,
err
return
err
==
nil
,
a
.
Username
,
err
}
func
(
d
*
Dao
)
UpdateUserName
(
userId
,
chatId
int
,
username
string
)
(
err
error
)
{
return
d
.
db
.
Model
(
&
dbModel
.
User
{})
.
Where
(
"user_id = ? AND chat_id = ? AND left_at IS NULL"
,
userId
,
chatId
)
.
Update
(
"username"
,
username
)
.
Error
}
func
(
d
*
Dao
)
UserLeft
(
userId
,
chatId
int
)
(
err
error
)
{
...
...
messenger/messenger.go
View file @
83e3beec
...
...
@@ -155,9 +155,10 @@ func (m *Messenger) handleActive(msg *tgbotapi.Message) {
return
}
exist
,
err
:=
m
.
d
.
UserExist
(
int
(
msg
.
From
.
ID
),
int
(
msg
.
Chat
.
ID
))
exist
,
username
,
err
:=
m
.
d
.
UserExist
(
int
(
msg
.
From
.
ID
),
int
(
msg
.
Chat
.
ID
))
if
err
!=
nil
{
log
.
WithError
(
err
)
.
Error
(
"exist user error"
)
return
}
if
err
==
nil
&&
!
exist
{
err
=
m
.
d
.
CreateUser
(
&
dbModel
.
User
{
...
...
@@ -170,6 +171,20 @@ func (m *Messenger) handleActive(msg *tgbotapi.Message) {
}
}
if
msg
.
From
.
UserName
!=
username
{
err
=
m
.
d
.
UpdateUserName
(
int
(
msg
.
From
.
ID
),
int
(
msg
.
Chat
.
ID
),
msg
.
From
.
UserName
)
if
err
!=
nil
{
log
.
WithError
(
err
)
.
Error
(
"update user name error"
)
return
}
log
.
WithFields
(
log
.
Fields
{
"user_id"
:
msg
.
From
.
ID
,
"chat_id"
:
msg
.
Chat
.
ID
,
"old_name"
:
username
,
"new_name"
:
msg
.
From
.
UserName
,
})
.
Debug
(
"update user name"
)
}
err
=
m
.
d
.
IncrMessageCount
(
&
dbModel
.
Active
{
UserId
:
int
(
msg
.
From
.
ID
),
ChatId
:
int
(
msg
.
Chat
.
ID
),
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment