You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
90 lines
2.1 KiB
90 lines
2.1 KiB
package service |
|
|
|
import ( |
|
"context" |
|
"strings" |
|
|
|
"go-common/app/admin/main/reply/model" |
|
"go-common/library/ecode" |
|
"go-common/library/log" |
|
) |
|
|
|
// EmojiList EmojiList |
|
func (s *Service) EmojiList(c context.Context, pid int64) (emojis []*model.Emoji, err error) { |
|
if pid != 0 { |
|
emojis, err = s.dao.EmojiListByPid(c, pid) |
|
} else { |
|
emojis, err = s.dao.EmojiList(c) |
|
} |
|
if err != nil { |
|
log.Error("service.EmojiList error (%v)", err) |
|
} |
|
return |
|
} |
|
|
|
// CreateEmoji CreateEmoji |
|
func (s *Service) CreateEmoji(c context.Context, pid int64, name string, url string, sort int32, state int32, remark string) (id int64, err error) { |
|
if !strings.HasPrefix(name, "[") { |
|
name = "[" + name |
|
} |
|
if !strings.HasSuffix(name, "]") { |
|
name = name + "]" |
|
} |
|
id, err = s.dao.CreateEmoji(c, pid, name, url, sort, state, remark) |
|
if err != nil { |
|
log.Error("service.CreateEmoji error (%v)", err) |
|
} |
|
return |
|
} |
|
|
|
// UpEmojiSort UpEmojiSort |
|
func (s *Service) UpEmojiSort(c context.Context, ids string) (err error) { |
|
tx, err := s.dao.BeginTran(c) |
|
if err != nil { |
|
return |
|
} |
|
err = s.dao.UpEmojiSort(tx, ids) |
|
if err != nil { |
|
tx.Rollback() |
|
log.Error("service.UpEmojiSort error (%v)", err) |
|
return |
|
} |
|
return tx.Commit() |
|
} |
|
|
|
// UpEmojiState UpEmojiState |
|
func (s *Service) UpEmojiState(c context.Context, state int32, id int64) (idx int64, err error) { |
|
if state == 2 { // delete emoji |
|
idx, err = s.dao.DelEmojiByID(c, id) |
|
} else { |
|
idx, err = s.dao.UpEmojiStateByID(c, state, id) |
|
} |
|
if err != nil { |
|
log.Error("service.UpEmojiState error (%v)", err) |
|
} |
|
return |
|
} |
|
|
|
// UpEmoji UpEmoji |
|
func (s *Service) UpEmoji(c context.Context, name string, remark string, url string, id int64) (idx int64, err error) { |
|
idx, err = s.dao.UpEmoji(c, name, remark, url, id) |
|
if err != nil { |
|
log.Error("service.UpEmojiState error (%v)", err) |
|
} |
|
return |
|
} |
|
|
|
// EmojiByName EmojiByName |
|
func (s *Service) EmojiByName(c context.Context, name string) (err error) { |
|
emojis, e := s.dao.EmojiByName(c, name) |
|
if e != nil { |
|
log.Error("service.CreateEmoji EmojiByName err (%v)", e) |
|
err = e |
|
return |
|
} |
|
if len(emojis) > 0 { |
|
err = ecode.ReplyEmojiExits |
|
return |
|
} |
|
return |
|
}
|
|
|