diff --git a/server/internal/controller/admin/common/ems.go b/server/internal/controller/admin/common/ems.go index 7b63963..37ae41c 100644 --- a/server/internal/controller/admin/common/ems.go +++ b/server/internal/controller/admin/common/ems.go @@ -53,7 +53,7 @@ func (c *cEms) SendBindEms(ctx context.Context, _ *common.SendBindEmsReq) (res * return } - if err = g.Model("admin_member").Fields("email").Where("id", memberId).Scan(&models); err != nil { + if err = dao.AdminMember.Ctx(ctx).Fields(dao.AdminMember.Columns().Email).Where(dao.AdminMember.Columns().Id, memberId).Scan(&models); err != nil { return } diff --git a/server/internal/controller/admin/common/sms.go b/server/internal/controller/admin/common/sms.go index beae377..1964bb2 100644 --- a/server/internal/controller/admin/common/sms.go +++ b/server/internal/controller/admin/common/sms.go @@ -39,7 +39,7 @@ func (c *cSms) SendBindSms(ctx context.Context, _ *common.SendBindSmsReq) (res * return } - if err = g.Model("admin_member").Fields("mobile").Where("id", memberId).Scan(&models); err != nil { + if err = dao.AdminMember.Ctx(ctx).Fields(dao.AdminMember.Columns().Mobile).Where(dao.AdminMember.Columns().Id, memberId).Scan(&models); err != nil { return } diff --git a/server/internal/library/addons/install.go b/server/internal/library/addons/install.go index 9f673a3..976aadd 100644 --- a/server/internal/library/addons/install.go +++ b/server/internal/library/addons/install.go @@ -7,11 +7,13 @@ package addons import ( "context" + "hotgo/internal/consts" + "hotgo/internal/dao" + "github.com/gogf/gf/v2/database/gdb" "github.com/gogf/gf/v2/errors/gerror" "github.com/gogf/gf/v2/frame/g" "github.com/gogf/gf/v2/os/gtime" - "hotgo/internal/consts" ) // InstallRecord 安装记录 @@ -24,11 +26,11 @@ type InstallRecord struct { } func GetModel(ctx context.Context) *gdb.Model { - return g.Model("sys_addons_install").Ctx(ctx) + return dao.SysAddonsInstall.Ctx(ctx) } func ScanInstall(m Module) (record *InstallRecord, err error) { - err = GetModel(m.Ctx()).Where("name", m.GetSkeleton().Name).Scan(&record) + err = GetModel(m.Ctx()).Where(dao.SysAddonsInstall.Columns().Name, m.GetSkeleton().Name).Scan(&record) return } @@ -56,13 +58,13 @@ func Install(m Module) (err error) { } data := g.Map{ - "name": m.GetSkeleton().Name, - "version": m.GetSkeleton().Version, - "status": consts.AddonsInstallStatusOk, + dao.SysAddonsInstall.Columns().Name: m.GetSkeleton().Name, + dao.SysAddonsInstall.Columns().Version: m.GetSkeleton().Version, + dao.SysAddonsInstall.Columns().Status: consts.AddonsInstallStatusOk, } return g.DB().Transaction(m.Ctx(), func(ctx context.Context, tx gdb.TX) error { if record != nil { - _, _ = GetModel(ctx).Where("id", record.Id).Delete() + _, _ = GetModel(ctx).Where(dao.SysAddonsInstall.Columns().Id, record.Id).Delete() } if _, err = GetModel(ctx).Data(data).OmitEmptyData().Insert(); err != nil { @@ -84,10 +86,10 @@ func Upgrade(m Module) (err error) { } data := g.Map{ - "version": m.GetSkeleton().Version, + dao.SysAddonsInstall.Columns().Version: m.GetSkeleton().Version, } return g.DB().Transaction(m.Ctx(), func(ctx context.Context, tx gdb.TX) error { - if _, err = GetModel(ctx).Where("id", record.Id).Data(data).Update(); err != nil { + if _, err = GetModel(ctx).Where(dao.SysAddonsInstall.Columns().Id, record.Id).Data(data).Update(); err != nil { return err } return m.Upgrade(ctx) @@ -106,11 +108,11 @@ func UnInstall(m Module) (err error) { } data := g.Map{ - "version": m.GetSkeleton().Version, - "status": consts.AddonsInstallStatusUn, + dao.SysAddonsInstall.Columns().Version: m.GetSkeleton().Version, + dao.SysAddonsInstall.Columns().Status: consts.AddonsInstallStatusUn, } return g.DB().Transaction(m.Ctx(), func(ctx context.Context, tx gdb.TX) error { - if _, err = GetModel(ctx).Where("id", record.Id).Data(data).Update(); err != nil { + if _, err = GetModel(ctx).Where(dao.SysAddonsInstall.Columns().Id, record.Id).Data(data).Update(); err != nil { return err } return m.UnInstall(ctx) diff --git a/server/internal/library/casbin/enforcer.go b/server/internal/library/casbin/enforcer.go index a349841..c9ff2dd 100644 --- a/server/internal/library/casbin/enforcer.go +++ b/server/internal/library/casbin/enforcer.go @@ -7,6 +7,7 @@ package casbin import ( "context" + "fmt" "hotgo/internal/consts" "hotgo/internal/dao" "net/http" @@ -79,14 +80,18 @@ func loadPermissions(ctx context.Context) { polices []*Policy err error ) + //别名拼接 r.key m.permissions + q := func(alias string, column string) string { + return fmt.Sprintf("%s.%s", alias, column) + } err = g.Model(gstr.Join([]string{dao.AdminRole.Table(), "r"}, " ")). LeftJoin(gstr.Join([]string{dao.AdminRoleMenu.Table(), "rm"}, " "), "r.id=rm.role_id"). LeftJoin(gstr.Join([]string{dao.AdminMenu.Table(), "m"}, " "), "rm.menu_id=m.id"). - Fields("r.key,m.permissions"). - Where("r.status", consts.StatusEnabled). - Where("m.status", consts.StatusEnabled). - Where("m.permissions !=?", ""). - Where("r.key !=?", consts.SuperRoleKey). + Fields(q("r", dao.AdminRole.Columns().Key), q("m", dao.AdminMenu.Columns().Permissions)). + Where(q("r", dao.AdminRole.Columns().Status), consts.StatusEnabled). + Where(q("m", dao.AdminMenu.Columns().Status), consts.StatusEnabled). + Where(q("m", dao.AdminMenu.Columns().Permissions), ""). + Where(q("r", dao.AdminRole.Columns().Key), consts.SuperRoleKey). Scan(&polices) if err != nil { g.Log().Fatalf(ctx, "loadPermissions Scan err:%v", err) diff --git a/server/internal/library/cron/cron.go b/server/internal/library/cron/cron.go index da09b50..450cf08 100644 --- a/server/internal/library/cron/cron.go +++ b/server/internal/library/cron/cron.go @@ -148,7 +148,7 @@ func StartALL(sysCron []*entity.SysCron) (err error) { // 执行完毕,单次和多次执行的任务更新状态 if cron.Policy == consts.CronPolicyOnce || cron.Policy == consts.CronPolicyTimes { - if _, err = dao.SysCron.Ctx(gctx.GetInitCtx()).Where("id", cron.Id).Data(g.Map{"status": consts.StatusDisable, "updated_at": gtime.Now()}).Update(); err != nil { + if _, err = dao.SysCron.Ctx(gctx.GetInitCtx()).Where(dao.SysCron.Columns().Id, cron.Id).Data(g.Map{dao.SysCron.Columns().Status: consts.StatusDisable, dao.SysCron.Columns().UpdatedAt: gtime.Now()}).Update(); err != nil { err = gerror.Wrap(err, "定时任务执行失败!") return err } diff --git a/server/internal/library/hggen/views/curd.go b/server/internal/library/hggen/views/curd.go index 2c81e66..2b19c57 100644 --- a/server/internal/library/hggen/views/curd.go +++ b/server/internal/library/hggen/views/curd.go @@ -981,7 +981,7 @@ func (l *gCurd) generateSqlContent(ctx context.Context, in *CurdPreviewInput) (e } menuNames = convert.UniqueSlice(menuNames) - hasMenus, err := service.AdminMenu().Model(ctx).Fields("name").WhereIn("name", menuNames).Array() + hasMenus, err := service.AdminMenu().Model(ctx).Fields(dao.AdminMenu.Columns().Name).WhereIn(dao.AdminMenu.Columns().Name, menuNames).Array() if err != nil { return err } diff --git a/server/internal/library/hggen/views/curd_generate_web_model.go b/server/internal/library/hggen/views/curd_generate_web_model.go index 4fe14f2..5ec737a 100644 --- a/server/internal/library/hggen/views/curd_generate_web_model.go +++ b/server/internal/library/hggen/views/curd_generate_web_model.go @@ -10,12 +10,14 @@ import ( "context" "errors" "fmt" - "github.com/gogf/gf/v2/errors/gerror" - "github.com/gogf/gf/v2/frame/g" - "github.com/gogf/gf/v2/util/gconv" + "hotgo/internal/dao" "hotgo/internal/library/dict" "hotgo/internal/model/input/sysin" "hotgo/utility/convert" + + "github.com/gogf/gf/v2/errors/gerror" + "github.com/gogf/gf/v2/frame/g" + "github.com/gogf/gf/v2/util/gconv" ) type StateItem struct { @@ -181,9 +183,9 @@ func (l *gCurd) generateWebModelDictOptions(ctx context.Context, in *CurdPreview } if len(dictTypeIds) > 0 { - err := g.Model("sys_dict_type").Ctx(ctx). - Fields("id", "type"). - WhereIn("id", dictTypeIds). + err := dao.SysDictType.Ctx(ctx). + Fields(dao.SysDictType.Columns().Id, dao.SysDictType.Columns().Type). + WhereIn(dao.SysDictType.Columns().Id, dictTypeIds). Scan(&dictTypeList) if err != nil { return err diff --git a/server/internal/library/hgorm/handler/filter_auth.go b/server/internal/library/hgorm/handler/filter_auth.go index 81271a5..bc23b2a 100644 --- a/server/internal/library/hgorm/handler/filter_auth.go +++ b/server/internal/library/hgorm/handler/filter_auth.go @@ -7,14 +7,16 @@ package handler import ( "context" - "github.com/gogf/gf/v2/database/gdb" - "github.com/gogf/gf/v2/frame/g" - "github.com/gogf/gf/v2/text/gstr" "hotgo/internal/consts" + "hotgo/internal/dao" "hotgo/internal/library/contexts" "hotgo/internal/model/entity" "hotgo/utility/convert" "hotgo/utility/tree" + + "github.com/gogf/gf/v2/database/gdb" + "github.com/gogf/gf/v2/frame/g" + "github.com/gogf/gf/v2/text/gstr" ) // FilterAuth 过滤数据权限 @@ -56,7 +58,7 @@ func FilterAuthWithField(filterField string) func(m *gdb.Model) *gdb.Model { return m } - err := g.Model("admin_role").Where("id", co.User.RoleId).Scan(&role) + err := dao.AdminRole.Ctx(ctx).Where(dao.AdminRole.Columns().Id, co.User.RoleId).Scan(&role) if err != nil { g.Log().Panicf(ctx, "failed to role information err:%+v", err) } @@ -71,7 +73,7 @@ func FilterAuthWithField(filterField string) func(m *gdb.Model) *gdb.Model { } getDeptIds := func(in interface{}) []gdb.Value { - ds, err := g.Model("admin_member").Fields("id").Where("dept_id", in).Array() + ds, err := dao.AdminMember.Ctx(ctx).Fields(dao.AdminMember.Columns().Id).Where(dao.AdminMember.Columns().DeptId, in).Array() if err != nil { g.Log().Panic(ctx, "failed to get member dept data") } @@ -102,9 +104,9 @@ func FilterAuthWithField(filterField string) func(m *gdb.Model) *gdb.Model { // GetDeptAndSub 获取指定部门的所有下级,含本部门 func GetDeptAndSub(ctx context.Context, deptId int64) (ids []int64) { - array, err := g.Model("admin_dept"). - WhereLike("tree", "%"+tree.GetIdLabel(deptId)+"%"). - Fields("id"). + array, err := dao.AdminDept.Ctx(ctx). + WhereLike(dao.AdminDept.Columns().Tree, "%"+tree.GetIdLabel(deptId)+"%"). + Fields(dao.AdminDept.Columns().Id). Array() if err != nil { g.Log().Panicf(ctx, "GetDeptAndSub err:%+v", err) @@ -121,9 +123,9 @@ func GetDeptAndSub(ctx context.Context, deptId int64) (ids []int64) { // GetSelfAndSub 获取直属下级,包含自己 func GetSelfAndSub(ctx context.Context, memberId int64) (ids []int64) { - array, err := g.Model("admin_member"). - Where("pid", memberId). - Fields("id"). + array, err := dao.AdminMember.Ctx(ctx). + Where(dao.AdminMember.Columns().Pid, memberId). + Fields(dao.AdminMember.Columns().Id). Array() if err != nil { g.Log().Panicf(ctx, "GetSelfAndSub err:%+v", err) @@ -140,9 +142,9 @@ func GetSelfAndSub(ctx context.Context, memberId int64) (ids []int64) { // GetSelfAndAllSub 获取全部下级,包含自己 func GetSelfAndAllSub(ctx context.Context, memberId int64) (ids []int64) { - array, err := g.Model("admin_member"). - WhereLike("tree", "%"+tree.GetIdLabel(memberId)+"%"). - Fields("id"). + array, err := dao.AdminMember.Ctx(ctx). + WhereLike(dao.AdminMember.Columns().Tree, "%"+tree.GetIdLabel(memberId)+"%"). + Fields(dao.AdminMember.Columns().Id). Array() if err != nil { g.Log().Panicf(ctx, "GetSelfAndAllSub err:%+v", err) diff --git a/server/internal/library/hgorm/hook/member.go b/server/internal/library/hgorm/hook/member.go index 1cf99a8..e5ff446 100644 --- a/server/internal/library/hgorm/hook/member.go +++ b/server/internal/library/hgorm/hook/member.go @@ -7,10 +7,11 @@ package hook import ( "context" + "hotgo/internal/dao" + "hotgo/utility/convert" + "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 后台用户信息 @@ -23,9 +24,9 @@ var MemberInfo = gdb.HookHandler{ for i, record := range result { // 部门 if !record["dept_id"].IsEmpty() { - deptName, err := g.Model("admin_dept").Ctx(ctx). - Fields("name"). - Where("id", record["dept_id"]). + deptName, err := dao.AdminDept.Ctx(ctx). + Fields(dao.AdminDept.Columns().Name). + Where(dao.AdminDept.Columns().Id, record["dept_id"]). Value() if err != nil { break @@ -35,9 +36,9 @@ var MemberInfo = gdb.HookHandler{ // 角色 if !record["role_id"].IsEmpty() { - roleName, err := g.Model("admin_role").Ctx(ctx). - Fields("name"). - Where("id", record["role_id"]). + roleName, err := dao.AdminRole.Ctx(ctx). + Fields(dao.AdminRole.Columns().Name). + Where(dao.AdminRole.Columns().Id, record["role_id"]). Value() if err != nil { break @@ -109,7 +110,7 @@ var MemberSummary = gdb.HookHandler{ } var members []*MemberSumma - if err = g.Model("admin_member").Ctx(ctx).Fields(MemberSumma{}).WhereIn("id", memberIds).Scan(&members); err != nil { + if err = dao.AdminMember.Ctx(ctx).Fields(MemberSumma{}).WhereIn(dao.AdminMember.Columns().Id, memberIds).Scan(&members); err != nil { return nil, err } diff --git a/server/internal/library/location/region.go b/server/internal/library/location/region.go index 15a192e..871dfd9 100644 --- a/server/internal/library/location/region.go +++ b/server/internal/library/location/region.go @@ -7,17 +7,18 @@ package location import ( "context" + "hotgo/internal/consts" + "hotgo/internal/dao" + "hotgo/internal/model/entity" + "hotgo/utility/tree" + "github.com/gogf/gf/v2/container/gvar" "github.com/gogf/gf/v2/database/gdb" "github.com/gogf/gf/v2/errors/gerror" - "github.com/gogf/gf/v2/frame/g" - "hotgo/internal/consts" - "hotgo/internal/model/entity" - "hotgo/utility/tree" ) func GetModel(ctx context.Context) *gdb.Model { - return g.Model("sys_provinces").Ctx(ctx) + return dao.SysProvinces.Ctx(ctx) } // ParseSimpleRegion 通过地区ID解析地区名称,自动加入上级地区 @@ -30,7 +31,7 @@ func ParseSimpleRegion(ctx context.Context, id int64, spilt ...string) (string, err error ) - if err = GetModel(ctx).Fields("title,level,tree").Where("id", id).Scan(&models); err != nil { + if err = GetModel(ctx).Fields(dao.SysProvinces.Columns().Title, dao.SysProvinces.Columns().Level, dao.SysProvinces.Columns().Tree).Where(dao.SysProvinces.Columns().Id, id).Scan(&models); err != nil { return "", err } @@ -76,14 +77,14 @@ func ParseRegion(ctx context.Context, province int64, city int64, county int64, } if province > 0 && province < 999999 { - provinceName, err = GetModel(ctx).Where("id", province).Fields("title").Value() + provinceName, err = GetModel(ctx).Where(dao.SysProvinces.Columns().Id, province).Fields(dao.SysProvinces.Columns().Title).Value() if err != nil { err = gerror.Wrap(err, consts.ErrorORM) return "", err } if city > 0 { - cityName, err = GetModel(ctx).Where("id", city).Fields("title").Value() + cityName, err = GetModel(ctx).Where(dao.SysProvinces.Columns().Id, city).Fields(dao.SysProvinces.Columns().Title).Value() if err != nil { err = gerror.Wrap(err, consts.ErrorORM) return "", err @@ -91,7 +92,7 @@ func ParseRegion(ctx context.Context, province int64, city int64, county int64, } if county > 0 { - countyName, err = GetModel(ctx).Where("id", county).Fields("title").Value() + countyName, err = GetModel(ctx).Where(dao.SysProvinces.Columns().Id, county).Fields(dao.SysProvinces.Columns().Title).Value() if err != nil { err = gerror.Wrap(err, consts.ErrorORM) return "", err diff --git a/server/internal/library/payment/payment.go b/server/internal/library/payment/payment.go index 792dcd4..1d86825 100644 --- a/server/internal/library/payment/payment.go +++ b/server/internal/library/payment/payment.go @@ -8,15 +8,16 @@ package payment import ( "context" "fmt" - "github.com/gogf/gf/v2/frame/g" - "github.com/gogf/gf/v2/os/gtime" - "github.com/gogf/gf/v2/util/grand" "hotgo/internal/consts" + "hotgo/internal/dao" "hotgo/internal/library/payment/alipay" "hotgo/internal/library/payment/qqpay" "hotgo/internal/library/payment/wxpay" "hotgo/internal/model/input/payin" "hotgo/utility/validate" + + "github.com/gogf/gf/v2/os/gtime" + "github.com/gogf/gf/v2/util/grand" ) // PayClient 支付客户端 @@ -53,40 +54,40 @@ func New(name ...string) PayClient { } // GenOrderSn 生成业务订单号 -func GenOrderSn() string { +func GenOrderSn(ctx context.Context) string { orderSn := fmt.Sprintf("HG@%v%v", gtime.Now().Format("YmdHis"), grand.S(4)) - count, err := g.Model("pay_log").Where("order_sn", orderSn).Count() + count, err := dao.PayLog.Ctx(ctx).Where(dao.PayLog.Columns().OrderSn, orderSn).Count() if err != nil { panic(fmt.Sprintf("payment.GenOrderSn err:%+v", err)) } if count > 0 { - return GenOrderSn() + return GenOrderSn(ctx) } return orderSn } // GenOutTradeNo 生成商户订单号 -func GenOutTradeNo() string { +func GenOutTradeNo(ctx context.Context) string { outTradeNo := fmt.Sprintf("%v%v", gtime.Now().Format("YmdHis"), grand.N(10000000, 99999999)) - count, err := g.Model("pay_log").Where("out_trade_no", outTradeNo).Count() + count, err := dao.PayLog.Ctx(ctx).Where(dao.PayLog.Columns().OutTradeNo, outTradeNo).Count() if err != nil { panic(fmt.Sprintf("payment.GenOutTradeNo err:%+v", err)) } if count > 0 { - return GenOutTradeNo() + return GenOutTradeNo(ctx) } return outTradeNo } // GenRefundSn 生成退款订单号 -func GenRefundSn() string { +func GenRefundSn(ctx context.Context) string { outTradeNo := fmt.Sprintf("%v%v", gtime.Now().Format("YmdHis"), grand.N(10000, 99999)) - count, err := g.Model("pay_refund").Where("refund_trade_no", outTradeNo).Count() + count, err := dao.PayRefund.Ctx(ctx).Where(dao.PayRefund.Columns().RefundTradeNo, outTradeNo).Count() if err != nil { panic(fmt.Sprintf("payment.GenRefundSn err:%+v", err)) } if count > 0 { - return GenRefundSn() + return GenRefundSn(ctx) } return outTradeNo } diff --git a/server/internal/library/sms/config.go b/server/internal/library/sms/config.go index 6118345..995d463 100644 --- a/server/internal/library/sms/config.go +++ b/server/internal/library/sms/config.go @@ -7,9 +7,10 @@ package sms import ( "context" - "github.com/gogf/gf/v2/database/gdb" - "github.com/gogf/gf/v2/frame/g" + "hotgo/internal/dao" "hotgo/internal/model" + + "github.com/gogf/gf/v2/database/gdb" ) var config *model.SmsConfig @@ -23,5 +24,5 @@ func GetConfig() *model.SmsConfig { } func GetModel(ctx context.Context) *gdb.Model { - return g.Model("sys_sms_log").Ctx(ctx) + return dao.SysSmsLog.Ctx(ctx) } diff --git a/server/internal/library/storager/config.go b/server/internal/library/storager/config.go index 9687818..16f35d0 100644 --- a/server/internal/library/storager/config.go +++ b/server/internal/library/storager/config.go @@ -7,9 +7,10 @@ package storager import ( "context" - "github.com/gogf/gf/v2/database/gdb" - "github.com/gogf/gf/v2/frame/g" + "hotgo/internal/dao" "hotgo/internal/model" + + "github.com/gogf/gf/v2/database/gdb" ) var config *model.UploadConfig @@ -23,5 +24,5 @@ func GetConfig() *model.UploadConfig { } func GetModel(ctx context.Context) *gdb.Model { - return g.Model("sys_attachment").Ctx(ctx) + return dao.SysAttachment.Ctx(ctx) } diff --git a/server/internal/library/storager/upload.go b/server/internal/library/storager/upload.go index b51def8..51df824 100644 --- a/server/internal/library/storager/upload.go +++ b/server/internal/library/storager/upload.go @@ -8,12 +8,8 @@ package storager import ( "context" "fmt" - "github.com/gogf/gf/v2/errors/gerror" - "github.com/gogf/gf/v2/frame/g" - "github.com/gogf/gf/v2/net/ghttp" - "github.com/gogf/gf/v2/os/gtime" - "github.com/gogf/gf/v2/util/grand" "hotgo/internal/consts" + "hotgo/internal/dao" "hotgo/internal/library/cache" "hotgo/internal/library/contexts" "hotgo/internal/model/entity" @@ -24,6 +20,12 @@ import ( "strconv" "strings" "time" + + "github.com/gogf/gf/v2/errors/gerror" + "github.com/gogf/gf/v2/frame/g" + "github.com/gogf/gf/v2/net/ghttp" + "github.com/gogf/gf/v2/os/gtime" + "github.com/gogf/gf/v2/util/grand" ) // UploadDrive 存储驱动 @@ -236,7 +238,7 @@ func write(ctx context.Context, meta *FileMeta, fullPath string) (models *entity // HasFile 检查附件是否存在 func HasFile(ctx context.Context, md5 string) (res *entity.SysAttachment, err error) { - if err = GetModel(ctx).Where("md5", md5).Scan(&res); err != nil { + if err = GetModel(ctx).Where(dao.SysAttachment.Columns().Md5, md5).Scan(&res); err != nil { err = gerror.Wrap(err, "检查文件hash时出现错误") return } @@ -248,8 +250,8 @@ func HasFile(ctx context.Context, md5 string) (res *entity.SysAttachment, err er // 只有在上传时才会检查md5值,如果附件存在则更新最后上传时间,保证上传列表更新显示在最前面 if res.Id > 0 { update := g.Map{ - "status": consts.StatusEnabled, - "updated_at": gtime.Now(), + dao.SysAttachment.Columns().Status: consts.StatusEnabled, + dao.SysAttachment.Columns().UpdatedAt: gtime.Now(), } _, _ = GetModel(ctx).WherePri(res.Id).Data(update).Update() } diff --git a/server/internal/logic/admin/cash.go b/server/internal/logic/admin/cash.go index 9acd2e1..cd8e900 100644 --- a/server/internal/logic/admin/cash.go +++ b/server/internal/logic/admin/cash.go @@ -44,7 +44,7 @@ func (s *sAdminCash) View(ctx context.Context, in *adminin.CashViewInp) (res *ad return } - if err = dao.AdminCash.Ctx(ctx).Where("id", in.Id).Scan(&res); err != nil { + if err = dao.AdminCash.Ctx(ctx).Where(dao.AdminCash.Columns().Id, in.Id).Scan(&res); err != nil { err = gerror.Wrap(err, consts.ErrorORM) return } @@ -55,7 +55,7 @@ func (s *sAdminCash) View(ctx context.Context, in *adminin.CashViewInp) (res *ad } var mem *entity.AdminMember - err = dao.AdminMember.Ctx(ctx).Where("id", res.MemberId).Scan(&mem) + err = dao.AdminMember.Ctx(ctx).Where(dao.AdminMember.Columns().Id, res.MemberId).Scan(&mem) if err != nil { err = gerror.Wrap(err, consts.ErrorORM) return @@ -78,7 +78,7 @@ func (s *sAdminCash) List(ctx context.Context, in *adminin.CashListInp) (list [] ) if in.MemberId > 0 { - mod = mod.Where("member_id", in.MemberId) + mod = mod.Where(dao.AdminCash.Columns().MemberId, in.MemberId) } // 用户筛选 @@ -90,20 +90,20 @@ func (s *sAdminCash) List(ctx context.Context, in *adminin.CashListInp) (list [] if len(memberIds) == 0 { return nil, 0, nil } - mod = mod.WhereIn("member_id", memberIds) + mod = mod.WhereIn(dao.AdminCash.Columns().MemberId, memberIds) } if len(in.CreatedAt) == 2 { - mod = mod.WhereBetween("created_at", gtime.New(in.CreatedAt[0]), gtime.New(in.CreatedAt[1])) + mod = mod.WhereBetween(dao.AdminCash.Columns().CreatedAt, gtime.New(in.CreatedAt[0]), gtime.New(in.CreatedAt[1])) } // 请求方式 if in.Status > 0 { - mod = mod.Where("status", in.Status) + mod = mod.Where(dao.AdminCash.Columns().Status, in.Status) } if !isSuper { - mod = mod.Where("member_id", opMemberId) + mod = mod.Where(dao.AdminCash.Columns().MemberId, opMemberId) } // 申请人摘要信息 @@ -119,7 +119,7 @@ func (s *sAdminCash) List(ctx context.Context, in *adminin.CashListInp) (list [] return } - if err = mod.Page(in.Page, in.PerPage).Order("id desc").Scan(&list); err != nil { + if err = mod.Page(in.Page, in.PerPage).Order(dao.AdminCash.Columns().Id + " DESC").Scan(&list); err != nil { err = gerror.Wrap(err, consts.ErrorORM) return } @@ -144,8 +144,8 @@ func (s *sAdminCash) Apply(ctx context.Context, in *adminin.CashApplyInp) (err e } count, err := dao.AdminCash.Ctx(ctx). - Where("member_id", in.MemberId). - Where("status", consts.StatusEnabled). + Where(dao.AdminCash.Columns().MemberId, in.MemberId). + Where(dao.AdminCash.Columns().Status, consts.StatusEnabled). Count() if err != nil { return @@ -156,7 +156,7 @@ func (s *sAdminCash) Apply(ctx context.Context, in *adminin.CashApplyInp) (err e return } - if err = dao.AdminMember.Ctx(ctx).Where("id", in.MemberId).Scan(&member); err != nil { + if err = dao.AdminMember.Ctx(ctx).Where(dao.AdminMember.Columns().Id, in.MemberId).Scan(&member); err != nil { err = gerror.Newf("获取用户信息失败:%+v", err.Error()) return } @@ -220,14 +220,14 @@ func (s *sAdminCash) Apply(ctx context.Context, in *adminin.CashApplyInp) (err e err = g.DB().Transaction(ctx, func(ctx context.Context, tx gdb.TX) (err error) { // 添加提现记录 lastInsertId, err := dao.AdminCash.Ctx(ctx).Data(g.Map{ - "member_id": in.MemberId, - "money": in.Money, - "fee": fee, - "last_money": lastMoney, - "created_at": gtime.Now(), - "status": consts.CashStatusWait, - "msg": "", - "ip": location.GetClientIp(ghttp.RequestFromCtx(ctx)), + dao.AdminCash.Columns().MemberId: in.MemberId, + dao.AdminCash.Columns().Money: in.Money, + dao.AdminCash.Columns().Fee: fee, + dao.AdminCash.Columns().LastMoney: lastMoney, + dao.AdminCash.Columns().CreatedAt: gtime.Now(), + dao.AdminCash.Columns().Status: consts.CashStatusWait, + dao.AdminCash.Columns().Msg: "", + dao.AdminCash.Columns().Ip: location.GetClientIp(ghttp.RequestFromCtx(ctx)), }).OmitEmptyData().InsertAndGetId() if err != nil { return @@ -262,7 +262,7 @@ func (s *sAdminCash) Payment(ctx context.Context, in *adminin.CashPaymentInp) (e } var models *entity.AdminCash - if err = dao.AdminCash.Ctx(ctx).Where("id", in.Id).Scan(&models); err != nil { + if err = dao.AdminCash.Ctx(ctx).Where(dao.AdminCash.Columns().Id, in.Id).Scan(&models); err != nil { return } @@ -276,10 +276,10 @@ func (s *sAdminCash) Payment(ctx context.Context, in *adminin.CashPaymentInp) (e return } - _, err = dao.AdminCash.Ctx(ctx).Where("id", models.Id).Data(g.Map{ - "handle_at": gtime.Now(), - "status": in.Status, - "msg": gstr.Trim(in.Msg, " "), + _, err = dao.AdminCash.Ctx(ctx).Where(dao.AdminCash.Columns().Id, models.Id).Data(g.Map{ + dao.AdminCash.Columns().HandleAt: gtime.Now(), + dao.AdminCash.Columns().Status: in.Status, + dao.AdminCash.Columns().Msg: gstr.Trim(in.Msg, " "), }).Update() return } diff --git a/server/internal/logic/admin/dept.go b/server/internal/logic/admin/dept.go index 105d331..241ab07 100644 --- a/server/internal/logic/admin/dept.go +++ b/server/internal/logic/admin/dept.go @@ -239,7 +239,7 @@ func (s *sAdminDept) List(ctx context.Context, in *adminin.DeptListInp) (res *ad // GetName 获取部门名称 func (s *sAdminDept) GetName(ctx context.Context, id int64) (name string, err error) { var data *entity.AdminDept - if err = dao.AdminDept.Ctx(ctx).Where("id", id).Fields("name").Scan(&data); err != nil { + if err = dao.AdminDept.Ctx(ctx).Where(dao.AdminDept.Columns().Id, id).Fields(dao.AdminDept.Columns().Name).Scan(&data); err != nil { err = gerror.Wrap(err, "获取部门名称失败!") return } diff --git a/server/internal/logic/admin/member.go b/server/internal/logic/admin/member.go index 1efcd0a..4dc7107 100644 --- a/server/internal/logic/admin/member.go +++ b/server/internal/logic/admin/member.go @@ -427,7 +427,7 @@ func (s *sAdminMember) Delete(ctx context.Context, in *adminin.MemberDeleteInp) err = gerror.New("超管账号禁止删除!") return } - count, err := dao.AdminMember.Ctx(ctx).Where("pid", v.Id).Count() + count, err := dao.AdminMember.Ctx(ctx).Where(dao.AdminMember.Columns().Pid, v.Id).Count() if err != nil { err = gerror.Wrap(err, "删除用户检查失败,请稍后重试!") return err @@ -444,7 +444,7 @@ func (s *sAdminMember) Delete(ctx context.Context, in *adminin.MemberDeleteInp) return } - if _, err = dao.AdminMemberPost.Ctx(ctx).Where("member_id", in.Id).Delete(); err != nil { + if _, err = dao.AdminMemberPost.Ctx(ctx).Where(dao.AdminMemberPost.Columns().MemberId, in.Id).Delete(); err != nil { err = gerror.Wrap(err, "删除用户岗位失败,请稍后重试!") } @@ -757,7 +757,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"). + err = dao.AdminMember.Ctx(ctx).Fields(fmt.Printf("%s as value,%s as label,%s,%s", dao.AdminMember.Columns().Id, dao.AdminMember.Columns().RealName, dao.AdminMember.Columns().Username, dao.AdminMember.Columns().Avatar)). Handler(handler.FilterAuthWithField("id")). Scan(&res) if err != nil { @@ -769,8 +769,8 @@ func (s *sAdminMember) Select(ctx context.Context, in *adminin.MemberSelectInp) // GetLowerIds 获取指定用户的所有下级ID集合 func (s *sAdminMember) GetLowerIds(ctx context.Context, memberId int64) (ids []int64, err error) { array, err := dao.AdminMember.Ctx(ctx). - Fields("id"). - WhereLike("tree", "%"+tree.GenLabel("", memberId)+"%"). + Fields(dao.AdminMember.Columns().Id). + WhereLike(dao.AdminMember.Columns().Tree, "%"+tree.GenLabel("", memberId)+"%"). Array() if err != nil { return nil, err @@ -818,8 +818,15 @@ func (s *sAdminMember) GetIdsByKeyword(ctx context.Context, ks string) (res []in if len(ks) == 0 { return } - array, err := dao.AdminMember.Ctx(ctx).Fields("id"). - Where("`id` = ? or `real_name` = ? or `username` = ? or `mobile` = ?", ks, ks, ks, ks). + cols := dao.AdminMember.Columns() + array, err := dao.AdminMember.Ctx(ctx).Fields(cols.Id). + Where( + g.Model().Builder(). + WhereOr(cols.Id, ks). + WhereOr(cols.RealName, ks). + WhereOr(cols.Username, ks). + WhereOr(cols.Mobile, ks), + ). Array() if err != nil { err = gerror.Wrap(err, "根据关键词获取用户ID失败,请稍后重试!") @@ -844,7 +851,7 @@ func (s *sAdminMember) VerifySuperId(ctx context.Context, verifyId int64) bool { // LoadSuperAdmin 加载超管数据 func (s *sAdminMember) LoadSuperAdmin(ctx context.Context) { - value, err := dao.AdminRole.Ctx(ctx).Fields("id").Where(dao.AdminRole.Columns().Key, consts.SuperRoleKey).Value() + value, err := dao.AdminRole.Ctx(ctx).Fields(dao.AdminRole.Columns().Id).Where(dao.AdminRole.Columns().Key, consts.SuperRoleKey).Value() if err != nil { g.Log().Errorf(ctx, "LoadSuperAdmin AdminRole err:%+v", err) return @@ -889,7 +896,7 @@ func (s *sAdminMember) FilterAuthModel(ctx context.Context, memberId int64) *gdb // 当前登录用户直接从上下文中取角色ID roleId = contexts.GetRoleId(ctx) } else { - ro, err := dao.AdminMember.Ctx(ctx).Fields("role_id").Where("id", memberId).Value() + ro, err := dao.AdminMember.Ctx(ctx).Fields(dao.AdminMember.Columns().RoleId).Where(dao.AdminMember.Columns().Id, memberId).Value() if err != nil { g.Log().Panicf(ctx, "failed to get role information, err:%+v", err) return nil diff --git a/server/internal/logic/admin/menu.go b/server/internal/logic/admin/menu.go index 47cde76..b541d75 100644 --- a/server/internal/logic/admin/menu.go +++ b/server/internal/logic/admin/menu.go @@ -7,12 +7,6 @@ package admin import ( "context" - "github.com/gogf/gf/v2/database/gdb" - "github.com/gogf/gf/v2/errors/gerror" - "github.com/gogf/gf/v2/frame/g" - "github.com/gogf/gf/v2/text/gstr" - "github.com/gogf/gf/v2/util/gconv" - "github.com/gogf/gf/v2/util/gmode" "hotgo/api/admin/role" "hotgo/internal/consts" "hotgo/internal/dao" @@ -25,6 +19,13 @@ import ( "hotgo/internal/service" "hotgo/utility/convert" "hotgo/utility/validate" + + "github.com/gogf/gf/v2/database/gdb" + "github.com/gogf/gf/v2/errors/gerror" + "github.com/gogf/gf/v2/frame/g" + "github.com/gogf/gf/v2/text/gstr" + "github.com/gogf/gf/v2/util/gconv" + "github.com/gogf/gf/v2/util/gmode" ) type sAdminMenu struct{} @@ -44,7 +45,7 @@ func (s *sAdminMenu) Model(ctx context.Context, option ...*handler.Option) *gdb. // Delete 删除 func (s *sAdminMenu) Delete(ctx context.Context, in *adminin.MenuDeleteInp) (err error) { - exist, err := dao.AdminMenu.Ctx(ctx).Where("pid", in.Id).One() + exist, err := dao.AdminMenu.Ctx(ctx).Where(dao.AdminMenu.Columns().Pid, in.Id).One() if err != nil { err = gerror.Wrap(err, consts.ErrorORM) return err @@ -52,7 +53,7 @@ func (s *sAdminMenu) Delete(ctx context.Context, in *adminin.MenuDeleteInp) (err if !exist.IsEmpty() { return gerror.New("请先删除该菜单下的所有菜单!") } - _, err = dao.AdminMenu.Ctx(ctx).Where("id", in.Id).Delete() + _, err = dao.AdminMenu.Ctx(ctx).Where(dao.AdminMenu.Columns().Id, in.Id).Delete() return } @@ -105,7 +106,7 @@ func (s *sAdminMenu) Edit(ctx context.Context, in *adminin.MenuEditInp) (err err } if in.Id > 0 { - if _, err = dao.AdminMenu.Ctx(ctx).Where("id", in.Id).Data(in).Update(); err != nil { + if _, err = dao.AdminMenu.Ctx(ctx).Where(dao.AdminMenu.Columns().Id, in.Id).Data(in).Update(); err != nil { err = gerror.Wrap(err, "修改菜单失败!") return err } @@ -178,17 +179,17 @@ func (s *sAdminMenu) GetMenuList(ctx context.Context, memberId int64) (res *role allMenus []*adminin.MenuRouteSummary menus []*adminin.MenuRouteSummary treeMap = make(map[string][]*adminin.MenuRouteSummary) - mod = dao.AdminMenu.Ctx(ctx).Where("status", consts.StatusEnabled).WhereIn("type", []int{1, 2}) + mod = dao.AdminMenu.Ctx(ctx).Where(dao.AdminMenu.Columns().Status, consts.StatusEnabled).WhereIn(dao.AdminMenu.Columns().Type, []int{1, 2}) ) // 非超管验证允许的菜单列表 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(dao.AdminRoleMenu.Columns().MenuId).Where(dao.AdminRoleMenu.Columns().RoleId, contexts.GetRoleId(ctx)).Array() if err != nil { return nil, err } if len(menuIds) > 0 { - pidList, err := dao.AdminMenu.Ctx(ctx).Fields("pid").WhereIn("id", menuIds).Group("pid").Array() + pidList, err := dao.AdminMenu.Ctx(ctx).Fields(dao.AdminMenu.Columns().Pid).WhereIn(dao.AdminMenu.Columns().Id, menuIds).Group("pid").Array() if err != nil { return nil, err } @@ -196,10 +197,10 @@ func (s *sAdminMenu) GetMenuList(ctx context.Context, memberId int64) (res *role menuIds = append(pidList, menuIds...) } } - mod = mod.Where("id", menuIds) + mod = mod.Where(dao.AdminMenu.Columns().Id, menuIds) } - if err = mod.Order("sort asc,id desc").Scan(&allMenus); err != nil || len(allMenus) == 0 { + if err = mod.Order(dao.AdminMenu.Columns().Sort, dao.AdminMenu.Columns().Id, "desc").Scan(&allMenus); err != nil || len(allMenus) == 0 { return } @@ -237,12 +238,14 @@ func (s *sAdminMenu) LoginPermissions(ctx context.Context, memberId int64) (list var ( allPermissions []*Permissions - mod = dao.AdminMenu.Ctx(ctx).Fields("permissions").Where("status", consts.StatusEnabled).Where("permissions != ?", "") + mod = dao.AdminMenu.Ctx(ctx).Fields(dao.AdminMenu.Columns().Permissions). + Where(dao.AdminMenu.Columns().Status, consts.StatusEnabled). + WhereNot(dao.AdminMenu.Columns().Permissions, "") ) // 非超管验证允许的菜单列表 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(dao.AdminRoleMenu.Columns().MenuId).Where(dao.AdminRoleMenu.Columns().RoleId, contexts.GetRoleId(ctx)).Array() if err != nil { return nil, err } diff --git a/server/internal/logic/admin/notice.go b/server/internal/logic/admin/notice.go index e439d87..3470869 100644 --- a/server/internal/logic/admin/notice.go +++ b/server/internal/logic/admin/notice.go @@ -7,11 +7,7 @@ package admin import ( "context" - "github.com/gogf/gf/v2/database/gdb" - "github.com/gogf/gf/v2/errors/gerror" - "github.com/gogf/gf/v2/frame/g" - "github.com/gogf/gf/v2/os/gtime" - "github.com/gogf/gf/v2/util/gconv" + "fmt" "hotgo/internal/consts" "hotgo/internal/dao" "hotgo/internal/library/contexts" @@ -23,6 +19,12 @@ import ( "hotgo/internal/websocket" "hotgo/utility/simple" "hotgo/utility/validate" + + "github.com/gogf/gf/v2/database/gdb" + "github.com/gogf/gf/v2/errors/gerror" + "github.com/gogf/gf/v2/frame/g" + "github.com/gogf/gf/v2/os/gtime" + "github.com/gogf/gf/v2/util/gconv" ) type sAdminNotice struct{} @@ -202,14 +204,15 @@ func (s *sAdminNotice) List(ctx context.Context, in *adminin.NoticeListInp) (lis // 接收人头像组 if v.Type == consts.NoticeTypeLetter { err = dao.AdminMember.Ctx(ctx). - Fields("real_name as name,avatar as src"). - WhereIn("id", v.Receiver.Var().Int64s()). + Fields(fmt.Sprintf("%s as name,%s as src", dao.AdminMember.Columns().RealName, dao.AdminMember.Columns().Avatar)). + WhereIn(dao.AdminMember.Columns().Id, v.Receiver.Var().Int64s()). Scan(&v.ReceiverGroup) if err != nil { return } } - if v.ReceiverGroup == nil || len(v.ReceiverGroup) == 0 { + + if g.IsNil(v.ReceiverGroup) || len(v.ReceiverGroup) == 0 { v.ReceiverGroup = make([]form.AvatarGroup, 0) } @@ -251,13 +254,13 @@ func (s *sAdminNotice) PullMessages(ctx context.Context, in *adminin.PullMessage } for _, v := range res.List { - count, _ := dao.AdminNoticeRead.Ctx(ctx).Where("notice_id", v.Id).Where("member_id", memberId).Count() + count, _ := dao.AdminNoticeRead.Ctx(ctx).Where(dao.AdminNoticeRead.Columns().NoticeId, v.Id).Where(dao.AdminNoticeRead.Columns().MemberId, memberId).Count() if count > 0 { v.IsRead = true } if v.Type == consts.NoticeTypeLetter { - val, err := dao.AdminMember.Ctx(ctx).Fields("avatar").Where("id", v.CreatedBy).Value() + val, err := dao.AdminMember.Ctx(ctx).Fields(dao.AdminMember.Columns().Avatar).Where(dao.AdminMember.Columns().Id, v.CreatedBy).Value() if err == nil { v.SenderAvatar = val.String() } @@ -322,8 +325,8 @@ func (s *sAdminNotice) UnreadCount(ctx context.Context, in *adminin.NoticeUnread // messageIds 获取我的消息所有的消息ID func (s *sAdminNotice) messageIds(ctx context.Context, memberId int64) (ids []int64, err error) { columns, err := s.Model(ctx, &handler.Option{FilterAuth: false}). - Fields("id"). - Where("status", consts.StatusEnabled). + Fields(dao.AdminNotice.Columns().Id). + Where(dao.AdminNotice.Columns().Status, consts.StatusEnabled). Where("(`type` IN(?) OR (`type` = ? and JSON_CONTAINS(`receiver`,'"+gconv.String(memberId)+"')))", []int{consts.NoticeTypeNotify, consts.NoticeTypeNotice}, consts.NoticeTypeLetter, ).Array() @@ -467,13 +470,13 @@ func (s *sAdminNotice) MessageList(ctx context.Context, in *adminin.NoticeMessag } for _, v := range list { - count, _ := dao.AdminNoticeRead.Ctx(ctx).Where("notice_id", v.Id).Where("member_id", memberId).Count() + count, _ := dao.AdminNoticeRead.Ctx(ctx).Where(dao.AdminNoticeRead.Columns().NoticeId, v.Id).Where(dao.AdminNoticeRead.Columns().MemberId, memberId).Count() if count > 0 { v.IsRead = true } if v.Type == consts.NoticeTypeLetter { - val, err := dao.AdminMember.Ctx(ctx).Fields("avatar").Where("id", v.CreatedBy).Value() + val, err := dao.AdminMember.Ctx(ctx).Fields(dao.AdminMember.Columns().Avatar).Where(dao.AdminMember.Columns().Id, v.CreatedBy).Value() if err == nil { v.SenderAvatar = val.String() } diff --git a/server/internal/logic/admin/order.go b/server/internal/logic/admin/order.go index f77dadf..f7c4d3f 100644 --- a/server/internal/logic/admin/order.go +++ b/server/internal/logic/admin/order.go @@ -197,7 +197,7 @@ func (s *sAdminOrder) PayNotify(ctx context.Context, in *payin.NotifyCallFuncInp func (s *sAdminOrder) Create(ctx context.Context, in *adminin.OrderCreateInp) (res *adminin.OrderCreateModel, err error) { var ( subject = "支付订单" - orderSn = payment.GenOrderSn() + orderSn = payment.GenOrderSn(ctx) ) switch in.OrderType { diff --git a/server/internal/logic/admin/role.go b/server/internal/logic/admin/role.go index 32d6799..2c4291e 100644 --- a/server/internal/logic/admin/role.go +++ b/server/internal/logic/admin/role.go @@ -7,10 +7,6 @@ package admin import ( "context" - "github.com/gogf/gf/v2/database/gdb" - "github.com/gogf/gf/v2/encoding/gjson" - "github.com/gogf/gf/v2/errors/gerror" - "github.com/gogf/gf/v2/frame/g" "hotgo/internal/consts" "hotgo/internal/dao" "hotgo/internal/library/casbin" @@ -24,6 +20,11 @@ import ( "hotgo/utility/tree" "hotgo/utility/validate" "sort" + + "github.com/gogf/gf/v2/database/gdb" + "github.com/gogf/gf/v2/encoding/gjson" + "github.com/gogf/gf/v2/errors/gerror" + "github.com/gogf/gf/v2/frame/g" ) type sAdminRole struct{} @@ -92,7 +93,7 @@ func (s *sAdminRole) List(ctx context.Context, in *adminin.RoleListInp) (res *ad // GetName 获取指定角色的名称 func (s *sAdminRole) GetName(ctx context.Context, id int64) (name string, err error) { - r, err := dao.AdminRole.Ctx(ctx).Fields("name").WherePri(id).Order("id desc").Value() + r, err := dao.AdminRole.Ctx(ctx).Fields(dao.AdminRole.Columns().Name).WherePri(id).OrderDesc(dao.AdminRole.Columns().Id).Value() if err != nil { err = gerror.Wrap(err, consts.ErrorORM) return @@ -102,7 +103,7 @@ func (s *sAdminRole) GetName(ctx context.Context, id int64) (name string, err er // GetMemberList 获取指定用户的岗位列表 func (s *sAdminRole) GetMemberList(ctx context.Context, id int64) (list []*adminin.RoleListModel, err error) { - if err = dao.AdminRole.Ctx(ctx).WherePri(id).Order("id desc").Scan(&list); err != nil { + if err = dao.AdminRole.Ctx(ctx).WherePri(id).OrderDesc(dao.AdminRole.Columns().Id).Scan(&list); err != nil { err = gerror.Wrap(err, consts.ErrorORM) } return @@ -110,7 +111,7 @@ func (s *sAdminRole) GetMemberList(ctx context.Context, id int64) (list []*admin // GetPermissions 更改角色菜单权限 func (s *sAdminRole) GetPermissions(ctx context.Context, in *adminin.GetPermissionsInp) (res *adminin.GetPermissionsModel, err error) { - values, err := dao.AdminRoleMenu.Ctx(ctx).Fields("menu_id").Where("role_id", in.RoleId).Array() + values, err := dao.AdminRoleMenu.Ctx(ctx).Fields(dao.AdminRoleMenu.Columns().MenuId).Where(dao.AdminRoleMenu.Columns().RoleId, in.RoleId).Array() if err != nil { return } diff --git a/server/internal/logic/admin/site.go b/server/internal/logic/admin/site.go index 519ea76..2afba6e 100644 --- a/server/internal/logic/admin/site.go +++ b/server/internal/logic/admin/site.go @@ -258,7 +258,7 @@ func (s *sAdminSite) handleLogin(ctx context.Context, mb *entity.AdminMember) (r // getLoginRoleAndDept 获取登录的角色和部门信息 func (s *sAdminSite) getLoginRoleAndDept(ctx context.Context, roleId, deptId int64) (role *entity.AdminRole, dept *entity.AdminDept, err error) { - if err = dao.AdminRole.Ctx(ctx).Fields("id,key,status").WherePri(roleId).Scan(&role); err != nil { + if err = dao.AdminRole.Ctx(ctx).Fields(dao.AdminRole.Columns().Id, dao.AdminRole.Columns().Key, dao.AdminRole.Columns().Status).WherePri(roleId).Scan(&role); err != nil { err = gerror.Wrap(err, consts.ErrorORM) return } @@ -273,7 +273,7 @@ func (s *sAdminSite) getLoginRoleAndDept(ctx context.Context, roleId, deptId int return } - if err = dao.AdminDept.Ctx(ctx).Fields("id,type,status").WherePri(deptId).Scan(&dept); err != nil { + if err = dao.AdminDept.Ctx(ctx).Fields(dao.AdminDept.Columns().Id, dao.AdminDept.Columns().Type, dao.AdminDept.Columns().Status).WherePri(deptId).Scan(&dept); err != nil { err = gerror.Wrap(err, "获取部门信息失败,请稍后重试!") return } diff --git a/server/internal/logic/hook/last_active.go b/server/internal/logic/hook/last_active.go index 0e0e81d..a76973f 100644 --- a/server/internal/logic/hook/last_active.go +++ b/server/internal/logic/hook/last_active.go @@ -7,16 +7,18 @@ package hook import ( "context" + "hotgo/internal/consts" + "hotgo/internal/dao" + "hotgo/internal/library/contexts" + "hotgo/utility/simple" + "sync" + "time" + "github.com/gogf/gf/v2/frame/g" "github.com/gogf/gf/v2/net/ghttp" "github.com/gogf/gf/v2/os/gctx" "github.com/gogf/gf/v2/os/gtime" "github.com/gogf/gf/v2/os/gtimer" - "hotgo/internal/consts" - "hotgo/internal/library/contexts" - "hotgo/utility/simple" - "sync" - "time" ) type visitor struct { @@ -80,10 +82,9 @@ func (s *sHook) lastAdminActive(r *ghttp.Request) { if allow(member.Id) { simple.SafeGo(ctx, func(ctx context.Context) { - _, err := g.Model("admin_member"). - Ctx(ctx). - Where("id", member.Id). - Data(g.Map{"last_active_at": gtime.Now()}). + _, err := dao.AdminMember.Ctx(ctx). + Where(dao.AdminMember.Columns().Id, member.Id). + Data(g.Map{dao.AdminMember.Columns().LastActiveAt: gtime.Now()}). Update() if err != nil { g.Log().Warningf(ctx, "hook lastActive err:%+v, memberId:%v", err, member.Id) diff --git a/server/internal/logic/pay/create.go b/server/internal/logic/pay/create.go index c75c598..ff8634b 100644 --- a/server/internal/logic/pay/create.go +++ b/server/internal/logic/pay/create.go @@ -78,7 +78,7 @@ func (s *sPay) Create(ctx context.Context, in payin.PayCreateInp) (res *payin.Pa MchId: mchId, Subject: in.Subject, Detail: in.Detail, - OutTradeNo: payment.GenOutTradeNo(), + OutTradeNo: payment.GenOutTradeNo(ctx), TransactionId: "", PayType: in.PayType, PayAmount: in.PayAmount, diff --git a/server/internal/logic/pay/refund.go b/server/internal/logic/pay/refund.go index 17a58d8..ef5a933 100644 --- a/server/internal/logic/pay/refund.go +++ b/server/internal/logic/pay/refund.go @@ -10,10 +10,6 @@ package pay import ( "context" "fmt" - "github.com/gogf/gf/v2/encoding/gjson" - "github.com/gogf/gf/v2/errors/gerror" - "github.com/gogf/gf/v2/frame/g" - "github.com/gogf/gf/v2/net/ghttp" "hotgo/internal/consts" "hotgo/internal/dao" "hotgo/internal/library/hgorm/handler" @@ -26,6 +22,11 @@ import ( "hotgo/utility/convert" "hotgo/utility/excel" + "github.com/gogf/gf/v2/encoding/gjson" + "github.com/gogf/gf/v2/errors/gerror" + "github.com/gogf/gf/v2/frame/g" + "github.com/gogf/gf/v2/net/ghttp" + "github.com/gogf/gf/v2/database/gdb" "github.com/gogf/gf/v2/os/gctx" "github.com/gogf/gf/v2/util/gconv" @@ -76,7 +77,7 @@ func (s *sPayRefund) Refund(ctx context.Context, in *payin.PayRefundInp) (res *p } traceIds = append(traceIds, gctx.CtxId(ctx)) - refundSn := payment.GenRefundSn() + refundSn := payment.GenRefundSn(ctx) // 创建第三方平台退款 req := payin.RefundInp{ diff --git a/server/internal/logic/sys/addons_config.go b/server/internal/logic/sys/addons_config.go index 59f3d1b..fd2bbf4 100644 --- a/server/internal/logic/sys/addons_config.go +++ b/server/internal/logic/sys/addons_config.go @@ -7,17 +7,18 @@ package sys import ( "context" - "github.com/gogf/gf/v2/database/gdb" - "github.com/gogf/gf/v2/errors/gerror" - "github.com/gogf/gf/v2/frame/g" - "github.com/gogf/gf/v2/os/gtime" - "github.com/gogf/gf/v2/text/gstr" "hotgo/internal/consts" "hotgo/internal/dao" "hotgo/internal/model/entity" "hotgo/internal/model/input/sysin" "hotgo/internal/service" "hotgo/utility/simple" + + "github.com/gogf/gf/v2/database/gdb" + "github.com/gogf/gf/v2/errors/gerror" + "github.com/gogf/gf/v2/frame/g" + "github.com/gogf/gf/v2/os/gtime" + "github.com/gogf/gf/v2/text/gstr" ) var AddonsMaskDemoField []string @@ -47,11 +48,12 @@ func (s *sSysAddonsConfig) GetConfigByGroup(ctx context.Context, in *sysin.GetAd var ( mod = dao.SysAddonsConfig.Ctx(ctx) models []*entity.SysAddonsConfig + cols = dao.SysAddonsConfig.Columns() ) - if err = mod.Fields("key", "value", "type"). - Where("addon_name", in.AddonName). - Where("group", in.Group). + if err = mod.Fields(cols.Key, cols.Value, cols.Type). + Where(cols.AddonName, in.AddonName). + Where(cols.Group, in.Group). Scan(&models); err != nil { return nil, err } diff --git a/server/internal/logic/sys/config.go b/server/internal/logic/sys/config.go index e2eb290..5aa923e 100644 --- a/server/internal/logic/sys/config.go +++ b/server/internal/logic/sys/config.go @@ -207,7 +207,8 @@ func (s *sSysConfig) GetConfigByGroup(ctx context.Context, in *sysin.GetConfigIn } var models []*entity.SysConfig - if err = dao.SysConfig.Ctx(ctx).Fields("key", "value", "type").Where("group", in.Group).Scan(&models); err != nil { + cols := dao.SysConfig.Columns() + if err = dao.SysConfig.Ctx(ctx).Fields(cols.Key, cols.Value, cols.Type).Where(cols.Group, in.Group).Scan(&models); err != nil { err = gerror.Wrapf(err, "获取配置分组[ %v ]失败,请稍后重试!", in.Group) return } diff --git a/server/internal/logic/sys/cron.go b/server/internal/logic/sys/cron.go index 44d3d8a..54e50c3 100644 --- a/server/internal/logic/sys/cron.go +++ b/server/internal/logic/sys/cron.go @@ -7,10 +7,6 @@ package sys import ( "context" - "github.com/gogf/gf/v2/database/gdb" - "github.com/gogf/gf/v2/errors/gerror" - "github.com/gogf/gf/v2/frame/g" - "github.com/gogf/gf/v2/os/gctx" "hotgo/internal/consts" "hotgo/internal/dao" "hotgo/internal/library/cron" @@ -20,6 +16,11 @@ import ( "hotgo/internal/service" "hotgo/utility/simple" "hotgo/utility/validate" + + "github.com/gogf/gf/v2/database/gdb" + "github.com/gogf/gf/v2/errors/gerror" + "github.com/gogf/gf/v2/frame/g" + "github.com/gogf/gf/v2/os/gctx" ) type sSysCron struct{} @@ -202,7 +203,7 @@ func (s *sSysCron) List(ctx context.Context, in *sysin.CronListInp) (list []*sys // GetName 获取分组名称 func (s *sSysCron) GetName(ctx context.Context, id int64) (name string, err error) { - m := dao.SysCronGroup.Ctx(ctx).Fields("name").Where("id", id) + m := dao.SysCronGroup.Ctx(ctx).Fields(dao.SysCronGroup.Columns().Name).Where(dao.SysCronGroup.Columns().Id, id) list, err := m.Value() if err != nil { err = gerror.Wrap(err, consts.ErrorORM) diff --git a/server/internal/logic/sys/cron_group.go b/server/internal/logic/sys/cron_group.go index 3cc63eb..12e0a78 100644 --- a/server/internal/logic/sys/cron_group.go +++ b/server/internal/logic/sys/cron_group.go @@ -7,13 +7,14 @@ package sys import ( "context" - "github.com/gogf/gf/v2/errors/gerror" "hotgo/internal/consts" "hotgo/internal/dao" "hotgo/internal/model/entity" "hotgo/internal/model/input/form" "hotgo/internal/model/input/sysin" "hotgo/internal/service" + + "github.com/gogf/gf/v2/errors/gerror" ) type sSysCronGroup struct{} @@ -104,7 +105,7 @@ func (s *sSysCronGroup) List(ctx context.Context, in *sysin.CronGroupListInp) (l return } - if err = mod.Page(in.Page, in.PerPage).Order("id desc").Scan(&list); err != nil { + if err = mod.Page(in.Page, in.PerPage).OrderDesc(dao.SysCronGroup.Columns().Id).Scan(&list); err != nil { err = gerror.Wrap(err, consts.ErrorORM) } @@ -112,7 +113,7 @@ func (s *sSysCronGroup) List(ctx context.Context, in *sysin.CronGroupListInp) (l if v.Pid < 1 { continue } - name, err := dao.SysCronGroup.Ctx(ctx).Fields("name").WherePri(v.Pid).Value() + name, err := dao.SysCronGroup.Ctx(ctx).Fields(dao.SysCronGroup.Columns().Name).WherePri(v.Pid).Value() if err != nil { return nil, 0, err } diff --git a/server/internal/logic/sys/dict_data.go b/server/internal/logic/sys/dict_data.go index c739b0f..fe5b9d9 100644 --- a/server/internal/logic/sys/dict_data.go +++ b/server/internal/logic/sys/dict_data.go @@ -8,13 +8,14 @@ package sys import ( "context" "errors" - "github.com/gogf/gf/v2/errors/gerror" - "github.com/gogf/gf/v2/frame/g" "hotgo/internal/consts" "hotgo/internal/dao" "hotgo/internal/library/dict" "hotgo/internal/model/input/sysin" "hotgo/internal/service" + + "github.com/gogf/gf/v2/errors/gerror" + "github.com/gogf/gf/v2/frame/g" ) type sSysDictData struct{} @@ -119,7 +120,7 @@ func (s *sSysDictData) List(ctx context.Context, in *sysin.DictDataListInp) (lis // GetId 获取指定类型的ID func (s *sSysDictData) GetId(ctx context.Context, t string) (id int64, err error) { - m := dao.SysDictType.Ctx(ctx).Fields("id").Where("type", t).Where("status", consts.StatusEnabled) + m := dao.SysDictType.Ctx(ctx).Fields(dao.SysDictType.Columns().Id).Where(dao.SysDictType.Columns().Type, t).Where(dao.SysDictType.Columns().Status, consts.StatusEnabled) val, err := m.Value() if err != nil { err = gerror.Wrap(err, consts.ErrorORM) @@ -130,7 +131,7 @@ func (s *sSysDictData) GetId(ctx context.Context, t string) (id int64, err error // GetType 获取指定ID的类型标识 func (s *sSysDictData) GetType(ctx context.Context, id int64) (types string, err error) { - m := dao.SysDictType.Ctx(ctx).Fields("type").Where("id", id).Where("status", consts.StatusEnabled) + m := dao.SysDictType.Ctx(ctx).Fields(dao.SysDictType.Columns().Type).Where(dao.SysDictType.Columns().Id, id).Where(dao.SysDictType.Columns().Status, consts.StatusEnabled) val, err := m.Value() if err != nil { err = gerror.Wrap(err, consts.ErrorORM) @@ -141,8 +142,8 @@ func (s *sSysDictData) GetType(ctx context.Context, id int64) (types string, err // GetTypes 获取指定ID的所有类型标识,包含下级 func (s *sSysDictData) GetTypes(ctx context.Context, id int64) (types []string, err error) { - columns, err := dao.SysDictType.Ctx(ctx).Fields("type"). - Where("id", id).WhereOr("pid", id).Where("status", consts.StatusEnabled). + columns, err := dao.SysDictType.Ctx(ctx).Fields(dao.SysDictType.Columns().Type). + Where(dao.SysDictType.Columns().Id, id).WhereOr(dao.SysDictType.Columns().Pid, id).Where(dao.SysDictType.Columns().Status, consts.StatusEnabled). Array() types = g.NewVar(columns).Strings() return diff --git a/server/internal/logic/sys/ems_log.go b/server/internal/logic/sys/ems_log.go index 3a042f0..7e69dae 100644 --- a/server/internal/logic/sys/ems_log.go +++ b/server/internal/logic/sys/ems_log.go @@ -8,13 +8,6 @@ package sys import ( "context" "fmt" - "github.com/gogf/gf/v2/errors/gerror" - "github.com/gogf/gf/v2/frame/g" - "github.com/gogf/gf/v2/net/ghttp" - "github.com/gogf/gf/v2/os/gtime" - "github.com/gogf/gf/v2/os/gview" - "github.com/gogf/gf/v2/text/gstr" - "github.com/gogf/gf/v2/util/grand" "hotgo/internal/consts" "hotgo/internal/dao" "hotgo/internal/library/contexts" @@ -29,6 +22,14 @@ import ( "hotgo/utility/useragent" "hotgo/utility/validate" "time" + + "github.com/gogf/gf/v2/errors/gerror" + "github.com/gogf/gf/v2/frame/g" + "github.com/gogf/gf/v2/net/ghttp" + "github.com/gogf/gf/v2/os/gtime" + "github.com/gogf/gf/v2/os/gview" + "github.com/gogf/gf/v2/text/gstr" + "github.com/gogf/gf/v2/util/grand" ) type sSysEmsLog struct{} @@ -270,7 +271,7 @@ func (s *sSysEmsLog) newView(ctx context.Context, in *sysin.SendEmsInp, config * switch user.App { // 后台用户 case consts.AppAdmin: - _, err = g.Model("admin_member").Ctx(ctx).Where("id", user.Id).Data(g.Map{"password_reset_token": resetToken}).Update() + _, err = dao.AdminMember.Ctx(ctx).Where(dao.AdminMember.Columns().Id, user.Id).Data(g.Map{dao.AdminMember.Columns().PasswordResetToken: resetToken}).Update() if err != nil { return } @@ -379,7 +380,7 @@ func (s *sSysEmsLog) VerifyCode(ctx context.Context, in *sysin.VerifyEmsCodeInp) } var models *entity.SysEmsLog - if err = dao.SysEmsLog.Ctx(ctx).Where("event", in.Event).Where("email", in.Email).Order("id desc").Scan(&models); err != nil { + if err = dao.SysEmsLog.Ctx(ctx).Where(dao.SysEmsLog.Columns().Event, in.Event).Where(dao.SysEmsLog.Columns().Email, in.Email).Order(dao.SysEmsLog.Columns().Id, false).Scan(&models); err != nil { err = gerror.Wrap(err, consts.ErrorORM) return err } @@ -407,15 +408,15 @@ func (s *sSysEmsLog) VerifyCode(ctx context.Context, in *sysin.VerifyEmsCodeInp) } if models.Code != in.Code { - _, _ = dao.SysEmsLog.Ctx(ctx).Where("id", models.Id).Increment("times", 1) + _, _ = dao.SysEmsLog.Ctx(ctx).Where(dao.SysEmsLog.Columns().Id, models.Id).Increment(dao.SysEmsLog.Columns().Times, 1) err = gerror.New("验证码错误!") return } - _, err = dao.SysEmsLog.Ctx(ctx).Where("id", models.Id).Data(g.Map{ - "times": models.Times + 1, - "status": consts.CodeStatusUsed, - "updated_at": gtime.Now(), + _, err = dao.SysEmsLog.Ctx(ctx).Where(dao.SysEmsLog.Columns().Id, models.Id).Data(g.Map{ + dao.SysEmsLog.Columns().Times: models.Times + 1, + dao.SysEmsLog.Columns().Status: consts.CodeStatusUsed, + dao.SysEmsLog.Columns().UpdatedAt: gtime.Now(), }).Update() return } diff --git a/server/internal/logic/sys/log.go b/server/internal/logic/sys/log.go index 4b71578..147508e 100644 --- a/server/internal/logic/sys/log.go +++ b/server/internal/logic/sys/log.go @@ -8,16 +8,6 @@ package sys import ( "context" "fmt" - "github.com/gogf/gf/v2/database/gdb" - "github.com/gogf/gf/v2/encoding/gjson" - "github.com/gogf/gf/v2/errors/gerror" - "github.com/gogf/gf/v2/frame/g" - "github.com/gogf/gf/v2/net/ghttp" - "github.com/gogf/gf/v2/os/gctx" - "github.com/gogf/gf/v2/os/gtime" - "github.com/gogf/gf/v2/text/gstr" - "github.com/gogf/gf/v2/util/gconv" - "github.com/gogf/gf/v2/util/gmode" "hotgo/internal/consts" "hotgo/internal/dao" "hotgo/internal/global" @@ -34,6 +24,17 @@ import ( "hotgo/utility/excel" "hotgo/utility/simple" "hotgo/utility/validate" + + "github.com/gogf/gf/v2/database/gdb" + "github.com/gogf/gf/v2/encoding/gjson" + "github.com/gogf/gf/v2/errors/gerror" + "github.com/gogf/gf/v2/frame/g" + "github.com/gogf/gf/v2/net/ghttp" + "github.com/gogf/gf/v2/os/gctx" + "github.com/gogf/gf/v2/os/gtime" + "github.com/gogf/gf/v2/text/gstr" + "github.com/gogf/gf/v2/util/gconv" + "github.com/gogf/gf/v2/util/gmode" ) type sSysLog struct{} @@ -414,7 +415,7 @@ func (s *sSysLog) List(ctx context.Context, in *sysin.LogListInp) (list []*sysin routes := global.LoadHTTPRoutes(ghttp.RequestFromCtx(ctx)) for _, v := range list { if v.AppId == consts.AppAdmin { - memberName, err := dao.AdminMember.Ctx(ctx).Fields("realname").WherePri(v.MemberId).Value() + memberName, err := dao.AdminMember.Ctx(ctx).Fields(dao.AdminMember.Columns().RealName).WherePri(v.MemberId).Value() if err != nil { err = gerror.Wrap(err, consts.ErrorORM) return list, totalCount, err diff --git a/server/internal/logic/sys/login_log.go b/server/internal/logic/sys/login_log.go index c83c4c3..06fa90f 100644 --- a/server/internal/logic/sys/login_log.go +++ b/server/internal/logic/sys/login_log.go @@ -84,7 +84,7 @@ func (s *sSysLoginLog) List(ctx context.Context, in *sysin.LoginLogListInp) (lis for _, v := range list { v.Os = useragent.GetOs(v.UserAgent) v.Browser = useragent.GetBrowser(v.UserAgent) - v.SysLogId, err = dao.SysLog.Ctx(ctx).Fields("id").Where("req_id", v.ReqId).Value() + v.SysLogId, err = dao.SysLog.Ctx(ctx).Fields(dao.SysLog.Columns().Id).Where(dao.SysLog.Columns().ReqId, v.ReqId).Value() if err != nil { return nil, 0, err } diff --git a/server/internal/logic/sys/provinces.go b/server/internal/logic/sys/provinces.go index ab01d5d..82790f9 100644 --- a/server/internal/logic/sys/provinces.go +++ b/server/internal/logic/sys/provinces.go @@ -7,14 +7,16 @@ package sys import ( "context" - "github.com/gogf/gf/v2/errors/gerror" - "github.com/gogf/gf/v2/frame/g" + "fmt" "hotgo/internal/dao" "hotgo/internal/library/hgorm" "hotgo/internal/model/entity" "hotgo/internal/model/input/form" "hotgo/internal/model/input/sysin" "hotgo/internal/service" + + "github.com/gogf/gf/v2/errors/gerror" + "github.com/gogf/gf/v2/frame/g" ) type sSysProvinces struct{} @@ -206,9 +208,10 @@ func (s *sSysProvinces) UniqueId(ctx context.Context, in *sysin.ProvincesUniqueI // Select 省市区选项 func (s *sSysProvinces) Select(ctx context.Context, in *sysin.ProvincesSelectInp) (res *sysin.ProvincesSelectModel, err error) { res = new(sysin.ProvincesSelectModel) - mod := dao.SysProvinces.Ctx(ctx).Fields("id as value, title as label, level").Where("pid", in.Value) + cols := dao.SysProvinces.Columns() + mod := dao.SysProvinces.Ctx(ctx).Fields(fmt.Sprintf("%s as value, %s as label, %s ", cols.Id, cols.Title, cols.Level)).Where(cols.Pid, in.Value) - if err = mod.Order("sort asc,id asc").Scan(&res.List); err != nil { + if err = mod.OrderAsc(cols.Sort).OrderAsc(cols.Id).Scan(&res.List); err != nil { err = gerror.Wrap(err, "获取省市区选项失败!") return }