1 Star 0 Fork 0

谈子文 / keyauth-tz

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
book.go 1.65 KB
一键复制 编辑 原始数据 按行查看 历史
谈子文 提交于 2023-10-25 15:11 . 优化
package impl
import (
"context"
"gitee.com/talk-about-articles/keyauth-tz/common/request"
"github.com/infraboard/mcube/exception"
"gitee.com/talk-about-articles/keyauth-tz/apps/book"
)
func (s *service) CreateBook(ctx context.Context, req *book.CreateBookRequest) (
*book.Book, error) {
ins, err := book.NewBook(req)
if err != nil {
return nil, exception.NewBadRequest("validate create book error, %s", err)
}
if err := s.save(ctx, ins); err != nil {
return nil, err
}
return ins, nil
}
func (s *service) DescribeBook(ctx context.Context, req *book.DescribeBookRequest) (
*book.Book, error) {
return s.get(ctx, req.Id)
}
func (s *service) QueryBook(ctx context.Context, req *book.QueryBookRequest) (
*book.BookSet, error) {
query := newQueryBookRequest(req)
return s.query(ctx, query)
}
func (s *service) UpdateBook(ctx context.Context, req *book.UpdateBookRequest) (
*book.Book, error) {
ins, err := s.DescribeBook(ctx, book.NewDescribeBookRequest(req.Id))
if err != nil {
return nil, err
}
switch req.UpdateMode {
case request.UpdateMode_PUT:
ins.Update(req)
case request.UpdateMode_PATCH:
err := ins.Patch(req)
if err != nil {
return nil, err
}
}
// 校验更新后数据合法性
if err := ins.Data.Validate(); err != nil {
return nil, err
}
if err := s.update(ctx, ins); err != nil {
return nil, err
}
return ins, nil
}
func (s *service) DeleteBook(ctx context.Context, req *book.DeleteBookRequest) (
*book.Book, error) {
ins, err := s.DescribeBook(ctx, book.NewDescribeBookRequest(req.Id))
if err != nil {
return nil, err
}
if err := s.deleteBook(ctx, ins); err != nil {
return nil, err
}
return ins, nil
}
Go
1
https://gitee.com/talk-about-articles/keyauth-tz.git
git@gitee.com:talk-about-articles/keyauth-tz.git
talk-about-articles
keyauth-tz
keyauth-tz
v1.0.33

搜索帮助