sqlx: add some logic implement 5%

r/paopao-ce-plus
Michael Li 2 years ago
parent fe11dae223
commit 2d0477cf65
No known key found for this signature in database

@ -88,8 +88,8 @@ type TweetInfo struct {
type TweetItem struct {
ID int64 `json:"id"`
UserID int64 `json:"user_id"`
User *UserInfo `json:"user"`
Contents []*TweetBlock `json:"contents"`
User *UserInfo `db:"user" json:"user"`
Contents []*TweetBlock `db:"-" json:"contents"`
CommentCount int64 `json:"comment_count"`
CollectionCount int64 `json:"collection_count"`
UpvoteCount int64 `json:"upvote_count"`

@ -38,7 +38,7 @@ type TweetManageService interface {
CreatePostCollection(postID, userID int64) (*ms.PostCollection, error)
DeletePostCollection(p *ms.PostCollection) error
CreatePostContent(content *ms.PostContent) (*ms.PostContent, error)
CreateAttachment(obj *cs.Attachment) (int64, error)
CreateAttachment(obj *ms.Attachment) (int64, error)
}
// TweetHelpService 推文辅助服务

@ -14,8 +14,8 @@ import (
type PostCollection struct {
*Model
Post *Post `json:"-"`
PostID int64 `json:"post_id"`
UserID int64 `json:"user_id"`
PostID int64 `db:"post_id" json:"post_id"`
UserID int64 `db:"user_id" json:"user_id"`
}
func (p *PostCollection) Get(db *gorm.DB) (*PostCollection, error) {

@ -44,7 +44,7 @@ type PostContent struct {
}
type PostContentFormated struct {
ID int64 `json:"id"`
ID int64 `db:"id" json:"id"`
PostID int64 `json:"post_id"`
Content string `json:"content"`
Type PostContentT `json:"type"`

@ -28,7 +28,7 @@ type User struct {
}
type UserFormated struct {
ID int64 `json:"id"`
ID int64 `db:"id" json:"id"`
Nickname string `json:"nickname"`
Username string `json:"username"`
Status int `json:"status"`

@ -197,9 +197,9 @@ func (s *tweetManageSrv) CreatePostContent(content *ms.PostContent) (*ms.PostCon
return content.Create(s.db)
}
func (s *tweetManageSrv) CreateAttachment(obj *cs.Attachment) (int64, error) {
// TODO
return 0, debug.ErrNotImplemented
func (s *tweetManageSrv) CreateAttachment(obj *ms.Attachment) (int64, error) {
attachment, err := obj.Create(s.db)
return attachment.ID, err
}
func (s *tweetManageSrv) CreatePost(post *ms.Post) (*ms.Post, error) {

@ -22,32 +22,27 @@ type contactManageSrv struct {
}
func (s *contactManageSrv) RequestingFriend(userId int64, friendId int64, greetings string) (err error) {
// TODO
debug.NotImplemented()
return nil
_, err = s.q.RejectFriend.Query(userId, friendId, greetings)
return
}
func (s *contactManageSrv) AddFriend(userId int64, friendId int64) (err error) {
// TODO
debug.NotImplemented()
return nil
_, err = s.q.AddFriend.Exec(userId, friendId)
return
}
func (s *contactManageSrv) RejectFriend(userId int64, friendId int64) (err error) {
// TODO
debug.NotImplemented()
return nil
_, err = s.q.RejectFriend.Exec(userId, friendId)
return
}
func (s *contactManageSrv) DeleteFriend(userId int64, friendId int64) (err error) {
// TODO
debug.NotImplemented()
return nil
_, err = s.q.DelFriend.Exec(userId, friendId)
return
}
func (s *contactManageSrv) GetContacts(userId int64, offset int, limit int) (*ms.ContactList, error) {
// TODO
debug.NotImplemented()
return nil, nil
}

@ -58,57 +58,140 @@ type tweetHelpSrvA struct {
// MergePosts post数据整合
func (s *tweetHelpSrv) MergePosts(posts []*ms.Post) ([]*ms.PostFormated, error) {
// TODO
debug.NotImplemented()
return nil, nil
postIds := make([]int64, 0, len(posts))
userIds := make([]int64, 0, len(posts))
for _, post := range posts {
postIds = append(postIds, post.ID)
userIds = append(userIds, post.UserID)
}
postContents, err := s.getPostContentsByIDs(postIds)
if err != nil {
return nil, err
}
users, err := s.getUsersByIDs(userIds)
if err != nil {
return nil, err
}
userMap := make(map[int64]*dbr.UserFormated, len(users))
for _, user := range users {
userMap[user.ID] = user
}
contentMap := make(map[int64][]*dbr.PostContentFormated, len(postContents))
for _, content := range postContents {
contentMap[content.PostID] = append(contentMap[content.PostID], content)
}
// 数据整合
postsFormated := make([]*dbr.PostFormated, 0, len(posts))
for _, post := range posts {
postFormated := post.Format()
postFormated.User = userMap[post.UserID]
postFormated.Contents = contentMap[post.ID]
postsFormated = append(postsFormated, postFormated)
}
return postsFormated, nil
}
// RevampPosts post数据整形修复
func (s *tweetHelpSrv) RevampPosts(posts []*ms.PostFormated) ([]*ms.PostFormated, error) {
// TODO
debug.NotImplemented()
return nil, nil
postIds := make([]int64, 0, len(posts))
userIds := make([]int64, 0, len(posts))
for _, post := range posts {
postIds = append(postIds, post.ID)
userIds = append(userIds, post.UserID)
}
postContents, err := s.getPostContentsByIDs(postIds)
if err != nil {
return nil, err
}
users, err := s.getUsersByIDs(userIds)
if err != nil {
return nil, err
}
userMap := make(map[int64]*dbr.UserFormated, len(users))
for _, user := range users {
userMap[user.ID] = user
}
contentMap := make(map[int64][]*dbr.PostContentFormated, len(postContents))
for _, content := range postContents {
contentMap[content.PostID] = append(contentMap[content.PostID], content)
}
// 数据整合
for _, post := range posts {
post.User = userMap[post.UserID]
post.Contents = contentMap[post.ID]
}
return posts, nil
}
func (s *tweetHelpSrv) getPostContentsByIDs(ids []int64) ([]*dbr.PostContent, error) {
// TODO
debug.NotImplemented()
return nil, nil
func (s *tweetHelpSrv) getPostContentsByIDs(ids []int64) ([]*dbr.PostContentFormated, error) {
res := []*dbr.PostContentFormated{}
err := s.inSelect(s.db, &res, s.q.GetPostContentByIds, ids)
return res, err
}
func (s *tweetHelpSrv) getUsersByIDs(ids []int64) ([]*dbr.User, error) {
// TODO
debug.NotImplemented()
return nil, nil
func (s *tweetHelpSrv) getUsersByIDs(ids []int64) ([]*dbr.UserFormated, error) {
res := []*dbr.UserFormated{}
err := s.inSelect(s.db, &res, s.q.GetUsersByIds, ids)
return res, err
}
func (s *tweetManageSrv) CreatePostCollection(postID, userID int64) (*ms.PostCollection, error) {
// TODO
debug.NotImplemented()
return nil, nil
res, err := s.q.AddPostCollection.Exec(postID, userID)
if err != nil {
return nil, err
}
id, err := res.LastInsertId()
if err != nil {
return nil, err
}
return &ms.PostCollection{
Model: &dbr.Model{
ID: id,
},
PostID: postID,
UserID: userID,
}, nil
}
func (s *tweetManageSrv) DeletePostCollection(p *ms.PostCollection) error {
// TODO
debug.NotImplemented()
return nil
func (s *tweetManageSrv) DeletePostCollection(r *ms.PostCollection) error {
_, err := s.q.DelPostCollection.Exec(r.ID)
return err
}
func (s *tweetManageSrv) CreatePostContent(content *ms.PostContent) (*ms.PostContent, error) {
// TODO
debug.NotImplemented()
return nil, nil
func (s *tweetManageSrv) CreatePostContent(r *ms.PostContent) (*ms.PostContent, error) {
res, err := s.q.AddPostContent.Exec(r.PostID, r.UserID, r.Content, r.Type, r.Sort)
if err != nil {
return nil, err
}
r.Model = &dbr.Model{}
r.ID, err = res.LastInsertId()
if err != nil {
return nil, err
}
return r, nil
}
func (s *tweetManageSrv) CreateAttachment(obj *cs.Attachment) (int64, error) {
// TODO
return 0, debug.ErrNotImplemented
func (s *tweetManageSrv) CreateAttachment(r *ms.Attachment) (int64, error) {
res, err := s.q.AddAttachment.Exec(r.UserID, r.FileSize, r.ImgWidth, r.ImgHeight, r.Type, r.Content)
if err != nil {
return 0, err
}
return res.LastInsertId()
}
func (s *tweetManageSrv) CreatePost(post *ms.Post) (*ms.Post, error) {
// TODO
debug.NotImplemented()
return nil, nil
func (s *tweetManageSrv) CreatePost(r *ms.Post) (*ms.Post, error) {
res, err := s.q.AddPost.Exec(r.UserID, r.Visibility, r.Tags, r.AttachmentPrice, r.IP, r.IPLoc)
if err != nil {
return nil, err
}
if id, err := res.LastInsertId(); err == nil {
r.Model = &dbr.Model{
ID: id,
}
} else {
return nil, err
}
return r, nil
}
func (s *tweetManageSrv) DeletePost(post *ms.Post) ([]string, error) {
@ -117,164 +200,193 @@ func (s *tweetManageSrv) DeletePost(post *ms.Post) ([]string, error) {
return nil, nil
}
func (s *tweetManageSrv) LockPost(post *ms.Post) error {
// TODO
debug.NotImplemented()
return nil
func (s *tweetManageSrv) LockPost(r *ms.Post) error {
_, err := s.q.LockPost.Exec(r.ID)
return err
}
func (s *tweetManageSrv) StickPost(post *ms.Post) error {
// TODO
debug.NotImplemented()
return nil
func (s *tweetManageSrv) StickPost(r *ms.Post) error {
_, err := s.q.StickPost.Exec(r.ID)
return err
}
func (s *tweetManageSrv) VisiblePost(post *ms.Post, visibility core.PostVisibleT) error {
// TODO
debug.NotImplemented()
return nil
func (s *tweetManageSrv) VisiblePost(r *ms.Post, visibility core.PostVisibleT) error {
_, err := s.q.VisiblePost.Exec(r.ID, visibility)
return err
}
func (s *tweetManageSrv) UpdatePost(post *ms.Post) error {
// TODO
debug.NotImplemented()
func (s *tweetManageSrv) UpdatePost(r *ms.Post) error {
if _, err := s.q.UpdatePost.Exec(r.CommentCount, r.UpvoteCount, r.ID); err != nil {
return err
}
s.cis.SendAction(core.IdxActUpdatePost, r)
return nil
}
func (s *tweetManageSrv) CreatePostStar(postID, userID int64) (*ms.PostStar, error) {
// TODO
debug.NotImplemented()
return nil, nil
res, err := s.q.AddPostStar.Exec(postID, userID)
if err != nil {
return nil, err
}
id, err := res.LastInsertId()
if err != nil {
return nil, err
}
return &ms.PostStar{
Model: &dbr.Model{
ID: id,
},
PostID: postID,
UserID: userID,
}, nil
}
func (s *tweetManageSrv) DeletePostStar(p *ms.PostStar) error {
// TODO
debug.NotImplemented()
return nil
func (s *tweetManageSrv) DeletePostStar(r *ms.PostStar) error {
_, err := s.q.DelPostStar.Exec(r.ID)
return err
}
func (s *tweetSrv) GetPostByID(id int64) (*ms.Post, error) {
// TODO
debug.NotImplemented()
return nil, nil
res := &ms.Post{}
err := s.q.GetPostById.Get(res, id)
return res, err
}
func (s *tweetSrv) GetPosts(conditions *ms.ConditionsT, offset, limit int) ([]*ms.Post, error) {
// TODO
// TODO 需要精细化接口
debug.NotImplemented()
return nil, nil
}
func (s *tweetSrv) GetPostCount(conditions *ms.ConditionsT) (int64, error) {
// TODO
// TODO 需要精细化接口
debug.NotImplemented()
return 0, nil
}
func (s *tweetSrv) GetUserPostStar(postID, userID int64) (*ms.PostStar, error) {
// TODO
debug.NotImplemented()
return nil, nil
res := &ms.PostStar{}
err := s.q.GetUserPostStar.Get(res, postID, userID)
return res, err
}
func (s *tweetSrv) GetUserPostStars(userID int64, offset, limit int) ([]*ms.PostStar, error) {
// TODO
debug.NotImplemented()
return nil, nil
res := []*ms.PostStar{}
err := s.q.GetUserPostStar.Select(&res, userID, limit, offset)
return res, err
}
func (s *tweetSrv) GetUserPostStarCount(userID int64) (int64, error) {
// TODO
debug.NotImplemented()
return 0, nil
func (s *tweetSrv) GetUserPostStarCount(userID int64) (res int64, err error) {
err = s.q.GetUserPostStarCount.Get(&res, userID)
return
}
func (s *tweetSrv) GetUserPostCollection(postID, userID int64) (*ms.PostCollection, error) {
// TODO
debug.NotImplemented()
return nil, nil
res := &ms.PostCollection{}
err := s.q.GetUserPostCollection.Get(res, postID, userID)
return res, err
}
func (s *tweetSrv) GetUserPostCollections(userID int64, offset, limit int) ([]*ms.PostCollection, error) {
// TODO
debug.NotImplemented()
return nil, nil
}
func (s *tweetSrv) GetUserPostCollectionCount(userID int64) (int64, error) {
// TODO
debug.NotImplemented()
return 0, nil
}
func (s *tweetSrv) GetUserWalletBills(userID int64, offset, limit int) ([]*ms.WalletStatement, error) {
// TODO
debug.NotImplemented()
return nil, nil
res := []*ms.PostCollection{}
err := s.q.GetUserPostCollections.Select(&res, userID, limit, offset)
return res, err
}
func (s *tweetSrv) GetUserWalletBillCount(userID int64) (int64, error) {
// TODO
debug.NotImplemented()
return 0, nil
func (s *tweetSrv) GetUserPostCollectionCount(userID int64) (res int64, err error) {
err = s.q.GetUserPostCollectionCount.Get(&res)
return
}
func (s *tweetSrv) GetPostAttatchmentBill(postID, userID int64) (*ms.PostAttachmentBill, error) {
// TODO
debug.NotImplemented()
return nil, nil
res := &ms.PostAttachmentBill{}
err := s.q.GetPostAttachmentBill.Get(res, postID, userID)
return res, err
}
func (s *tweetSrv) GetPostContentsByIDs(ids []int64) ([]*ms.PostContent, error) {
// TODO
debug.NotImplemented()
return nil, nil
res := []*ms.PostContent{}
err := s.inSelect(s.db, &res, s.q.GetPostContetnsByIds, ids)
return res, err
}
func (s *tweetSrv) GetPostContentByID(id int64) (*ms.PostContent, error) {
// TODO
debug.NotImplemented()
return nil, nil
res := &ms.PostContent{}
err := s.q.GetPostContentById.Get(res, id)
return res, err
}
func (s *tweetSrvA) TweetInfoById(id int64) (*cs.TweetInfo, error) {
// TODO
return nil, debug.ErrNotImplemented
res := &cs.TweetInfo{}
err := s.q.TweetInfoById.Get(res, id)
return res, err
}
func (s *tweetSrvA) TweetItemById(id int64) (*cs.TweetItem, error) {
// TODO
return nil, debug.ErrNotImplemented
res := &cs.TweetItem{}
err := s.q.TweetItemById.Get(res, id)
if err != nil {
return nil, err
}
// TODO need add contents info to res
return res, nil
}
func (s *tweetSrvA) UserTweets(visitorId, userId int64) (res cs.TweetList, err error) {
res = cs.TweetList{}
switch s.checkRelationBy(visitorId, userId) {
case 0: // admin
err = s.q.UserTweetsByAdmin.Select(&res, userId)
case 1: // self
err = s.q.UserTweetsBySelf.Select(&res, userId)
case 2: // friend
err = s.q.UserTweetsByFriend.Select(&res, userId)
case 3: // follower
fallthrough
default: // guest
err = s.q.UserTweetsByGuest.Select(&res, userId)
}
if err != nil {
return nil, err
}
// TODO need add contents info to res
return res, nil
}
func (s *tweetSrvA) UserTweets(visitorId, userId int64) (cs.TweetList, error) {
// checkRelationBy check the relation of visitor with user
func (s *tweetSrvA) checkRelationBy(visitorId, userId int64) uint {
// TODO
return nil, debug.ErrNotImplemented
return 0
}
func (s *tweetSrvA) ReactionByTweetId(userId int64, tweetId int64) (*cs.ReactionItem, error) {
// TODO
return nil, debug.ErrNotImplemented
res := &cs.ReactionItem{}
err := s.q.ReactionByTweetId.Get(res, userId, tweetId)
return res, err
}
func (s *tweetSrvA) UserReactions(userId int64, limit int, offset int) (cs.ReactionList, error) {
// TODO
return nil, debug.ErrNotImplemented
res := cs.ReactionList{}
err := s.q.UserReactions.Select(&res, userId)
return res, err
}
func (s *tweetSrvA) FavoriteByTweetId(userId int64, tweetId int64) (*cs.FavoriteItem, error) {
// TODO
return nil, debug.ErrNotImplemented
res := &cs.FavoriteItem{}
err := s.q.FavoriteByTweetId.Get(res, userId, tweetId)
return res, err
}
func (s *tweetSrvA) UserFavorites(userId int64, limit int, offset int) (cs.FavoriteList, error) {
// TODO
return nil, debug.ErrNotImplemented
res := cs.FavoriteList{}
err := s.q.UserFavorites.Select(&res, userId)
return res, err
}
func (s *tweetSrvA) AttachmentByTweetId(userId int64, tweetId int64) (*cs.AttachmentBill, error) {
// TODO
return nil, debug.ErrNotImplemented
res := &cs.AttachmentBill{}
err := s.q.AttachmentByTweetId.Get(res, userId, tweetId)
return res, err
}
func (s *tweetManageSrvA) CreateAttachment(obj *cs.Attachment) (int64, error) {

@ -8,8 +8,8 @@ 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"
)
var (
@ -22,45 +22,48 @@ type userManageSrv struct {
}
func (s *userManageSrv) GetUserByID(id int64) (*ms.User, error) {
// TODO
debug.NotImplemented()
return nil, nil
res := &ms.User{}
err := s.q.GetUserById.Get(res, id)
return res, err
}
func (s *userManageSrv) GetUserByUsername(username string) (*ms.User, error) {
// TODO
debug.NotImplemented()
return nil, nil
res := &ms.User{}
err := s.q.GetUserByUsername.Get(res, username)
return res, err
}
func (s *userManageSrv) GetUserByPhone(phone string) (*ms.User, error) {
// TODO
debug.NotImplemented()
return nil, nil
res := &ms.User{}
err := s.q.GetUserByPhone.Get(res, phone)
return res, err
}
func (s *userManageSrv) GetUsersByIDs(ids []int64) ([]*ms.User, error) {
// TODO
debug.NotImplemented()
return nil, nil
res := []*ms.User{}
err := s.inSelect(s.db, &res, s.q.GetUsersByIds, ids)
return res, err
}
func (s *userManageSrv) GetUsersByKeyword(keyword string) ([]*ms.User, error) {
// TODO
debug.NotImplemented()
return nil, nil
res := []*ms.User{}
err := s.q.GetUsersByKeyword.Select(&res, keyword)
return res, err
}
func (s *userManageSrv) CreateUser(user *ms.User) (*ms.User, error) {
// TODO
debug.NotImplemented()
return nil, nil
func (s *userManageSrv) CreateUser(r *ms.User) (*ms.User, error) {
res, err := s.q.AddUser.Exec(r.Username, r.Nickname, r.Password, r.Salt, r.Avatar)
if err != nil {
return nil, err
}
r.Model = &dbr.Model{}
r.ID, err = res.LastInsertId()
return r, err
}
func (s *userManageSrv) UpdateUser(user *ms.User) error {
// TODO
debug.NotImplemented()
return nil
func (s *userManageSrv) UpdateUser(r *ms.User) error {
_, err := s.q.UpdateUser.Exec(r.Nickname, r.Password, r.Salt, r.Phone, r.Status)
return err
}
func newUserManageService(db *sqlx.DB) core.UserManageService {

@ -15,7 +15,12 @@ const (
_UserInfo_AuthorizationManage = `SELECT * FROM @user WHERE username=?`
_UserInfo_CommentManage = `SELECT * FROM @user WHERE username=?`
_UserInfo_Comment = `SELECT * FROM @user WHERE username=?`
_UserInfo_ContactManager = `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=?`
@ -36,13 +41,53 @@ const (
_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=?`
_UserInfo_TweetHelp = `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=?`
_UserInfo_TweetManage = `SELECT * FROM @user WHERE username=?`
_UserInfo_Tweet = `SELECT * FROM @user WHERE username=?`
_UserInfo_UserManage = `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=?`
_UserInfo_Wallet = `SELECT * FROM @user WHERE username=?`
)
@ -63,7 +108,12 @@ type CommentManage struct {
type ContactManager struct {
yesql.Namespace `yesql:"contact_manager"`
UserInfo *sqlx.Stmt `yesql:"user_info"`
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"`
}
type FollowIndex struct {
@ -132,17 +182,40 @@ type TopicA struct {
type Tweet struct {
yesql.Namespace `yesql:"tweet"`
UserInfo *sqlx.Stmt `yesql:"user_info"`
GetPostContetnsByIds string `yesql:"get_post_contetns_by_ids"`
GetPostAttachmentBill *sqlx.Stmt `yesql:"get_post_attachment_bill"`
GetPostById *sqlx.Stmt `yesql:"get_post_by_id"`
GetPostContentById *sqlx.Stmt `yesql:"get_post_content_by_id"`
GetPostCount *sqlx.Stmt `yesql:"get_post_count"`
GetPosts *sqlx.Stmt `yesql:"get_posts"`
GetUserPostCollection *sqlx.Stmt `yesql:"get_user_post_collection"`
GetUserPostCollectionCount *sqlx.Stmt `yesql:"get_user_post_collection_count"`
GetUserPostCollections *sqlx.Stmt `yesql:"get_user_post_collections"`
GetUserPostStar *sqlx.Stmt `yesql:"get_user_post_star"`
GetUserPostStarCount *sqlx.Stmt `yesql:"get_user_post_star_count"`
GetUserPostStars *sqlx.Stmt `yesql:"get_user_post_stars"`
}
type TweetA struct {
yesql.Namespace `yesql:"tweet_a"`
AttachmentByTweetId *sqlx.Stmt `yesql:"attachment_by_tweet_id"`
FavoriteByTweetId *sqlx.Stmt `yesql:"favorite_by_tweet_id"`
ReactionByTweetId *sqlx.Stmt `yesql:"reaction_by_tweet_id"`
TweetInfoById *sqlx.Stmt `yesql:"tweet_info_by_id"`
TweetItemById *sqlx.Stmt `yesql:"tweet_item_by_id"`
UserFavorites *sqlx.Stmt `yesql:"user_favorites"`
UserInfo *sqlx.Stmt `yesql:"user_info"`
UserReactions *sqlx.Stmt `yesql:"user_reactions"`
UserTweetsByAdmin *sqlx.Stmt `yesql:"user_tweets_by_admin"`
UserTweetsByFriend *sqlx.Stmt `yesql:"user_tweets_by_friend"`
UserTweetsByGuest *sqlx.Stmt `yesql:"user_tweets_by_guest"`
UserTweetsBySelf *sqlx.Stmt `yesql:"user_tweets_by_self"`
}
type TweetHelp struct {
yesql.Namespace `yesql:"tweet_help"`
UserInfo *sqlx.Stmt `yesql:"user_info"`
GetPostContentByIds string `yesql:"get_post_content_by_ids"`
GetUsersByIds string `yesql:"get_users_by_ids"`
}
type TweetHelpA struct {
@ -152,7 +225,18 @@ type TweetHelpA struct {
type TweetManage struct {
yesql.Namespace `yesql:"tweet_manage"`
UserInfo *sqlx.Stmt `yesql:"user_info"`
AddAttachment *sqlx.Stmt `yesql:"add_attachment"`
AddPost *sqlx.Stmt `yesql:"add_post"`
AddPostCollection *sqlx.Stmt `yesql:"add_post_collection"`
AddPostContent *sqlx.Stmt `yesql:"add_post_content"`
AddPostStar *sqlx.Stmt `yesql:"add_post_star"`
DelPost *sqlx.Stmt `yesql:"del_post"`
DelPostCollection *sqlx.Stmt `yesql:"del_post_collection"`
DelPostStar *sqlx.Stmt `yesql:"del_post_star"`
LockPost *sqlx.Stmt `yesql:"lock_post"`
StickPost *sqlx.Stmt `yesql:"stick_post"`
UpdatePost *sqlx.Stmt `yesql:"update_post"`
VisiblePost *sqlx.Stmt `yesql:"visible_post"`
}
type TweetManageA struct {
@ -162,7 +246,13 @@ type TweetManageA struct {
type UserManage struct {
yesql.Namespace `yesql:"user_manage"`
UserInfo *sqlx.Stmt `yesql:"user_info"`
GetUsersByIds string `yesql:"get_users_by_ids"`
AddUser *sqlx.Stmt `yesql:"add_user"`
GetUserById *sqlx.Stmt `yesql:"get_user_by_id"`
GetUserByPhone *sqlx.Stmt `yesql:"get_user_by_phone"`
GetUserByUsername *sqlx.Stmt `yesql:"get_user_by_username"`
GetUsersByKeyword *sqlx.Stmt `yesql:"get_users_by_keyword"`
UpdateUser *sqlx.Stmt `yesql:"update_user"`
}
type Wallet struct {
@ -220,7 +310,22 @@ func BuildContactManager(p yesql.PreparexBuilder, ctx ...context.Context) (obj *
c = context.Background()
}
obj = &ContactManager{}
if obj.UserInfo, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_UserInfo_ContactManager))); err != nil {
if obj.AddFriend, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_AddFriend_ContactManager))); err != nil {
return
}
if obj.DelFriend, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_DelFriend_ContactManager))); err != nil {
return
}
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 {
return
}
if obj.RejectFriend, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_RejectFriend_ContactManager))); err != nil {
return
}
if obj.RequestingFriend, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_RequestingFriend_ContactManager))); err != nil {
return
}
return
@ -405,8 +510,40 @@ func BuildTweet(p yesql.PreparexBuilder, ctx ...context.Context) (obj *Tweet, er
} else {
c = context.Background()
}
obj = &Tweet{}
if obj.UserInfo, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_UserInfo_Tweet))); err != nil {
obj = &Tweet{
GetPostContetnsByIds: p.QueryHook(_GetPostContetnsByIds_Tweet),
}
if obj.GetPostAttachmentBill, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_GetPostAttachmentBill_Tweet))); err != nil {
return
}
if obj.GetPostById, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_GetPostById_Tweet))); err != nil {
return
}
if obj.GetPostContentById, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_GetPostContentById_Tweet))); err != nil {
return
}
if obj.GetPostCount, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_GetPostCount_Tweet))); err != nil {
return
}
if obj.GetPosts, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_GetPosts_Tweet))); err != nil {
return
}
if obj.GetUserPostCollection, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_GetUserPostCollection_Tweet))); err != nil {
return
}
if obj.GetUserPostCollectionCount, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_GetUserPostCollectionCount_Tweet))); err != nil {
return
}
if obj.GetUserPostCollections, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_GetUserPostCollections_Tweet))); err != nil {
return
}
if obj.GetUserPostStar, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_GetUserPostStar_Tweet))); err != nil {
return
}
if obj.GetUserPostStarCount, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_GetUserPostStarCount_Tweet))); err != nil {
return
}
if obj.GetUserPostStars, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_GetUserPostStars_Tweet))); err != nil {
return
}
return
@ -420,9 +557,42 @@ func BuildTweetA(p yesql.PreparexBuilder, ctx ...context.Context) (obj *TweetA,
c = context.Background()
}
obj = &TweetA{}
if obj.AttachmentByTweetId, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_AttachmentByTweetId_TweetA))); err != nil {
return
}
if obj.FavoriteByTweetId, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_FavoriteByTweetId_TweetA))); err != nil {
return
}
if obj.ReactionByTweetId, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_ReactionByTweetId_TweetA))); err != nil {
return
}
if obj.TweetInfoById, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_TweetInfoById_TweetA))); err != nil {
return
}
if obj.TweetItemById, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_TweetItemById_TweetA))); err != nil {
return
}
if obj.UserFavorites, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_UserFavorites_TweetA))); err != nil {
return
}
if obj.UserInfo, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_UserInfo_TweetA))); err != nil {
return
}
if obj.UserReactions, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_UserReactions_TweetA))); err != nil {
return
}
if obj.UserTweetsByAdmin, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_UserTweetsByAdmin_TweetA))); err != nil {
return
}
if obj.UserTweetsByFriend, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_UserTweetsByFriend_TweetA))); err != nil {
return
}
if obj.UserTweetsByGuest, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_UserTweetsByGuest_TweetA))); err != nil {
return
}
if obj.UserTweetsBySelf, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_UserTweetsBySelf_TweetA))); err != nil {
return
}
return
}
@ -433,9 +603,9 @@ func BuildTweetHelp(p yesql.PreparexBuilder, ctx ...context.Context) (obj *Tweet
} else {
c = context.Background()
}
obj = &TweetHelp{}
if obj.UserInfo, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_UserInfo_TweetHelp))); err != nil {
return
obj = &TweetHelp{
GetPostContentByIds: p.QueryHook(_GetPostContentByIds_TweetHelp),
GetUsersByIds: p.QueryHook(_GetUsersByIds_TweetHelp),
}
return
}
@ -462,7 +632,40 @@ func BuildTweetManage(p yesql.PreparexBuilder, ctx ...context.Context) (obj *Twe
c = context.Background()
}
obj = &TweetManage{}
if obj.UserInfo, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_UserInfo_TweetManage))); err != nil {
if obj.AddAttachment, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_AddAttachment_TweetManage))); err != nil {
return
}
if obj.AddPost, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_AddPost_TweetManage))); err != nil {
return
}
if obj.AddPostCollection, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_AddPostCollection_TweetManage))); err != nil {
return
}
if obj.AddPostContent, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_AddPostContent_TweetManage))); err != nil {
return
}
if obj.AddPostStar, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_AddPostStar_TweetManage))); err != nil {
return
}
if obj.DelPost, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_DelPost_TweetManage))); err != nil {
return
}
if obj.DelPostCollection, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_DelPostCollection_TweetManage))); err != nil {
return
}
if obj.DelPostStar, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_DelPostStar_TweetManage))); err != nil {
return
}
if obj.LockPost, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_LockPost_TweetManage))); err != nil {
return
}
if obj.StickPost, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_StickPost_TweetManage))); err != nil {
return
}
if obj.UpdatePost, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_UpdatePost_TweetManage))); err != nil {
return
}
if obj.VisiblePost, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_VisiblePost_TweetManage))); err != nil {
return
}
return
@ -489,8 +692,25 @@ func BuildUserManage(p yesql.PreparexBuilder, ctx ...context.Context) (obj *User
} else {
c = context.Background()
}
obj = &UserManage{}
if obj.UserInfo, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_UserInfo_UserManage))); err != nil {
obj = &UserManage{
GetUsersByIds: p.QueryHook(_GetUsersByIds_UserManage),
}
if obj.AddUser, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_AddUser_UserManage))); err != nil {
return
}
if obj.GetUserById, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_GetUserById_UserManage))); err != nil {
return
}
if obj.GetUserByPhone, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_GetUserByPhone_UserManage))); err != nil {
return
}
if obj.GetUserByUsername, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_GetUserByUsername_UserManage))); err != nil {
return
}
if obj.GetUsersByKeyword, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_GetUsersByKeyword_UserManage))); err != nil {
return
}
if obj.UpdateUser, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_UpdateUser_UserManage))); err != nil {
return
}
return

