This commit is contained in:
withchao 2023-01-16 18:50:05 +08:00
parent 07d3467b7a
commit 21ea555183
2 changed files with 82 additions and 82 deletions

View File

@ -1,83 +1,83 @@
package im_mysql_model package im_mysql_model
import ( //import (
"fmt" // "fmt"
"time" // "time"
) //)
//
func InsertToFriend(toInsertFollow *Friend) error { //func InsertToFriend(toInsertFollow *Friend) error {
toInsertFollow.CreateTime = time.Now() // toInsertFollow.CreateTime = time.Now()
err := FriendDB.Table("friends").Create(toInsertFollow).Error // err := FriendDB.Table("friends").Create(toInsertFollow).Error
if err != nil { // if err != nil {
return err // return err
} // }
return nil // return nil
} //}
//
func GetFriendRelationshipFromFriend(OwnerUserID, FriendUserID string) (*Friend, error) { //func GetFriendRelationshipFromFriend(OwnerUserID, FriendUserID string) (*Friend, error) {
var friend Friend // var friend Friend
err := FriendDB.Table("friends").Where("owner_user_id=? and friend_user_id=?", OwnerUserID, FriendUserID).Take(&friend).Error // err := FriendDB.Table("friends").Where("owner_user_id=? and friend_user_id=?", OwnerUserID, FriendUserID).Take(&friend).Error
if err != nil { // if err != nil {
return nil, err // return nil, err
} // }
return &friend, err // return &friend, err
} //}
//
func GetFriendListByUserID(OwnerUserID string) ([]Friend, error) { //func GetFriendListByUserID(OwnerUserID string) ([]Friend, error) {
var friends []Friend // var friends []Friend
var x Friend // var x Friend
x.OwnerUserID = OwnerUserID // x.OwnerUserID = OwnerUserID
err := FriendDB.Table("friends").Where("owner_user_id=?", OwnerUserID).Find(&friends).Error // err := FriendDB.Table("friends").Where("owner_user_id=?", OwnerUserID).Find(&friends).Error
if err != nil { // if err != nil {
return nil, err // return nil, err
} // }
return friends, nil // return friends, nil
} //}
//
func GetFriendIDListByUserID(OwnerUserID string) ([]string, error) { //func GetFriendIDListByUserID(OwnerUserID string) ([]string, error) {
var friendIDList []string // var friendIDList []string
err := FriendDB.Table("friends").Where("owner_user_id=?", OwnerUserID).Pluck("friend_user_id", &friendIDList).Error // err := FriendDB.Table("friends").Where("owner_user_id=?", OwnerUserID).Pluck("friend_user_id", &friendIDList).Error
if err != nil { // if err != nil {
return nil, err // return nil, err
} // }
return friendIDList, nil // return friendIDList, nil
} //}
//
func UpdateFriendComment(OwnerUserID, FriendUserID, Remark string) error { //func UpdateFriendComment(OwnerUserID, FriendUserID, Remark string) error {
return FriendDB.Exec("update friends set remark=? where owner_user_id=? and friend_user_id=?", Remark, OwnerUserID, FriendUserID).Error // return FriendDB.Exec("update friends set remark=? where owner_user_id=? and friend_user_id=?", Remark, OwnerUserID, FriendUserID).Error
} //}
//
func DeleteSingleFriendInfo(OwnerUserID, FriendUserID string) error { //func DeleteSingleFriendInfo(OwnerUserID, FriendUserID string) error {
return FriendDB.Table("friends").Where("owner_user_id=? and friend_user_id=?", OwnerUserID, FriendUserID).Delete(Friend{}).Error // return FriendDB.Table("friends").Where("owner_user_id=? and friend_user_id=?", OwnerUserID, FriendUserID).Delete(Friend{}).Error
} //}
//
type FriendUser struct { //type FriendUser struct {
Friend // Friend
Nickname string `gorm:"column:name;size:255"` // Nickname string `gorm:"column:name;size:255"`
} //}
//
func GetUserFriendsCMS(ownerUserID, friendUserName string, pageNumber, showNumber int32) (friendUserList []*FriendUser, count int64, err error) { //func GetUserFriendsCMS(ownerUserID, friendUserName string, pageNumber, showNumber int32) (friendUserList []*FriendUser, count int64, err error) {
db := FriendDB.Table("friends"). // db := FriendDB.Table("friends").
Select("friends.*, users.name"). // Select("friends.*, users.name").
Where("friends.owner_user_id=?", ownerUserID).Limit(int(showNumber)). // Where("friends.owner_user_id=?", ownerUserID).Limit(int(showNumber)).
Joins("left join users on friends.friend_user_id = users.user_id"). // Joins("left join users on friends.friend_user_id = users.user_id").
Offset(int(showNumber * (pageNumber - 1))) // Offset(int(showNumber * (pageNumber - 1)))
if friendUserName != "" { // if friendUserName != "" {
db = db.Where("users.name like ?", fmt.Sprintf("%%%s%%", friendUserName)) // db = db.Where("users.name like ?", fmt.Sprintf("%%%s%%", friendUserName))
} // }
if err = db.Count(&count).Error; err != nil { // if err = db.Count(&count).Error; err != nil {
return // return
} // }
err = db.Find(&friendUserList).Error // err = db.Find(&friendUserList).Error
return // return
} //}
//
func GetFriendByIDCMS(ownerUserID, friendUserID string) (friendUser *FriendUser, err error) { //func GetFriendByIDCMS(ownerUserID, friendUserID string) (friendUser *FriendUser, err error) {
friendUser = &FriendUser{} // friendUser = &FriendUser{}
err = FriendDB.Table("friends"). // err = FriendDB.Table("friends").
Select("friends.*, users.name"). // Select("friends.*, users.name").
Where("friends.owner_user_id=? and friends.friend_user_id=?", ownerUserID, friendUserID). // Where("friends.owner_user_id=? and friends.friend_user_id=?", ownerUserID, friendUserID).
Joins("left join users on friends.friend_user_id = users.user_id"). // Joins("left join users on friends.friend_user_id = users.user_id").
Take(friendUser).Error // Take(friendUser).Error
return friendUser, err // return friendUser, err
} //}

View File

@ -68,7 +68,7 @@ func (f *Friend) Find(ctx context.Context, ownerUserID string) (friends []*Frien
func (f *Friend) Take(ctx context.Context, ownerUserID, friendUserID string) (friend *Friend, err error) { func (f *Friend) Take(ctx context.Context, ownerUserID, friendUserID string) (friend *Friend, err error) {
friend = &Friend{} friend = &Friend{}
defer trace_log.SetCtxDebug(ctx, utils.GetSelfFuncName(), err, "ownerUserID", ownerUserID, "friendUserID", friendUserID, "group", *friend) defer trace_log.SetCtxDebug(ctx, utils.GetSelfFuncName(), err, "ownerUserID", ownerUserID, "friendUserID", friendUserID, "friend", friend)
return friend, utils.Wrap(f.db.Where("owner_user_id = ? and friend_user_id", ownerUserID, friendUserID).Take(friend).Error, "") return friend, utils.Wrap(f.db.Where("owner_user_id = ? and friend_user_id", ownerUserID, friendUserID).Take(friend).Error, "")
} }