92 lines
2.5 KiB
Plaintext
92 lines
2.5 KiB
Plaintext
package logic
|
|
|
|
import (
|
|
"service/api/consts"
|
|
"github.com/gin-gonic/gin"
|
|
#{moduleName}_proto "service/api/proto/#{moduleName}/proto"
|
|
goproto "google.golang.org/protobuf/proto"
|
|
"service/app/mix/dao"
|
|
"service/dbstruct"
|
|
"service/library/idgenerator"
|
|
"service/library/logger"
|
|
"time"
|
|
)
|
|
|
|
type #{EntityName} struct {
|
|
store *dao.Store
|
|
}
|
|
|
|
func New#{EntityName}(store *dao.Store) (a *#{EntityName}) {
|
|
a = &#{EntityName}{
|
|
store: store,
|
|
}
|
|
return
|
|
}
|
|
|
|
func (p *#{EntityName}) OpCreate(ctx *gin.Context, req *#{moduleName}_proto.OpCreateReq) error {
|
|
|
|
//产生id
|
|
idSeq, err := p.store.GetAndUpdate#{EntityName}IdSeq(ctx)
|
|
if err != nil {
|
|
logger.Error("GetAndUpdate#{EntityName}IdSeq failed : %v", err)
|
|
return err
|
|
}
|
|
|
|
req.#{EntityName}.Id = goproto.Int64(idSeq.Seq)
|
|
req.#{EntityName}.Id = goproto.Int64(idgenerator.Gen#{EntityName}Id())
|
|
req.#{EntityName}.Ct = goproto.Int64(time.Now().Unix())
|
|
req.#{EntityName}.Ut = goproto.Int64(time.Now().Unix())
|
|
req.#{EntityName}.DelFlag = goproto.Int64(consts.Exist)
|
|
err := p.store.Create#{EntityName}(ctx, req.#{EntityName})
|
|
if err != nil {
|
|
logger.Error("Create#{EntityName} fail, err: %v", err)
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (p *#{EntityName}) OpUpdate(ctx *gin.Context, req *#{moduleName}_proto.OpUpdateReq) error {
|
|
err := p.store.Update#{EntityName}(ctx, req.#{EntityName})
|
|
if err != nil {
|
|
logger.Error("Update#{EntityName} fail, err: %v", err)
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (p *#{EntityName}) OpDelete(ctx *gin.Context, id int64) error {
|
|
err := p.store.Delete#{EntityName}(ctx, id)
|
|
if err != nil {
|
|
logger.Error("Delete#{EntityName} fail, err: %v", err)
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (p *#{EntityName}) OpList(ctx *gin.Context, req *#{moduleName}_proto.OpListReq) ([]*dbstruct.#{EntityName}, error) {
|
|
list, err := p.store.Get#{EntityName}List(ctx, req)
|
|
if err != nil {
|
|
logger.Error("Get#{EntityName}List fail, err: %v", err)
|
|
return make([]*dbstruct.#{EntityName}, 0), err
|
|
}
|
|
return list, nil
|
|
}
|
|
|
|
func (p *#{EntityName}) GetById(ctx *gin.Context, id int64) (*dbstruct.#{EntityName}, error) {
|
|
one, err := p.store.Get#{EntityName}ById(ctx, id)
|
|
if err != nil {
|
|
logger.Error("Get#{EntityName}ByIds fail, id: %v, err: %v", id, err)
|
|
return nil, err
|
|
}
|
|
return one, nil
|
|
}
|
|
|
|
func (p *#{EntityName}) GetByIds(ctx *gin.Context, ids []int64) ([]*dbstruct.#{EntityName}, error) {
|
|
list, err := p.store.Get#{EntityName}ListByIds(ctx, ids)
|
|
if err != nil {
|
|
logger.Error("Get#{EntityName}ListByIds fail, ids: %v, err: %v", ids, err)
|
|
return make([]*dbstruct.#{EntityName}, 0), err
|
|
}
|
|
return list, nil
|
|
}
|