@ -26,7 +26,27 @@ SELECT * FROM @user WHERE username=?
-- contact_manager sql dml
--------------------------------------------------------------------------------
-- name: user_info@contact_manager
-- name: requesting_friend@contact_manager
-- prepare: stmt
SELECT * FROM @user WHERE username=?
-- name: add_friend@contact_manager
-- prepare: stmt
SELECT * FROM @user WHERE username=?
-- name: reject_friend@contact_manager
-- prepare: stmt
SELECT * FROM @user WHERE username=?
-- name: del_friend@contact_manager
-- prepare: stmt
SELECT * FROM @user WHERE username=?
-- name: get_contacts@contact_manager
-- prepare: stmt
SELECT * FROM @user WHERE username=?
-- name: is_friend@contact_manager
-- prepare: stmt
SELECT * FROM @user WHERE username=?
@ -114,7 +134,52 @@ SELECT * FROM @user WHERE username=?
-- tweet sql dml
--------------------------------------------------------------------------------
-- name: user_info@tweet
-- name: get_post_by_id@tweet
-- prepare: stmt
SELECT * FROM @user WHERE username=?
-- name: get_posts@tweet
-- prepare: stmt
SELECT * FROM @user WHERE username=?
-- name: get_post_count@tweet
-- prepare: stmt
SELECT * FROM @user WHERE username=?
-- name: get_user_post_star@tweet
-- prepare: stmt
SELECT * FROM @user WHERE username=?
-- name: get_user_post_stars@tweet
-- prepare: stmt
SELECT * FROM @user WHERE username=?
-- name: get_user_post_star_count@tweet
-- prepare: stmt
SELECT * FROM @user WHERE username=?
-- name: get_user_post_collection@tweet
-- prepare: stmt
SELECT * FROM @user WHERE username=?
-- name: get_user_post_collections@tweet
-- prepare: stmt
SELECT * FROM @user WHERE username=?
-- name: get_user_post_collection_count@tweet
-- prepare: stmt
SELECT * FROM @user WHERE username=?
-- name: get_post_attachment_bill@tweet
-- prepare: stmt
SELECT * FROM @user WHERE username=?
-- name: get_post_contetns_by_ids@tweet
-- prepare: raw
-- clause: in
SELECT id, user_id, tag, quote_num FROM @tag WHERE tag IN (?);
-- name: get_post_content_by_id@tweet
-- prepare: stmt
SELECT * FROM @user WHERE username=?
@ -122,7 +187,51 @@ SELECT * FROM @user WHERE username=?
-- tweet_manage sql dml
--------------------------------------------------------------------------------
-- name: user_info@tweet_manage
-- name: add_post@tweet_manage
-- prepare: stmt
SELECT * FROM @user WHERE username=?
-- name: del_post@tweet_manage
-- prepare: stmt
SELECT * FROM @user WHERE username=?
-- name: lock_post@tweet_manage
-- prepare: stmt
SELECT * FROM @user WHERE username=?
-- name: stick_post@tweet_manage
-- prepare: stmt
SELECT * FROM @user WHERE username=?
-- name: visible_post@tweet_manage
-- prepare: stmt
SELECT * FROM @user WHERE username=?
-- name: update_post@tweet_manage
-- prepare: stmt
SELECT * FROM @user WHERE username=?
-- name: add_post_star@tweet_manage
-- prepare: stmt
SELECT * FROM @user WHERE username=?
-- name: del_post_star@tweet_manage
-- prepare: stmt
SELECT * FROM @user WHERE username=?
-- name: add_post_collection@tweet_manage
-- prepare: stmt
SELECT * FROM @user WHERE username=?
-- name: del_post_collection@tweet_manage
-- prepare: stmt
SELECT * FROM @user WHERE username=?
-- name: add_post_content@tweet_manage
-- prepare: stmt
SELECT * FROM @user WHERE username=?
-- name: add_attachment@tweet_manage
-- prepare: stmt
SELECT * FROM @user WHERE username=?
@ -130,8 +239,14 @@ SELECT * FROM @user WHERE username=?
-- tweet_help sql dml
--------------------------------------------------------------------------------
-- name: user_info@tweet_help
-- prepare: stmt
-- name: get_post_content_by_ids@tweet_help
-- prepare: raw
-- clause: in
SELECT * FROM @user WHERE username=?
-- name: get_users_by_ids@tweet_help
-- prepare: raw
-- clause: in
SELECT * FROM @user WHERE username=?
--------------------------------------------------------------------------------
@ -142,6 +257,50 @@ SELECT * FROM @user WHERE username=?
-- prepare: stmt
SELECT * FROM @user WHERE username=?
-- name: tweet_info_by_id@tweet_a
-- prepare: stmt
SELECT * FROM @user WHERE username=?
-- name: tweet_item_by_id@tweet_a
-- prepare: stmt
SELECT * FROM @user WHERE username=?
-- name: user_tweets_by_admin@tweet_a
-- prepare: stmt
SELECT * FROM @user WHERE username=?
-- name: user_tweets_by_self@tweet_a
-- prepare: stmt
SELECT * FROM @user WHERE username=?
-- name: user_tweets_by_friend@tweet_a
-- prepare: stmt
SELECT * FROM @user WHERE username=?
-- name: user_tweets_by_guest@tweet_a
-- prepare: stmt
SELECT * FROM @user WHERE username=?
-- name: reaction_by_tweet_id@tweet_a
-- prepare: stmt
SELECT * FROM @user WHERE username=?
-- name: user_reactions@tweet_a
-- prepare: stmt
SELECT * FROM @user WHERE username=?
-- name: favorite_by_tweet_id@tweet_a
-- prepare: stmt
SELECT * FROM @user WHERE username=?
-- name: user_favorites@tweet_a
-- prepare: stmt
SELECT * FROM @user WHERE username=?
-- name: attachment_by_tweet_id@tweet_a
-- prepare: stmt
SELECT * FROM @user WHERE username=?
--------------------------------------------------------------------------------
-- tweet_manage_a sql dml
--------------------------------------------------------------------------------
@ -221,7 +380,32 @@ UPDATE @tag SET quote_num=quote_num+1, is_del=0, modified_on=? WHERE id IN (?);
-- user_manage sql dml
--------------------------------------------------------------------------------
-- name: user_info@user_manage
-- name: get_user_by_id@user_manage
-- prepare: stmt
SELECT * FROM @user WHERE username=?
-- name: get_user_by_username@user_manage
-- prepare: stmt
SELECT * FROM @user WHERE username=?
-- name: get_user_by_phone@user_manage
-- prepare: stmt
SELECT * FROM @user WHERE username=?
-- name: get_users_by_ids@user_manage
-- prepare: raw
-- clause: in
SELECT * FROM @user WHERE username=?
-- name: get_users_by_keyword@user_manage
-- prepare: stmt
SELECT * FROM @user WHERE username=?
-- name: add_user@user_manage
-- prepare: stmt
SELECT * FROM @user WHERE username=?
-- name: update_user@user_manage
-- prepare: stmt
SELECT * FROM @user WHERE username=?

