Jelajahi Sumber

feature:基础模块开发
1.上下文服务修改
2.获取登录用户信息

ZZH-wl 3 tahun lalu
induk
melakukan
dfc312fd2e

+ 0 - 24
opms_admin/app/common/model/req.go

@@ -1,24 +0,0 @@
-package model
-
-import "context"
-
-const PageSize = 10
-
-type PageReq struct {
-	BeginTime string          `p:"beginTime"` //开始时间
-	EndTime   string          `p:"endTime"`   //结束时间
-	PageNum   int             `p:"pageNum"`   //当前页码
-	PageSize  int             `p:"pageSize"`  //每页数
-	Ctx       context.Context `swaggerignore:"true"`
-	OrderBy   string          //排序方式
-}
-
-func (p *PageReq) GetPage() (int, int) {
-	if p.PageNum == 0 {
-		p.PageNum = 1
-	}
-	if p.PageSize == 0 {
-		p.PageSize = PageSize
-	}
-	return p.PageNum, p.PageSize
-}

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

@@ -2,14 +2,6 @@ package handler
 
 import "errors"
 
-/*
-	定义统一方法或者错误
-*/
-
-const (
-	DefaultPageNum = 10
-)
-
 var (
 	NoParamsErr = errors.New("参数为空,操作失败")
 )

+ 0 - 7
opms_admin/app/handler/dict.go

