gorm wire

This commit is contained in:
2025-05-07 14:12:53 +08:00
parent 461531c308
commit 68606c76f9
111 changed files with 1726 additions and 5809 deletions

View File

@@ -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
}