This commit is contained in:
孟帅
2024-04-22 23:08:40 +08:00
parent 82483bd7b9
commit e144b12580
445 changed files with 17457 additions and 6708 deletions

View File

@@ -10,6 +10,7 @@ import (
"github.com/gogf/gf/v2/container/gvar"
"github.com/gogf/gf/v2/database/gdb"
"github.com/gogf/gf/v2/frame/g"
"hotgo/utility/convert"
)
// MemberInfo 后台用户信息
@@ -61,3 +62,76 @@ var MemberInfo = gdb.HookHandler{
return
},
}
type MemberSumma struct {
Id int64 `json:"id" description:"管理员ID"`
RealName string `json:"realName" description:"真实姓名"`
Username string `json:"username" description:"帐号"`
Avatar string `json:"avatar" description:"头像"`
}
// MemberSummary 操作人摘要信息
var MemberSummary = gdb.HookHandler{
Select: func(ctx context.Context, in *gdb.HookSelectInput) (result gdb.Result, err error) {
result, err = in.Next(ctx)
if err != nil {
return
}
var (
createdByIds []int64
updatedByIds []int64
memberIds []int64
)
for _, record := range result {
if record["created_by"].Int64() > 0 {
createdByIds = append(createdByIds, record["created_by"].Int64())
}
if record["updated_by"].Int64() > 0 {
updatedByIds = append(updatedByIds, record["updated_by"].Int64())
}
if record["member_id"].Int64() > 0 {
memberIds = append(memberIds, record["member_id"].Int64())
}
}
memberIds = append(memberIds, createdByIds...)
memberIds = append(memberIds, updatedByIds...)
memberIds = convert.UniqueSlice(memberIds)
if len(memberIds) == 0 {
return
}
var members []*MemberSumma
if err = g.Model("admin_member").Ctx(ctx).WhereIn("id", memberIds).Scan(&members); err != nil {
return nil, err
}
if len(members) == 0 {
return
}
findMember := func(id *gvar.Var) *MemberSumma {
for _, v := range members {
if v.Id == id.Int64() {
return v
}
}
return nil
}
for _, record := range result {
if record["created_by"].Int64() > 0 {
record["createdBySumma"] = gvar.New(findMember(record["created_by"]))
}
if record["updated_by"].Int64() > 0 {
record["updatedBySumma"] = gvar.New(findMember(record["updated_by"]))
}
if record["member_id"].Int64() > 0 {
record["memberBySumma"] = gvar.New(findMember(record["member_id"]))
}
}
return
},
}