mirror of
https://github.com/bufanyun/hotgo.git
synced 2025-11-13 20:53:49 +08:00
1、泛型化参数,预留泛型约束,方便以后代码扩展的类型安全校验
2、升级goframe至v2.7.3
This commit is contained in:
@@ -38,7 +38,7 @@ func init() {
|
||||
// View 获取指定提现信息
|
||||
func (s *sAdminCash) View(ctx context.Context, in *adminin.CashViewInp) (res *adminin.CashViewModel, err error) {
|
||||
// 这里做了强制限制非超管不允许访问,如果你想通过菜单权限控制,请注释掉以下验证
|
||||
if !service.AdminMember().VerifySuperId(ctx, contexts.GetUserId(ctx)) {
|
||||
if !service.AdminMember().VerifySuperId(ctx, contexts.GetUserId[any](ctx)) {
|
||||
err = gerror.New("没有访问权限")
|
||||
return
|
||||
}
|
||||
@@ -72,7 +72,7 @@ func (s *sAdminCash) View(ctx context.Context, in *adminin.CashViewInp) (res *ad
|
||||
func (s *sAdminCash) List(ctx context.Context, in *adminin.CashListInp) (list []*adminin.CashListModel, totalCount int, err error) {
|
||||
var (
|
||||
mod = dao.AdminCash.Ctx(ctx)
|
||||
opMemberId = contexts.GetUserId(ctx)
|
||||
opMemberId = contexts.GetUserId[any](ctx)
|
||||
isSuper = service.AdminMember().VerifySuperId(ctx, opMemberId)
|
||||
)
|
||||
|
||||
@@ -233,8 +233,8 @@ func (s *sAdminCash) Apply(ctx context.Context, in *adminin.CashApplyInp) (err e
|
||||
// 更新余额
|
||||
_, err = service.AdminCreditsLog().SaveBalance(ctx, &adminin.CreditsLogSaveBalanceInp{
|
||||
MemberId: in.MemberId,
|
||||
AppId: contexts.GetModule(ctx),
|
||||
AddonsName: contexts.GetAddonName(ctx),
|
||||
AppId: contexts.GetModule[any](ctx),
|
||||
AddonsName: contexts.GetAddonName[any](ctx),
|
||||
CreditGroup: consts.CreditGroupApplyCash,
|
||||
Num: -in.Money,
|
||||
MapId: lastInsertId,
|
||||
@@ -253,7 +253,7 @@ func (s *sAdminCash) Apply(ctx context.Context, in *adminin.CashApplyInp) (err e
|
||||
|
||||
// Payment 提现打款处理
|
||||
func (s *sAdminCash) Payment(ctx context.Context, in *adminin.CashPaymentInp) (err error) {
|
||||
if !service.AdminMember().VerifySuperId(ctx, contexts.GetUserId(ctx)) {
|
||||
if !service.AdminMember().VerifySuperId(ctx, contexts.GetUserId[any](ctx)) {
|
||||
err = gerror.New("没有访问权限")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -245,6 +245,6 @@ func (s *sAdminCreditsLog) Export(ctx context.Context, in *adminin.CreditsLogLis
|
||||
return
|
||||
}
|
||||
|
||||
err = excel.ExportByStructs(ctx, tags, exports, fileName, sheetName)
|
||||
err = excel.ExportByStructs[any](ctx, tags, exports, fileName, sheetName)
|
||||
return
|
||||
}
|
||||
|
||||
@@ -255,7 +255,7 @@ func (s *sAdminDept) GetName(ctx context.Context, id int64) (name string, err er
|
||||
func (s *sAdminDept) VerifyDeptId(ctx context.Context, id int64) (err error) {
|
||||
var (
|
||||
pid int64 = 0
|
||||
mb = contexts.GetUser(ctx)
|
||||
mb = contexts.GetUser[any](ctx)
|
||||
mod = dao.AdminDept.Ctx(ctx).Fields(dao.AdminDept.Columns().Id)
|
||||
)
|
||||
|
||||
@@ -291,8 +291,8 @@ func (s *sAdminDept) Option(ctx context.Context, in *adminin.DeptOptionInp) (res
|
||||
)
|
||||
|
||||
// 非超管只获取下级
|
||||
if !service.AdminMember().VerifySuperId(ctx, contexts.GetUserId(ctx)) {
|
||||
pid = contexts.GetUser(ctx).DeptId
|
||||
if !service.AdminMember().VerifySuperId(ctx, contexts.GetUserId[any](ctx)) {
|
||||
pid = contexts.GetUser[any](ctx).DeptId
|
||||
mod = mod.WhereLike(dao.AdminDept.Columns().Tree, "%"+tree.GetIdLabel(pid)+"%")
|
||||
}
|
||||
|
||||
|
||||
@@ -58,7 +58,7 @@ func init() {
|
||||
func (s *sAdminMember) AddBalance(ctx context.Context, in *adminin.MemberAddBalanceInp) (err error) {
|
||||
var (
|
||||
mb *entity.AdminMember
|
||||
memberId = contexts.GetUserId(ctx)
|
||||
memberId = contexts.GetUserId[any](ctx)
|
||||
)
|
||||
|
||||
if err = s.FilterAuthModel(ctx, memberId).WherePri(in.Id).Scan(&mb); err != nil {
|
||||
@@ -102,7 +102,7 @@ func (s *sAdminMember) AddBalance(ctx context.Context, in *adminin.MemberAddBala
|
||||
func (s *sAdminMember) AddIntegral(ctx context.Context, in *adminin.MemberAddIntegralInp) (err error) {
|
||||
var (
|
||||
mb *entity.AdminMember
|
||||
memberId = contexts.GetUserId(ctx)
|
||||
memberId = contexts.GetUserId[any](ctx)
|
||||
)
|
||||
|
||||
if err = s.FilterAuthModel(ctx, memberId).WherePri(in.Id).Scan(&mb); err != nil {
|
||||
@@ -144,7 +144,7 @@ func (s *sAdminMember) AddIntegral(ctx context.Context, in *adminin.MemberAddInt
|
||||
|
||||
// UpdateCash 修改提现信息
|
||||
func (s *sAdminMember) UpdateCash(ctx context.Context, in *adminin.MemberUpdateCashInp) (err error) {
|
||||
memberId := contexts.Get(ctx).User.Id
|
||||
memberId := contexts.Get[any](ctx).User.Id
|
||||
if memberId <= 0 {
|
||||
err = gerror.New("获取用户信息失败!")
|
||||
return
|
||||
@@ -180,7 +180,7 @@ func (s *sAdminMember) UpdateCash(ctx context.Context, in *adminin.MemberUpdateC
|
||||
|
||||
// UpdateEmail 换绑邮箱
|
||||
func (s *sAdminMember) UpdateEmail(ctx context.Context, in *adminin.MemberUpdateEmailInp) (err error) {
|
||||
memberId := contexts.Get(ctx).User.Id
|
||||
memberId := contexts.Get[any](ctx).User.Id
|
||||
if memberId <= 0 {
|
||||
err = gerror.New("获取用户信息失败!")
|
||||
return
|
||||
@@ -232,7 +232,7 @@ func (s *sAdminMember) UpdateEmail(ctx context.Context, in *adminin.MemberUpdate
|
||||
|
||||
// UpdateMobile 换绑手机号
|
||||
func (s *sAdminMember) UpdateMobile(ctx context.Context, in *adminin.MemberUpdateMobileInp) (err error) {
|
||||
memberId := contexts.Get(ctx).User.Id
|
||||
memberId := contexts.Get[any](ctx).User.Id
|
||||
if memberId <= 0 {
|
||||
err = gerror.New("获取用户信息失败!")
|
||||
return
|
||||
@@ -284,7 +284,7 @@ func (s *sAdminMember) UpdateMobile(ctx context.Context, in *adminin.MemberUpdat
|
||||
|
||||
// UpdateProfile 更新用户资料
|
||||
func (s *sAdminMember) UpdateProfile(ctx context.Context, in *adminin.MemberUpdateProfileInp) (err error) {
|
||||
memberId := contexts.Get(ctx).User.Id
|
||||
memberId := contexts.Get[any](ctx).User.Id
|
||||
if memberId <= 0 {
|
||||
err = gerror.New("获取用户信息失败!")
|
||||
return
|
||||
@@ -347,7 +347,7 @@ func (s *sAdminMember) UpdatePwd(ctx context.Context, in *adminin.MemberUpdatePw
|
||||
func (s *sAdminMember) ResetPwd(ctx context.Context, in *adminin.MemberResetPwdInp) (err error) {
|
||||
var (
|
||||
mb *entity.AdminMember
|
||||
memberId = contexts.GetUserId(ctx)
|
||||
memberId = contexts.GetUserId[any](ctx)
|
||||
)
|
||||
|
||||
if err = s.FilterAuthModel(ctx, memberId).WherePri(in.Id).Scan(&mb); err != nil {
|
||||
@@ -403,7 +403,7 @@ func (s *sAdminMember) VerifyUnique(ctx context.Context, in *adminin.VerifyUniqu
|
||||
|
||||
// Delete 删除用户
|
||||
func (s *sAdminMember) Delete(ctx context.Context, in *adminin.MemberDeleteInp) (err error) {
|
||||
memberId := contexts.GetUserId(ctx)
|
||||
memberId := contexts.GetUserId[any](ctx)
|
||||
if memberId <= 0 {
|
||||
err = gerror.New("获取用户信息失败!")
|
||||
return
|
||||
@@ -454,7 +454,7 @@ func (s *sAdminMember) Delete(ctx context.Context, in *adminin.MemberDeleteInp)
|
||||
|
||||
// Edit 修改/新增用户
|
||||
func (s *sAdminMember) Edit(ctx context.Context, in *adminin.MemberEditInp) (err error) {
|
||||
opMemberId := contexts.GetUserId(ctx)
|
||||
opMemberId := contexts.GetUserId[any](ctx)
|
||||
if opMemberId <= 0 {
|
||||
err = gerror.New("获取用户信息失败!")
|
||||
return
|
||||
@@ -582,7 +582,7 @@ func (s *sAdminMember) Edit(ctx context.Context, in *adminin.MemberEditInp) (err
|
||||
|
||||
// View 获取用户信息
|
||||
func (s *sAdminMember) View(ctx context.Context, in *adminin.MemberViewInp) (res *adminin.MemberViewModel, err error) {
|
||||
if err = s.FilterAuthModel(ctx, contexts.GetUserId(ctx)).Hook(hook.MemberInfo).WherePri(in.Id).Scan(&res); err != nil {
|
||||
if err = s.FilterAuthModel(ctx, contexts.GetUserId[any](ctx)).Hook(hook.MemberInfo).WherePri(in.Id).Scan(&res); err != nil {
|
||||
err = gerror.Wrap(err, "获取用户信息失败,请稍后重试!")
|
||||
}
|
||||
return
|
||||
@@ -590,7 +590,7 @@ func (s *sAdminMember) View(ctx context.Context, in *adminin.MemberViewInp) (res
|
||||
|
||||
// List 获取用户列表
|
||||
func (s *sAdminMember) List(ctx context.Context, in *adminin.MemberListInp) (list []*adminin.MemberListModel, totalCount int, err error) {
|
||||
mod := s.FilterAuthModel(ctx, contexts.GetUserId(ctx))
|
||||
mod := s.FilterAuthModel(ctx, contexts.GetUserId[any](ctx))
|
||||
cols := dao.AdminMember.Columns()
|
||||
|
||||
if in.RealName != "" {
|
||||
@@ -652,7 +652,7 @@ func (s *sAdminMember) Status(ctx context.Context, in *adminin.MemberStatusInp)
|
||||
return
|
||||
}
|
||||
|
||||
if _, err = s.FilterAuthModel(ctx, contexts.GetUserId(ctx)).WherePri(in.Id).Data(dao.AdminMember.Columns().Status, in.Status).Update(); err != nil {
|
||||
if _, err = s.FilterAuthModel(ctx, contexts.GetUserId[any](ctx)).WherePri(in.Id).Data(dao.AdminMember.Columns().Status, in.Status).Update(); err != nil {
|
||||
err = gerror.Wrap(err, "更新用户状态失败,请稍后重试!")
|
||||
}
|
||||
return
|
||||
@@ -677,7 +677,7 @@ func (s *sAdminMember) GenTree(ctx context.Context, pid int64) (level int, newTr
|
||||
|
||||
// LoginMemberInfo 获取登录用户信息
|
||||
func (s *sAdminMember) LoginMemberInfo(ctx context.Context) (res *adminin.LoginMemberInfoModel, err error) {
|
||||
var memberId = contexts.GetUserId(ctx)
|
||||
var memberId = contexts.GetUserId[any](ctx)
|
||||
if memberId <= 0 {
|
||||
err = gerror.New("用户身份异常,请重新登录!")
|
||||
return
|
||||
@@ -710,7 +710,7 @@ func (s *sAdminMember) LoginMemberInfo(ctx context.Context) (res *adminin.LoginM
|
||||
res.Mobile = gstr.HideStr(res.Mobile, 40, `*`)
|
||||
res.Email = gstr.HideStr(res.Email, 40, `*`)
|
||||
res.OpenId, _ = service.CommonWechat().GetOpenId(ctx)
|
||||
res.DeptType = contexts.GetDeptType(ctx)
|
||||
res.DeptType = contexts.GetDeptType[any](ctx)
|
||||
return
|
||||
}
|
||||
|
||||
@@ -756,7 +756,7 @@ func (s *sAdminMember) GetIdByCode(ctx context.Context, in *adminin.GetIdByCodeI
|
||||
// Select 获取可选的用户选项
|
||||
func (s *sAdminMember) Select(ctx context.Context, in *adminin.MemberSelectInp) (res []*adminin.MemberSelectModel, err error) {
|
||||
err = dao.AdminMember.Ctx(ctx).Fields("id as value,real_name as label,username,avatar").
|
||||
Handler(handler.FilterAuthWithField("id")).
|
||||
Handler(handler.FilterAuthWithField[any]("id")).
|
||||
Scan(&res)
|
||||
if err != nil {
|
||||
err = gerror.Wrap(err, "获取可选用户选项失败,请稍后重试!")
|
||||
@@ -837,9 +837,9 @@ func (s *sAdminMember) FilterAuthModel(ctx context.Context, memberId int64) *gdb
|
||||
}
|
||||
|
||||
var roleId int64
|
||||
if contexts.GetUserId(ctx) == memberId {
|
||||
if contexts.GetUserId[any](ctx) == memberId {
|
||||
// 当前登录用户直接从上下文中取角色ID
|
||||
roleId = contexts.GetRoleId(ctx)
|
||||
roleId = contexts.GetRoleId[any](ctx)
|
||||
} else {
|
||||
ro, err := dao.AdminMember.Ctx(ctx).Fields("role_id").Where("id", memberId).Value()
|
||||
if err != nil {
|
||||
@@ -854,5 +854,5 @@ func (s *sAdminMember) FilterAuthModel(ctx context.Context, memberId int64) *gdb
|
||||
g.Log().Panicf(ctx, "get the subordinate role permission exception, err:%+v", err)
|
||||
return nil
|
||||
}
|
||||
return m.Where("id <> ?", memberId).WhereIn("role_id", roleIds).Handler(handler.FilterAuthWithField("id"))
|
||||
return m.Where("id <> ?", memberId).WhereIn("role_id", roleIds).Handler(handler.FilterAuthWithField[any]("id"))
|
||||
}
|
||||
|
||||
@@ -183,7 +183,7 @@ func (s *sAdminMenu) GetMenuList(ctx context.Context, memberId int64) (res *role
|
||||
|
||||
// 非超管验证允许的菜单列表
|
||||
if !service.AdminMember().VerifySuperId(ctx, memberId) {
|
||||
menuIds, err := dao.AdminRoleMenu.Ctx(ctx).Fields("menu_id").Where("role_id", contexts.GetRoleId(ctx)).Array()
|
||||
menuIds, err := dao.AdminRoleMenu.Ctx(ctx).Fields("menu_id").Where("role_id", contexts.GetRoleId[any](ctx)).Array()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -242,7 +242,7 @@ func (s *sAdminMenu) LoginPermissions(ctx context.Context, memberId int64) (list
|
||||
|
||||
// 非超管验证允许的菜单列表
|
||||
if !service.AdminMember().VerifySuperId(ctx, memberId) {
|
||||
menuIds, err := dao.AdminRoleMenu.Ctx(ctx).Fields("menu_id").Where("role_id", contexts.GetRoleId(ctx)).Array()
|
||||
menuIds, err := dao.AdminRoleMenu.Ctx(ctx).Fields("menu_id").Where("role_id", contexts.GetRoleId[any](ctx)).Array()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -48,7 +48,7 @@ func (s *sAdminNotice) Delete(ctx context.Context, in *adminin.NoticeDeleteInp)
|
||||
|
||||
// Edit 修改/新增
|
||||
func (s *sAdminNotice) Edit(ctx context.Context, in *adminin.NoticeEditInp) (err error) {
|
||||
var member = contexts.Get(ctx).User
|
||||
var member = contexts.Get[any](ctx).User
|
||||
if member == nil {
|
||||
err = gerror.New("获取用户信息失败!")
|
||||
return
|
||||
@@ -66,7 +66,7 @@ func (s *sAdminNotice) Edit(ctx context.Context, in *adminin.NoticeEditInp) (err
|
||||
|
||||
// 检查选项接收人是否合法
|
||||
if in.Type == consts.NoticeTypeLetter {
|
||||
count, _ := dao.AdminMember.Ctx(ctx).Handler(handler.FilterAuthWithField("id")).WhereIn("id", in.Receiver).Count()
|
||||
count, _ := dao.AdminMember.Ctx(ctx).Handler(handler.FilterAuthWithField[any]("id")).WhereIn("id", in.Receiver).Count()
|
||||
if count != len(in.Receiver) {
|
||||
err = gerror.New("接收人不合法")
|
||||
return
|
||||
@@ -159,7 +159,7 @@ func (s *sAdminNotice) View(ctx context.Context, in *adminin.NoticeViewInp) (res
|
||||
|
||||
// List 获取列表
|
||||
func (s *sAdminNotice) List(ctx context.Context, in *adminin.NoticeListInp) (list []*adminin.NoticeListModel, totalCount int, err error) {
|
||||
var memberId = contexts.GetUserId(ctx)
|
||||
var memberId = contexts.GetUserId[any](ctx)
|
||||
if memberId <= 0 {
|
||||
err = gerror.New("获取用户信息失败!")
|
||||
return
|
||||
@@ -224,7 +224,7 @@ func (s *sAdminNotice) List(ctx context.Context, in *adminin.NoticeListInp) (lis
|
||||
|
||||
// PullMessages 拉取未读消息列表
|
||||
func (s *sAdminNotice) PullMessages(ctx context.Context, in *adminin.PullMessagesInp) (res *adminin.PullMessagesModel, err error) {
|
||||
var memberId = contexts.GetUserId(ctx)
|
||||
var memberId = contexts.GetUserId[any](ctx)
|
||||
if memberId <= 0 {
|
||||
err = gerror.New("获取用户信息失败!")
|
||||
return
|
||||
@@ -269,7 +269,7 @@ func (s *sAdminNotice) PullMessages(ctx context.Context, in *adminin.PullMessage
|
||||
// UnreadCount 获取所有类型消息的未读数量
|
||||
func (s *sAdminNotice) UnreadCount(ctx context.Context, in *adminin.NoticeUnreadCountInp) (res *adminin.NoticeUnreadCountModel, err error) {
|
||||
if in.MemberId <= 0 {
|
||||
if in.MemberId = contexts.GetUserId(ctx); in.MemberId <= 0 {
|
||||
if in.MemberId = contexts.GetUserId[any](ctx); in.MemberId <= 0 {
|
||||
err = gerror.New("获取用户信息失败!")
|
||||
return
|
||||
}
|
||||
@@ -340,7 +340,7 @@ func (s *sAdminNotice) messageIds(ctx context.Context, memberId int64) (ids []in
|
||||
func (s *sAdminNotice) UpRead(ctx context.Context, in *adminin.NoticeUpReadInp) (err error) {
|
||||
var (
|
||||
data *entity.AdminNotice
|
||||
memberId = contexts.GetUserId(ctx)
|
||||
memberId = contexts.GetUserId[any](ctx)
|
||||
)
|
||||
|
||||
if memberId <= 0 {
|
||||
@@ -361,7 +361,7 @@ func (s *sAdminNotice) UpRead(ctx context.Context, in *adminin.NoticeUpReadInp)
|
||||
|
||||
// ReadAll 已读全部
|
||||
func (s *sAdminNotice) ReadAll(ctx context.Context, in *adminin.NoticeReadAllInp) (err error) {
|
||||
var memberId = contexts.GetUserId(ctx)
|
||||
var memberId = contexts.GetUserId[any](ctx)
|
||||
if memberId <= 0 {
|
||||
err = gerror.New("获取用户信息失败!")
|
||||
return
|
||||
@@ -435,7 +435,7 @@ func (s *sAdminNotice) updatedReadClicks(ctx context.Context, noticeId, memberId
|
||||
|
||||
// MessageList 我的消息列表
|
||||
func (s *sAdminNotice) MessageList(ctx context.Context, in *adminin.NoticeMessageListInp) (list []*adminin.NoticeMessageListModel, totalCount int, err error) {
|
||||
var memberId = contexts.GetUserId(ctx)
|
||||
var memberId = contexts.GetUserId[any](ctx)
|
||||
if memberId <= 0 {
|
||||
err = gerror.New("获取用户信息失败!")
|
||||
return
|
||||
|
||||
@@ -70,8 +70,8 @@ func (s *sAdminOrder) AcceptRefund(ctx context.Context, in *adminin.OrderAcceptR
|
||||
// 更新余额
|
||||
_, err = service.AdminCreditsLog().SaveBalance(ctx, &adminin.CreditsLogSaveBalanceInp{
|
||||
MemberId: view.MemberId,
|
||||
AppId: contexts.GetModule(ctx),
|
||||
AddonsName: contexts.GetAddonName(ctx),
|
||||
AppId: contexts.GetModule[any](ctx),
|
||||
AddonsName: contexts.GetAddonName[any](ctx),
|
||||
CreditGroup: consts.CreditGroupBalanceRefund,
|
||||
Num: -view.Money,
|
||||
MapId: view.Id,
|
||||
@@ -217,7 +217,7 @@ func (s *sAdminOrder) Create(ctx context.Context, in *adminin.OrderCreateInp) (r
|
||||
res = new(adminin.OrderCreateModel)
|
||||
err = g.DB().Transaction(ctx, func(ctx context.Context, tx gdb.TX) (err error) {
|
||||
_, err = s.Model(ctx).Data(entity.AdminOrder{
|
||||
MemberId: contexts.GetUserId(ctx),
|
||||
MemberId: contexts.GetUserId[any](ctx),
|
||||
OrderType: in.OrderType,
|
||||
ProductId: in.ProductId,
|
||||
OrderSn: orderSn,
|
||||
@@ -326,7 +326,7 @@ func (s *sAdminOrder) Export(ctx context.Context, in *adminin.OrderListInp) (err
|
||||
return
|
||||
}
|
||||
|
||||
err = excel.ExportByStructs(ctx, tags, exports, fileName, sheetName)
|
||||
err = excel.ExportByStructs[any](ctx, tags, exports, fileName, sheetName)
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ func init() {
|
||||
// Verify 验证权限
|
||||
func (s *sAdminRole) Verify(ctx context.Context, path, method string) bool {
|
||||
var (
|
||||
user = contexts.Get(ctx).User
|
||||
user = contexts.Get[any](ctx).User
|
||||
err error
|
||||
)
|
||||
|
||||
@@ -69,8 +69,8 @@ func (s *sAdminRole) List(ctx context.Context, in *adminin.RoleListInp) (res *ad
|
||||
)
|
||||
|
||||
// 非超管只获取下级角色
|
||||
if !service.AdminMember().VerifySuperId(ctx, contexts.GetUserId(ctx)) {
|
||||
pid = contexts.GetRoleId(ctx)
|
||||
if !service.AdminMember().VerifySuperId(ctx, contexts.GetUserId[any](ctx)) {
|
||||
pid = contexts.GetRoleId[any](ctx)
|
||||
mod = mod.WhereLike(dao.AdminRole.Columns().Tree, "%"+tree.GetIdLabel(pid)+"%")
|
||||
}
|
||||
|
||||
@@ -309,7 +309,7 @@ func (s *sAdminRole) treeList(pid int64, nodes []*entity.AdminRole) (list []*adm
|
||||
|
||||
// VerifyRoleId 验证角色ID
|
||||
func (s *sAdminRole) VerifyRoleId(ctx context.Context, id int64) (err error) {
|
||||
mb := contexts.GetUser(ctx)
|
||||
mb := contexts.GetUser[any](ctx)
|
||||
if mb == nil {
|
||||
err = gerror.New("用户信息获取失败!")
|
||||
return
|
||||
|
||||
@@ -333,6 +333,6 @@ func (s *sAdminSite) BindUserContext(ctx context.Context, claims *model.Identity
|
||||
LoginAt: claims.LoginAt,
|
||||
}
|
||||
|
||||
contexts.SetUser(ctx, user)
|
||||
contexts.SetUser[any](ctx, user)
|
||||
return
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@ func init() {
|
||||
|
||||
// UploadFile 上传文件
|
||||
func (s *sCommonUpload) UploadFile(ctx context.Context, uploadType string, file *ghttp.UploadFile) (res *sysin.AttachmentListModel, err error) {
|
||||
attachment, err := storager.DoUpload(ctx, uploadType, file)
|
||||
attachment, err := storager.DoUpload[any](ctx, uploadType, file)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
@@ -41,7 +41,7 @@ func (s *sCommonUpload) UploadFile(ctx context.Context, uploadType string, file
|
||||
|
||||
// CheckMultipart 检查文件分片
|
||||
func (s *sCommonUpload) CheckMultipart(ctx context.Context, in *sysin.CheckMultipartInp) (res *sysin.CheckMultipartModel, err error) {
|
||||
data, err := storager.CheckMultipart(ctx, in.CheckMultipartParams)
|
||||
data, err := storager.CheckMultipart[any](ctx, in.CheckMultipartParams)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -64,7 +64,7 @@ func (s *sCommonWechat) Authorize(ctx context.Context, in *commonin.WechatAuthor
|
||||
prefix = g.Cfg().MustGet(ctx, "router.admin.prefix", "/admin").String()
|
||||
path = gmeta.Get(common.WechatAuthorizeCallReq{}, "path").String()
|
||||
redirectUri = basic.Domain + prefix + path
|
||||
memberId = contexts.GetUserId(ctx)
|
||||
memberId = contexts.GetUserId[any](ctx)
|
||||
state = s.GetCacheKey(in.Type, token.GetAuthKey(token.GetAuthorization(request)))
|
||||
scope string
|
||||
)
|
||||
|
||||
@@ -27,11 +27,11 @@ func (s *sHook) accessLog(r *ghttp.Request) {
|
||||
}
|
||||
|
||||
var ctx = r.Context()
|
||||
if contexts.Get(ctx) == nil {
|
||||
if contexts.Get[any](ctx) == nil {
|
||||
return
|
||||
}
|
||||
|
||||
contexts.SetDataMap(ctx, g.Map{
|
||||
contexts.SetDataMap[any](ctx, g.Map{
|
||||
"request.takeUpTime": gtime.Now().Sub(gtime.New(r.EnterTime)).Milliseconds(),
|
||||
// ...
|
||||
})
|
||||
|
||||
@@ -71,7 +71,7 @@ func (s *sHook) lastAdminActive(r *ghttp.Request) {
|
||||
|
||||
var (
|
||||
ctx = r.Context()
|
||||
member = contexts.GetUser(ctx)
|
||||
member = contexts.GetUser[any](ctx)
|
||||
)
|
||||
|
||||
if member == nil || member.App != consts.AppAdmin {
|
||||
|
||||
@@ -44,7 +44,7 @@ func (s *sMiddleware) AdminAuth(r *ghttp.Request) {
|
||||
|
||||
// 验证路由访问权限
|
||||
if !service.AdminRole().Verify(ctx, path, r.Method) {
|
||||
g.Log().Debugf(ctx, "AdminAuth fail path:%+v, GetRoleKey:%+v, r.Method:%+v", path, contexts.GetRoleKey(ctx), r.Method)
|
||||
g.Log().Debugf(ctx, "AdminAuth fail path:%+v, GetRoleKey:%+v, r.Method:%+v", path, contexts.GetRoleKey[any](ctx), r.Method)
|
||||
response.JsonExit(r, gcode.CodeSecurityReason.Code(), "你没有访问权限!")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -73,7 +73,7 @@ func (s *sMiddleware) Ctx(r *ghttp.Request) {
|
||||
data["request.body"] = gjson.New(r.GetBodyString())
|
||||
}
|
||||
|
||||
contexts.Init(r, &model.Context{
|
||||
contexts.Init(r, &model.Context[any]{
|
||||
Data: data,
|
||||
Module: getModule(r.URL.Path),
|
||||
})
|
||||
@@ -129,13 +129,13 @@ func (s *sMiddleware) DemoLimit(r *ghttp.Request) {
|
||||
func (s *sMiddleware) Addon(r *ghttp.Request) {
|
||||
var ctx = r.Context()
|
||||
|
||||
if contexts.Get(ctx).Module == "" {
|
||||
if contexts.Get[any](ctx).Module == "" {
|
||||
g.Log().Warning(ctx, "application module is not initialized.")
|
||||
return
|
||||
}
|
||||
|
||||
// 替换掉应用模块前缀
|
||||
path := gstr.Replace(r.URL.Path, "/"+contexts.Get(ctx).Module+"/", "", 1)
|
||||
path := gstr.Replace(r.URL.Path, "/"+contexts.Get[any](ctx).Module+"/", "", 1)
|
||||
ss := gstr.Explode("/", path)
|
||||
if len(ss) == 0 {
|
||||
g.Log().Warning(ctx, "addon was not recognized.")
|
||||
@@ -154,7 +154,7 @@ func (s *sMiddleware) Addon(r *ghttp.Request) {
|
||||
return
|
||||
}
|
||||
|
||||
contexts.SetAddonName(ctx, sk.Name)
|
||||
contexts.SetAddonName[any](ctx, sk.Name)
|
||||
r.Middleware.Next()
|
||||
}
|
||||
|
||||
@@ -171,7 +171,7 @@ func (s *sMiddleware) DeliverUserContext(r *ghttp.Request) (err error) {
|
||||
return
|
||||
}
|
||||
default:
|
||||
contexts.SetUser(r.Context(), user)
|
||||
contexts.SetUser[any](r.Context(), user)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
@@ -69,9 +69,9 @@ func (s *sPay) Create(ctx context.Context, in payin.PayCreateInp) (res *payin.Pa
|
||||
}
|
||||
|
||||
data := &entity.PayLog{
|
||||
MemberId: contexts.GetUserId(ctx),
|
||||
AppId: contexts.GetModule(ctx),
|
||||
AddonsName: contexts.GetAddonName(ctx),
|
||||
MemberId: contexts.GetUserId[any](ctx),
|
||||
AppId: contexts.GetModule[any](ctx),
|
||||
AddonsName: contexts.GetAddonName[any](ctx),
|
||||
OrderSn: in.OrderSn,
|
||||
OrderGroup: in.OrderGroup,
|
||||
Openid: in.Openid,
|
||||
|
||||
@@ -97,7 +97,7 @@ func (s *sPay) Export(ctx context.Context, in payin.PayListInp) (err error) {
|
||||
return
|
||||
}
|
||||
|
||||
err = excel.ExportByStructs(ctx, tags, exports, fileName, sheetName)
|
||||
err = excel.ExportByStructs[any](ctx, tags, exports, fileName, sheetName)
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
@@ -213,6 +213,6 @@ func (s *sPayRefund) Export(ctx context.Context, in *payin.PayRefundListInp) (er
|
||||
return
|
||||
}
|
||||
|
||||
err = excel.ExportByStructs(ctx, tags, exports, fileName, sheetName)
|
||||
err = excel.ExportByStructs[any](ctx, tags, exports, fileName, sheetName)
|
||||
return
|
||||
}
|
||||
|
||||
@@ -55,7 +55,7 @@ func (s *sSysAttachment) View(ctx context.Context, in *sysin.AttachmentViewInp)
|
||||
// List 获取附件列表
|
||||
func (s *sSysAttachment) List(ctx context.Context, in *sysin.AttachmentListInp) (list []*sysin.AttachmentListModel, totalCount int, err error) {
|
||||
mod := s.Model(ctx)
|
||||
memberId := contexts.GetUserId(ctx)
|
||||
memberId := contexts.GetUserId[any](ctx)
|
||||
|
||||
// 超管允许查看指定用户的附件
|
||||
if service.AdminMember().VerifySuperId(ctx, memberId) && in.MemberId > 0 {
|
||||
@@ -108,7 +108,7 @@ func (s *sSysAttachment) List(ctx context.Context, in *sysin.AttachmentListInp)
|
||||
|
||||
// ClearKind 清空上传类型
|
||||
func (s *sSysAttachment) ClearKind(ctx context.Context, in *sysin.AttachmentClearKindInp) (err error) {
|
||||
memberId := contexts.GetUserId(ctx)
|
||||
memberId := contexts.GetUserId[any](ctx)
|
||||
if _, err = s.Model(ctx).Where(dao.SysAttachment.Columns().MemberId, memberId).Where(dao.SysAttachment.Columns().Kind, in.Kind).Delete(); err != nil {
|
||||
err = gerror.Wrap(err, "删除附件上传类型失败,请稍后重试!")
|
||||
}
|
||||
|
||||
@@ -129,7 +129,7 @@ func (s *sSysCurdDemo) Export(ctx context.Context, in *sysin.CurdDemoListInp) (e
|
||||
return
|
||||
}
|
||||
|
||||
err = excel.ExportByStructs(ctx, tags, exports, fileName, sheetName)
|
||||
err = excel.ExportByStructs[any](ctx, tags, exports, fileName, sheetName)
|
||||
return
|
||||
}
|
||||
|
||||
@@ -139,7 +139,7 @@ func (s *sSysCurdDemo) Edit(ctx context.Context, in *sysin.CurdDemoEditInp) (err
|
||||
|
||||
// 修改
|
||||
if in.Id > 0 {
|
||||
in.UpdatedBy = contexts.GetUserId(ctx)
|
||||
in.UpdatedBy = contexts.GetUserId[any](ctx)
|
||||
if _, err = s.Model(ctx).
|
||||
Fields(sysin.CurdDemoUpdateFields{}).
|
||||
WherePri(in.Id).Data(in).Update(); err != nil {
|
||||
@@ -149,7 +149,7 @@ func (s *sSysCurdDemo) Edit(ctx context.Context, in *sysin.CurdDemoEditInp) (err
|
||||
}
|
||||
|
||||
// 新增
|
||||
in.CreatedBy = contexts.GetUserId(ctx)
|
||||
in.CreatedBy = contexts.GetUserId[any](ctx)
|
||||
if _, err = s.Model(ctx, &handler.Option{FilterAuth: false}).
|
||||
Fields(sysin.CurdDemoInsertFields{}).
|
||||
Data(in).OmitEmptyData().Insert(); err != nil {
|
||||
@@ -163,7 +163,7 @@ func (s *sSysCurdDemo) Edit(ctx context.Context, in *sysin.CurdDemoEditInp) (err
|
||||
func (s *sSysCurdDemo) Delete(ctx context.Context, in *sysin.CurdDemoDeleteInp) (err error) {
|
||||
|
||||
if _, err = s.Model(ctx).WherePri(in.Id).Data(g.Map{
|
||||
dao.SysGenCurdDemo.Columns().DeletedBy: contexts.GetUserId(ctx),
|
||||
dao.SysGenCurdDemo.Columns().DeletedBy: contexts.GetUserId[any](ctx),
|
||||
dao.SysGenCurdDemo.Columns().DeletedAt: gtime.Now(),
|
||||
}).Update(); err != nil {
|
||||
err = gerror.Wrap(err, "删除CURD列表失败,请稍后重试!")
|
||||
@@ -200,7 +200,7 @@ func (s *sSysCurdDemo) View(ctx context.Context, in *sysin.CurdDemoViewInp) (res
|
||||
func (s *sSysCurdDemo) Status(ctx context.Context, in *sysin.CurdDemoStatusInp) (err error) {
|
||||
if _, err = s.Model(ctx).WherePri(in.Id).Data(g.Map{
|
||||
dao.SysGenCurdDemo.Columns().Status: in.Status,
|
||||
dao.SysGenCurdDemo.Columns().UpdatedBy: contexts.GetUserId(ctx),
|
||||
dao.SysGenCurdDemo.Columns().UpdatedBy: contexts.GetUserId[any](ctx),
|
||||
}).Update(); err != nil {
|
||||
err = gerror.Wrap(err, "更新CURD列表状态失败,请稍后重试!")
|
||||
return
|
||||
@@ -222,7 +222,7 @@ func (s *sSysCurdDemo) Switch(ctx context.Context, in *sysin.CurdDemoSwitchInp)
|
||||
|
||||
if _, err = s.Model(ctx).WherePri(in.Id).Data(g.Map{
|
||||
in.Key: in.Value,
|
||||
dao.SysGenCurdDemo.Columns().UpdatedBy: contexts.GetUserId(ctx),
|
||||
dao.SysGenCurdDemo.Columns().UpdatedBy: contexts.GetUserId[any](ctx),
|
||||
}).Update(); err != nil {
|
||||
err = gerror.Wrap(err, "更新CURD列表开关失败,请稍后重试!")
|
||||
return
|
||||
|
||||
@@ -210,7 +210,7 @@ func (s *sSysEmsLog) newView(ctx context.Context, in *sysin.SendEmsInp, config *
|
||||
|
||||
var (
|
||||
username string
|
||||
user = contexts.GetUser(ctx)
|
||||
user = contexts.GetUser[any](ctx)
|
||||
request = ghttp.RequestFromCtx(ctx)
|
||||
ip = location.GetClientIp(request)
|
||||
)
|
||||
|
||||
@@ -101,7 +101,7 @@ func (s *sSysLog) Export(ctx context.Context, in *sysin.LogListInp) (err error)
|
||||
exportList = append(exportList, row)
|
||||
}
|
||||
|
||||
err = excel.ExportByStructs(ctx, titleList, exportList, fileName, sheetName)
|
||||
err = excel.ExportByStructs[any](ctx, titleList, exportList, fileName, sheetName)
|
||||
return
|
||||
}
|
||||
|
||||
@@ -151,7 +151,7 @@ func (s *sSysLog) AutoLog(ctx context.Context) error {
|
||||
// AnalysisLog 解析日志数据
|
||||
func (s *sSysLog) AnalysisLog(ctx context.Context) entity.SysLog {
|
||||
var (
|
||||
mctx = contexts.Get(ctx)
|
||||
mctx = contexts.Get[any](ctx)
|
||||
response = mctx.Response
|
||||
user = mctx.User
|
||||
request = ghttp.RequestFromCtx(ctx)
|
||||
|
||||
@@ -115,7 +115,7 @@ func (s *sSysLoginLog) Export(ctx context.Context, in *sysin.LoginLogListInp) (e
|
||||
return
|
||||
}
|
||||
|
||||
err = excel.ExportByStructs(ctx, tags, exports, fileName, sheetName)
|
||||
err = excel.ExportByStructs[any](ctx, tags, exports, fileName, sheetName)
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
@@ -100,7 +100,7 @@ func (s *sSysNormalTreeDemo) Edit(ctx context.Context, in *sysin.NormalTreeDemoE
|
||||
}
|
||||
// 修改
|
||||
if in.Id > 0 {
|
||||
in.UpdatedBy = contexts.GetUserId(ctx)
|
||||
in.UpdatedBy = contexts.GetUserId[any](ctx)
|
||||
if _, err = s.Model(ctx).
|
||||
Fields(sysin.NormalTreeDemoUpdateFields{}).
|
||||
WherePri(in.Id).Data(in).Update(); err != nil {
|
||||
@@ -110,7 +110,7 @@ func (s *sSysNormalTreeDemo) Edit(ctx context.Context, in *sysin.NormalTreeDemoE
|
||||
}
|
||||
|
||||
// 新增
|
||||
in.CreatedBy = contexts.GetUserId(ctx)
|
||||
in.CreatedBy = contexts.GetUserId[any](ctx)
|
||||
if _, err = s.Model(ctx, &handler.Option{FilterAuth: false}).
|
||||
Fields(sysin.NormalTreeDemoInsertFields{}).
|
||||
Data(in).OmitEmptyData().Insert(); err != nil {
|
||||
|
||||
@@ -100,7 +100,7 @@ func (s *sSysOptionTreeDemo) Edit(ctx context.Context, in *sysin.OptionTreeDemoE
|
||||
}
|
||||
// 修改
|
||||
if in.Id > 0 {
|
||||
in.UpdatedBy = contexts.GetUserId(ctx)
|
||||
in.UpdatedBy = contexts.GetUserId[any](ctx)
|
||||
if _, err = s.Model(ctx).
|
||||
Fields(sysin.OptionTreeDemoUpdateFields{}).
|
||||
WherePri(in.Id).Data(in).Update(); err != nil {
|
||||
@@ -110,7 +110,7 @@ func (s *sSysOptionTreeDemo) Edit(ctx context.Context, in *sysin.OptionTreeDemoE
|
||||
}
|
||||
|
||||
// 新增
|
||||
in.CreatedBy = contexts.GetUserId(ctx)
|
||||
in.CreatedBy = contexts.GetUserId[any](ctx)
|
||||
if _, err = s.Model(ctx, &handler.Option{FilterAuth: false}).
|
||||
Fields(sysin.OptionTreeDemoInsertFields{}).
|
||||
Data(in).OmitEmptyData().Insert(); err != nil {
|
||||
|
||||
@@ -123,7 +123,7 @@ func (s *sSysServeLicense) Export(ctx context.Context, in *sysin.ServeLicenseLis
|
||||
return
|
||||
}
|
||||
|
||||
err = excel.ExportByStructs(ctx, tags, exports, fileName, sheetName)
|
||||
err = excel.ExportByStructs[any](ctx, tags, exports, fileName, sheetName)
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
@@ -88,7 +88,7 @@ func (s *sSysServeLog) List(ctx context.Context, in *sysin.ServeLogListInp) (lis
|
||||
return
|
||||
}
|
||||
|
||||
err = mod.Fields(fields).Handler(handler.FilterAuth).Page(in.Page, in.PerPage).OrderDesc(dao.SysServeLog.Columns().Id).Scan(&list)
|
||||
err = mod.Fields(fields).Handler(handler.FilterAuth[any]).Page(in.Page, in.PerPage).OrderDesc(dao.SysServeLog.Columns().Id).Scan(&list)
|
||||
return
|
||||
}
|
||||
|
||||
@@ -115,7 +115,7 @@ func (s *sSysServeLog) Export(ctx context.Context, in *sysin.ServeLogListInp) (e
|
||||
return err
|
||||
}
|
||||
|
||||
err = excel.ExportByStructs(ctx, tags, exports, fileName, sheetName)
|
||||
err = excel.ExportByStructs[any](ctx, tags, exports, fileName, sheetName)
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
@@ -83,7 +83,7 @@ func (s *sView) RenderTpl(ctx context.Context, tpl string, data ...model.View) {
|
||||
viewData["BuildIn"] = &viewBuildIn{httpRequest: request}
|
||||
|
||||
// 插件模板,兼容从资源文件中读取
|
||||
if addonName := contexts.GetAddonName(ctx); len(addonName) > 0 {
|
||||
if addonName := contexts.GetAddonName[any](ctx); len(addonName) > 0 {
|
||||
basePath := addons.GetResourcePath(ctx)
|
||||
if len(basePath) > 0 && !gstr.Contains(tpl, basePath) {
|
||||
path := addons.ViewPath(addonName, basePath)
|
||||
|
||||
Reference in New Issue
Block a user