gorm wire
This commit is contained in:
@@ -8,13 +8,11 @@ import (
|
||||
|
||||
type captchaService struct{}
|
||||
|
||||
var _ v1.CaptchaService = (*captchaService)(nil)
|
||||
|
||||
func NewCaptchaService() *captchaService {
|
||||
func NewCaptchaService() v1.CaptchaService {
|
||||
return &captchaService{}
|
||||
}
|
||||
|
||||
var captchaStore base64Captcha.Store = base64Captcha.DefaultMemStore
|
||||
var captchaStore = base64Captcha.DefaultMemStore
|
||||
|
||||
func (b *captchaService) Generate(height int, width int, length int, maxSkew float64, dotCount int) (id, b64s, answer string, err error) {
|
||||
driver := base64Captcha.NewDriverDigit(height, width, length, maxSkew, dotCount)
|
||||
|
||||
@@ -21,6 +21,9 @@ type ConfigService interface {
|
||||
Get(ctx context.Context, id int32) (*system.Config, error)
|
||||
List(ctx context.Context, q dto.SearchDto) ([]*system.Config, int64, error)
|
||||
Pear(ctx context.Context) (*dto.PearConfig, error)
|
||||
|
||||
RefreshCache(ctx context.Context, key string) error
|
||||
ResetPear(ctx context.Context) error
|
||||
}
|
||||
|
||||
type UserService interface {
|
||||
|
||||
@@ -5,18 +5,19 @@ import (
|
||||
|
||||
"management/internal/erpserver/model/dto"
|
||||
"management/internal/erpserver/model/system"
|
||||
"management/internal/erpserver/service"
|
||||
v1 "management/internal/erpserver/service/v1"
|
||||
)
|
||||
|
||||
type auditLogService struct {
|
||||
*service.Service
|
||||
repo system.AuditLogRepository
|
||||
}
|
||||
|
||||
var _ v1.AuditLogService = (*auditLogService)(nil)
|
||||
|
||||
func NewAuditLogService(repo system.AuditLogRepository) *auditLogService {
|
||||
func NewAuditLogService(service *service.Service, repo system.AuditLogRepository) v1.AuditLogService {
|
||||
return &auditLogService{
|
||||
repo: repo,
|
||||
Service: service,
|
||||
repo: repo,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -3,27 +3,28 @@ package system
|
||||
import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"time"
|
||||
|
||||
"management/internal/erpserver/model/dto"
|
||||
"management/internal/erpserver/model/system"
|
||||
"management/internal/erpserver/service"
|
||||
v1 "management/internal/erpserver/service/v1"
|
||||
"management/internal/pkg/know"
|
||||
"management/internal/pkg/know/pearadmin"
|
||||
"management/internal/pkg/redis"
|
||||
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
type configService struct {
|
||||
repo system.ConfigRepository
|
||||
redis redis.RedisCache
|
||||
*service.Service
|
||||
repo system.ConfigRepository
|
||||
}
|
||||
|
||||
var _ v1.ConfigService = (*configService)(nil)
|
||||
|
||||
func NewConfigService(repo system.ConfigRepository, redis redis.RedisCache) *configService {
|
||||
func NewConfigService(service *service.Service, repo system.ConfigRepository) v1.ConfigService {
|
||||
return &configService{
|
||||
repo: repo,
|
||||
redis: redis,
|
||||
Service: service,
|
||||
repo: repo,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -46,7 +47,7 @@ func (s *configService) List(ctx context.Context, q dto.SearchDto) ([]*system.Co
|
||||
func (s *configService) Pear(ctx context.Context) (*dto.PearConfig, error) {
|
||||
// 判断redis是否存储
|
||||
key := know.GetManageKey(ctx, know.PearAdmin)
|
||||
bs, err := s.redis.GetBytes(ctx, key)
|
||||
bs, err := s.Redis.GetBytes(ctx, key)
|
||||
if err == nil {
|
||||
var res *dto.PearConfig
|
||||
if err := json.Unmarshal(bs, &res); err == nil {
|
||||
@@ -60,10 +61,48 @@ func (s *configService) Pear(ctx context.Context) (*dto.PearConfig, error) {
|
||||
}
|
||||
|
||||
var pear dto.PearConfig
|
||||
if err := json.Unmarshal(conf.Value, &pear); err != nil {
|
||||
if err := json.Unmarshal([]byte(conf.Value), &pear); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
_ = s.redis.Set(ctx, key, conf.Value, time.Hour*6)
|
||||
_ = s.Redis.Set(ctx, key, conf.Value, time.Hour*6)
|
||||
return &pear, nil
|
||||
}
|
||||
|
||||
func (s *configService) RefreshCache(ctx context.Context, key string) error {
|
||||
return s.Redis.Del(ctx, key)
|
||||
}
|
||||
|
||||
func (s *configService) ResetPear(ctx context.Context) error {
|
||||
b, err := json.Marshal(pearadmin.PearJson)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
conf, err := s.repo.GetByKey(ctx, pearadmin.PearKey)
|
||||
if err != nil && !errors.Is(err, gorm.ErrRecordNotFound) {
|
||||
return err
|
||||
}
|
||||
|
||||
if errors.Is(err, gorm.ErrRecordNotFound) {
|
||||
// create
|
||||
conf = &system.Config{
|
||||
Key: pearadmin.PearKey,
|
||||
Value: string(b),
|
||||
}
|
||||
err = s.Create(ctx, conf)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
} else {
|
||||
// update
|
||||
conf.Value = string(b)
|
||||
conf.UpdatedAt = time.Now()
|
||||
err = s.Update(ctx, conf)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -12,22 +12,22 @@ 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/convertor"
|
||||
"management/internal/pkg/database"
|
||||
"management/internal/pkg/know"
|
||||
"management/internal/pkg/redis"
|
||||
)
|
||||
|
||||
type departmentService struct {
|
||||
*service.Service
|
||||
repo system.DepartmentRepository
|
||||
}
|
||||
|
||||
var _ v1.DepartmentService = (*departmentService)(nil)
|
||||
|
||||
func NewDepartmentService(repo system.DepartmentRepository) *departmentService {
|
||||
func NewDepartmentService(service *service.Service, repo system.DepartmentRepository) v1.DepartmentService {
|
||||
return &departmentService{
|
||||
repo: repo,
|
||||
Service: service,
|
||||
repo: repo,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -108,7 +108,7 @@ func (s *departmentService) Get(ctx context.Context, id int32) (*system.Departme
|
||||
|
||||
func (s *departmentService) All(ctx context.Context) ([]*system.Department, error) {
|
||||
key := know.GetManageKey(ctx, know.AllDepartments)
|
||||
bs, err := redis.GetBytes(ctx, key)
|
||||
bs, err := s.Redis.GetBytes(ctx, key)
|
||||
if err == nil {
|
||||
var res []*system.Department
|
||||
if err := json.Unmarshal(bs, &res); err == nil {
|
||||
@@ -126,7 +126,7 @@ func (s *departmentService) All(ctx context.Context) ([]*system.Department, erro
|
||||
return nil, err
|
||||
}
|
||||
|
||||
_ = redis.Set(ctx, key, bs, time.Hour*6)
|
||||
_ = s.Redis.Set(ctx, key, bs, time.Hour*6)
|
||||
return res, nil
|
||||
}
|
||||
|
||||
@@ -146,7 +146,7 @@ func (s *departmentService) RefreshCache(ctx context.Context) error {
|
||||
return err
|
||||
}
|
||||
|
||||
_ = redis.Set(ctx, key, b, time.Hour*6)
|
||||
_ = s.Redis.Set(ctx, key, b, time.Hour*6)
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
@@ -6,18 +6,19 @@ import (
|
||||
|
||||
"management/internal/erpserver/model/dto"
|
||||
"management/internal/erpserver/model/system"
|
||||
"management/internal/erpserver/service"
|
||||
v1 "management/internal/erpserver/service/v1"
|
||||
)
|
||||
|
||||
type loginLogService struct {
|
||||
*service.Service
|
||||
repo system.LoginLogRepository
|
||||
}
|
||||
|
||||
var _ v1.LoginLogService = (*loginLogService)(nil)
|
||||
|
||||
func NewLoginLogService(repo system.LoginLogRepository) *loginLogService {
|
||||
func NewLoginLogService(service *service.Service, repo system.LoginLogRepository) v1.LoginLogService {
|
||||
return &loginLogService{
|
||||
repo: repo,
|
||||
Service: service,
|
||||
repo: repo,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -10,29 +10,29 @@ import (
|
||||
"management/internal/erpserver/model/dto"
|
||||
"management/internal/erpserver/model/system"
|
||||
"management/internal/erpserver/model/view"
|
||||
"management/internal/erpserver/repository"
|
||||
"management/internal/erpserver/service"
|
||||
v1 "management/internal/erpserver/service/v1"
|
||||
"management/internal/pkg/know"
|
||||
"management/internal/pkg/redis"
|
||||
)
|
||||
|
||||
type menuService struct {
|
||||
redis redis.RedisCache
|
||||
store repository.Store
|
||||
repo system.MenuRepository
|
||||
rolesvc v1.RoleService
|
||||
rolemenusvc v1.RoleMenuService
|
||||
*service.Service
|
||||
repo system.MenuRepository
|
||||
roleService v1.RoleService
|
||||
roleMenuService v1.RoleMenuService
|
||||
}
|
||||
|
||||
var _ v1.MenuService = (*menuService)(nil)
|
||||
|
||||
func NewMenuService(redis redis.RedisCache, store repository.Store, repo system.MenuRepository, rolesvc v1.RoleService, rolemenusvc v1.RoleMenuService) *menuService {
|
||||
func NewMenuService(
|
||||
service *service.Service,
|
||||
repo system.MenuRepository,
|
||||
roleService v1.RoleService,
|
||||
roleMenuService v1.RoleMenuService,
|
||||
) v1.MenuService {
|
||||
return &menuService{
|
||||
redis: redis,
|
||||
store: store,
|
||||
repo: repo,
|
||||
rolesvc: rolesvc,
|
||||
rolemenusvc: rolemenusvc,
|
||||
Service: service,
|
||||
repo: repo,
|
||||
roleService: roleService,
|
||||
roleMenuService: roleMenuService,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -54,7 +54,7 @@ func (s *menuService) GetByUrl(ctx context.Context, url string) (*system.Menu, e
|
||||
|
||||
func (s *menuService) All(ctx context.Context) ([]*system.Menu, error) {
|
||||
key := know.GetManageKey(ctx, know.AllMenus)
|
||||
b, err := s.redis.GetBytes(ctx, key)
|
||||
b, err := s.Redis.GetBytes(ctx, key)
|
||||
if err == nil {
|
||||
var res []*system.Menu
|
||||
if err := json.Unmarshal(b, &res); err == nil {
|
||||
@@ -72,7 +72,7 @@ func (s *menuService) All(ctx context.Context) ([]*system.Menu, error) {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
_ = s.redis.Set(ctx, key, b, time.Hour*6)
|
||||
_ = s.Redis.Set(ctx, key, b, time.Hour*6)
|
||||
return res, nil
|
||||
}
|
||||
|
||||
@@ -87,7 +87,7 @@ func (s *menuService) ListMenuTree(ctx context.Context) ([]*view.MenuTree, error
|
||||
|
||||
func (s *menuService) ListByRoleID(ctx context.Context, roleID int32) ([]*dto.OwnerMenuDto, error) {
|
||||
key := know.GetManageKey(ctx, know.OwnerMenus, roleID)
|
||||
bs, err := s.redis.GetBytes(ctx, key)
|
||||
bs, err := s.Redis.GetBytes(ctx, key)
|
||||
if err == nil {
|
||||
var res []*dto.OwnerMenuDto
|
||||
if err := json.Unmarshal(bs, &res); err == nil {
|
||||
@@ -111,13 +111,13 @@ func (s *menuService) SetListByRoleID(ctx context.Context, roleID int32) ([]*dto
|
||||
return nil, err
|
||||
}
|
||||
|
||||
_ = s.redis.Set(ctx, key, b, time.Hour*6)
|
||||
_ = s.Redis.Set(ctx, key, b, time.Hour*6)
|
||||
return res, nil
|
||||
}
|
||||
|
||||
func (s *menuService) ListByRoleIDToMap(ctx context.Context, roleID int32) (map[string]*dto.OwnerMenuDto, error) {
|
||||
key := know.GetManageKey(ctx, know.OwnerMenusMap, roleID)
|
||||
bs, err := s.redis.GetBytes(ctx, key)
|
||||
bs, err := s.Redis.GetBytes(ctx, key)
|
||||
if err == nil {
|
||||
var res map[string]*dto.OwnerMenuDto
|
||||
if err := json.Unmarshal(bs, &res); err == nil {
|
||||
@@ -141,13 +141,13 @@ func (s *menuService) SetListByRoleIDToMap(ctx context.Context, roleID int32) (m
|
||||
return nil, err
|
||||
}
|
||||
|
||||
_ = s.redis.Set(ctx, key, b, time.Hour*6)
|
||||
_ = s.Redis.Set(ctx, key, b, time.Hour*6)
|
||||
return res, nil
|
||||
}
|
||||
|
||||
func (s *menuService) OwerMenus(ctx context.Context, roleID int32) ([]*dto.MenuUIDto, error) {
|
||||
key := know.GetManageKey(ctx, know.AdminMenus, roleID)
|
||||
bs, err := s.redis.GetBytes(ctx, key)
|
||||
bs, err := s.Redis.GetBytes(ctx, key)
|
||||
if err == nil {
|
||||
var res []*dto.MenuUIDto
|
||||
if err := json.Unmarshal(bs, &res); err == nil {
|
||||
@@ -172,7 +172,7 @@ func (s *menuService) SetOwerMenus(ctx context.Context, roleID int32) ([]*dto.Me
|
||||
return nil, err
|
||||
}
|
||||
|
||||
_ = s.redis.Set(ctx, key, b, time.Hour*6)
|
||||
_ = s.Redis.Set(ctx, key, b, time.Hour*6)
|
||||
return res, nil
|
||||
}
|
||||
|
||||
@@ -193,15 +193,15 @@ func (s *menuService) MenuViewData(ctx context.Context, roleID int32) ([]*dto.Se
|
||||
|
||||
func (s *menuService) SetRoleMenu(ctx context.Context, roleID int32, rms []*system.RoleMenu) error {
|
||||
// 开启事务
|
||||
return s.store.TX(ctx, func(ctx context.Context) error {
|
||||
return s.Tx.Transaction(ctx, func(ctx context.Context) error {
|
||||
// 先删除该角色的所有权限
|
||||
err := s.rolemenusvc.DeleteByRoleID(ctx, roleID)
|
||||
err := s.roleMenuService.DeleteByRoleID(ctx, roleID)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// 再添加该角色的所有权限
|
||||
return s.rolemenusvc.Create(ctx, rms)
|
||||
return s.roleMenuService.Create(ctx, rms)
|
||||
})
|
||||
}
|
||||
|
||||
@@ -217,7 +217,7 @@ func (s *menuService) RefreshCache(ctx context.Context) error {
|
||||
return err
|
||||
}
|
||||
|
||||
_ = redis.Set(ctx, key, b, time.Hour*6)
|
||||
_ = s.Redis.Set(ctx, key, b, time.Hour*6)
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -245,7 +245,7 @@ func (s *menuService) XmSelectTree(ctx context.Context, id int32) ([]*view.XmSel
|
||||
|
||||
// listByRoleID 获取该角色所拥有的菜单集合
|
||||
func (s *menuService) listByRoleID(ctx context.Context, roleID int32) ([]*system.Menu, error) {
|
||||
role, err := s.rolesvc.Get(ctx, roleID)
|
||||
role, err := s.roleService.Get(ctx, roleID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -260,7 +260,7 @@ func (s *menuService) listByRoleID(ctx context.Context, roleID int32) ([]*system
|
||||
}
|
||||
|
||||
// 通过角色获取所拥有的权限
|
||||
roleMenus, err := s.rolemenusvc.ListByRoleID(ctx, roleID)
|
||||
roleMenus, err := s.roleMenuService.ListByRoleID(ctx, roleID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -12,22 +12,22 @@ 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/convertor"
|
||||
"management/internal/pkg/database"
|
||||
"management/internal/pkg/know"
|
||||
"management/internal/pkg/redis"
|
||||
)
|
||||
|
||||
type roleService struct {
|
||||
*service.Service
|
||||
repo system.RoleRepository
|
||||
}
|
||||
|
||||
var _ v1.RoleService = (*roleService)(nil)
|
||||
|
||||
func NewRoleService(repo system.RoleRepository) *roleService {
|
||||
func NewRoleService(service *service.Service, repo system.RoleRepository) v1.RoleService {
|
||||
return &roleService{
|
||||
repo: repo,
|
||||
Service: service,
|
||||
repo: repo,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -111,7 +111,7 @@ func (s *roleService) Get(ctx context.Context, id int32) (*system.Role, error) {
|
||||
|
||||
func (s *roleService) All(ctx context.Context) ([]*system.Role, error) {
|
||||
key := know.GetManageKey(ctx, know.AllRoles)
|
||||
bs, err := redis.GetBytes(ctx, key)
|
||||
bs, err := s.Redis.GetBytes(ctx, key)
|
||||
if err == nil {
|
||||
var res []*system.Role
|
||||
if err := json.Unmarshal(bs, &res); err == nil {
|
||||
@@ -129,7 +129,7 @@ func (s *roleService) All(ctx context.Context) ([]*system.Role, error) {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
_ = redis.Set(ctx, key, bs, time.Hour*6)
|
||||
_ = s.Redis.Set(ctx, key, bs, time.Hour*6)
|
||||
return res, nil
|
||||
}
|
||||
|
||||
@@ -149,7 +149,7 @@ func (s *roleService) RefreshCache(ctx context.Context) error {
|
||||
return err
|
||||
}
|
||||
|
||||
_ = redis.Set(ctx, key, b, time.Hour*6)
|
||||
_ = s.Redis.Set(ctx, key, b, time.Hour*6)
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
@@ -4,18 +4,19 @@ import (
|
||||
"context"
|
||||
|
||||
"management/internal/erpserver/model/system"
|
||||
"management/internal/erpserver/service"
|
||||
v1 "management/internal/erpserver/service/v1"
|
||||
)
|
||||
|
||||
type roleMenuService struct {
|
||||
*service.Service
|
||||
repo system.RoleMenuRepository
|
||||
}
|
||||
|
||||
var _ v1.RoleMenuService = (*roleMenuService)(nil)
|
||||
|
||||
func NewRoleMenuService(repo system.RoleMenuRepository) *roleMenuService {
|
||||
func NewRoleMenuService(service *service.Service, repo system.RoleMenuRepository) v1.RoleMenuService {
|
||||
return &roleMenuService{
|
||||
repo: repo,
|
||||
Service: service,
|
||||
repo: repo,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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