Commit a018afb7 authored by hujiebin's avatar hujiebin

feat:去掉service

parent 16c1daec
......@@ -6,18 +6,17 @@ import (
"git.hilo.cn/hilo-common/resource/mysql"
"hilo-user/_const/enum/headwear_e"
"hilo-user/domain/model/user_m"
"hilo-user/domain/service"
"hilo-user/myerr"
"hilo-user/myerr/bizerr"
"time"
)
type HeadwearService struct {
svc *service.Service
svc *domain.Service
}
func NewHeadwearService(myContext *mycontext.MyContext) *HeadwearService {
svc := service.CreateService(myContext)
svc := domain.CreateService(myContext)
return &HeadwearService{svc}
}
......
......@@ -10,7 +10,6 @@ import (
"hilo-user/domain/model/msg_m"
"hilo-user/domain/model/noble_m"
"hilo-user/domain/model/user_m"
"hilo-user/domain/service"
"hilo-user/myerr"
"hilo-user/myerr/bizerr"
"strconv"
......@@ -18,11 +17,11 @@ import (
)
type NobleService struct {
svc *service.Service
svc *domain.Service
}
func NewNobleService(myContext *mycontext.MyContext) *NobleService {
svc := service.CreateService(myContext)
svc := domain.CreateService(myContext)
return &NobleService{svc}
}
......
......@@ -6,16 +6,15 @@ import (
"git.hilo.cn/hilo-common/resource/mysql"
"hilo-user/_const/enum/property_e"
"hilo-user/domain/model/user_m"
"hilo-user/domain/service"
"time"
)
type RideService struct {
svc *service.Service
svc *domain.Service
}
func NewRideService(myContext *mycontext.MyContext) *RideService {
svc := service.CreateService(myContext)
svc := domain.CreateService(myContext)
return &RideService{svc}
}
......
package service
import (
"git.hilo.cn/hilo-common/domain"
"git.hilo.cn/hilo-common/mycontext"
"git.hilo.cn/hilo-common/resource/mysql"
"git.hilo.cn/hilo-common/resource/redisCli"
"runtime/debug"
)
type Service struct {
*domain.CtxAndDb
}
func (service *Service) getMyContext() *mycontext.MyContext {
return service.MyContext
}
/**
* 创建服务
* @param
* @return
**/
func CreateService(myContext *mycontext.MyContext) *Service {
if myContext == nil {
return &Service{CtxAndDb: &domain.CtxAndDb{
Db: mysql.Db,
MyContext: mycontext.CreateMyContext(nil),
Redis: redisCli.GetRedis(),
}}
} else {
return &Service{CtxAndDb: &domain.CtxAndDb{
Db: mysql.Db,
MyContext: myContext,
Redis: redisCli.GetRedis(),
}}
}
}
//事务钩子回调,遇到错误,异常则回调,写service都需要钩子回调
func (service *Service) Transactional(callback func() error) error {
//异常回调
defer func() {
if err := recover(); err != nil {
service.Log.Errorf("doTransactional SYSTEM ACTION PANIC: %v, stack: %v", err, string(debug.Stack()))
service.Db.Rollback()
//为了防止给controller层造成数据错误,继续抛恐慌
panic(err)
}
}()
service.CtxAndDb.Db = mysql.Db.Begin()
err := callback()
if err != nil {
service.Db.Rollback()
return err
}
//提交
return service.Db.Commit().Error
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment