mirror of
https://gitee.com/dromara/mayfly-go
synced 2025-11-03 16:00:25 +08:00
feat: 数据库表查询支持页数选择
This commit is contained in:
@@ -159,7 +159,7 @@ func (m *machineCropJobAppImpl) InitCronJob() {
|
||||
}()
|
||||
|
||||
pageParam := &model.PageParam{
|
||||
PageSize: 2,
|
||||
PageSize: 100,
|
||||
PageNum: 1,
|
||||
}
|
||||
cond := new(entity.MachineCronJob)
|
||||
|
||||
@@ -9,6 +9,7 @@ import (
|
||||
"mayfly-go/internal/sys/application"
|
||||
"mayfly-go/internal/sys/domain/entity"
|
||||
"mayfly-go/pkg/biz"
|
||||
"mayfly-go/pkg/contextx"
|
||||
"mayfly-go/pkg/ginx"
|
||||
"mayfly-go/pkg/model"
|
||||
"mayfly-go/pkg/req"
|
||||
@@ -189,11 +190,8 @@ func (a *Account) AccountResources(rc *req.Ctx) {
|
||||
|
||||
// 保存账号角色信息
|
||||
func (a *Account) SaveRoles(rc *req.Ctx) {
|
||||
g := rc.GinCtx
|
||||
|
||||
var form form.AccountRoleForm
|
||||
ginx.BindJsonAndValid(g, &form)
|
||||
aid := uint64(form.Id)
|
||||
ginx.BindJsonAndValid(rc.GinCtx, &form)
|
||||
rc.ReqParam = form
|
||||
|
||||
// 将,拼接的字符串进行切割并转换
|
||||
@@ -202,22 +200,7 @@ func (a *Account) SaveRoles(rc *req.Ctx) {
|
||||
return uint64(id)
|
||||
})
|
||||
|
||||
oIds := a.RoleApp.GetAccountRoleIds(uint64(form.Id))
|
||||
|
||||
addIds, delIds, _ := collx.ArrayCompare(newIds, oIds, func(i1, i2 uint64) bool {
|
||||
return i1 == i2
|
||||
})
|
||||
|
||||
createTime := time.Now()
|
||||
creator := rc.LoginAccount.Username
|
||||
creatorId := rc.LoginAccount.Id
|
||||
for _, v := range addIds {
|
||||
rr := &entity.AccountRole{AccountId: aid, RoleId: v, CreateTime: &createTime, CreatorId: creatorId, Creator: creator}
|
||||
a.RoleApp.SaveAccountRole(rr)
|
||||
}
|
||||
for _, v := range delIds {
|
||||
a.RoleApp.DeleteAccountRole(aid, v)
|
||||
}
|
||||
a.RoleApp.SaveAccountRole(contextx.NewLoginAccount(rc.LoginAccount), form.Id, newIds)
|
||||
}
|
||||
|
||||
// 重置otp秘钥
|
||||
|
||||
@@ -2,7 +2,7 @@ package form
|
||||
|
||||
// 分配角色资源表单信息
|
||||
type RoleResourceForm struct {
|
||||
Id int `json:"id"`
|
||||
Id uint64 `json:"id"`
|
||||
ResourceIds string `json:"resourceIds"`
|
||||
}
|
||||
|
||||
@@ -17,6 +17,6 @@ type RoleForm struct {
|
||||
|
||||
// 账号分配角色表单
|
||||
type AccountRoleForm struct {
|
||||
Id int `json:"id" binding:"required"`
|
||||
Id uint64 `json:"id" binding:"required"`
|
||||
RoleIds string `json:"roleIds"`
|
||||
}
|
||||
|
||||
@@ -6,13 +6,12 @@ import (
|
||||
"mayfly-go/internal/sys/application"
|
||||
"mayfly-go/internal/sys/domain/entity"
|
||||
"mayfly-go/pkg/biz"
|
||||
"mayfly-go/pkg/contextx"
|
||||
"mayfly-go/pkg/ginx"
|
||||
"mayfly-go/pkg/model"
|
||||
"mayfly-go/pkg/req"
|
||||
"mayfly-go/pkg/utils/collx"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
)
|
||||
|
||||
type Role struct {
|
||||
@@ -68,7 +67,6 @@ func (r *Role) RoleResource(rc *req.Ctx) {
|
||||
func (r *Role) SaveResource(rc *req.Ctx) {
|
||||
var form form.RoleResourceForm
|
||||
ginx.BindJsonAndValid(rc.GinCtx, &form)
|
||||
rid := uint64(form.Id)
|
||||
rc.ReqParam = form
|
||||
|
||||
// 将,拼接的字符串进行切割并转换
|
||||
@@ -77,26 +75,5 @@ func (r *Role) SaveResource(rc *req.Ctx) {
|
||||
return uint64(id)
|
||||
})
|
||||
|
||||
oIds := r.RoleApp.GetRoleResourceIds(uint64(form.Id))
|
||||
|
||||
addIds, delIds, _ := collx.ArrayCompare(newIds, oIds, func(i1, i2 uint64) bool {
|
||||
return i1 == i2
|
||||
})
|
||||
|
||||
createTime := time.Now()
|
||||
creator := rc.LoginAccount.Username
|
||||
creatorId := rc.LoginAccount.Id
|
||||
undeleted := model.ModelUndeleted
|
||||
|
||||
addVals := make([]*entity.RoleResource, 0)
|
||||
for _, v := range addIds {
|
||||
rr := &entity.RoleResource{RoleId: rid, ResourceId: v, CreateTime: &createTime, CreatorId: creatorId, Creator: creator}
|
||||
rr.IsDeleted = undeleted
|
||||
addVals = append(addVals, rr)
|
||||
}
|
||||
r.RoleApp.SaveRoleResource(addVals)
|
||||
|
||||
for _, v := range delIds {
|
||||
r.RoleApp.DeleteRoleResource(rid, v)
|
||||
}
|
||||
r.RoleApp.SaveRoleResource(contextx.NewLoginAccount(rc.LoginAccount), form.Id, newIds)
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@ import (
|
||||
"mayfly-go/pkg/utils/jsonx"
|
||||
)
|
||||
|
||||
const SysConfigKeyPrefix = "sys:config:"
|
||||
const SysConfigKeyPrefix = "mayfly:sys:config:"
|
||||
|
||||
type Config interface {
|
||||
GetPageList(condition *entity.Config, pageParam *model.PageParam, toEntity any, orderBy ...string) *model.PageResult[any]
|
||||
|
||||
@@ -1,11 +1,15 @@
|
||||
package application
|
||||
|
||||
import (
|
||||
"context"
|
||||
"mayfly-go/internal/sys/domain/entity"
|
||||
"mayfly-go/internal/sys/domain/repository"
|
||||
"mayfly-go/pkg/contextx"
|
||||
"mayfly-go/pkg/gormx"
|
||||
"mayfly-go/pkg/model"
|
||||
"mayfly-go/pkg/utils/collx"
|
||||
"strings"
|
||||
"time"
|
||||
)
|
||||
|
||||
type Role interface {
|
||||
@@ -20,7 +24,7 @@ type Role interface {
|
||||
GetRoleResources(roleId uint64, toEntity any)
|
||||
|
||||
// 保存角色资源关联记录
|
||||
SaveRoleResource(rr []*entity.RoleResource)
|
||||
SaveRoleResource(ctx context.Context, roleId uint64, resourceIds []uint64)
|
||||
|
||||
// 删除角色资源关联记录
|
||||
DeleteRoleResource(roleId uint64, resourceId uint64)
|
||||
@@ -29,7 +33,7 @@ type Role interface {
|
||||
GetAccountRoleIds(accountId uint64) []uint64
|
||||
|
||||
// 保存账号角色关联信息
|
||||
SaveAccountRole(rr *entity.AccountRole)
|
||||
SaveAccountRole(ctx context.Context, accountId uint64, roleIds []uint64)
|
||||
|
||||
DeleteAccountRole(accountId, roleId uint64)
|
||||
|
||||
@@ -76,8 +80,30 @@ func (m *roleAppImpl) GetRoleResources(roleId uint64, toEntity any) {
|
||||
m.roleRepo.GetRoleResources(roleId, toEntity)
|
||||
}
|
||||
|
||||
func (m *roleAppImpl) SaveRoleResource(rr []*entity.RoleResource) {
|
||||
m.roleRepo.SaveRoleResource(rr)
|
||||
func (m *roleAppImpl) SaveRoleResource(ctx context.Context, roleId uint64, resourceIds []uint64) {
|
||||
oIds := m.GetRoleResourceIds(roleId)
|
||||
|
||||
addIds, delIds, _ := collx.ArrayCompare(resourceIds, oIds, func(i1, i2 uint64) bool {
|
||||
return i1 == i2
|
||||
})
|
||||
|
||||
la := contextx.GetLoginAccount(ctx)
|
||||
createTime := time.Now()
|
||||
creator := la.Username
|
||||
creatorId := la.Id
|
||||
undeleted := model.ModelUndeleted
|
||||
|
||||
addVals := make([]*entity.RoleResource, 0)
|
||||
for _, v := range addIds {
|
||||
rr := &entity.RoleResource{RoleId: roleId, ResourceId: v, CreateTime: &createTime, CreatorId: creatorId, Creator: creator}
|
||||
rr.IsDeleted = undeleted
|
||||
addVals = append(addVals, rr)
|
||||
}
|
||||
m.roleRepo.SaveRoleResource(addVals)
|
||||
|
||||
for _, v := range delIds {
|
||||
m.DeleteRoleResource(roleId, v)
|
||||
}
|
||||
}
|
||||
|
||||
func (m *roleAppImpl) DeleteRoleResource(roleId uint64, resourceId uint64) {
|
||||
@@ -88,8 +114,26 @@ func (m *roleAppImpl) GetAccountRoleIds(accountId uint64) []uint64 {
|
||||
return m.roleRepo.GetAccountRoleIds(accountId)
|
||||
}
|
||||
|
||||
func (m *roleAppImpl) SaveAccountRole(rr *entity.AccountRole) {
|
||||
m.roleRepo.SaveAccountRole(rr)
|
||||
// 保存账号角色关联信息
|
||||
func (m *roleAppImpl) SaveAccountRole(ctx context.Context, accountId uint64, roleIds []uint64) {
|
||||
oIds := m.GetAccountRoleIds(accountId)
|
||||
|
||||
addIds, delIds, _ := collx.ArrayCompare(roleIds, oIds, func(i1, i2 uint64) bool {
|
||||
return i1 == i2
|
||||
})
|
||||
|
||||
la := contextx.GetLoginAccount(ctx)
|
||||
|
||||
createTime := time.Now()
|
||||
creator := la.Username
|
||||
creatorId := la.Id
|
||||
for _, v := range addIds {
|
||||
rr := &entity.AccountRole{AccountId: accountId, RoleId: v, CreateTime: &createTime, CreatorId: creatorId, Creator: creator}
|
||||
m.roleRepo.SaveAccountRole(rr)
|
||||
}
|
||||
for _, v := range delIds {
|
||||
m.DeleteAccountRole(accountId, v)
|
||||
}
|
||||
}
|
||||
|
||||
func (m *roleAppImpl) DeleteAccountRole(accountId, roleId uint64) {
|
||||
|
||||
Reference in New Issue
Block a user