@@ -16,10 +16,6 @@ type DictHandler struct{}
 // GetDictTypeList 分页查询字典分类列表信息
 func (h *DictHandler) GetDictTypeList(ctx context.Context, req *model.ListSysDictTypeReq, rsp *comm_def.CommonMsg) error {
 	// 参数校验
-	// 设置默认的页数
-	if req.PageSize == 0 {
-		req.PageSize = DefaultPageNum
-	}
 	dictService, err := service.NewDictTypeService(ctx)
 	if flag, err, _, _ := myerrors.CheckError(err); flag {
 		return err
@@ -112,9 +108,6 @@ func (h *DictHandler) GetDictDataList(ctx context.Context, req *model.SelectDict
 	if err != nil {
 		return err
 	}
-	if req.PageSize == 0 {
-		req.PageSize = DefaultPageNum
-	}
 	total, list, err := dictService.GetDictDataList(req)
 	_, err, rsp.Code, rsp.Msg = myerrors.CheckError(err)
 	if err != nil {

+ 2 - 6
opms_admin/app/handler/user.go

@@ -17,10 +17,6 @@ type UserHandler struct{}
 
 // GetList 获取用户列表
 func (h *UserHandler) GetList(ctx context.Context, req *model.SysUserSearchReq, rsp *comm_def.CommonMsg) error {
-	// 参数校验
-	if req.PageSize == 0 {
-		req.PageSize = DefaultPageNum
-	}
 	userService, err := service.NewUserService(ctx)
 	if err != nil {
 		g.Log().Error(err)
@@ -54,7 +50,7 @@ func (h *UserHandler) Create(ctx context.Context, req *model.AddUserReq, rsp *co
 	//if err != nil {
 	//	return err
 	//}
-	err = userService.AddUser(req)
+	err = userService.CreateUser(req)
 	_, err, rsp.Code, rsp.Msg = myerrors.CheckError(err)
 	if err != nil {
 		g.Log().Error(err)
@@ -84,7 +80,7 @@ func (h *UserHandler) UpdateById(ctx context.Context, req *model.EditUserReq, rs
 	//if err != nil {
 	//	return err
 	//}
-	err = userService.EditUser(req)
+	err = userService.UpdateUser(req)
 	_, err, rsp.Code, rsp.Msg = myerrors.CheckError(err)
 	if err != nil {
 		g.Log().Error(err)

+ 0 - 43
opms_admin/app/model/context.go

@@ -1,43 +0,0 @@
-package model
-
-import (
-	"github.com/gogf/gf/frame/g"
-	"github.com/gogf/gf/net/ghttp"
-)
-
-const (
-	// CtxKey 上下文变量存储键名,前后端系统共享
-	CtxKey = "GFastContext"
-)
-
-// Context 请求上下文结构
-type Context struct {
-	Session *ghttp.Session // 当前Session管理对象
-	User    *CtxUser       // 上下文用户信息
-	Data    g.Map          // 自定KV变量,业务模块根据需要设置,不固定
-}
-
-// CtxUser 请求上下文中的用户信息
-type CtxUser struct {
-	Id           uint64 `json:"id"`           // 用户id
-	UserName     string `json:"userName"`     // 用户名
-	DeptId       uint64 `json:"deptId"`       // 部门id
-	UserNickname string `json:"userNickname"` // 用户昵称
-	UserStatus   uint   `json:"userStatus"`   // 用户状态;0:禁用,1:正常,2:未验证
-	IsAdmin      int    `json:"isAdmin"`      // 是否后台管理员 1 是  0   否
-	Avatar       string `json:"avatar"`       //头像
-}
-
-// GetUserId 获取登录用户id
-func (ctxUser *CtxUser) GetUserId() (id uint64) {
-	return ctxUser.Id
-}
-
-// GetDept 获取登录用户所属部门
-func (ctxUser *CtxUser) GetDept() (err error, dept *SysDept) {
-	//err = g.DB().Model(dao.SysDept.Table).Fields(dao.SysDept.Columns.Id, dao.SysDept.Columns.DeptName).WherePri(ctxUser.DeptId).Scan(&dept)
-	//if dept == nil {
-	//	dept = &SysDept{}
-	//}
-	return
-}

+ 2 - 2
opms_admin/app/model/sys_config.go

@@ -5,8 +5,8 @@
 package model
 
 import (
-	comModel "dashoo.cn/micro/app/common/model"
 	"dashoo.cn/micro/app/model/internal"
+	"dashoo.cn/opms_libary/request"
 )
 
 // SysConfig is the golang structure for table sys_config.
@@ -21,7 +21,7 @@ type SysConfigSearchReq struct {
 	ConfigType string `p:"configType"` //状态
 	BeginTime  string `p:"beginTime"`  //开始时间
 	EndTime    string `p:"endTime"`    //结束时间
-	comModel.PageReq
+	request.PageReq
 }
 
 // 新增页面请求参数

+ 2 - 2
opms_admin/app/model/sys_dict_data.go

@@ -6,8 +6,8 @@ package model
 
 import (
 	"context"
-	comModel "dashoo.cn/micro/app/common/model"
 	"dashoo.cn/micro/app/model/internal"
+	"dashoo.cn/opms_libary/request"
 )
 
 // SysDictData is the golang structure for table sys_dict_data.
@@ -20,7 +20,7 @@ type SelectDictPageReq struct {
 	DictType  string `p:"dictType"`  //字典类型
 	DictLabel string `p:"dictLabel"` //字典标签
 	Status    string `p:"status"`    //状态
-	comModel.PageReq
+	request.PageReq
 }
 
 // GetDictReq 获取字典信息请求参数

+ 2 - 2
opms_admin/app/model/sys_dict_type.go

@@ -5,8 +5,8 @@
 package model
 
 import (
-	comModel "dashoo.cn/micro/app/common/model"
 	"dashoo.cn/micro/app/model/internal"
+	"dashoo.cn/opms_libary/request"
 )
 
 // SysDictType is the golang structure for table sys_dict_type.
@@ -18,7 +18,7 @@ type ListSysDictTypeReq struct {
 	DictName string `json:"dictName"` //字典名称
 	DictType string `json:"dictType"` //字典类型
 	Status   string `json:"status"`   //字典状态
-	comModel.PageReq
+	request.PageReq
 }
 
 // SysDictTypeAddReq 新增操作请求参数

+ 2 - 2
opms_admin/app/model/sys_login.go

@@ -5,8 +5,8 @@
 package model
 
 import (
-	comModel "dashoo.cn/micro/app/common/model"
 	"dashoo.cn/micro/app/model/internal"
+	"dashoo.cn/opms_libary/request"
 )
 
 // SysLogin is the golang structure for table sys_login.
@@ -32,5 +32,5 @@ type SysLoginLogSearchReq struct {
 	SortName      string `p:"orderByColumn"` //排序字段
 	SortOrder     string `p:"isAsc"`         //排序方式
 	LoginLocation string `p:"loginLocation"` //登录地点
-	comModel.PageReq
+	request.PageReq
 }

+ 3 - 3
opms_admin/app/model/sys_oper_log.go

@@ -5,8 +5,8 @@
 package model
 
 import (
-	comModel "dashoo.cn/micro/app/common/model"
 	"dashoo.cn/micro/app/model/internal"
+	"dashoo.cn/opms_libary/request"
 	"github.com/gogf/gf/frame/g"
 	"net/url"
 )
@@ -18,7 +18,7 @@ type SysOperLog internal.SysOperLog
 
 // SysOperLogAdd 添加操作日志参数
 type SysOperLogAdd struct {
-	User         *CtxUser
+	//User         *CtxUser
 	Menu         *SysMenu
 	Url          *url.URL
 	Params       g.Map
@@ -35,5 +35,5 @@ type SysOperLogSearchReq struct {
 	SortName      string `p:"orderByColumn"` //排序字段
 	SortOrder     string `p:"isAsc"`         //排序方式
 	RequestMethod string `p:"requestMethod"` //操作类型
-	comModel.PageReq
+	request.PageReq
 }

+ 2 - 2
opms_admin/app/model/sys_post.go

@@ -5,8 +5,8 @@
 package model
 
 import (
-	comModel "dashoo.cn/micro/app/common/model"
 	"dashoo.cn/micro/app/model/internal"
+	"dashoo.cn/opms_libary/request"
 )
 
 // SysPost is the golang structure for table sys_post.
@@ -19,7 +19,7 @@ type SysPostSearchParams struct {
 	PostCode string `p:"postCode"` //岗位编码
 	PostName string `p:"postName"` //岗位名称
 	Status   string `p:"status"`   //状态
-	comModel.PageReq
+	request.PageReq
 }
 
 // SysPostAddParams 添加岗位参数

+ 2 - 2
opms_admin/app/model/sys_role.go

@@ -5,8 +5,8 @@
 package model
 
 import (
-	comModel "dashoo.cn/micro/app/common/model"
 	"dashoo.cn/micro/app/model/internal"
+	"dashoo.cn/opms_libary/request"
 )
 
 // SysRole is the golang structure for table sys_role.
@@ -28,7 +28,7 @@ type SysRoleReq struct {
 type SelectPageReq struct {
 	RoleName string `p:"roleName"` //参数名称
 	Status   string `p:"status"`   //状态
-	comModel.PageReq
+	request.PageReq
 }
 
 // 修改状态参数

+ 2 - 2
opms_admin/app/model/sys_user.go

@@ -5,8 +5,8 @@
 package model
 
 import (
-	comModel "dashoo.cn/micro/app/common/model"
 	"dashoo.cn/micro/app/model/internal"
+	"dashoo.cn/opms_libary/request"
 )
 
 // SysUser is the golang structure for table sys_user.
@@ -41,7 +41,7 @@ type SysUserSearchReq struct {
 	Phone    string `json:"phone"`
 	Status   string `json:"status"`
 	KeyWords string `json:"userName"`
-	comModel.PageReq
+	request.PageReq
 }
 
 // SetUserReq 添加修改用户公用请求字段

+ 3 - 2
opms_admin/app/service/base.go

@@ -7,8 +7,9 @@ import (
 )
 
 var (
-	// UpdateFieldEx 更新过滤字段
-	UpdateFieldEx = []string{"CreatedBy", "CreatedName", "CreatedTime"}
+	// CommonUpdateFieldEx, UpdateFieldEx 更新过滤字段
+	CommonUpdateFieldEx = []interface{}{"created_by", "created_name", "created_time"}
+	UpdateFieldEx       = []interface{}{"id", "created_by", "created_name", "created_time"}
 )
 
 // SetCreatedInfo 插入数据库时设置创建信息

+ 48 - 18
opms_admin/app/service/context.go

@@ -2,33 +2,63 @@ package service
 
 import (
 	"context"
-	"dashoo.cn/micro/app/model"
-	"github.com/gogf/gf/net/ghttp"
+	"dashoo.cn/opms_libary/micro_srv"
+	"dashoo.cn/opms_libary/request"
+	"github.com/gogf/gf/os/glog"
 )
 
 // Context 上下文管理服务
-var Context = new(contextService)
-
-type contextService struct{}
+type contextService struct {
+	Tenant  string            `json:"tenant"`
+	CxtUser *request.UserInfo `json:"cxtUser"`
+}
 
 // Init 初始化上下文对象指针到上下文对象中,以便后续的请求流程中可以修改。
-func (s *contextService) Init(r *ghttp.Request, customCtx *model.Context) {
-	r.SetCtxVar(model.CtxKey, customCtx)
+func (c *contextService) Init(ctx context.Context) (*contextService, error) {
+	c = new(contextService)
+	// 获取租户码
+	tenant, err := micro_srv.GetTenant(ctx)
+	if err != nil {
+		return nil, err
+	}
+	reqMethod, _ := micro_srv.GetReqMethod(ctx)
+	glog.Info("Received " + reqMethod + " request @ " + tenant)
+	c.Tenant = tenant
+	c.CxtUser = nil
+	if !micro_srv.IsAuthExclude(ctx) {
+		userInfo, err := micro_srv.GetUserInfo(ctx)
+		if err != nil {
+			return nil, err
+		}
+		c.CxtUser = &userInfo
+	}
+	return c, nil
+}
+
+func (c *contextService) GetCxtUserId() int {
+	if c.CxtUser == nil {
+		return -1
+	}
+	return c.CxtUser.Id
 }
 
-// Get 获得上下文变量,如果没有设置,那么返回nil
-func (s *contextService) Get(ctx context.Context) *model.Context {
-	value := ctx.Value(model.CtxKey)
-	if value == nil {
-		return nil
+func (c *contextService) GetCxtUserUuid() string {
+	if c.CxtUser == nil {
+		return "-1"
 	}
-	if localCtx, ok := value.(*model.Context); ok {
-		return localCtx
+	return c.CxtUser.Uuid
+}
+
+func (c *contextService) GetCxtUserName() string {
+	if c.CxtUser == nil {
+		return "-1"
 	}
-	return nil
+	return c.CxtUser.UserName
 }
 
-// SetUser 将上下文信息设置到上下文请求中,注意是完整覆盖
-func (s *contextService) SetUser(ctx context.Context, ctxUser *model.CtxUser) {
-	s.Get(ctx).User = ctxUser
+func (c *contextService) GetCxtUserDeptId() int {
+	if c.CxtUser == nil {
+		return -1
+	}
+	return c.CxtUser.DeptId
 }

+ 1 - 9
opms_admin/app/service/sys_config.go

@@ -2,7 +2,6 @@ package service
 
 import (
 	"dashoo.cn/micro/app/common/global"
-	comModel "dashoo.cn/micro/app/common/model"
 	comService "dashoo.cn/micro/app/common/service"
 	"dashoo.cn/micro/app/dao"
 	"dashoo.cn/micro/app/model"
@@ -42,14 +41,7 @@ func (s *sysConfig) SelectListByPage(req *model.SysConfigSearchReq) (total, page
 		err = gerror.New("获取总行数失败")
 		return
 	}
-	if req.PageNum == 0 {
-		req.PageNum = 1
-	}
-	page = req.PageNum
-	if req.PageSize == 0 {
-		req.PageSize = comModel.PageSize
-	}
-	err = m.Page(page, req.PageSize).Order("config_id asc").Scan(&list)
+	err = m.Page(req.GetPage()).Order("config_id asc").Scan(&list)
 	if err != nil {
 		g.Log().Error(err)
 		err = gerror.New("获取数据失败")

+ 8 - 13
opms_admin/app/service/sys_dept.go

@@ -4,26 +4,21 @@ import (
 	"context"
 	"dashoo.cn/micro/app/dao"
 	"dashoo.cn/micro/app/model"
-	"dashoo.cn/opms_libary/micro_srv"
-	"github.com/gogf/gf/os/glog"
 	"github.com/gogf/gf/util/gconv"
 )
 
 type deptService struct {
+	*contextService
 	Dao *dao.SysDeptDao
 }
 
-func NewDeptService(ctx context.Context) (*deptService, error) {
-	dict := new(deptService)
-	// 获取租户码
-	tenant, err := micro_srv.GetTenant(ctx)
-	if err != nil {
+func NewDeptService(ctx context.Context) (svc *deptService, err error) {
+	svc = new(deptService)
+	if svc.contextService, err = svc.Init(ctx); err != nil {
 		return nil, err
 	}
-	reqMethod, _ := micro_srv.GetReqMethod(ctx)
-	glog.Info("Received " + reqMethod + " request @ " + tenant)
-	dict.Dao = dao.NewSysDeptDao(tenant)
-	return dict, err
+	svc.Dao = dao.NewSysDeptDao(svc.Tenant)
+	return svc, nil
 }
 
 func (s *deptService) GetList(searchParams *model.SysDeptSearchParams) ([]*model.SysDept, error) {
@@ -103,7 +98,7 @@ func (s *deptService) Create(req *model.SysDeptReq) (err error) {
 	if err := gconv.Struct(req, data); err != nil {
 		return err
 	}
-	SetCreatedInfo(data, 1, "")
+	SetCreatedInfo(data, s.GetCxtUserId(), s.GetCxtUserName())
 	_, err = dao.SysDept.Insert(data)
 	return
 }
@@ -113,7 +108,7 @@ func (s *deptService) UpdateById(req *model.UpdateSysDeptReq) error {
 	if err := gconv.Struct(req, data); err != nil {
 		return err
 	}
-	SetUpdatedInfo(data, 1, "")
+	SetUpdatedInfo(data, s.GetCxtUserId(), s.GetCxtUserName())
 	_, err := dao.SysDept.FieldsEx(dao.SysDept.Columns.Id, dao.SysDept.Columns.CreatedBy, dao.SysDept.Columns.CreatedName, dao.SysDept.Columns.CreatedTime).WherePri(data.Id).
 		Update(data)
 	return err

+ 14 - 14
opms_admin/app/service/sys_dict_data.go

@@ -6,30 +6,25 @@ import (
 	comService "dashoo.cn/micro/app/common/service"
 	"dashoo.cn/micro/app/dao"
 	"dashoo.cn/micro/app/model"
-	"dashoo.cn/opms_libary/micro_srv"
 	"database/sql"
 	"github.com/gogf/gf/errors/gerror"
 	"github.com/gogf/gf/frame/g"
-	"github.com/gogf/gf/os/glog"
 	"github.com/gogf/gf/text/gstr"
 	"github.com/gogf/gf/util/gconv"
 )
 
 type dictDataService struct {
+	*contextService
 	Dao *dao.SysDictTypeDao
 }
 
-func NewDictDataService(ctx context.Context) (*dictDataService, error) {
-	dict := new(dictDataService)
-	// 获取租户码
-	tenant, err := micro_srv.GetTenant(ctx)
-	if err != nil {
+func NewDictDataService(ctx context.Context) (svc *dictDataService, err error) {
+	svc = new(dictDataService)
+	if svc.contextService, err = svc.Init(ctx); err != nil {
 		return nil, err
 	}
-	reqMethod, _ := micro_srv.GetReqMethod(ctx)
-	glog.Info("Received " + reqMethod + " request @ " + tenant)
-	dict.Dao = dao.NewSysDictTypeDao(tenant)
-	return dict, err
+	svc.Dao = dao.NewSysDictTypeDao(svc.Tenant)
+	return svc, nil
 }
 
 func (s *dictDataService) GetDictDataList(req *model.SelectDictPageReq) (total int, list []*model.SysDictData, err error) {
@@ -146,7 +141,7 @@ func (s *dictDataService) Create(req *model.DictDataAddReq) (id int64, err error
 	if err := gconv.Struct(req, data); err != nil {
 		return -1, err
 	}
-	SetCreatedInfo(data, 1, "")
+	SetCreatedInfo(data, s.GetCxtUserId(), s.GetCxtUserName())
 	res, err = dao.SysDictData.Data(data).Insert()
 	if err != nil {
 		g.Log().Error(err)
@@ -159,8 +154,13 @@ func (s *dictDataService) Create(req *model.DictDataAddReq) (id int64, err error
 
 // UpdateByDict 修改字典数据
 func (s *dictDataService) UpdateByDict(req *model.EditDictDataReq) (err error) {
-	_, err = dao.SysDictData.FieldsEx(dao.SysDictData.Columns.DictCode, dao.SysDictData.Columns.CreatedBy).
-		WherePri(req.DictCode).Update(req)
+	data := new(model.SysDictData)
+	if err := gconv.Struct(req, data); err != nil {
+		return err
+	}
+	SetUpdatedInfo(data, s.GetCxtUserId(), s.GetCxtUserName())
+	updateFieldEx := append(CommonUpdateFieldEx, dao.SysDictData.Columns.DictCode)
+	_, err = dao.SysDictData.FieldsEx(updateFieldEx...).WherePri(req.DictCode).Update(data)
 	return
 }
 

+ 14 - 15
opms_admin/app/service/sys_dict_type.go

@@ -6,9 +6,6 @@ import (
 	comService "dashoo.cn/micro/app/common/service"
 	"dashoo.cn/micro/app/dao"
 	"dashoo.cn/micro/app/model"
-	"dashoo.cn/opms_libary/micro_srv"
-	"github.com/gogf/gf/os/glog"
-
 	"github.com/gogf/gf/container/garray"
 	"github.com/gogf/gf/database/gdb"
 	"github.com/gogf/gf/errors/gerror"
@@ -17,20 +14,17 @@ import (
 )
 
 type dictTypeService struct {
+	*contextService
 	Dao *dao.SysDictTypeDao
 }
 
-func NewDictTypeService(ctx context.Context) (*dictTypeService, error) {
-	dict := new(dictTypeService)
-	// 获取租户码
-	tenant, err := micro_srv.GetTenant(ctx)
-	if err != nil {
+func NewDictTypeService(ctx context.Context) (svc *dictTypeService, err error) {
+	svc = new(dictTypeService)
+	if svc.contextService, err = svc.Init(ctx); err != nil {
 		return nil, err
 	}
-	reqMethod, _ := micro_srv.GetReqMethod(ctx)
-	glog.Info("Received " + reqMethod + " request @ " + tenant)
-	dict.Dao = dao.NewSysDictTypeDao(tenant)
-	return dict, err
+	svc.Dao = dao.NewSysDictTypeDao(svc.Tenant)
+	return svc, nil
 }
 
 func (s *dictTypeService) GetList(req *model.ListSysDictTypeReq) (total int, list []*model.SysDictType, err error) {
@@ -115,7 +109,7 @@ func (s *dictTypeService) Create(req *model.SysDictTypeAddReq) error {
 	if err := gconv.Struct(req, data); err != nil {
 		return err
 	}
-	SetCreatedInfo(data, 1, "")
+	SetCreatedInfo(data, s.GetCxtUserId(), s.GetCxtUserName())
 	_, err := dao.SysDictType.Insert(data)
 	if err != nil {
 		g.Log().Debug(err)
@@ -131,8 +125,13 @@ func (s *dictTypeService) UpdateById(req *model.SysDictTypeEditReq) error {
 			return err
 		}
 		//修改字典类型
-		_, err = dao.SysDictType.TX(tx).FieldsEx(dao.SysDictType.Columns.CreatedBy,
-			dao.SysDictType.Columns.Id).WherePri(req.Id).Update(req)
+		data := new(model.SysDictType)
+		if err := gconv.Struct(req, data); err != nil {
+			return err
+		}
+		SetUpdatedInfo(data, s.GetCxtUserId(), s.GetCxtUserName())
+		updateFieldEx := append(CommonUpdateFieldEx, dao.SysDictData.Columns.DictCode)
+		_, err = dao.SysDictType.TX(tx).FieldsEx(updateFieldEx...).WherePri(req.Id).Update(req)
 		if err != nil {
 			return err
 		}

+ 9 - 17
opms_admin/app/service/sys_login_log.go

@@ -1,7 +1,6 @@
 package service
 
 import (
-	comModel "dashoo.cn/micro/app/common/model"
 	"dashoo.cn/micro/app/dao"
 	"dashoo.cn/micro/app/model"
 	"github.com/gogf/gf/errors/gerror"
@@ -28,32 +27,25 @@ func (s *sysLoginLog) Invoke(data *model.LoginLogParams) {
 }
 
 func (s *sysLoginLog) LoginLogListByPage(req *model.SysLoginLogSearchReq) (total, page int, list []*model.SysLogin, err error) {
-	if req.PageNum == 0 {
-		req.PageNum = 1
-	}
-	if req.PageSize == 0 {
-		req.PageSize = comModel.PageSize
-	}
-	model := dao.SysLogin.M
-	page = req.PageNum
+	db := dao.SysLogin.M
 	order := "info_id DESC"
 	if req.LoginName != "" {
-		model = model.Where("login_name like ?", "%"+req.LoginName+"%")
+		db = db.Where("login_name like ?", "%"+req.LoginName+"%")
 	}
 	if req.Status != "" {
-		model = model.Where("status", gconv.Int(req.Status))
+		db = db.Where("status", gconv.Int(req.Status))
 	}
 	if req.Ipaddr != "" {
-		model = model.Where("ipaddr like ?", "%"+req.Ipaddr+"%")
+		db = db.Where("ipaddr like ?", "%"+req.Ipaddr+"%")
 	}
 	if req.LoginLocation != "" {
-		model = model.Where("login_location like ?", "%"+req.LoginLocation+"%")
+		db = db.Where("login_location like ?", "%"+req.LoginLocation+"%")
 	}
 	if req.BeginTime != "" {
-		model = model.Where("login_time >=", req.BeginTime)
+		db = db.Where("login_time >=", req.BeginTime)
 	}
 	if req.EndTime != "" {
-		model = model.Where("login_time <=", req.EndTime)
+		db = db.Where("login_time <=", req.EndTime)
 	}
 	if req.SortName != "" {
 		if req.SortOrder != "" {
@@ -63,13 +55,13 @@ func (s *sysLoginLog) LoginLogListByPage(req *model.SysLoginLogSearchReq) (total
 		}
 	}
 
-	total, err = model.Count()
+	total, err = db.Count()
 	if err != nil {
 		g.Log().Error(err)
 		err = gerror.New("获取总行数失败")
 		return
 	}
-	err = model.Page(page, req.PageSize).Order(order).Scan(&list)
+	err = db.Page(req.GetPage()).Order(order).Scan(&list)
 	if err != nil {
 		g.Log().Error(err)
 		err = gerror.New("获取数据失败")

+ 16 - 21
opms_admin/app/service/sys_menu.go

@@ -9,33 +9,28 @@ import (
 	"dashoo.cn/common_definition/admin/menu_def"
 	"dashoo.cn/micro/app/dao"
 	"dashoo.cn/micro/app/model"
-	"dashoo.cn/opms_libary/micro_srv"
 	"errors"
 	"github.com/gogf/gf/errors/gerror"
 	"github.com/gogf/gf/frame/g"
-	"github.com/gogf/gf/os/glog"
 	"github.com/gogf/gf/util/gconv"
 )
 
-type MenuService struct {
+type menuService struct {
+	*contextService
 	Dao *dao.SysMenuDao
 }
 
-func NewMenuService(ctx context.Context) (*MenuService, error) {
-	menu := new(MenuService)
-	// 获取租户码
-	tenant, err := micro_srv.GetTenant(ctx)
-	if err != nil {
+func NewMenuService(ctx context.Context) (svc *menuService, err error) {
+	svc = new(menuService)
+	if svc.contextService, err = svc.Init(ctx); err != nil {
 		return nil, err
 	}
-	reqMethod, _ := micro_srv.GetReqMethod(ctx)
-	glog.Info("Received " + reqMethod + " request @ " + tenant)
-	menu.Dao = dao.NewSysMenuDao(tenant)
-	return menu, err
+	svc.Dao = dao.NewSysMenuDao(svc.Tenant)
+	return svc, nil
 }
 
 // Create 添加菜单项
-func (s MenuService) Create(param *model.SysMenuReq) (id int64, err error) {
+func (s menuService) Create(param *model.SysMenuReq) (id int64, err error) {
 	// 菜单类型 D目录 M菜单 F按钮或功能 I接口
 	if param.MenuType == "F" && param.Perms == "" {
 		return -1, errors.New("权限标识不能为空!")
@@ -62,7 +57,7 @@ func (s MenuService) Create(param *model.SysMenuReq) (id int64, err error) {
 	//if err != nil {
 	//	return 0, err
 	//}
-	SetCreatedInfo(entity, int(1), "userInfo.UserName")
+	SetCreatedInfo(entity, s.GetCxtUserId(), s.GetCxtUserName())
 	if result, err := s.Dao.M.Insert(entity); err != nil {
 		return -1, err
 	} else {
@@ -79,7 +74,7 @@ func (s MenuService) Create(param *model.SysMenuReq) (id int64, err error) {
 }
 
 // UpdateById 根据ID更新菜单项
-func (s MenuService) UpdateById(param *model.SysMenuReq) error {
+func (s menuService) UpdateById(param *model.SysMenuReq) error {
 	// 菜单类型 D目录 M菜单 F按钮或功能 I接口
 	if param.MenuType == "F" && param.Perms == "" {
 		return gerror.New("权限标识不能为空!")
@@ -116,7 +111,7 @@ func (s MenuService) UpdateById(param *model.SysMenuReq) error {
 	//if err != nil {
 	//	return err
 	//}
-	SetUpdatedInfo(entity, int(1), "userInfo.UserName")
+	SetUpdatedInfo(entity, s.GetCxtUserId(), s.GetCxtUserName())
 	_, err = db.FieldsEx(UpdateFieldEx).Where("Id", entity.Id).Update(entity)
 	if err != nil {
 		return err
@@ -125,7 +120,7 @@ func (s MenuService) UpdateById(param *model.SysMenuReq) error {
 	return err
 }
 
-func (s MenuService) Delete(id int64) (err error) {
+func (s menuService) Delete(id int64) (err error) {
 	db := s.Dao.M
 	record, err := db.FindOne("Id", id)
 	if err != nil {
@@ -154,7 +149,7 @@ func (s MenuService) Delete(id int64) (err error) {
 }
 
 // GetEntity 获取菜单项实体
-func (s MenuService) GetEntity(id int64) (*model.SysMenu, error) {
+func (s menuService) GetEntity(id int64) (*model.SysMenu, error) {
 	one, err := s.Dao.M.FindOne(id)
 	if err != nil {
 		return nil, err
@@ -170,7 +165,7 @@ func (s MenuService) GetEntity(id int64) (*model.SysMenu, error) {
 }
 
 // GetList 获取菜单列表
-func (s MenuService) GetList(param *menu_def.SelectReq) ([]model.SysMenu, error) {
+func (s menuService) GetList(param *menu_def.SelectReq) ([]model.SysMenu, error) {
 	db := s.Dao.M
 	if param != nil {
 		if param.Title != "" {
@@ -198,7 +193,7 @@ func (s MenuService) GetList(param *menu_def.SelectReq) ([]model.SysMenu, error)
 }
 
 // GetMenuTree 获取菜单树
-func (s MenuService) GetMenuTree(isAll bool) ([]model.MenuTree, error) {
+func (s menuService) GetMenuTree(isAll bool) ([]model.MenuTree, error) {
 	db := s.Dao.M
 	menuType := g.Slice{"M", "C"}
 	if isAll {
@@ -219,7 +214,7 @@ func (s MenuService) GetMenuTree(isAll bool) ([]model.MenuTree, error) {
 }
 
 // getChildrenList 获取菜单的子菜单
-func (s MenuService) getChildrenList(menu *model.MenuTree, treeMap map[int][]model.MenuTree) {
+func (s menuService) getChildrenList(menu *model.MenuTree, treeMap map[int][]model.MenuTree) {
 	if value, ok := treeMap[menu.Id]; ok {
 		menu.Children = value
 		for i := 0; i < len(menu.Children); i++ {

+ 52 - 63
opms_admin/app/service/sys_oper_log.go

@@ -1,15 +1,11 @@
 package service
 
 import (
-	comModel "dashoo.cn/micro/app/common/model"
 	"dashoo.cn/micro/app/dao"
 	"dashoo.cn/micro/app/model"
-	"dashoo.cn/opms_libary/utils"
-	"github.com/gogf/gf/encoding/gjson"
 	"github.com/gogf/gf/errors/gerror"
 	"github.com/gogf/gf/frame/g"
 	"github.com/gogf/gf/os/grpool"
-	"github.com/gogf/gf/os/gtime"
 	"github.com/gogf/gf/util/gconv"
 )
 
@@ -30,57 +26,57 @@ func (s *sysOperLog) Invoke(data *model.SysOperLogAdd) {
 
 // OperationLogAdd 添加操作日志
 func (s sysOperLog) OperationLogAdd(data *model.SysOperLogAdd) {
-	menuTitle := ""
-	if data.Menu != nil {
-		menuTitle = data.Menu.MenuName
-	}
-	err, dept := data.User.GetDept()
-	if err != nil {
-		g.Log().Error(err)
-		return
-	}
-	insertData := g.Map{
-		dao.SysOperLog.Columns.Title:         menuTitle,
-		dao.SysOperLog.Columns.Method:        data.Url.Path,
-		dao.SysOperLog.Columns.RequestMethod: data.Method,
-		dao.SysOperLog.Columns.OperatorType:  data.OperatorType,
-		dao.SysOperLog.Columns.OperName:      data.User.UserName,
-		dao.SysOperLog.Columns.DeptName:      dept.DeptName,
-		dao.SysOperLog.Columns.OperIp:        data.ClientIp,
-		dao.SysOperLog.Columns.OperLocation:  utils.GetCityByIp(data.ClientIp),
-		dao.SysOperLog.Columns.OperTime:      gtime.Now(),
-	}
-	rawQuery := data.Url.RawQuery
-	if rawQuery != "" {
-		rawQuery = "?" + rawQuery
-	}
-	insertData[dao.SysOperLog.Columns.OperUrl] = data.Url.Path + rawQuery
-	if data.Params != nil {
-		if v, ok := data.Params["apiReturnRes"]; ok {
-			res := gconv.Map(v)
-			if gconv.Int(res["code"]) == 0 {
-				insertData[dao.SysOperLog.Columns.Status] = 1
-			} else {
-				insertData[dao.SysOperLog.Columns.Status] = 0
-			}
-			if _, ok = res["data"]; ok {
-				delete(res, "data")
-			}
-			b, _ := gjson.Encode(res)
-			if len(b) > 0 {
-				insertData[dao.SysOperLog.Columns.JsonResult] = string(b)
-			}
-			delete(data.Params, "apiReturnRes")
-		}
-		b, _ := gjson.Encode(data.Params)
-		if len(b) > 0 {
-			insertData[dao.SysOperLog.Columns.OperParam] = string(b)
-		}
-	}
-	_, err = dao.SysOperLog.Insert(insertData)
-	if err != nil {
-		g.Log().Error(err)
-	}
+	//menuTitle := ""
+	//if data.Menu != nil {
+	//	menuTitle = data.Menu.MenuName
+	//}
+	//err, dept := data.User.GetDept()
+	//if err != nil {
+	//	g.Log().Error(err)
+	//	return
+	//}
+	//insertData := g.Map{
+	//	dao.SysOperLog.Columns.Title:         menuTitle,
+	//	dao.SysOperLog.Columns.Method:        data.Url.Path,
+	//	dao.SysOperLog.Columns.RequestMethod: data.Method,
+	//	dao.SysOperLog.Columns.OperatorType:  data.OperatorType,
+	//	dao.SysOperLog.Columns.OperName:      data.User.UserName,
+	//	dao.SysOperLog.Columns.DeptName:      dept.DeptName,
+	//	dao.SysOperLog.Columns.OperIp:        data.ClientIp,
+	//	dao.SysOperLog.Columns.OperLocation:  utils.GetCityByIp(data.ClientIp),
+	//	dao.SysOperLog.Columns.OperTime:      gtime.Now(),
+	//}
+	//rawQuery := data.Url.RawQuery
+	//if rawQuery != "" {
+	//	rawQuery = "?" + rawQuery
+	//}
+	//insertData[dao.SysOperLog.Columns.OperUrl] = data.Url.Path + rawQuery
+	//if data.Params != nil {
+	//	if v, ok := data.Params["apiReturnRes"]; ok {
+	//		res := gconv.Map(v)
+	//		if gconv.Int(res["code"]) == 0 {
+	//			insertData[dao.SysOperLog.Columns.Status] = 1
+	//		} else {
+	//			insertData[dao.SysOperLog.Columns.Status] = 0
+	//		}
+	//		if _, ok = res["data"]; ok {
+	//			delete(res, "data")
+	//		}
+	//		b, _ := gjson.Encode(res)
+	//		if len(b) > 0 {
+	//			insertData[dao.SysOperLog.Columns.JsonResult] = string(b)
+	//		}
+	//		delete(data.Params, "apiReturnRes")
+	//	}
+	//	b, _ := gjson.Encode(data.Params)
+	//	if len(b) > 0 {
+	//		insertData[dao.SysOperLog.Columns.OperParam] = string(b)
+	//	}
+	//}
+	//_, err = dao.SysOperLog.Insert(insertData)
+	//if err != nil {
+	//	g.Log().Error(err)
+	//}
 }
 
 func (s *sysOperLog) OperationLogListByPage(req *model.SysOperLogSearchReq) (total, page int, list []*model.SysOperLog, err error) {
@@ -119,14 +115,7 @@ func (s *sysOperLog) OperationLogListByPage(req *model.SysOperLogSearchReq) (tot
 		err = gerror.New("获取总行数失败")
 		return
 	}
-	if req.PageNum == 0 {
-		req.PageNum = 1
-	}
-	page = req.PageNum
-	if req.PageSize == 0 {
-		req.PageSize = comModel.PageSize
-	}
-	err = model.Page(page, req.PageSize).Order(order).Scan(&list)
+	err = model.Page(req.GetPage()).Order(order).Scan(&list)
 	if err != nil {
 		g.Log().Error(err)
 		err = gerror.New("获取数据失败")

+ 28 - 27
opms_admin/app/service/sys_post.go

@@ -1,50 +1,51 @@
 package service
 
 import (
-	comModel "dashoo.cn/micro/app/common/model"
+	"context"
 	"dashoo.cn/micro/app/dao"
 	"dashoo.cn/micro/app/model"
 	"github.com/gogf/gf/errors/gerror"
 	"github.com/gogf/gf/frame/g"
 )
 
-type sysPost struct{}
+type postService struct {
+	*contextService
+	Dao *dao.SysPostDao
+}
 
-var SysPost = new(sysPost)
+func NewPostService(ctx context.Context) (svc *postService, err error) {
+	svc = new(postService)
+	if svc.contextService, err = svc.Init(ctx); err != nil {
+		return nil, err
+	}
+	svc.Dao = dao.NewSysPostDao(svc.Tenant)
+	return svc, nil
+}
 
-func (s *sysPost) List(req *model.SysPostSearchParams) (total, page int, list []*model.SysPost, err error) {
-	model := dao.SysPost.M
+func (s *postService) GetList(req *model.SysPostSearchParams) (total, page int, list []*model.SysPost, err error) {
+	db := dao.SysPost.M
 	if req != nil {
 		if req.PostCode != "" {
-			model.Where("post_code like ?", "%"+req.PostCode+"%")
+			db.Where("post_code like ?", "%"+req.PostCode+"%")
 		}
 
 		if req.PostName != "" {
-			model.Where("post_name like ?", "%"+req.PostName+"%")
+			db.Where("post_name like ?", "%"+req.PostName+"%")
 		}
 
 		if req.Status != "" {
-			model.Where("status", req.Status)
+			db.Where("status", req.Status)
 		}
 	}
 
-	total, err = model.Count()
+	total, err = db.Count()
 
 	if err != nil {
 		g.Log().Error(err)
 		err = gerror.New("获取总行数失败")
 	}
 
-	if req.PageNum == 0 {
-		req.PageNum = 1
-	}
-
-	page = req.PageNum
-
-	if req.PageSize == 0 {
-		req.PageSize = comModel.PageSize
-	}
-	err = model.Page(page, req.PageSize).Order("post_sort asc,post_id asc").Scan(&list)
+	err = db.Page(req.GetPage()).Order("post_sort asc,post_id asc").Scan(&list)
 	if err != nil {
 		g.Log().Error(err)
 		err = gerror.New("获取数据失败")
@@ -52,23 +53,23 @@ func (s *sysPost) List(req *model.SysPostSearchParams) (total, page int, list []
 	return
 }
 
-func (s *sysPost) Add(params *model.SysPostAddParams) error {
-	_, err := dao.SysPost.Insert(params)
-	return err
-}
-
-func (s *sysPost) GetOneById(id int64) (post *model.SysPost, err error) {
+func (s *postService) GetEntity(id int64) (post *model.SysPost, err error) {
 	err = dao.SysPost.WherePri(id).Scan(&post)
 	return
 }
 
-func (s *sysPost) Edit(params *model.SysPostEditParams) (err error) {
+func (s *postService) Create(params *model.SysPostAddParams) error {
+	_, err := dao.SysPost.Insert(params)
+	return err
+}
+
+func (s *postService) UpdateById(params *model.SysPostEditParams) (err error) {
 	_, err = dao.SysPost.FieldsEx(dao.SysPost.Columns.Id, dao.SysPost.Columns.CreatedBy).
 		WherePri(params.PostId).Update(params)
 	return err
 }
 
-func (s *sysPost) Delete(ids []int) error {
+func (s *postService) DeleteByIds(ids []int) error {
 	_, err := dao.SysPost.Where(dao.SysPost.Columns.Id+" in(?)", ids).Delete()
 	return err
 }

+ 8 - 13
opms_admin/app/service/sys_role.go

@@ -6,33 +6,28 @@ import (
 	"dashoo.cn/micro/app/common/service"
 	"dashoo.cn/micro/app/dao"
 	"dashoo.cn/micro/app/model"
-	"dashoo.cn/opms_libary/micro_srv"
 	"dashoo.cn/opms_libary/utils"
 	"database/sql"
 	"fmt"
 	"github.com/gogf/gf/database/gdb"
 	"github.com/gogf/gf/errors/gerror"
 	"github.com/gogf/gf/frame/g"
-	"github.com/gogf/gf/os/glog"
 	"github.com/gogf/gf/util/gconv"
 	"github.com/gogf/gf/util/gvalid"
 )
 
 type RoleService struct {
+	*contextService
 	Dao *dao.SysRoleDao
 }
 
-func NewRoleService(ctx context.Context) (*RoleService, error) {
-	role := new(RoleService)
-	// 获取租户码
-	tenant, err := micro_srv.GetTenant(ctx)
-	if err != nil {
+func NewRoleService(ctx context.Context) (svc *RoleService, err error) {
+	svc = new(RoleService)
+	if svc.contextService, err = svc.Init(ctx); err != nil {
 		return nil, err
 	}
-	reqMethod, _ := micro_srv.GetReqMethod(ctx)
-	glog.Info("Received " + reqMethod + " request @ " + tenant)
-	role.Dao = dao.NewSysRoleDao(tenant)
-	return role, err
+	svc.Dao = dao.NewSysRoleDao(svc.Tenant)
+	return svc, nil
 }
 
 // GetRoleList 获取角色列表
@@ -119,7 +114,7 @@ func (s *RoleService) CreateRole(tx *gdb.TX, req *model.SysRoleReq) (InsId int64
 	if err = gconv.Struct(req, data); err != nil {
 		return
 	}
-	SetUpdatedInfo(data, 1, "")
+	SetCreatedInfo(data, s.GetCxtUserId(), s.GetCxtUserName())
 	var res sql.Result
 	res, err = tx.Model(model.SysRole{}).Data(data).Save()
 	if err != nil {
@@ -178,7 +173,7 @@ func (s *RoleService) UpdateRole(tx *gdb.TX, req *model.SysRoleReq) error {
 		"sort":      req.Sort,
 		"remark":    req.Remark,
 	}
-	SetUpdatedInfo(roleMap, 1, "")
+	SetUpdatedInfo(roleMap, s.GetCxtUserId(), s.GetCxtUserName())
 	_, err := tx.Model(model.SysRole{}).Data(roleMap).WherePri(req.Id).Update()
 	if err != nil {
 		return err

+ 11 - 20
opms_admin/app/service/sys_user.go

@@ -2,11 +2,9 @@ package service
 
 import (
 	"context"
-	comModel "dashoo.cn/micro/app/common/model"
 	"dashoo.cn/micro/app/common/service"
 	"dashoo.cn/micro/app/dao"
 	"dashoo.cn/micro/app/model"
-	"dashoo.cn/opms_libary/micro_srv"
 	"dashoo.cn/opms_libary/request"
 	"dashoo.cn/opms_libary/utils"
 	"errors"
@@ -15,26 +13,22 @@ import (
 	"github.com/gogf/gf/database/gdb"
 	"github.com/gogf/gf/errors/gerror"
 	"github.com/gogf/gf/frame/g"
-	"github.com/gogf/gf/os/glog"
 	"github.com/gogf/gf/util/gconv"
 	"github.com/gogf/gf/util/grand"
 )
 
 type userService struct {
+	*contextService
 	Dao *dao.SysUserDao
 }
 
-func NewUserService(ctx context.Context) (*userService, error) {
-	user := new(userService)
-	// 获取租户码
-	tenant, err := micro_srv.GetTenant(ctx)
-	if err != nil {
+func NewUserService(ctx context.Context) (svc *userService, err error) {
+	svc = new(userService)
+	if svc.contextService, err = svc.Init(ctx); err != nil {
 		return nil, err
 	}
-	reqMethod, _ := micro_srv.GetReqMethod(ctx)
-	glog.Info("Received " + reqMethod + " request @ " + tenant)
-	user.Dao = dao.NewSysUserDao(tenant)
-	return user, err
+	svc.Dao = dao.NewSysUserDao(svc.Tenant)
+	return svc, nil
 }
 
 // Login 用户登录,成功返回用户UUID,否则返回空字符串;
@@ -72,9 +66,6 @@ func (s *userService) Login(username, password string) (*request.UserInfo, error
 }
 
 func (s *userService) GetUserList(req *model.SysUserSearchReq) (total int, userList []*model.SysUser, err error) {
-	if req.PageSize == 0 {
-		req.PageSize = comModel.PageSize
-	}
 	userModel := dao.SysUser.M
 	if req.KeyWords != "" {
 		keyWords := "%" + req.KeyWords + "%"
@@ -353,7 +344,7 @@ func (s *userService) GetPostsByUserId(userId int) ([]*model.SysPost, error) {
 	return posts, err
 }
 
-func (s *userService) AddUser(req *model.AddUserReq) (err error) {
+func (s *userService) CreateUser(req *model.AddUserReq) (err error) {
 	req.UserSalt = grand.S(10)
 	req.Password = utils.EncryptPassword(req.Password, req.UserSalt)
 	var tx *gdb.TX
@@ -389,7 +380,7 @@ func (s *userService) AddUser(req *model.AddUserReq) (err error) {
 		tx.Rollback()
 		return
 	}
-	SetCreatedInfo(userData, int(1), "userInfo.UserName")
+	SetCreatedInfo(userData, s.GetCxtUserId(), s.GetCxtUserName())
 	res, err := Model.Insert(userData)
 	if err != nil {
 		tx.Rollback()
@@ -432,8 +423,8 @@ func (s *userService) AddUserRole(roleIds interface{}, userId int64) (err error)
 	return
 }
 
-// EditUser 修改用户
-func (s *userService) EditUser(req *model.EditUserReq) (err error) {
+// UpdateUser 修改用户
+func (s *userService) UpdateUser(req *model.EditUserReq) (err error) {
 	if i, _ := dao.SysUser.Where("id!=? and phone=?", req.Id, req.Phone).Count(); i != 0 {
 		err = gerror.New("手机号已经存在")
 		return
@@ -459,7 +450,7 @@ func (s *userService) EditUser(req *model.EditUserReq) (err error) {
 		tx.Rollback()
 		return
 	}
-	SetUpdatedInfo(userData, int(1), "userInfo.UserName")
+	SetUpdatedInfo(userData, s.GetCxtUserId(), s.GetCxtUserName())
 	_, err = dao.SysUser.TX(tx).FieldsEx(dao.SysUser.Columns.Id, dao.SysUser.Columns.CreatedTime,
 		dao.SysUser.Columns.DeletedTime, dao.SysUser.Columns.LoginDate).
 		WherePri(userData.Id).Update(userData)

+ 1 - 6
opms_admin/main.go

@@ -47,10 +47,5 @@ var AuthExcludePaths = []string{
 func handleAuth(ctx context.Context, req *protocol.Message, token string) error {
 	// token拦截器
 	err := micro_srv.HandleAuth(ctx, req, token, AuthExcludePaths)
-	if err != nil {
-		return err
-	}
-	// 获取当前登录用户
-
-	return nil
+	return err
 }

+ 12 - 0
opms_libary/micro_srv/micro_srv.go

@@ -199,8 +199,10 @@ func HandleAuth(ctx context.Context, req *protocol.Message, token string, authEx
 	path := "/" + req.ServicePath + "/" + req.ServiceMethod
 	//g.Log().Info("reqPath: ", path)
 	//g.Log().Info("token: ", token)
+	req.Metadata["authExclude"] = "true"
 
 	if authPath(path, authExcludePaths) {
+		req.Metadata["authExclude"] = "false"
 
 		//rsp := validToken(token)
 		rsp := gtoken.GFToken.ValidToken(token)
@@ -276,6 +278,16 @@ func validToken(token string) auth.Response {
 	return *rsp
 }
 
+// IsAuthExclude 是否进行auth验证
+func IsAuthExclude(ctx context.Context) bool {
+	reqMeta := ctx.Value(share.ReqMetaDataKey).(map[string]string)
+	flag, ok := reqMeta["authExclude"]
+	if !ok || flag == "true" {
+		return true
+	}
+	return false
+}
+
 // GetUserInfo 从context中获取UserInfo
 func GetUserInfo(ctx context.Context) (request.UserInfo, error) {
 	reqMeta := ctx.Value(share.ReqMetaDataKey).(map[string]string)

+ 21 - 12
opms_libary/request/request.go

@@ -1,31 +1,40 @@
 package request
 
 import (
+	"context"
 	"github.com/gogf/gf/net/ghttp"
 	"github.com/gogf/gf/util/gconv"
 )
 
-type PageInfo struct {
-	Current int `json:"current"` //分页当前页
-	Size    int `json:"size"`    //分页记录数条数
+const DefaultPageSize = 10
+
+type PageReq struct {
+	BeginTime string          `p:"beginTime"` //开始时间
+	EndTime   string          `p:"endTime"`   //结束时间
+	PageNum   int             `p:"pageNum"`   //当前页码
+	PageSize  int             `p:"pageSize"`  //每页数
+	OrderBy   string          `p:"orderBy"`   //排序方式
+	Ctx       context.Context `swaggerignore:"true"`
 }
 
-// 获取前端分页信息
-func GetPageInfo(r *ghttp.Request) PageInfo {
-	var page PageInfo
-	page.Current = r.GetInt("current")
-	page.Size = r.GetInt("size")
-	return page
+func (p *PageReq) GetPage() (int, int) {
+	if p.PageNum == 0 {
+		p.PageNum = 1
+	}
+	if p.PageSize == 0 {
+		p.PageSize = DefaultPageSize
+	}
+	return p.PageNum, p.PageSize
 }
 
-// 登录用户信息
+// UserInfo 登录用户信息
 type UserInfo struct {
-	Id       int32  `json:"id"`
+	Id       int    `json:"id"`
 	Uuid     string `json:"uuid"`
 	UserName string `json:"userName"`
 	NickName string `json:"nickName"`
+	DeptId   int    `json:"deptId"` // 所属部门
 	Roles    string `json:"roles"`  // 所属角色
-	DeptId   string `json:"deptId"` //所属部门
 }
 
 // 设置当前登录用户信息