Bläddra i källkod

feature(优化):获取用户信息添加岗位名称,登录日志优化

ZZH-wl 2 år sedan
förälder
incheckning
07ca6d778a

+ 1 - 1
opms_admin/app/handler/auth.go

@@ -40,7 +40,7 @@ func (h *AuthHandler) Login(ctx context.Context, req *user_def.LoginReq, rsp *co
 	}
 	userInfo, err := userService.Login(req.UserName, req.Password)
 	loginLogService, _ := service.NewLoginLogService(ctx)
-	loginLogService.Invoke(ctx, req.UserName, rsp.Msg)
+	loginLogService.Invoke(ctx, req.UserName, err)
 	if err != nil {
 		return err
 	}

+ 8 - 0
opms_admin/app/handler/user.go

@@ -3,6 +3,7 @@ package handler
 import (
 	"context"
 	"dashoo.cn/opms_libary/myerrors"
+	"strings"
 
 	"dashoo.cn/common_definition/admin/user_def"
 	"github.com/gogf/gf/util/gvalid"
@@ -102,6 +103,13 @@ func (e *UserHandler) GetUserInfo(ctx context.Context, req *comm_def.IdReq, rsp
 	if err != nil {
 		return err
 	}
+	postService, _ := service.NewPostService(ctx)
+	postNames, err := postService.GetEntityNameByIds(userPosts)
+	if err != nil {
+		return err
+	}
+	data.PostName = strings.Join(postNames, ",")
+
 	userGroups, err := userService.GetUserGroupIds(userId)
 	if err != nil {
 		return err

+ 1 - 0
opms_admin/app/model/sys_user.go

@@ -50,6 +50,7 @@ type SysUserSearchReq struct {
 type SysUserRes struct {
 	SysUser
 	DeptName string `json:"deptName"` //部门名称
+	PostName string `json:"postName"` //岗位名称
 }
 
 // SetUserReq 添加修改用户公用请求字段

+ 3 - 1
opms_admin/app/service/base_product_auth.go

@@ -96,7 +96,9 @@ func (s *lineService) GetProductLineUsers(req *model.SysUserSearchReq) (total in
 		return 0, nil, err
 	}
 
-	total, users, err := userService.GetUsersByDeptEx(req)
+	//total, users, err := userService.GetUsersByDeptEx(req)
+	req.Status = "10"
+	total, users, err := userService.GetUserList(req)
 	if err != nil {
 		return 0, nil, err
 	}

+ 3 - 1
opms_admin/app/service/base_region_auth.go

@@ -137,7 +137,9 @@ func (s *regionService) GetRegionUsers(req *model.SysUserSearchReq) (total int,
 		return 0, nil, err
 	}
 
-	total, users, err := userService.GetUsersByDeptEx(req)
+	//total, users, err := userService.GetUsersByDeptEx(req)
+	req.Status = "10"
+	total, users, err := userService.GetUserList(req)
 	if err != nil {
 		return 0, nil, err
 	}

+ 6 - 6
opms_admin/app/service/sys_login_log.go

@@ -30,10 +30,10 @@ func NewLoginLogService(ctx context.Context) (svc *LoginLogService, err error) {
 	return svc, nil
 }
 
-func (s *LoginLogService) Invoke(ctx context.Context, userName, msg string) {
+func (s *LoginLogService) Invoke(ctx context.Context, userName string, err error) {
 	s.Pool.Add(func() {
 		//写入日志数据
-		s.Create(ctx, userName, msg)
+		s.Create(ctx, userName, err)
 	})
 }
 
@@ -81,7 +81,7 @@ func (s *LoginLogService) GetList(req *model.SysLoginLogSearchReq) (total int, l
 }
 
 // Create 记录登录日志
-func (s *LoginLogService) Create(ctx context.Context, userName, msg string) {
+func (s *LoginLogService) Create(ctx context.Context, userName string, loginErr error) {
 	clientIP, userAgent, err := micro_srv.GetBrowserInfo(ctx)
 	if err != nil {
 		// 非必要信息,只输出错误日志
@@ -90,10 +90,10 @@ func (s *LoginLogService) Create(ctx context.Context, userName, msg string) {
 	ua := user_agent.New(userAgent)
 	browser, _ := ua.Browser()
 	status := "10"
-	if msg != "操作成功" {
+	msg := "登录成功"
+	if loginErr != nil {
 		status = "20"
-	} else {
-		msg = "登录成功"
+		msg = err.Error()
 	}
 	loginData := &model.SysLogin{
 		UserName:      userName,

+ 6 - 0
opms_admin/app/service/sys_post.go

@@ -69,6 +69,12 @@ func (s *PostService) GetEntity(id int64) (post *model.SysPostRes, err error) {
 	return
 }
 
+// GetEntityNameByIds根据ID获取名称
+func (s *PostService) GetEntityNameByIds(ids []int) ([]string, error) {
+	result, err := s.Dao.WhereIn(s.Dao.C.Id, ids).Fields(s.Dao.C.PostName).Array()
+	return gconv.Strings(result), err
+}
+
 func (s *PostService) Create(params *model.SysPostReq) error {
 	data := new(model.SysPost)
 	if err := gconv.Struct(params, data); err != nil {

+ 10 - 2
opms_admin/app/service/sys_user.go

@@ -125,7 +125,15 @@ func (s *UserService) GetUserList(req *model.SysUserSearchReq) (total int, userL
 	if err != nil {
 		return
 	}
-	err = userModel.Page(req.PageNum, req.PageSize).Order("u.id asc").Scan(&userList)
+
+	userModel = userModel.OrderAsc("u.id")
+	if req.OrderBy == "userName" {
+		userModel = userModel.OrderAsc("u.user_name")
+	}
+	if req.OrderBy == "createdTime" {
+		userModel = userModel.OrderAsc("u.created_time")
+	}
+	err = userModel.Page(req.PageNum, req.PageSize).Scan(&userList)
 	deptService, _ := NewDeptService(s.Ctx)
 	deptInfo, err := deptService.GetAllDeptName()
 	if err != nil {
@@ -252,7 +260,7 @@ func (s *UserService) GetUserByUsername(ctx context.Context, userName string) (u
 }
 
 // GetUserInfoById 通过Id获取用户信息
-func (s *UserService) GetUserInfoById(id int, withPwd ...bool) (user *model.SysUser, err error) {
+func (s *UserService) GetUserInfoById(id int, withPwd ...bool) (user *model.SysUserRes, err error) {
 	if len(withPwd) > 0 && withPwd[0] {
 		//用户用户信息
 		err = s.Dao.Where(s.Dao.C.Id, id).Scan(&user)