diff --git a/internal/core/cs/contact.go b/internal/core/cs/contact.go new file mode 100644 index 00000000..27d87cfd --- /dev/null +++ b/internal/core/cs/contact.go @@ -0,0 +1,24 @@ +// Copyright 2023 ROC. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +package cs + +const ( + ContactStatusRequesting int8 = iota + 1 + ContactStatusAgree + ContactStatusReject + ContactStatusDeleted +) + +type Contact struct { + ID int64 `db:"id" json:"id"` + UserId int64 `db:"user_id" json:"user_id"` + FriendId int64 `db:"friend_id" json:"friend_id"` + GroupId int64 `json:"group_id"` + Remark string `json:"remark"` + Status int8 `json:"status"` // 1请求好友, 2已同意好友, 3已拒绝好友, 4已删除好友 + IsTop int8 `json:"is_top"` + IsBlack int8 `json:"is_black"` + NoticeEnable int8 `json:"notice_enable"` +} diff --git a/internal/dao/jinzhu/dbr/comment_reply.go b/internal/dao/jinzhu/dbr/comment_reply.go index a1c562f6..dcdfde21 100644 --- a/internal/dao/jinzhu/dbr/comment_reply.go +++ b/internal/dao/jinzhu/dbr/comment_reply.go @@ -13,9 +13,9 @@ import ( type CommentReply struct { *Model - CommentID int64 `json:"comment_id"` - UserID int64 `json:"user_id"` - AtUserID int64 `json:"at_user_id"` + CommentID int64 `db:"comment_id" json:"comment_id"` + UserID int64 `db:"user_id" json:"user_id"` + AtUserID int64 `db:"at_user_id" json:"at_user_id"` Content string `json:"content"` IP string `json:"ip"` IPLoc string `json:"ip_loc"` @@ -25,10 +25,10 @@ type CommentReply struct { type CommentReplyFormated struct { ID int64 `json:"id"` - CommentID int64 `json:"comment_id"` - UserID int64 `json:"user_id"` + CommentID int64 `db:"comment_id" json:"comment_id"` + UserID int64 `db:"user_id" json:"user_id"` User *UserFormated `json:"user"` - AtUserID int64 `json:"at_user_id"` + AtUserID int64 `db:"at_user_id" json:"at_user_id"` AtUser *UserFormated `json:"at_user"` Content string `json:"content"` IPLoc string `json:"ip_loc"` diff --git a/internal/dao/sakila/comments.go b/internal/dao/sakila/comments.go index dc27c690..4e8f52ed 100644 --- a/internal/dao/sakila/comments.go +++ b/internal/dao/sakila/comments.go @@ -5,12 +5,15 @@ package sakila import ( + "time" + "github.com/jmoiron/sqlx" "github.com/rocboss/paopao-ce/internal/core" "github.com/rocboss/paopao-ce/internal/core/cs" "github.com/rocboss/paopao-ce/internal/core/ms" + "github.com/rocboss/paopao-ce/internal/dao/jinzhu/dbr" "github.com/rocboss/paopao-ce/internal/dao/sakila/yesql/cc" - "github.com/rocboss/paopao-ce/pkg/debug" + "github.com/rocboss/paopao-ce/pkg/types" ) var ( @@ -28,95 +31,337 @@ type commentManageSrv struct { q *cc.CommentManage } -func (s *commentSrv) GetComments(conditions *ms.ConditionsT, offset, limit int) ([]*ms.Comment, error) { - // TODO - debug.NotImplemented() - return nil, nil +func (s *commentSrv) GetComments(r *ms.ConditionsT, offset, limit int) ([]*ms.Comment, error) { + res := []*ms.Comment{} + (*r)["limit"], (*r)["offset"] = limit, offset + err := s.q.GetComments.Select(&res, r) + return res, err } func (s *commentSrv) GetCommentByID(id int64) (*ms.Comment, error) { - // TODO - debug.NotImplemented() - return nil, nil + res := &ms.Comment{} + err := s.q.GetCommentById.Get(res, id) + return res, err } func (s *commentSrv) GetCommentReplyByID(id int64) (*ms.CommentReply, error) { - // TODO - debug.NotImplemented() - return nil, nil + res := &ms.CommentReply{} + err := s.q.GetCommentById.Get(res, id) + return res, err } -func (s *commentSrv) GetCommentCount(conditions *ms.ConditionsT) (int64, error) { - // TODO - debug.NotImplemented() - return 0, nil +func (s *commentSrv) GetCommentCount(r *ms.ConditionsT) (res int64, err error) { + err = s.q.GetCommentCount.Get(&res, r) + return } func (s *commentSrv) GetCommentContentsByIDs(ids []int64) ([]*ms.CommentContent, error) { - // TODO - debug.NotImplemented() - return nil, nil + res := []*ms.CommentContent{} + err := s.inSelect(&res, s.q.GetCommentContentsByIds, ids) + return res, err } func (s *commentSrv) GetCommentThumbsMap(userId int64, tweetId int64) (cs.CommentThumbsMap, cs.CommentThumbsMap, error) { - // TODO - return nil, nil, debug.ErrNotImplemented + if userId < 0 { + return nil, nil, nil + } + commentThumbsList := cs.CommentThumbsList{} + err := s.q.GetCommentThumbs.Select(&commentThumbsList, userId, tweetId) + if err != nil { + return nil, nil, err + } + commentThumbs, replyThumbs := make(cs.CommentThumbsMap), make(cs.CommentThumbsMap) + for _, thumbs := range commentThumbsList { + if thumbs.CommentType == 0 { + commentThumbs[thumbs.CommentID] = thumbs + } else { + replyThumbs[thumbs.ReplyID] = thumbs + } + } + return commentThumbs, replyThumbs, nil } func (s *commentSrv) GetCommentRepliesByID(ids []int64) ([]*ms.CommentReplyFormated, error) { - // TODO - debug.NotImplemented() - return nil, nil + replies := []*ms.CommentReply{} + err := s.inSelect(&replies, s.q.GetCommmentRepliesByIds, ids) + if err != nil { + return nil, err + } + userIds := []int64{} + for _, reply := range replies { + userIds = append(userIds, reply.UserID, reply.AtUserID) + } + users := []*ms.UserFormated{} + if err = s.inSelect(&users, s.q.GetUsersByIds, userIds); err != nil { + return nil, err + } + repliesFormated := []*ms.CommentReplyFormated{} + for _, reply := range replies { + replyFormated := reply.Format() + for _, user := range users { + if reply.UserID == user.ID { + replyFormated.User = user + } + if reply.AtUserID == user.ID { + replyFormated.AtUser = user + } + } + repliesFormated = append(repliesFormated, replyFormated) + } + return repliesFormated, nil } -func (s *commentManageSrv) DeleteComment(comment *ms.Comment) error { - // TODO - debug.NotImplemented() - return nil +func (s *commentManageSrv) DeleteComment(r *ms.Comment) error { + return s.with(func(tx *sqlx.Tx) error { + if _, err := tx.Stmtx(s.q.DeleteComment).Exec(r.ID); err != nil { + return err + } + _, err := tx.Stmtx(s.q.DeleteCommentThumbs).Exec(r.UserID, r.PostID, r.ID) + return err + }) } -func (s *commentManageSrv) CreateComment(comment *ms.Comment) (*ms.Comment, error) { - // TODO - debug.NotImplemented() - return nil, nil +func (s *commentManageSrv) CreateComment(r *ms.Comment) (*ms.Comment, error) { + res, err := s.q.CreateComment.Exec(r) + if err != nil { + return nil, err + } + id, err := res.LastInsertId() + if err != nil { + return nil, err + } + r.Model = &dbr.Model{ + ID: id, + } + return r, nil } -func (s *commentManageSrv) CreateCommentReply(reply *ms.CommentReply) (*ms.CommentReply, error) { - // TODO - debug.NotImplemented() - return nil, nil +func (s *commentManageSrv) CreateCommentReply(r *ms.CommentReply) (*ms.CommentReply, error) { + res, err := s.q.CreateComment.Exec(r) + if err != nil { + return nil, err + } + id, err := res.LastInsertId() + if err != nil { + return nil, err + } + r.Model = &dbr.Model{ID: id} + return r, nil } -func (s *commentManageSrv) DeleteCommentReply(reply *ms.CommentReply) error { - // TODO - debug.NotImplemented() - return nil +func (s *commentManageSrv) DeleteCommentReply(r *ms.CommentReply) error { + return s.with(func(tx *sqlx.Tx) error { + if _, err := tx.Stmtx(s.q.DeleteCommentReply).Exec(r.ID); err != nil { + return err + } + _, err := tx.Stmtx(s.q.DeleteCommentThumbs).Exec(r.UserID, r.CommentID, r.ID) + return err + }) } -func (s *commentManageSrv) CreateCommentContent(content *ms.CommentContent) (*ms.CommentContent, error) { - // TODO - debug.NotImplemented() - return nil, nil +func (s *commentManageSrv) CreateCommentContent(r *ms.CommentContent) (*ms.CommentContent, error) { + res, err := s.q.CreateCommentContent.Exec(r) + if err != nil { + return nil, err + } + id, err := res.LastInsertId() + if err != nil { + return nil, err + } + r.Model = &dbr.Model{ID: id} + return r, nil } func (s *commentManageSrv) ThumbsUpComment(userId int64, tweetId, commentId int64) error { - // TODO - return debug.ErrNotImplemented + return s.with(func(tx *sqlx.Tx) error { + var ( + thumbsUpCount int32 = 0 + thumbsDownCount int32 = 0 + ) + commentThumbs := &dbr.TweetCommentThumbs{} + // 检查thumbs状态 + err := tx.Stmtx(s.q.GetTweetCommentThumb).Get(commentThumbs, userId, tweetId, commentId) + if err == nil { + switch { + case commentThumbs.IsThumbsUp == types.Yes && commentThumbs.IsThumbsDown == types.No: + thumbsUpCount, thumbsDownCount = -1, 0 + case commentThumbs.IsThumbsUp == types.No && commentThumbs.IsThumbsDown == types.No: + thumbsUpCount, thumbsDownCount = 1, 0 + default: + thumbsUpCount, thumbsDownCount = 1, -1 + commentThumbs.IsThumbsDown = types.No + } + commentThumbs.IsThumbsUp = 1 - commentThumbs.IsThumbsUp + commentThumbs.ModifiedOn = time.Now().Unix() + if _, err := tx.NamedStmt(s.q.UpdateThumbsUpComment).Exec(commentThumbs); err != nil { + return err + } + } else { + commentThumbs = &dbr.TweetCommentThumbs{ + UserID: userId, + TweetID: tweetId, + CommentID: commentId, + IsThumbsUp: types.Yes, + IsThumbsDown: types.No, + CommentType: 0, + Model: &dbr.Model{ + CreatedOn: time.Now().Unix(), + }, + } + thumbsUpCount, thumbsDownCount = 1, 0 + if _, err := tx.NamedStmt(s.q.CreateThumbsUpComment).Exec(commentThumbs); err != nil { + return err + } + } + // 更新thumbsUpCount + _, err = tx.Stmtx(s.q.UpdateCommentThumbsCount).Exec(commentId, thumbsUpCount, thumbsDownCount) + return err + }) } func (s *commentManageSrv) ThumbsDownComment(userId int64, tweetId, commentId int64) error { - // TODO - return debug.ErrNotImplemented + return s.with(func(tx *sqlx.Tx) error { + var ( + thumbsUpCount int32 = 0 + thumbsDownCount int32 = 0 + ) + commentThumbs := &dbr.TweetCommentThumbs{} + // 检查thumbs状态 + err := tx.Stmtx(s.q.GetTweetCommentThumb).Get(commentThumbs, userId, tweetId, commentId) + if err == nil { + switch { + case commentThumbs.IsThumbsDown == types.Yes: + thumbsUpCount, thumbsDownCount = 0, -1 + case commentThumbs.IsThumbsDown == types.No && commentThumbs.IsThumbsUp == types.No: + thumbsUpCount, thumbsDownCount = 0, 1 + default: + thumbsUpCount, thumbsDownCount = -1, 1 + commentThumbs.IsThumbsUp = types.No + + } + commentThumbs.IsThumbsDown = 1 - commentThumbs.IsThumbsDown + commentThumbs.ModifiedOn = time.Now().Unix() + if _, err := tx.NamedStmt(s.q.UpdateThumbsUpComment).Exec(commentThumbs); err != nil { + return err + } + } else { + commentThumbs = &dbr.TweetCommentThumbs{ + UserID: userId, + TweetID: tweetId, + CommentID: commentId, + IsThumbsUp: types.No, + IsThumbsDown: types.Yes, + CommentType: 0, + Model: &dbr.Model{ + CreatedOn: time.Now().Unix(), + }, + } + thumbsUpCount, thumbsDownCount = 0, 1 + if _, err := tx.NamedStmt(s.q.CreateThumbsUpComment).Exec(commentThumbs); err != nil { + return err + } + } + // 更新thumbsUpCount + _, err = tx.Stmtx(s.q.UpdateCommentThumbsCount).Exec(commentId, thumbsUpCount, thumbsDownCount) + return err + }) } func (s *commentManageSrv) ThumbsUpReply(userId int64, tweetId, commentId, replyId int64) error { - // TODO - return debug.ErrNotImplemented + return s.with(func(tx *sqlx.Tx) error { + + var ( + thumbsUpCount int32 = 0 + thumbsDownCount int32 = 0 + ) + commentThumbs := &dbr.TweetCommentThumbs{} + // 检查thumbs状态 + err := tx.Stmtx(s.q.GetCommentReplyThumb).Get(commentThumbs, userId, tweetId, commentId, replyId) + if err == nil { + switch { + case commentThumbs.IsThumbsUp == types.Yes: + thumbsUpCount, thumbsDownCount = -1, 0 + case commentThumbs.IsThumbsUp == types.No && commentThumbs.IsThumbsDown == types.No: + thumbsUpCount, thumbsDownCount = 1, 0 + default: + thumbsUpCount, thumbsDownCount = 1, -1 + commentThumbs.IsThumbsDown = types.No + } + commentThumbs.IsThumbsUp = 1 - commentThumbs.IsThumbsUp + commentThumbs.ModifiedOn = time.Now().Unix() + if _, err := tx.NamedStmt(s.q.UpdateThumbsUpComment).Exec(commentThumbs); err != nil { + return err + } + } else { + commentThumbs = &dbr.TweetCommentThumbs{ + UserID: userId, + TweetID: tweetId, + CommentID: commentId, + ReplyID: replyId, + IsThumbsUp: types.Yes, + IsThumbsDown: types.No, + CommentType: 1, + Model: &dbr.Model{ + CreatedOn: time.Now().Unix(), + }, + } + thumbsUpCount, thumbsDownCount = 1, 0 + if _, err := tx.NamedStmt(s.q.CreateThumbsUpComment).Exec(commentThumbs); err != nil { + return err + } + } + // 更新thumbsUpCount + _, err = tx.Stmtx(s.q.UpdateCommentThumbsCount).Exec(commentId, thumbsUpCount, thumbsDownCount) + return err + }) } func (s *commentManageSrv) ThumbsDownReply(userId int64, tweetId, commentId, replyId int64) error { - // TODO - return debug.ErrNotImplemented + return s.with(func(tx *sqlx.Tx) error { + var ( + thumbsUpCount int32 = 0 + thumbsDownCount int32 = 0 + ) + commentThumbs := &dbr.TweetCommentThumbs{} + // 检查thumbs状态 + err := tx.Stmtx(s.q.GetCommentReplyThumb).Get(commentThumbs, userId, tweetId, commentId, replyId) + if err == nil { + switch { + case commentThumbs.IsThumbsDown == types.Yes: + thumbsUpCount, thumbsDownCount = 0, -1 + case commentThumbs.IsThumbsUp == types.No && commentThumbs.IsThumbsDown == types.No: + thumbsUpCount, thumbsDownCount = 0, 1 + default: + thumbsUpCount, thumbsDownCount = -1, 1 + commentThumbs.IsThumbsUp = types.No + } + commentThumbs.IsThumbsDown = 1 - commentThumbs.IsThumbsDown + commentThumbs.ModifiedOn = time.Now().Unix() + if _, err := tx.NamedStmt(s.q.UpdateThumbsUpComment).Exec(commentThumbs); err != nil { + return err + } + } else { + commentThumbs = &dbr.TweetCommentThumbs{ + UserID: userId, + TweetID: tweetId, + CommentID: commentId, + ReplyID: replyId, + IsThumbsUp: types.No, + IsThumbsDown: types.Yes, + CommentType: 1, + Model: &dbr.Model{ + CreatedOn: time.Now().Unix(), + }, + } + thumbsUpCount, thumbsDownCount = 0, 1 + if _, err := tx.NamedStmt(s.q.CreateThumbsUpComment).Exec(commentThumbs); err != nil { + return err + } + } + // 更新thumbsUpCount + _, err = tx.Stmtx(s.q.UpdateCommentThumbsCount).Exec(commentId, thumbsUpCount, thumbsDownCount) + return err + }) } func newCommentService(db *sqlx.DB) core.CommentService { diff --git a/internal/dao/sakila/contacts.go b/internal/dao/sakila/contacts.go index 5c1d6883..32d03047 100644 --- a/internal/dao/sakila/contacts.go +++ b/internal/dao/sakila/contacts.go @@ -7,15 +7,23 @@ package sakila import ( "github.com/jmoiron/sqlx" "github.com/rocboss/paopao-ce/internal/core" + "github.com/rocboss/paopao-ce/internal/core/cs" "github.com/rocboss/paopao-ce/internal/core/ms" "github.com/rocboss/paopao-ce/internal/dao/sakila/yesql/cc" - "github.com/rocboss/paopao-ce/pkg/debug" ) var ( _ core.ContactManageService = (*contactManageSrv)(nil) ) +type contact struct { + UserId int64 `db:"user_id" json:"user_id"` + FriendId int64 `db:"friend_id" json:"friend_id"` + Status int8 `json:"status"` // 1请求好友, 2已同意好友, 3已拒绝好友, 4已删除好友 + IsBlack int8 `json:"is_black"` + NoticeEnable int8 `json:"notice_enable"` +} + type contactManageSrv struct { *sqlxSrv q *cc.ContactManager @@ -42,13 +50,27 @@ func (s *contactManageSrv) DeleteFriend(userId int64, friendId int64) (err error } func (s *contactManageSrv) GetContacts(userId int64, offset int, limit int) (*ms.ContactList, error) { - // TODO - return nil, nil + res := &ms.ContactList{ + Contacts: []ms.ContactItem{}, + } + if err := s.q.GetContacts.Select(&res.Contacts, userId, limit, offset); err != nil { + return nil, err + } + if err := s.q.TotalContactsById.Get(&res.Total, userId); err != nil { + return nil, err + } + return res, nil } func (s *contactManageSrv) IsFriend(userId int64, friendId int64) bool { - // TODO - debug.NotImplemented() + ct := &contact{ + UserId: friendId, + FriendId: userId, + } + err := s.q.GetUserFriend.Get(ct, userId, friendId) + if err == nil && ct.Status == cs.ContactStatusAgree { + return true + } return false } diff --git a/internal/dao/sakila/messages.go b/internal/dao/sakila/messages.go index 5f62b6a3..1856c496 100644 --- a/internal/dao/sakila/messages.go +++ b/internal/dao/sakila/messages.go @@ -8,6 +8,7 @@ import ( "github.com/jmoiron/sqlx" "github.com/rocboss/paopao-ce/internal/core" "github.com/rocboss/paopao-ce/internal/core/ms" + "github.com/rocboss/paopao-ce/internal/dao/jinzhu/dbr" "github.com/rocboss/paopao-ce/internal/dao/sakila/yesql/cc" "github.com/rocboss/paopao-ce/pkg/debug" ) @@ -22,21 +23,27 @@ type messageSrv struct { } func (s *messageSrv) CreateMessage(msg *ms.Message) (*ms.Message, error) { - // TODO - debug.NotImplemented() - return nil, nil + res, err := s.q.CreateMessage.Exec(msg) + if err != nil { + return nil, err + } + id, err := res.LastInsertId() + if err != nil { + return nil, err + } + msg.Model = &dbr.Model{ID: id} + return msg, nil } -func (s *messageSrv) GetUnreadCount(userID int64) (int64, error) { - // TODO - debug.NotImplemented() - return 0, nil +func (s *messageSrv) GetUnreadCount(userID int64) (res int64, err error) { + err = s.q.GetUnreadCount.Get(&res) + return } func (s *messageSrv) GetMessageByID(id int64) (*ms.Message, error) { - // TODO - debug.NotImplemented() - return nil, nil + res := &ms.Message{} + err := s.q.GetMessageById.Get(res, id) + return res, err } func (s *messageSrv) ReadMessage(message *ms.Message) error { @@ -45,16 +52,16 @@ func (s *messageSrv) ReadMessage(message *ms.Message) error { return nil } -func (s *messageSrv) GetMessages(conditions *ms.ConditionsT, offset, limit int) ([]*ms.MessageFormated, error) { - // TODO - debug.NotImplemented() - return nil, nil +func (s *messageSrv) GetMessages(r *ms.ConditionsT, offset, limit int) ([]*ms.MessageFormated, error) { + res := []*ms.MessageFormated{} + (*r)["limit"], (*r)["offset"] = limit, offset + err := s.q.GetMessages.Select(&res, r) + return res, err } -func (s *messageSrv) GetMessageCount(conditions *ms.ConditionsT) (int64, error) { - // TODO - debug.NotImplemented() - return 0, nil +func (s *messageSrv) GetMessageCount(r *ms.ConditionsT) (res int64, err error) { + err = s.q.GetMessageCount.Get(&res, r) + return } func newMessageService(db *sqlx.DB) core.MessageService { diff --git a/internal/dao/sakila/security.go b/internal/dao/sakila/security.go index 02154ee5..49707281 100644 --- a/internal/dao/sakila/security.go +++ b/internal/dao/sakila/security.go @@ -5,11 +5,15 @@ package sakila import ( + "math/rand" + "strconv" + "time" + "github.com/jmoiron/sqlx" "github.com/rocboss/paopao-ce/internal/core" "github.com/rocboss/paopao-ce/internal/core/ms" + "github.com/rocboss/paopao-ce/internal/dao/jinzhu/dbr" "github.com/rocboss/paopao-ce/internal/dao/sakila/yesql/cc" - "github.com/rocboss/paopao-ce/pkg/debug" ) var ( @@ -18,33 +22,47 @@ var ( type securitySrv struct { *sqlxSrv - q *cc.Security + q *cc.Security + phoneVerify core.PhoneVerifyService } // GetLatestPhoneCaptcha 获取最新短信验证码 func (s *securitySrv) GetLatestPhoneCaptcha(phone string) (*ms.Captcha, error) { - // TODO - debug.NotImplemented() - return nil, nil + res := &ms.Captcha{} + err := s.q.GetLatestPhoneCaptcha.Get(res, phone) + return res, err } // UsePhoneCaptcha 更新短信验证码 -func (s *securitySrv) UsePhoneCaptcha(captcha *ms.Captcha) error { - // TODO - debug.NotImplemented() - return nil +func (s *securitySrv) UsePhoneCaptcha(r *ms.Captcha) error { + r.UseTimes++ + _, err := s.q.UsePhoneCaptcha.Exec(r) + return err } // SendPhoneCaptcha 发送短信验证码 func (s *securitySrv) SendPhoneCaptcha(phone string) error { - // TODO - debug.NotImplemented() - return nil + expire := time.Duration(5) + // 发送验证码 + rand.Seed(time.Now().UnixNano()) + captcha := strconv.Itoa(rand.Intn(900000) + 100000) + if err := s.phoneVerify.SendPhoneCaptcha(phone, captcha, expire); err != nil { + return err + } + // 写入表 + phoneCaptcha := &dbr.Captcha{ + Phone: phone, + Captcha: captcha, + ExpiredOn: time.Now().Add(expire * time.Minute).Unix(), + } + _, err := s.q.CreatePhoneCaptcha.Exec(phoneCaptcha) + return err } func newSecurityService(db *sqlx.DB, phoneVerify core.PhoneVerifyService) core.SecurityService { return &securitySrv{ - sqlxSrv: newSqlxSrv(db), - q: mustBuild(db, cc.BuildSecurity), + sqlxSrv: newSqlxSrv(db), + q: mustBuild(db, cc.BuildSecurity), + phoneVerify: phoneVerify, } } diff --git a/internal/dao/sakila/wallet.go b/internal/dao/sakila/wallet.go index 42649113..3fff19fe 100644 --- a/internal/dao/sakila/wallet.go +++ b/internal/dao/sakila/wallet.go @@ -8,6 +8,7 @@ import ( "github.com/jmoiron/sqlx" "github.com/rocboss/paopao-ce/internal/core" "github.com/rocboss/paopao-ce/internal/core/ms" + "github.com/rocboss/paopao-ce/internal/dao/jinzhu/dbr" "github.com/rocboss/paopao-ce/internal/dao/sakila/yesql/cc" "github.com/rocboss/paopao-ce/pkg/debug" ) @@ -22,26 +23,38 @@ type walletSrv struct { } func (s *walletSrv) GetRechargeByID(id int64) (*ms.WalletRecharge, error) { - // TODO - debug.NotImplemented() - return nil, nil + res := &ms.WalletRecharge{} + err := s.q.GetRechargeById.Get(res, id) + return res, err } + func (s *walletSrv) CreateRecharge(userId, amount int64) (*ms.WalletRecharge, error) { - // TODO - debug.NotImplemented() - return nil, nil + res, err := s.q.CreateRecharge.Exec(userId, amount) + if err != nil { + return nil, err + } + id, err := res.LastInsertId() + if err != nil { + return nil, err + } + return &ms.WalletRecharge{ + Model: &dbr.Model{ + ID: id, + }, + UserID: userId, + Amount: amount, + }, nil } func (s *walletSrv) GetUserWalletBills(userID int64, offset, limit int) ([]*ms.WalletStatement, error) { - // TODO - debug.NotImplemented() - return nil, nil + res := []*ms.WalletStatement{} + err := s.q.GetUserWalletBills.Select(&res, userID, limit, offset) + return res, err } -func (s *walletSrv) GetUserWalletBillCount(userID int64) (int64, error) { - // TODO - debug.NotImplemented() - return 0, nil +func (s *walletSrv) GetUserWalletBillCount(userID int64) (res int64, err error) { + err = s.q.GetUserWalletBillCount.Get(&res, userID) + return } func (s *walletSrv) HandleRechargeSuccess(recharge *ms.WalletRecharge, tradeNo string) error { diff --git a/internal/dao/sakila/yesql/cc/yesql.go b/internal/dao/sakila/yesql/cc/yesql.go index adc6081f..2fe296d0 100644 --- a/internal/dao/sakila/yesql/cc/yesql.go +++ b/internal/dao/sakila/yesql/cc/yesql.go @@ -12,111 +12,120 @@ import ( ) const ( - _BeFriendFilter_AuthorizationManage = `SELECT * FROM @user WHERE username=?` - _BeFriendIds_AuthorizationManage = `SELECT * FROM @user WHERE username=?` - _MyFriendSet_AuthorizationManage = `SELECT * FROM @user WHERE username=?` - _GetCommentById_Comment = `SELECT * FROM @user WHERE username=?` - _GetCommentContentsByIds_Comment = `SELECT * FROM @user WHERE username=?` - _GetCommentCount_Comment = `SELECT * FROM @user WHERE username=?` - _GetCommentReplayById_Comment = `SELECT * FROM @user WHERE username=?` - _GetCommentThumbsMap_Comment = `SELECT * FROM @user WHERE username=?` - _GetComments_Comment = `SELECT * FROM @user WHERE username=?` - _GetCommmentRepliesById_Comment = `SELECT * FROM @user WHERE username=?` - _CreateComment_CommentManage = `SELECT * FROM @user WHERE username=?` - _CreateCommentContent_CommentManage = `SELECT * FROM @user WHERE username=?` - _CreateCommentReply_CommentManage = `SELECT * FROM @user WHERE username=?` - _DeleteComment_CommentManage = `SELECT * FROM @user WHERE username=?` - _DeleteCommentReply_CommentManage = `SELECT * FROM @user WHERE username=?` - _ThumbsDownComment_CommentManage = `SELECT * FROM @user WHERE username=?` - _ThumbsDownReply_CommentManage = `SELECT * FROM @user WHERE username=?` - _ThumbsUpComment_CommentManage = `SELECT * FROM @user WHERE username=?` - _ThumbsUpReply_CommentManage = `SELECT * FROM @user WHERE username=?` - _AddFriend_ContactManager = `SELECT * FROM @user WHERE username=?` - _DelFriend_ContactManager = `SELECT * FROM @user WHERE username=?` - _GetContacts_ContactManager = `SELECT * FROM @user WHERE username=?` - _IsFriend_ContactManager = `SELECT * FROM @user WHERE username=?` - _RejectFriend_ContactManager = `SELECT * FROM @user WHERE username=?` - _RequestingFriend_ContactManager = `SELECT * FROM @user WHERE username=?` - _UserInfo_FollowIndexA = `SELECT * FROM @user WHERE username=?` - _UserInfo_FollowIndex = `SELECT * FROM @user WHERE username=?` - _UserInfo_FriendIndexA = `SELECT * FROM @user WHERE username=?` - _UserInfo_FriendIndex = `SELECT * FROM @user WHERE username=?` - _UserInfo_LightIndexA = `SELECT * FROM @user WHERE username=?` - _UserInfo_LightIndex = `SELECT * FROM @user WHERE username=?` - _CreateMessage_Message = `SELECT * FROM @user WHERE username=?` - _GetMessageById_Message = `SELECT * FROM @user WHERE username=?` - _GetMessageCount_Message = `SELECT * FROM @user WHERE username=?` - _GetMessages_Message = `SELECT * FROM @user WHERE username=?` - _GetUnreadCount_Message = `SELECT * FROM @user WHERE username=?` - _ReadMessage_Message = `SELECT * FROM @user WHERE username=?` - _GetLatestPhoneCaptcha_Security = `SELECT * FROM @user WHERE username=?` - _SendPhoneCaptcha_Security = `SELECT * FROM @user WHERE username=?` - _UsePhoneCaptcha_Security = `SELECT * FROM @user WHERE username=?` - _UserInfo_SimpleIndexA = `SELECT * FROM @user WHERE username=?` - _UserInfo_SimpleIndex = `SELECT * FROM @user WHERE username=?` - _DecrTagsById_TopicA = `UPDATE @tag SET quote_num=quote_num-1, modified_on=? WHERE id IN (?)` - _HotTags_TopicA = `SELECT t.id id, t.user_id user_id, t.tag tag, t.quote_num quote_num, u.id, u.nickname, u.username, u.status, u.avatar, u.is_admin FROM @tag t JOIN @user u ON t.user_id = u.id WHERE t.is_del = 0 AND t.quote_num > 0 ORDER BY t.quote_num DESC LIMIT ? OFFSET ?` - _IncrTagsById_TopicA = `UPDATE @tag SET quote_num=quote_num+1, is_del=0, modified_on=? WHERE id IN (?)` - _InsertTag_TopicA = `INSERT INTO @tag (user_id, tag, created_on, modified_on, quote_num) VALUES (?, ?, ?, ?, 1)` - _NewestTags_TopicA = `SELECT t.id id, t.user_id user_id, t.tag tag, t.quote_num quote_num, u.id, u.nickname, u.username, u.status, u.avatar, u.is_admin FROM @tag t JOIN @user u ON t.user_id = u.id WHERE t.is_del = 0 AND t.quote_num > 0 ORDER BY t.id DESC LIMIT ? OFFSET ?` - _TagsByIdA_TopicA = `SELECT id FROM @tag WHERE id IN (?) AND is_del = 0 AND quote_num > 0` - _TagsByIdB_TopicA = `SELECT id, user_id, tag, quote_num FROM @tag WHERE id IN (?)` - _TagsByKeywordA_TopicA = `SELECT id, user_id, tag, quote_num FROM @tag WHERE is_del = 0 ORDER BY quote_num DESC LIMIT 6` - _TagsByKeywordB_TopicA = `SELECT id, user_id, tag, quote_num FROM @tag WHERE is_del = 0 AND tag LIKE ? ORDER BY quote_num DESC LIMIT 6` - _TagsForIncr_TopicA = `SELECT id, user_id, tag, quote_num FROM @tag WHERE tag IN (?)` - _AttachmentByTweetId_TweetA = `SELECT * FROM @user WHERE username=?` - _FavoriteByTweetId_TweetA = `SELECT * FROM @user WHERE username=?` - _ReactionByTweetId_TweetA = `SELECT * FROM @user WHERE username=?` - _TweetInfoById_TweetA = `SELECT * FROM @user WHERE username=?` - _TweetItemById_TweetA = `SELECT * FROM @user WHERE username=?` - _UserFavorites_TweetA = `SELECT * FROM @user WHERE username=?` - _UserInfo_TweetA = `SELECT * FROM @user WHERE username=?` - _UserReactions_TweetA = `SELECT * FROM @user WHERE username=?` - _UserTweetsByAdmin_TweetA = `SELECT * FROM @user WHERE username=?` - _UserTweetsByFriend_TweetA = `SELECT * FROM @user WHERE username=?` - _UserTweetsByGuest_TweetA = `SELECT * FROM @user WHERE username=?` - _UserTweetsBySelf_TweetA = `SELECT * FROM @user WHERE username=?` - _GetPostAttachmentBill_Tweet = `SELECT * FROM @user WHERE username=?` - _GetPostById_Tweet = `SELECT * FROM @user WHERE username=?` - _GetPostContentById_Tweet = `SELECT * FROM @user WHERE username=?` - _GetPostContetnsByIds_Tweet = `SELECT id, user_id, tag, quote_num FROM @tag WHERE tag IN (?)` - _GetPostCount_Tweet = `SELECT * FROM @user WHERE username=?` - _GetPosts_Tweet = `SELECT * FROM @user WHERE username=?` - _GetUserPostCollection_Tweet = `SELECT * FROM @user WHERE username=?` - _GetUserPostCollectionCount_Tweet = `SELECT * FROM @user WHERE username=?` - _GetUserPostCollections_Tweet = `SELECT * FROM @user WHERE username=?` - _GetUserPostStar_Tweet = `SELECT * FROM @user WHERE username=?` - _GetUserPostStarCount_Tweet = `SELECT * FROM @user WHERE username=?` - _GetUserPostStars_Tweet = `SELECT * FROM @user WHERE username=?` - _UserInfo_TweetHelpA = `SELECT * FROM @user WHERE username=?` - _GetPostContentByIds_TweetHelp = `SELECT * FROM @user WHERE username=?` - _GetUsersByIds_TweetHelp = `SELECT * FROM @user WHERE username=?` - _UserInfo_TweetManageA = `SELECT * FROM @user WHERE username=?` - _AddAttachment_TweetManage = `SELECT * FROM @user WHERE username=?` - _AddPost_TweetManage = `SELECT * FROM @user WHERE username=?` - _AddPostCollection_TweetManage = `SELECT * FROM @user WHERE username=?` - _AddPostContent_TweetManage = `SELECT * FROM @user WHERE username=?` - _AddPostStar_TweetManage = `SELECT * FROM @user WHERE username=?` - _DelPost_TweetManage = `SELECT * FROM @user WHERE username=?` - _DelPostCollection_TweetManage = `SELECT * FROM @user WHERE username=?` - _DelPostStar_TweetManage = `SELECT * FROM @user WHERE username=?` - _LockPost_TweetManage = `SELECT * FROM @user WHERE username=?` - _StickPost_TweetManage = `SELECT * FROM @user WHERE username=?` - _UpdatePost_TweetManage = `SELECT * FROM @user WHERE username=?` - _VisiblePost_TweetManage = `SELECT * FROM @user WHERE username=?` - _AddUser_UserManage = `SELECT * FROM @user WHERE username=?` - _GetUserById_UserManage = `SELECT * FROM @user WHERE username=?` - _GetUserByPhone_UserManage = `SELECT * FROM @user WHERE username=?` - _GetUserByUsername_UserManage = `SELECT * FROM @user WHERE username=?` - _GetUsersByIds_UserManage = `SELECT * FROM @user WHERE username=?` - _GetUsersByKeyword_UserManage = `SELECT * FROM @user WHERE username=?` - _UpdateUser_UserManage = `SELECT * FROM @user WHERE username=?` - _CreateRecharge_Wallet = `SELECT * FROM @user WHERE username=?` - _GetRechargeById_Wallet = `SELECT * FROM @user WHERE username=?` - _GetUserWalletBillCount_Wallet = `SELECT * FROM @user WHERE username=?` - _GetUserWalletBills_Wallet = `SELECT * FROM @user WHERE username=?` - _HandlePostAttachementBought_Wallet = `SELECT * FROM @user WHERE username=?` - _HandleRechargeSuccess_Wallet = `SELECT * FROM @user WHERE username=?` + _BeFriendFilter_AuthorizationManage = `SELECT * FROM @user WHERE username=?` + _BeFriendIds_AuthorizationManage = `SELECT * FROM @user WHERE username=?` + _MyFriendSet_AuthorizationManage = `SELECT * FROM @user WHERE username=?` + _GetCommentById_Comment = `SELECT * FROM @user WHERE username=?` + _GetCommentContentsByIds_Comment = `SELECT * FROM @user WHERE username=?` + _GetCommentCount_Comment = `SELECT * FROM @user WHERE username=?` + _GetCommentReplyById_Comment = `SELECT * FROM @user WHERE username=?` + _GetCommentThumbs_Comment = `SELECT * FROM @user WHERE username=?` + _GetComments_Comment = `SELECT * FROM @user WHERE username=?` + _GetCommmentRepliesByIds_Comment = `SELECT * FROM @user WHERE username=?` + _GetUsersByIds_Comment = `SELECT * FROM @user WHERE username=?` + _CreateComment_CommentManage = `SELECT * FROM @user WHERE username=?` + _CreateCommentContent_CommentManage = `SELECT * FROM @user WHERE username=?` + _CreateCommentReply_CommentManage = `SELECT * FROM @user WHERE username=?` + _CreateThumbsUpComment_CommentManage = `SELECT * FROM @user WHERE username=?` + _DeleteComment_CommentManage = `SELECT * FROM @user WHERE username=?` + _DeleteCommentReply_CommentManage = `SELECT * FROM @user WHERE username=?` + _DeleteCommentThumbs_CommentManage = `SELECT * FROM @user WHERE username=?` + _DeleteReplyThumbs_CommentManage = `SELECT * FROM @user WHERE username=?` + _GetCommentReplyThumb_CommentManage = `SELECT * FROM @user WHERE username=?` + _GetTweetCommentThumb_CommentManage = `SELECT * FROM @user WHERE username=?` + _ThumbsDownComment_CommentManage = `SELECT * FROM @user WHERE username=?` + _ThumbsDownReply_CommentManage = `SELECT * FROM @user WHERE username=?` + _ThumbsUpReply_CommentManage = `SELECT * FROM @user WHERE username=?` + _UpdateCommentThumbsCount_CommentManage = `SELECT * FROM @user WHERE username=?` + _UpdateThumbsUpComment_CommentManage = `SELECT * FROM @user WHERE username=?` + _AddFriend_ContactManager = `SELECT * FROM @user WHERE username=?` + _DelFriend_ContactManager = `SELECT * FROM @user WHERE username=?` + _GetContacts_ContactManager = `SELECT * FROM @user WHERE username=?` + _GetUserFriend_ContactManager = `SELECT * FROM @user WHERE username=?` + _RejectFriend_ContactManager = `SELECT * FROM @user WHERE username=?` + _RequestingFriend_ContactManager = `SELECT * FROM @user WHERE username=?` + _TotalContactsById_ContactManager = `SELECT * FROM @user WHERE username=?` + _UserInfo_FollowIndexA = `SELECT * FROM @user WHERE username=?` + _UserInfo_FollowIndex = `SELECT * FROM @user WHERE username=?` + _UserInfo_FriendIndexA = `SELECT * FROM @user WHERE username=?` + _UserInfo_FriendIndex = `SELECT * FROM @user WHERE username=?` + _UserInfo_LightIndexA = `SELECT * FROM @user WHERE username=?` + _UserInfo_LightIndex = `SELECT * FROM @user WHERE username=?` + _CreateMessage_Message = `SELECT * FROM @user WHERE username=?` + _GetMessageById_Message = `SELECT * FROM @user WHERE username=?` + _GetMessageCount_Message = `SELECT * FROM @user WHERE username=?` + _GetMessages_Message = `SELECT * FROM @user WHERE username=?` + _GetUnreadCount_Message = `SELECT * FROM @user WHERE username=?` + _ReadMessage_Message = `SELECT * FROM @user WHERE username=?` + _CreatePhoneCaptcha_Security = `SELECT * FROM @user WHERE username=?` + _GetLatestPhoneCaptcha_Security = `SELECT * FROM @user WHERE username=?` + _SendPhoneCaptcha_Security = `SELECT * FROM @user WHERE username=?` + _UsePhoneCaptcha_Security = `SELECT * FROM @user WHERE username=?` + _UserInfo_SimpleIndexA = `SELECT * FROM @user WHERE username=?` + _UserInfo_SimpleIndex = `SELECT * FROM @user WHERE username=?` + _DecrTagsById_TopicA = `UPDATE @tag SET quote_num=quote_num-1, modified_on=? WHERE id IN (?)` + _HotTags_TopicA = `SELECT t.id id, t.user_id user_id, t.tag tag, t.quote_num quote_num, u.id, u.nickname, u.username, u.status, u.avatar, u.is_admin FROM @tag t JOIN @user u ON t.user_id = u.id WHERE t.is_del = 0 AND t.quote_num > 0 ORDER BY t.quote_num DESC LIMIT ? OFFSET ?` + _IncrTagsById_TopicA = `UPDATE @tag SET quote_num=quote_num+1, is_del=0, modified_on=? WHERE id IN (?)` + _InsertTag_TopicA = `INSERT INTO @tag (user_id, tag, created_on, modified_on, quote_num) VALUES (?, ?, ?, ?, 1)` + _NewestTags_TopicA = `SELECT t.id id, t.user_id user_id, t.tag tag, t.quote_num quote_num, u.id, u.nickname, u.username, u.status, u.avatar, u.is_admin FROM @tag t JOIN @user u ON t.user_id = u.id WHERE t.is_del = 0 AND t.quote_num > 0 ORDER BY t.id DESC LIMIT ? OFFSET ?` + _TagsByIdA_TopicA = `SELECT id FROM @tag WHERE id IN (?) AND is_del = 0 AND quote_num > 0` + _TagsByIdB_TopicA = `SELECT id, user_id, tag, quote_num FROM @tag WHERE id IN (?)` + _TagsByKeywordA_TopicA = `SELECT id, user_id, tag, quote_num FROM @tag WHERE is_del = 0 ORDER BY quote_num DESC LIMIT 6` + _TagsByKeywordB_TopicA = `SELECT id, user_id, tag, quote_num FROM @tag WHERE is_del = 0 AND tag LIKE ? ORDER BY quote_num DESC LIMIT 6` + _TagsForIncr_TopicA = `SELECT id, user_id, tag, quote_num FROM @tag WHERE tag IN (?)` + _AttachmentByTweetId_TweetA = `SELECT * FROM @user WHERE username=?` + _FavoriteByTweetId_TweetA = `SELECT * FROM @user WHERE username=?` + _ReactionByTweetId_TweetA = `SELECT * FROM @user WHERE username=?` + _TweetInfoById_TweetA = `SELECT * FROM @user WHERE username=?` + _TweetItemById_TweetA = `SELECT * FROM @user WHERE username=?` + _UserFavorites_TweetA = `SELECT * FROM @user WHERE username=?` + _UserInfo_TweetA = `SELECT * FROM @user WHERE username=?` + _UserReactions_TweetA = `SELECT * FROM @user WHERE username=?` + _UserTweetsByAdmin_TweetA = `SELECT * FROM @user WHERE username=?` + _UserTweetsByFriend_TweetA = `SELECT * FROM @user WHERE username=?` + _UserTweetsByGuest_TweetA = `SELECT * FROM @user WHERE username=?` + _UserTweetsBySelf_TweetA = `SELECT * FROM @user WHERE username=?` + _GetPostAttachmentBill_Tweet = `SELECT * FROM @user WHERE username=?` + _GetPostById_Tweet = `SELECT * FROM @user WHERE username=?` + _GetPostContentById_Tweet = `SELECT * FROM @user WHERE username=?` + _GetPostContetnsByIds_Tweet = `SELECT id, user_id, tag, quote_num FROM @tag WHERE tag IN (?)` + _GetPostCount_Tweet = `SELECT * FROM @user WHERE username=?` + _GetPosts_Tweet = `SELECT * FROM @user WHERE username=?` + _GetUserPostCollection_Tweet = `SELECT * FROM @user WHERE username=?` + _GetUserPostCollectionCount_Tweet = `SELECT * FROM @user WHERE username=?` + _GetUserPostCollections_Tweet = `SELECT * FROM @user WHERE username=?` + _GetUserPostStar_Tweet = `SELECT * FROM @user WHERE username=?` + _GetUserPostStarCount_Tweet = `SELECT * FROM @user WHERE username=?` + _GetUserPostStars_Tweet = `SELECT * FROM @user WHERE username=?` + _UserInfo_TweetHelpA = `SELECT * FROM @user WHERE username=?` + _GetPostContentByIds_TweetHelp = `SELECT * FROM @user WHERE username=?` + _GetUsersByIds_TweetHelp = `SELECT * FROM @user WHERE username=?` + _UserInfo_TweetManageA = `SELECT * FROM @user WHERE username=?` + _AddAttachment_TweetManage = `SELECT * FROM @user WHERE username=?` + _AddPost_TweetManage = `SELECT * FROM @user WHERE username=?` + _AddPostCollection_TweetManage = `SELECT * FROM @user WHERE username=?` + _AddPostContent_TweetManage = `SELECT * FROM @user WHERE username=?` + _AddPostStar_TweetManage = `SELECT * FROM @user WHERE username=?` + _DelPost_TweetManage = `SELECT * FROM @user WHERE username=?` + _DelPostCollection_TweetManage = `SELECT * FROM @user WHERE username=?` + _DelPostStar_TweetManage = `SELECT * FROM @user WHERE username=?` + _LockPost_TweetManage = `SELECT * FROM @user WHERE username=?` + _StickPost_TweetManage = `SELECT * FROM @user WHERE username=?` + _UpdatePost_TweetManage = `SELECT * FROM @user WHERE username=?` + _VisiblePost_TweetManage = `SELECT * FROM @user WHERE username=?` + _AddUser_UserManage = `SELECT * FROM @user WHERE username=?` + _GetUserById_UserManage = `SELECT * FROM @user WHERE username=?` + _GetUserByPhone_UserManage = `SELECT * FROM @user WHERE username=?` + _GetUserByUsername_UserManage = `SELECT * FROM @user WHERE username=?` + _GetUsersByIds_UserManage = `SELECT * FROM @user WHERE username=?` + _GetUsersByKeyword_UserManage = `SELECT * FROM @user WHERE username=?` + _UpdateUser_UserManage = `SELECT * FROM @user WHERE username=?` + _CreateRecharge_Wallet = `SELECT * FROM @user WHERE username=?` + _GetRechargeById_Wallet = `SELECT * FROM @user WHERE username=?` + _GetUserWalletBillCount_Wallet = `SELECT * FROM @user WHERE username=?` + _GetUserWalletBills_Wallet = `SELECT * FROM @user WHERE username=?` + _HandlePostAttachementBought_Wallet = `SELECT * FROM @user WHERE username=?` + _HandleRechargeSuccess_Wallet = `SELECT * FROM @user WHERE username=?` ) type AuthorizationManage struct { @@ -128,36 +137,44 @@ type AuthorizationManage struct { type Comment struct { yesql.Namespace `yesql:"comment"` - GetCommentById *sqlx.Stmt `yesql:"get_comment_by_id"` - GetCommentContentsByIds *sqlx.Stmt `yesql:"get_comment_contents_by_ids"` - GetCommentCount *sqlx.Stmt `yesql:"get_comment_count"` - GetCommentReplayById *sqlx.Stmt `yesql:"get_comment_replay_by_id"` - GetCommentThumbsMap *sqlx.Stmt `yesql:"get_comment_thumbs_map"` - GetComments *sqlx.Stmt `yesql:"get_comments"` - GetCommmentRepliesById *sqlx.Stmt `yesql:"get_commment_replies_by_id"` + GetCommentContentsByIds string `yesql:"get_comment_contents_by_ids"` + GetCommmentRepliesByIds string `yesql:"get_commment_replies_by_ids"` + GetUsersByIds string `yesql:"get_users_by_ids"` + GetCommentById *sqlx.Stmt `yesql:"get_comment_by_id"` + GetCommentReplyById *sqlx.Stmt `yesql:"get_comment_reply_by_id"` + GetCommentThumbs *sqlx.Stmt `yesql:"get_comment_thumbs"` + GetCommentCount *sqlx.NamedStmt `yesql:"get_comment_count"` + GetComments *sqlx.NamedStmt `yesql:"get_comments"` } type CommentManage struct { - yesql.Namespace `yesql:"comment_manage"` - CreateComment *sqlx.Stmt `yesql:"create_comment"` - CreateCommentContent *sqlx.Stmt `yesql:"create_comment_content"` - CreateCommentReply *sqlx.Stmt `yesql:"create_comment_reply"` - DeleteComment *sqlx.Stmt `yesql:"delete_comment"` - DeleteCommentReply *sqlx.Stmt `yesql:"delete_comment_reply"` - ThumbsDownComment *sqlx.Stmt `yesql:"thumbs_down_comment"` - ThumbsDownReply *sqlx.Stmt `yesql:"thumbs_down_reply"` - ThumbsUpComment *sqlx.Stmt `yesql:"thumbs_up_comment"` - ThumbsUpReply *sqlx.Stmt `yesql:"thumbs_up_reply"` + yesql.Namespace `yesql:"comment_manage"` + DeleteComment *sqlx.Stmt `yesql:"delete_comment"` + DeleteCommentReply *sqlx.Stmt `yesql:"delete_comment_reply"` + DeleteCommentThumbs *sqlx.Stmt `yesql:"delete_comment_thumbs"` + DeleteReplyThumbs *sqlx.Stmt `yesql:"delete_reply_thumbs"` + GetCommentReplyThumb *sqlx.Stmt `yesql:"get_comment_reply_thumb"` + GetTweetCommentThumb *sqlx.Stmt `yesql:"get_tweet_comment_thumb"` + ThumbsDownComment *sqlx.Stmt `yesql:"thumbs_down_comment"` + ThumbsDownReply *sqlx.Stmt `yesql:"thumbs_down_reply"` + ThumbsUpReply *sqlx.Stmt `yesql:"thumbs_up_reply"` + UpdateCommentThumbsCount *sqlx.Stmt `yesql:"update_comment_thumbs_count"` + CreateComment *sqlx.NamedStmt `yesql:"create_comment"` + CreateCommentContent *sqlx.NamedStmt `yesql:"create_comment_content"` + CreateCommentReply *sqlx.NamedStmt `yesql:"create_comment_reply"` + CreateThumbsUpComment *sqlx.NamedStmt `yesql:"create_thumbs_up_comment"` + UpdateThumbsUpComment *sqlx.NamedStmt `yesql:"update_thumbs_up_comment"` } type ContactManager struct { - yesql.Namespace `yesql:"contact_manager"` - AddFriend *sqlx.Stmt `yesql:"add_friend"` - DelFriend *sqlx.Stmt `yesql:"del_friend"` - GetContacts *sqlx.Stmt `yesql:"get_contacts"` - IsFriend *sqlx.Stmt `yesql:"is_friend"` - RejectFriend *sqlx.Stmt `yesql:"reject_friend"` - RequestingFriend *sqlx.Stmt `yesql:"requesting_friend"` + yesql.Namespace `yesql:"contact_manager"` + AddFriend *sqlx.Stmt `yesql:"add_friend"` + DelFriend *sqlx.Stmt `yesql:"del_friend"` + GetContacts *sqlx.Stmt `yesql:"get_contacts"` + GetUserFriend *sqlx.Stmt `yesql:"get_user_friend"` + RejectFriend *sqlx.Stmt `yesql:"reject_friend"` + RequestingFriend *sqlx.Stmt `yesql:"requesting_friend"` + TotalContactsById *sqlx.Stmt `yesql:"total_contacts_by_id"` } type FollowIndex struct { @@ -192,19 +209,20 @@ type LightIndexA struct { type Message struct { yesql.Namespace `yesql:"message"` - CreateMessage *sqlx.Stmt `yesql:"create_message"` - GetMessageById *sqlx.Stmt `yesql:"get_message_by_id"` - GetMessageCount *sqlx.Stmt `yesql:"get_message_count"` - GetMessages *sqlx.Stmt `yesql:"get_messages"` - GetUnreadCount *sqlx.Stmt `yesql:"get_unread_count"` - ReadMessage *sqlx.Stmt `yesql:"read_message"` + GetMessageById *sqlx.Stmt `yesql:"get_message_by_id"` + GetUnreadCount *sqlx.Stmt `yesql:"get_unread_count"` + ReadMessage *sqlx.Stmt `yesql:"read_message"` + CreateMessage *sqlx.NamedStmt `yesql:"create_message"` + GetMessageCount *sqlx.NamedStmt `yesql:"get_message_count"` + GetMessages *sqlx.NamedStmt `yesql:"get_messages"` } type Security struct { yesql.Namespace `yesql:"security"` - GetLatestPhoneCaptcha *sqlx.Stmt `yesql:"get_latest_phone_captcha"` - SendPhoneCaptcha *sqlx.Stmt `yesql:"send_phone_captcha"` - UsePhoneCaptcha *sqlx.Stmt `yesql:"use_phone_captcha"` + GetLatestPhoneCaptcha *sqlx.Stmt `yesql:"get_latest_phone_captcha"` + SendPhoneCaptcha *sqlx.Stmt `yesql:"send_phone_captcha"` + CreatePhoneCaptcha *sqlx.NamedStmt `yesql:"create_phone_captcha"` + UsePhoneCaptcha *sqlx.NamedStmt `yesql:"use_phone_captcha"` } type SimpleIndex struct { @@ -343,26 +361,24 @@ func BuildComment(p yesql.PreparexBuilder, ctx ...context.Context) (obj *Comment } else { c = context.Background() } - obj = &Comment{} - if obj.GetCommentById, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_GetCommentById_Comment))); err != nil { - return + obj = &Comment{ + GetCommentContentsByIds: p.QueryHook(_GetCommentContentsByIds_Comment), + GetCommmentRepliesByIds: p.QueryHook(_GetCommmentRepliesByIds_Comment), + GetUsersByIds: p.QueryHook(_GetUsersByIds_Comment), } - if obj.GetCommentContentsByIds, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_GetCommentContentsByIds_Comment))); err != nil { - return - } - if obj.GetCommentCount, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_GetCommentCount_Comment))); err != nil { + if obj.GetCommentById, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_GetCommentById_Comment))); err != nil { return } - if obj.GetCommentReplayById, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_GetCommentReplayById_Comment))); err != nil { + if obj.GetCommentReplyById, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_GetCommentReplyById_Comment))); err != nil { return } - if obj.GetCommentThumbsMap, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_GetCommentThumbsMap_Comment))); err != nil { + if obj.GetCommentThumbs, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_GetCommentThumbs_Comment))); err != nil { return } - if obj.GetComments, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_GetComments_Comment))); err != nil { + if obj.GetCommentCount, err = p.PrepareNamedContext(c, p.Rebind(p.QueryHook(_GetCommentCount_Comment))); err != nil { return } - if obj.GetCommmentRepliesById, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_GetCommmentRepliesById_Comment))); err != nil { + if obj.GetComments, err = p.PrepareNamedContext(c, p.Rebind(p.QueryHook(_GetComments_Comment))); err != nil { return } return @@ -376,19 +392,22 @@ func BuildCommentManage(p yesql.PreparexBuilder, ctx ...context.Context) (obj *C c = context.Background() } obj = &CommentManage{} - if obj.CreateComment, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_CreateComment_CommentManage))); err != nil { + if obj.DeleteComment, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_DeleteComment_CommentManage))); err != nil { return } - if obj.CreateCommentContent, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_CreateCommentContent_CommentManage))); err != nil { + if obj.DeleteCommentReply, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_DeleteCommentReply_CommentManage))); err != nil { return } - if obj.CreateCommentReply, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_CreateCommentReply_CommentManage))); err != nil { + if obj.DeleteCommentThumbs, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_DeleteCommentThumbs_CommentManage))); err != nil { return } - if obj.DeleteComment, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_DeleteComment_CommentManage))); err != nil { + if obj.DeleteReplyThumbs, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_DeleteReplyThumbs_CommentManage))); err != nil { return } - if obj.DeleteCommentReply, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_DeleteCommentReply_CommentManage))); err != nil { + if obj.GetCommentReplyThumb, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_GetCommentReplyThumb_CommentManage))); err != nil { + return + } + if obj.GetTweetCommentThumb, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_GetTweetCommentThumb_CommentManage))); err != nil { return } if obj.ThumbsDownComment, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_ThumbsDownComment_CommentManage))); err != nil { @@ -397,10 +416,25 @@ func BuildCommentManage(p yesql.PreparexBuilder, ctx ...context.Context) (obj *C if obj.ThumbsDownReply, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_ThumbsDownReply_CommentManage))); err != nil { return } - if obj.ThumbsUpComment, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_ThumbsUpComment_CommentManage))); err != nil { + if obj.ThumbsUpReply, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_ThumbsUpReply_CommentManage))); err != nil { return } - if obj.ThumbsUpReply, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_ThumbsUpReply_CommentManage))); err != nil { + if obj.UpdateCommentThumbsCount, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_UpdateCommentThumbsCount_CommentManage))); err != nil { + return + } + if obj.CreateComment, err = p.PrepareNamedContext(c, p.Rebind(p.QueryHook(_CreateComment_CommentManage))); err != nil { + return + } + if obj.CreateCommentContent, err = p.PrepareNamedContext(c, p.Rebind(p.QueryHook(_CreateCommentContent_CommentManage))); err != nil { + return + } + if obj.CreateCommentReply, err = p.PrepareNamedContext(c, p.Rebind(p.QueryHook(_CreateCommentReply_CommentManage))); err != nil { + return + } + if obj.CreateThumbsUpComment, err = p.PrepareNamedContext(c, p.Rebind(p.QueryHook(_CreateThumbsUpComment_CommentManage))); err != nil { + return + } + if obj.UpdateThumbsUpComment, err = p.PrepareNamedContext(c, p.Rebind(p.QueryHook(_UpdateThumbsUpComment_CommentManage))); err != nil { return } return @@ -423,7 +457,7 @@ func BuildContactManager(p yesql.PreparexBuilder, ctx ...context.Context) (obj * if obj.GetContacts, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_GetContacts_ContactManager))); err != nil { return } - if obj.IsFriend, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_IsFriend_ContactManager))); err != nil { + if obj.GetUserFriend, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_GetUserFriend_ContactManager))); err != nil { return } if obj.RejectFriend, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_RejectFriend_ContactManager))); err != nil { @@ -432,6 +466,9 @@ func BuildContactManager(p yesql.PreparexBuilder, ctx ...context.Context) (obj * if obj.RequestingFriend, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_RequestingFriend_ContactManager))); err != nil { return } + if obj.TotalContactsById, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_TotalContactsById_ContactManager))); err != nil { + return + } return } @@ -527,22 +564,22 @@ func BuildMessage(p yesql.PreparexBuilder, ctx ...context.Context) (obj *Message c = context.Background() } obj = &Message{} - if obj.CreateMessage, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_CreateMessage_Message))); err != nil { + if obj.GetMessageById, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_GetMessageById_Message))); err != nil { return } - if obj.GetMessageById, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_GetMessageById_Message))); err != nil { + if obj.GetUnreadCount, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_GetUnreadCount_Message))); err != nil { return } - if obj.GetMessageCount, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_GetMessageCount_Message))); err != nil { + if obj.ReadMessage, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_ReadMessage_Message))); err != nil { return } - if obj.GetMessages, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_GetMessages_Message))); err != nil { + if obj.CreateMessage, err = p.PrepareNamedContext(c, p.Rebind(p.QueryHook(_CreateMessage_Message))); err != nil { return } - if obj.GetUnreadCount, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_GetUnreadCount_Message))); err != nil { + if obj.GetMessageCount, err = p.PrepareNamedContext(c, p.Rebind(p.QueryHook(_GetMessageCount_Message))); err != nil { return } - if obj.ReadMessage, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_ReadMessage_Message))); err != nil { + if obj.GetMessages, err = p.PrepareNamedContext(c, p.Rebind(p.QueryHook(_GetMessages_Message))); err != nil { return } return @@ -562,7 +599,10 @@ func BuildSecurity(p yesql.PreparexBuilder, ctx ...context.Context) (obj *Securi if obj.SendPhoneCaptcha, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_SendPhoneCaptcha_Security))); err != nil { return } - if obj.UsePhoneCaptcha, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_UsePhoneCaptcha_Security))); err != nil { + if obj.CreatePhoneCaptcha, err = p.PrepareNamedContext(c, p.Rebind(p.QueryHook(_CreatePhoneCaptcha_Security))); err != nil { + return + } + if obj.UsePhoneCaptcha, err = p.PrepareNamedContext(c, p.Rebind(p.QueryHook(_UsePhoneCaptcha_Security))); err != nil { return } return diff --git a/internal/dao/sakila/yesql/yesql.sql b/internal/dao/sakila/yesql/yesql.sql index c13e9d3e..3d177a97 100644 --- a/internal/dao/sakila/yesql/yesql.sql +++ b/internal/dao/sakila/yesql/yesql.sql @@ -19,7 +19,7 @@ SELECT * FROM @user WHERE username=? -------------------------------------------------------------------------------- -- name: get_comments@comment --- prepare: stmt +-- prepare: named_stmt SELECT * FROM @user WHERE username=? -- name: get_comment_by_id@comment @@ -27,22 +27,29 @@ SELECT * FROM @user WHERE username=? SELECT * FROM @user WHERE username=? -- name: get_comment_count@comment --- prepare: stmt +-- prepare: named_stmt SELECT * FROM @user WHERE username=? --- name: get_comment_replay_by_id@comment +-- name: get_comment_reply_by_id@comment -- prepare: stmt SELECT * FROM @user WHERE username=? -- name: get_comment_contents_by_ids@comment --- prepare: stmt +-- prepare: raw +-- clause: in SELECT * FROM @user WHERE username=? --- name: get_commment_replies_by_id@comment --- prepare: stmt +-- name: get_commment_replies_by_ids@comment +-- prepare: raw +-- clause: in SELECT * FROM @user WHERE username=? --- name: get_comment_thumbs_map@comment +-- name: get_users_by_ids@comment +-- prepare: raw +-- clause: in +SELECT * FROM @user WHERE username=? + +-- name: get_comment_thumbs@comment -- prepare: stmt SELECT * FROM @user WHERE username=? @@ -54,23 +61,47 @@ SELECT * FROM @user WHERE username=? -- prepare: stmt SELECT * FROM @user WHERE username=? --- name: create_comment@comment_manage +-- name: delete_comment_thumbs@comment_manage -- prepare: stmt SELECT * FROM @user WHERE username=? +-- name: create_comment@comment_manage +-- prepare: named_stmt +SELECT * FROM @user WHERE username=? + -- name: create_comment_reply@comment_manage --- prepare: stmt +-- prepare: named_stmt SELECT * FROM @user WHERE username=? -- name: delete_comment_reply@comment_manage -- prepare: stmt SELECT * FROM @user WHERE username=? +-- name: delete_reply_thumbs@comment_manage +-- prepare: stmt +SELECT * FROM @user WHERE username=? + -- name: create_comment_content@comment_manage +-- prepare: named_stmt +SELECT * FROM @user WHERE username=? + +-- name: update_thumbs_up_comment@comment_manage +-- prepare: named_stmt +SELECT * FROM @user WHERE username=? + +-- name: create_thumbs_up_comment@comment_manage +-- prepare: named_stmt +SELECT * FROM @user WHERE username=? + +-- name: update_comment_thumbs_count@comment_manage +-- prepare: stmt +SELECT * FROM @user WHERE username=? + +-- name: get_tweet_comment_thumb@comment_manage -- prepare: stmt SELECT * FROM @user WHERE username=? --- name: thumbs_up_comment@comment_manage +-- name: get_comment_reply_thumb@comment_manage -- prepare: stmt SELECT * FROM @user WHERE username=? @@ -110,7 +141,11 @@ SELECT * FROM @user WHERE username=? -- prepare: stmt SELECT * FROM @user WHERE username=? --- name: is_friend@contact_manager +-- name: total_contacts_by_id@contact_manager +-- prepare: stmt +SELECT * FROM @user WHERE username=? + +-- name: get_user_friend@contact_manager -- prepare: stmt SELECT * FROM @user WHERE username=? @@ -119,7 +154,7 @@ SELECT * FROM @user WHERE username=? -------------------------------------------------------------------------------- -- name: create_message@message --- prepare: stmt +-- prepare: named_stmt SELECT * FROM @user WHERE username=? -- name: get_unread_count@message @@ -135,11 +170,11 @@ SELECT * FROM @user WHERE username=? SELECT * FROM @user WHERE username=? -- name: get_messages@message --- prepare: stmt +-- prepare: named_stmt SELECT * FROM @user WHERE username=? -- name: get_message_count@message --- prepare: stmt +-- prepare: named_stmt SELECT * FROM @user WHERE username=? -------------------------------------------------------------------------------- @@ -151,13 +186,17 @@ SELECT * FROM @user WHERE username=? SELECT * FROM @user WHERE username=? -- name: use_phone_captcha@security --- prepare: stmt +-- prepare: named_stmt SELECT * FROM @user WHERE username=? -- name: send_phone_captcha@security -- prepare: stmt SELECT * FROM @user WHERE username=? +-- name: create_phone_captcha@security +-- prepare: named_stmt +SELECT * FROM @user WHERE username=? + -------------------------------------------------------------------------------- -- friend_index sql dml --------------------------------------------------------------------------------