@ -12,7 +12,6 @@ import (
"github.com/alimy/mir/v4"
"github.com/gin-gonic/gin"
"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/servants/base"
"github.com/rocboss/paopao-ce/pkg/convert"
@ -144,7 +143,7 @@ type UploadAttachmentResp struct {
FileSize int64 `json:"file_size"`
ImgWidth int `json:"img_width"`
ImgHeight int `json:"img_height"`
Type cs.AttachmentType `json:"type"`
Type ms.AttachmentType `json:"type"`
Content string `json:"content"`
}

@ -29,7 +29,13 @@ import (
var (
_ api.Priv = (*privSrv)(nil)
_uploadAttachmentTypeMap = map[string]cs.AttachmentType{
_uploadAttachmentTypeMap = map[string]ms.AttachmentType{
"public/image": ms.AttachmentTypeImage,
"public/avatar": ms.AttachmentTypeImage,
"public/video": ms.AttachmentTypeVideo,
"attachment": ms.AttachmentTypeOther,
}
_uploadAttachmentTypes = map[string]cs.AttachmentType{
"public/image": cs.AttachmentTypeImage,
"public/avatar": cs.AttachmentTypeImage,
"public/video": cs.AttachmentTypeVideo,
@ -120,20 +126,20 @@ func (s *privSrv) UploadAttachment(req *web.UploadAttachmentReq) (*web.UploadAtt
}
// 构造附件Model
attachment := &cs.Attachment{
attachment := &ms.Attachment{
UserID: req.Uid,
FileSize: req.FileSize,
Content: objectUrl,
Type: _uploadAttachmentTypeMap[req.UploadType],
}
if attachment.Type == cs.AttachmentTypeImage {
if attachment.Type == ms.AttachmentTypeImage {
var src image.Image
src, err = imaging.Decode(req.File)
if err == nil {
attachment.ImgWidth, attachment.ImgHeight = getImageSize(src.Bounds())
}
}
attachment.ID, err = s.Dsa.CreateAttachment(attachment)
attachment.ID, err = s.Ds.CreateAttachment(attachment)
if err != nil {
logrus.Errorf("Ds.CreateAttachment err: %s", err)
return nil, web.ErrFileUploadFailed

Loading…
Cancel
Save