From 2e19e3109ee64234d0d5422a7aeb4ada7d766427 Mon Sep 17 00:00:00 2001 From: skiffer-git <44203734@qq.com> Date: Wed, 1 Feb 2023 17:39:08 +0800 Subject: [PATCH] Error code standardization --- internal/common/convert/convert.go | 87 +++++++++++++++++++----------- pkg/common/db/relation/black.go | 48 ++++++++--------- pkg/common/db/table/table.go | 9 ++++ 3 files changed, 86 insertions(+), 58 deletions(-) diff --git a/internal/common/convert/convert.go b/internal/common/convert/convert.go index 84aaab1b8..020db86bd 100644 --- a/internal/common/convert/convert.go +++ b/internal/common/convert/convert.go @@ -23,8 +23,8 @@ type DBFriend struct { *table.FriendModel } -func NewDBFriend(friend *controller.Friend) *DBFriend { - return &DBFriend{Friend: friend} +func NewDBFriend(friend *table.FriendModel) *DBFriend { + return &DBFriend{FriendModel: friend} } type PBFriend struct { @@ -35,6 +35,14 @@ func NewPBFriend(friendInfo *sdk.FriendInfo) *PBFriend { return &PBFriend{FriendInfo: friendInfo} } +func (*PBFriend) PB2DB(friends []*sdk.FriendInfo) (DBFriends []*table.FriendModel, err error) { + +} + +func (*DBFriend) DB2PB(friends []*table.FriendModel) (PBFriends []*sdk.FriendInfo, err error) { + +} + func (db *DBFriend) Convert() (*sdk.FriendInfo, error) { pbFriend := &sdk.FriendInfo{FriendUser: &sdk.UserInfo{}} utils.CopyStructFields(pbFriend, db) @@ -49,8 +57,8 @@ func (db *DBFriend) Convert() (*sdk.FriendInfo, error) { return pbFriend, nil } -func (pb *PBFriend) Convert() (*relation.Friend, error) { - dbFriend := &relation.Friend{} +func (pb *PBFriend) Convert() (*table.FriendModel, error) { + dbFriend := &table.FriendModel{} utils.CopyStructFields(dbFriend, pb) dbFriend.FriendUserID = pb.FriendUser.UserID dbFriend.CreateTime = utils.UnixSecondToTime(pb.CreateTime) @@ -58,11 +66,11 @@ func (pb *PBFriend) Convert() (*relation.Friend, error) { } type DBFriendRequest struct { - *relation.FriendRequest + *table.FriendRequestModel } -func NewDBFriendRequest(friendRequest *relation.FriendRequest) *DBFriendRequest { - return &DBFriendRequest{FriendRequest: friendRequest} +func NewDBFriendRequest(friendRequest *table.FriendRequestModel) *DBFriendRequest { + return &DBFriendRequest{FriendRequestModel: friendRequest} } type PBFriendRequest struct { @@ -73,8 +81,16 @@ func NewPBFriendRequest(friendRequest *sdk.FriendRequest) *PBFriendRequest { return &PBFriendRequest{FriendRequest: friendRequest} } -func (pb *PBFriendRequest) Convert() (*relation.FriendRequest, error) { - dbFriendRequest := &relation.FriendRequest{} +func (*PBFriendRequest) PB2DB(friendRequests []*sdk.FriendRequest) (DBFriendRequests []*table.FriendRequestModel, err error) { + +} + +func (*DBFriendRequest) DB2PB(friendRequests []*table.FriendRequestModel) (PBFriendRequests []*sdk.FriendRequest, err error) { + +} + +func (pb *PBFriendRequest) Convert() (*table.FriendRequestModel, error) { + dbFriendRequest := &table.FriendRequestModel{} utils.CopyStructFields(dbFriendRequest, pb) dbFriendRequest.CreateTime = utils.UnixSecondToTime(int64(pb.CreateTime)) dbFriendRequest.HandleTime = utils.UnixSecondToTime(int64(pb.HandleTime)) @@ -106,6 +122,15 @@ type DBBlack struct { *relation.Black } +func (*PBBlack) PB2DB(friendRequests []*sdk.BlackInfo) (DBFriendRequests []*table., err error) { + +} + +func (*DBBlack) DB2PB(friendRequests []*table.FriendRequestModel) (PBFriendRequests []*sdk.FriendRequest, err error) { + +} + + func NewDBBlack(black *relation.Black) *DBBlack { return &DBBlack{Black: black} } @@ -137,11 +162,11 @@ func (db *DBBlack) Convert() (*sdk.BlackInfo, error) { } type DBGroup struct { - *relation.Group + *table.GroupModel } -func NewDBGroup(group *relation.Group) *DBGroup { - return &DBGroup{Group: group} +func NewDBGroup(group *table.GroupModel) *DBGroup { + return &DBGroup{GroupModel: group} } type PBGroup struct { @@ -152,8 +177,8 @@ func NewPBGroup(groupInfo *sdk.GroupInfo) *PBGroup { return &PBGroup{GroupInfo: groupInfo} } -func (pb *PBGroup) Convert() *relation.Group { - dst := &relation.Group{} +func (pb *PBGroup) Convert() *table.GroupModel { + dst := &table.GroupModel{} _ = utils.CopyStructFields(dst, pb) return dst } @@ -180,11 +205,11 @@ func (db *DBGroup) Convert() (*sdk.GroupInfo, error) { } type DBGroupMember struct { - *relation.GroupMember + *table.GroupMemberModel } -func NewDBGroupMember(groupMember *relation.GroupMember) *DBGroupMember { - return &DBGroupMember{GroupMember: groupMember} +func NewDBGroupMember(groupMember *table.GroupMemberModel) *DBGroupMember { + return &DBGroupMember{GroupMemberModel: groupMember} } type PBGroupMember struct { @@ -195,8 +220,8 @@ func NewPBGroupMember(groupMemberFullInfo *sdk.GroupMemberFullInfo) *PBGroupMemb return &PBGroupMember{GroupMemberFullInfo: groupMemberFullInfo} } -func (pb *PBGroupMember) Convert() (*relation.GroupMember, error) { - dst := &relation.GroupMember{} +func (pb *PBGroupMember) Convert() (*table.GroupMemberModel, error) { + dst := &table.GroupMemberModel{} utils.CopyStructFields(dst, pb) dst.JoinTime = utils.UnixSecondToTime(int64(pb.JoinTime)) dst.MuteEndTime = utils.UnixSecondToTime(int64(pb.MuteEndTime)) @@ -224,11 +249,11 @@ func (db *DBGroupMember) Convert() (*sdk.GroupMemberFullInfo, error) { } type DBGroupRequest struct { - *relation.GroupRequest + *table.GroupRequestModel } -func NewDBGroupRequest(groupRequest *relation.GroupRequest) *DBGroupRequest { - return &DBGroupRequest{GroupRequest: groupRequest} +func NewDBGroupRequest(groupRequest *table.GroupRequestModel) *DBGroupRequest { + return &DBGroupRequest{GroupRequestModel: groupRequest} } type PBGroupRequest struct { @@ -239,8 +264,8 @@ func NewPBGroupRequest(groupRequest *sdk.GroupRequest) *PBGroupRequest { return &PBGroupRequest{GroupRequest: groupRequest} } -func (pb *PBGroupRequest) Convert() (*relation.GroupRequest, error) { - dst := &relation.GroupRequest{} +func (pb *PBGroupRequest) Convert() (*table.GroupRequestModel, error) { + dst := &table.GroupRequestModel{} utils.CopyStructFields(dst, pb) dst.ReqTime = utils.UnixSecondToTime(int64(pb.ReqTime)) dst.HandledTime = utils.UnixSecondToTime(int64(pb.HandleTime)) @@ -255,11 +280,11 @@ func (db *DBGroupRequest) Convert() (*sdk.GroupRequest, error) { } type DBUser struct { - *relation.User + *table.UserModel } -func NewDBUser(user *relation.User) *DBUser { - return &DBUser{User: user} +func NewDBUser(user *table.UserModel) *DBUser { + return &DBUser{UserModel: user} } type PBUser struct { @@ -270,7 +295,7 @@ func NewPBUser(userInfo *sdk.UserInfo) *PBUser { return &PBUser{UserInfo: userInfo} } -func (*PBUser) PB2DB(users []*sdk.UserInfo) (DBUsers []*relation.User, err error) { +func (*PBUser) PB2DB(users []*sdk.UserInfo) (DBUsers []*table.UserModel, err error) { for _, v := range users { u, err := NewPBUser(v).Convert() if err != nil { @@ -281,7 +306,7 @@ func (*PBUser) PB2DB(users []*sdk.UserInfo) (DBUsers []*relation.User, err error return } -func (*DBUser) DB2PB(users []*relation.User) (PBUsers []*sdk.UserInfo, err error) { +func (*DBUser) DB2PB(users []*table.UserModel) (PBUsers []*sdk.UserInfo, err error) { for _, v := range users { u, err := NewDBUser(v).Convert() if err != nil { @@ -292,8 +317,8 @@ func (*DBUser) DB2PB(users []*relation.User) (PBUsers []*sdk.UserInfo, err error return } -func (pb *PBUser) Convert() (*relation.User, error) { - dst := &relation.User{} +func (pb *PBUser) Convert() (*table.UserModel, error) { + dst := &table.UserModel{} utils.CopyStructFields(dst, pb) dst.Birth = utils.UnixSecondToTime(pb.Birthday) dst.CreateTime = utils.UnixSecondToTime(int64(pb.CreateTime)) diff --git a/pkg/common/db/relation/black.go b/pkg/common/db/relation/black.go index e666ea81d..06c00889c 100644 --- a/pkg/common/db/relation/black.go +++ b/pkg/common/db/relation/black.go @@ -1,58 +1,52 @@ package relation import ( + "Open_IM/pkg/common/db/table" "Open_IM/pkg/common/tracelog" "Open_IM/pkg/utils" "context" "gorm.io/gorm" - "time" ) -type Black struct { - OwnerUserID string `gorm:"column:owner_user_id;primary_key;size:64"` - BlockUserID string `gorm:"column:block_user_id;primary_key;size:64"` - CreateTime time.Time `gorm:"column:create_time"` - AddSource int32 `gorm:"column:add_source"` - OperatorUserID string `gorm:"column:operator_user_id;size:64"` - Ex string `gorm:"column:ex;size:1024"` - DB *gorm.DB `gorm:"-"` +type BlackGorm struct { + DB *gorm.DB } -func NewBlack(db *gorm.DB) *Black { - var black Black +func NewBlackGorm(db *gorm.DB) *BlackGorm { + var black BlackGorm black.DB = db return &black } -func (b *Black) Create(ctx context.Context, blacks []*Black) (err error) { +func (b *BlackGorm) Create(ctx context.Context, blacks []*table.BlackModel) (err error) { defer func() { tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "blacks", blacks) }() - return utils.Wrap(b.DB.Create(&blacks).Error, "") + return utils.Wrap(b.DB.Model(&table.BlackModel{}).Create(&blacks).Error, "") } -func (b *Black) Delete(ctx context.Context, blacks []*Black) (err error) { +func (b *BlackGorm) Delete(ctx context.Context, blacks []*table.BlackModel) (err error) { defer func() { tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "blacks", blacks) }() - return utils.Wrap(GroupMemberDB.Delete(blacks).Error, "") + return utils.Wrap(b.DB.Model(&table.BlackModel{}).Delete(blacks).Error, "") } -func (b *Black) UpdateByMap(ctx context.Context, ownerUserID, blockUserID string, args map[string]interface{}) (err error) { +func (b *BlackGorm) UpdateByMap(ctx context.Context, ownerUserID, blockUserID string, args map[string]interface{}) (err error) { defer func() { tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "ownerUserID", ownerUserID, "blockUserID", blockUserID, "args", args) }() - return utils.Wrap(b.DB.Where("block_user_id = ? and block_user_id = ?", ownerUserID, blockUserID).Updates(args).Error, "") + return utils.Wrap(b.DB.Model(&table.BlackModel{}).Where("block_user_id = ? and block_user_id = ?", ownerUserID, blockUserID).Updates(args).Error, "") } -func (b *Black) Update(ctx context.Context, blacks []*Black) (err error) { +func (b *BlackGorm) Update(ctx context.Context, blacks []*table.BlackModel) (err error) { defer func() { tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "blacks", blacks) }() - return utils.Wrap(b.DB.Updates(&blacks).Error, "") + return utils.Wrap(b.DB.Model(&table.BlackModel{}).Updates(&blacks).Error, "") } -func (b *Black) Find(ctx context.Context, blacks []*Black) (blackList []*Black, err error) { +func (b *BlackGorm) Find(ctx context.Context, blacks []*table.BlackModel) (blackList []*table.BlackModel, err error) { defer func() { tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "blacks", blacks, "blackList", blackList) }() @@ -60,25 +54,25 @@ func (b *Black) Find(ctx context.Context, blacks []*Black) (blackList []*Black, for _, black := range blacks { where = append(where, []interface{}{black.OwnerUserID, black.BlockUserID}) } - return blackList, utils.Wrap(GroupMemberDB.Where("(owner_user_id, block_user_id) in ?", where).Find(&blackList).Error, "") + return blackList, utils.Wrap(b.DB.Model(&table.BlackModel{}).Where("(owner_user_id, block_user_id) in ?", where).Find(&blackList).Error, "") } -func (b *Black) Take(ctx context.Context, ownerUserID, blockUserID string) (black *Black, err error) { - black = &Black{} +func (b *BlackGorm) Take(ctx context.Context, ownerUserID, blockUserID string) (black *table.BlackModel, err error) { + black = &table.BlackModel{} defer func() { tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "ownerUserID", ownerUserID, "blockUserID", blockUserID, "black", *black) }() - return black, utils.Wrap(b.DB.Where("owner_user_id = ? and block_user_id = ?", ownerUserID, blockUserID).Take(black).Error, "") + return black, utils.Wrap(b.DB.Model(&table.BlackModel{}).Where("owner_user_id = ? and block_user_id = ?", ownerUserID, blockUserID).Take(black).Error, "") } -func (b *Black) FindOwnerBlacks(ctx context.Context, ownerUserID string, pageNumber, showNumber int32) (blacks []*Black, total int64, err error) { +func (b *BlackGorm) FindOwnerBlacks(ctx context.Context, ownerUserID string, pageNumber, showNumber int32) (blacks []*table.BlackModel, total int64, err error) { defer func() { tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "ownerUserID", ownerUserID, "blacks", blacks) }() - err = b.DB.Model(b).Count(&total).Error + err = b.DB.Model(&table.BlackModel{}).Model(b).Count(&total).Error if err != nil { return nil, 0, utils.Wrap(err, "") } - err = utils.Wrap(b.DB.Limit(int(showNumber)).Offset(int(pageNumber*showNumber)).Find(&blacks).Error, "") + err = utils.Wrap(b.DB.Model(&table.BlackModel{}).Limit(int(showNumber)).Offset(int(pageNumber*showNumber)).Find(&blacks).Error, "") return } diff --git a/pkg/common/db/table/table.go b/pkg/common/db/table/table.go index bdb4a98a4..052c9cc05 100644 --- a/pkg/common/db/table/table.go +++ b/pkg/common/db/table/table.go @@ -104,3 +104,12 @@ type UserModel struct { GlobalRecvMsgOpt int32 `gorm:"column:global_recv_msg_opt"` status int32 `gorm:"column:status"` } + +type BlackModel struct { + OwnerUserID string `gorm:"column:owner_user_id;primary_key;size:64"` + BlockUserID string `gorm:"column:block_user_id;primary_key;size:64"` + CreateTime time.Time `gorm:"column:create_time"` + AddSource int32 `gorm:"column:add_source"` + OperatorUserID string `gorm:"column:operator_user_id;size:64"` + Ex string `gorm:"column:ex;size:1024"` +}