gorm wire
This commit is contained in:
@@ -11,39 +11,39 @@ import (
|
||||
"management/internal/erpserver/model/form"
|
||||
"management/internal/erpserver/model/system"
|
||||
"management/internal/erpserver/model/view"
|
||||
"management/internal/erpserver/service"
|
||||
v1 "management/internal/erpserver/service/v1"
|
||||
"management/internal/pkg/crypto"
|
||||
"management/internal/pkg/database"
|
||||
"management/internal/pkg/know"
|
||||
"management/internal/pkg/rand"
|
||||
"management/internal/pkg/session"
|
||||
|
||||
"github.com/drhin/logger"
|
||||
"github.com/google/uuid"
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
||||
type userService struct {
|
||||
session session.Session
|
||||
log *logger.Logger
|
||||
*service.Service
|
||||
repo system.UserRepository
|
||||
roleService v1.RoleService
|
||||
loginLogService v1.LoginLogService
|
||||
}
|
||||
|
||||
var _ v1.UserService = (*userService)(nil)
|
||||
|
||||
func NewUserService(session session.Session, log *logger.Logger, repo system.UserRepository, roleService v1.RoleService, loginLogService v1.LoginLogService) *userService {
|
||||
func NewUserService(
|
||||
service *service.Service,
|
||||
repo system.UserRepository,
|
||||
roleService v1.RoleService,
|
||||
loginLogService v1.LoginLogService,
|
||||
) v1.UserService {
|
||||
return &userService{
|
||||
session: session,
|
||||
log: log,
|
||||
Service: service,
|
||||
repo: repo,
|
||||
roleService: roleService,
|
||||
loginLogService: loginLogService,
|
||||
}
|
||||
}
|
||||
|
||||
func (b *userService) Create(ctx context.Context, req *form.User) error {
|
||||
func (s *userService) Create(ctx context.Context, req *form.User) error {
|
||||
salt, err := rand.String(10)
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -74,7 +74,7 @@ func (b *userService) Create(ctx context.Context, req *form.User) error {
|
||||
CreatedAt: time.Now(),
|
||||
UpdatedAt: time.Now(),
|
||||
}
|
||||
err = b.repo.Create(ctx, user)
|
||||
err = s.repo.Create(ctx, user)
|
||||
if err != nil {
|
||||
if database.IsUniqueViolation(err) {
|
||||
return errors.New("用户已经存在")
|
||||
@@ -84,8 +84,8 @@ func (b *userService) Create(ctx context.Context, req *form.User) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (b *userService) Update(ctx context.Context, req *form.User) error {
|
||||
user, err := b.repo.Get(ctx, *req.ID)
|
||||
func (s *userService) Update(ctx context.Context, req *form.User) error {
|
||||
user, err := s.repo.Get(ctx, *req.ID)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -105,23 +105,23 @@ func (b *userService) Update(ctx context.Context, req *form.User) error {
|
||||
user.HashedPassword = hashedPassword
|
||||
user.ChangePasswordAt = time.Now()
|
||||
}
|
||||
return b.repo.Update(ctx, user)
|
||||
return s.repo.Update(ctx, user)
|
||||
}
|
||||
|
||||
func (b *userService) All(ctx context.Context) ([]*system.User, error) {
|
||||
return b.repo.All(ctx)
|
||||
func (s *userService) All(ctx context.Context) ([]*system.User, error) {
|
||||
return s.repo.All(ctx)
|
||||
}
|
||||
|
||||
func (b *userService) List(ctx context.Context, q dto.SearchDto) ([]*system.User, int64, error) {
|
||||
return b.repo.List(ctx, q)
|
||||
func (s *userService) List(ctx context.Context, q dto.SearchDto) ([]*system.User, int64, error) {
|
||||
return s.repo.List(ctx, q)
|
||||
}
|
||||
|
||||
func (b *userService) Get(ctx context.Context, id int32) (*system.User, error) {
|
||||
return b.repo.Get(ctx, id)
|
||||
func (s *userService) Get(ctx context.Context, id int32) (*system.User, error) {
|
||||
return s.repo.Get(ctx, id)
|
||||
}
|
||||
|
||||
func (b *userService) XmSelect(ctx context.Context) ([]*view.XmSelect, error) {
|
||||
all, err := b.repo.All(ctx)
|
||||
func (s *userService) XmSelect(ctx context.Context) ([]*view.XmSelect, error) {
|
||||
all, err := s.repo.All(ctx)
|
||||
if err != nil || len(all) == 0 {
|
||||
return nil, err
|
||||
}
|
||||
@@ -136,24 +136,24 @@ func (b *userService) XmSelect(ctx context.Context) ([]*view.XmSelect, error) {
|
||||
return res, nil
|
||||
}
|
||||
|
||||
func (b *userService) Login(ctx context.Context, req *form.Login) error {
|
||||
func (s *userService) Login(ctx context.Context, req *form.Login) error {
|
||||
l := system.NewLoginLog(req.Email, req.Os, req.Ip, req.Browser, req.Url, req.Referrer)
|
||||
err := b.login(ctx, req)
|
||||
err := s.login(ctx, req)
|
||||
if err != nil {
|
||||
if err := b.loginLogService.Create(ctx, l.SetMessage(err.Error())); err != nil {
|
||||
b.log.Error(err.Error(), err, zap.Any("login_log", l))
|
||||
if err := s.loginLogService.Create(ctx, l.SetMessage(err.Error())); err != nil {
|
||||
s.Log.Error(err.Error(), err, zap.Any("login_log", l))
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
if err := b.loginLogService.Create(ctx, l.SetOk("登录成功")); err != nil {
|
||||
b.log.Error(err.Error(), err, zap.Any("login_log", l))
|
||||
if err := s.loginLogService.Create(ctx, l.SetOk("登录成功")); err != nil {
|
||||
s.Log.Error(err.Error(), err, zap.Any("login_log", l))
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (b *userService) login(ctx context.Context, req *form.Login) error {
|
||||
user, err := b.repo.GetByEmail(ctx, req.Email)
|
||||
func (s *userService) login(ctx context.Context, req *form.Login) error {
|
||||
user, err := s.repo.GetByEmail(ctx, req.Email)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -163,7 +163,7 @@ func (b *userService) login(ctx context.Context, req *form.Login) error {
|
||||
return errors.New("账号或密码错误")
|
||||
}
|
||||
|
||||
user.Role, err = b.roleService.Get(ctx, user.RoleID)
|
||||
user.Role, err = s.roleService.Get(ctx, user.RoleID)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -172,7 +172,7 @@ func (b *userService) login(ctx context.Context, req *form.Login) error {
|
||||
}
|
||||
|
||||
// 登陆成功
|
||||
err = b.loginSuccess(ctx, user, req)
|
||||
err = s.loginSuccess(ctx, user, req)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -180,7 +180,7 @@ func (b *userService) login(ctx context.Context, req *form.Login) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (b *userService) loginSuccess(ctx context.Context, user *system.User, req *form.Login) error {
|
||||
func (s *userService) loginSuccess(ctx context.Context, user *system.User, req *form.Login) error {
|
||||
auth := dto.AuthorizeUser{
|
||||
ID: user.ID,
|
||||
Uuid: user.Uuid,
|
||||
@@ -198,6 +198,6 @@ func (b *userService) loginSuccess(ctx context.Context, user *system.User, req *
|
||||
return err
|
||||
}
|
||||
|
||||
b.session.Put(ctx, know.StoreName, gob)
|
||||
s.Session.Put(ctx, know.StoreName, gob)
|
||||
return nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user