mirror of
https://github.com/bufanyun/hotgo.git
synced 2025-09-17 16:56:39 +08:00
系统大量出现where("id",xx) fields("user_id") 固定字符串,修改按照统一规范使用dao.xxx.Columns().xxx
This commit is contained in:
parent
0c5b27d864
commit
19c0c0c1bc
@ -53,7 +53,7 @@ func (c *cEms) SendBindEms(ctx context.Context, _ *common.SendBindEmsReq) (res *
|
|||||||
return
|
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
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -39,7 +39,7 @@ func (c *cSms) SendBindSms(ctx context.Context, _ *common.SendBindSmsReq) (res *
|
|||||||
return
|
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
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7,11 +7,13 @@ package addons
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"hotgo/internal/consts"
|
||||||
|
"hotgo/internal/dao"
|
||||||
|
|
||||||
"github.com/gogf/gf/v2/database/gdb"
|
"github.com/gogf/gf/v2/database/gdb"
|
||||||
"github.com/gogf/gf/v2/errors/gerror"
|
"github.com/gogf/gf/v2/errors/gerror"
|
||||||
"github.com/gogf/gf/v2/frame/g"
|
"github.com/gogf/gf/v2/frame/g"
|
||||||
"github.com/gogf/gf/v2/os/gtime"
|
"github.com/gogf/gf/v2/os/gtime"
|
||||||
"hotgo/internal/consts"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// InstallRecord 安装记录
|
// InstallRecord 安装记录
|
||||||
@ -24,11 +26,11 @@ type InstallRecord struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func GetModel(ctx context.Context) *gdb.Model {
|
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) {
|
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
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -56,13 +58,13 @@ func Install(m Module) (err error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
data := g.Map{
|
data := g.Map{
|
||||||
"name": m.GetSkeleton().Name,
|
dao.SysAddonsInstall.Columns().Name: m.GetSkeleton().Name,
|
||||||
"version": m.GetSkeleton().Version,
|
dao.SysAddonsInstall.Columns().Version: m.GetSkeleton().Version,
|
||||||
"status": consts.AddonsInstallStatusOk,
|
dao.SysAddonsInstall.Columns().Status: consts.AddonsInstallStatusOk,
|
||||||
}
|
}
|
||||||
return g.DB().Transaction(m.Ctx(), func(ctx context.Context, tx gdb.TX) error {
|
return g.DB().Transaction(m.Ctx(), func(ctx context.Context, tx gdb.TX) error {
|
||||||
if record != nil {
|
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 {
|
if _, err = GetModel(ctx).Data(data).OmitEmptyData().Insert(); err != nil {
|
||||||
@ -84,10 +86,10 @@ func Upgrade(m Module) (err error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
data := g.Map{
|
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 {
|
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 err
|
||||||
}
|
}
|
||||||
return m.Upgrade(ctx)
|
return m.Upgrade(ctx)
|
||||||
@ -106,11 +108,11 @@ func UnInstall(m Module) (err error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
data := g.Map{
|
data := g.Map{
|
||||||
"version": m.GetSkeleton().Version,
|
dao.SysAddonsInstall.Columns().Version: m.GetSkeleton().Version,
|
||||||
"status": consts.AddonsInstallStatusUn,
|
dao.SysAddonsInstall.Columns().Status: consts.AddonsInstallStatusUn,
|
||||||
}
|
}
|
||||||
return g.DB().Transaction(m.Ctx(), func(ctx context.Context, tx gdb.TX) error {
|
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 err
|
||||||
}
|
}
|
||||||
return m.UnInstall(ctx)
|
return m.UnInstall(ctx)
|
||||||
|
@ -7,6 +7,7 @@ package casbin
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"fmt"
|
||||||
"hotgo/internal/consts"
|
"hotgo/internal/consts"
|
||||||
"hotgo/internal/dao"
|
"hotgo/internal/dao"
|
||||||
"net/http"
|
"net/http"
|
||||||
@ -79,14 +80,18 @@ func loadPermissions(ctx context.Context) {
|
|||||||
polices []*Policy
|
polices []*Policy
|
||||||
err error
|
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"}, " ")).
|
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.AdminRoleMenu.Table(), "rm"}, " "), "r.id=rm.role_id").
|
||||||
LeftJoin(gstr.Join([]string{dao.AdminMenu.Table(), "m"}, " "), "rm.menu_id=m.id").
|
LeftJoin(gstr.Join([]string{dao.AdminMenu.Table(), "m"}, " "), "rm.menu_id=m.id").
|
||||||
Fields("r.key,m.permissions").
|
Fields(q("r", dao.AdminRole.Columns().Key), q("m", dao.AdminMenu.Columns().Permissions)).
|
||||||
Where("r.status", consts.StatusEnabled).
|
Where(q("r", dao.AdminRole.Columns().Status), consts.StatusEnabled).
|
||||||
Where("m.status", consts.StatusEnabled).
|
Where(q("m", dao.AdminMenu.Columns().Status), consts.StatusEnabled).
|
||||||
Where("m.permissions !=?", "").
|
Where(q("m", dao.AdminMenu.Columns().Permissions), "").
|
||||||
Where("r.key !=?", consts.SuperRoleKey).
|
Where(q("r", dao.AdminRole.Columns().Key), consts.SuperRoleKey).
|
||||||
Scan(&polices)
|
Scan(&polices)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
g.Log().Fatalf(ctx, "loadPermissions Scan err:%v", err)
|
g.Log().Fatalf(ctx, "loadPermissions Scan err:%v", err)
|
||||||
|
@ -148,7 +148,7 @@ func StartALL(sysCron []*entity.SysCron) (err error) {
|
|||||||
|
|
||||||
// 执行完毕,单次和多次执行的任务更新状态
|
// 执行完毕,单次和多次执行的任务更新状态
|
||||||
if cron.Policy == consts.CronPolicyOnce || cron.Policy == consts.CronPolicyTimes {
|
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, "定时任务执行失败!")
|
err = gerror.Wrap(err, "定时任务执行失败!")
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -981,7 +981,7 @@ func (l *gCurd) generateSqlContent(ctx context.Context, in *CurdPreviewInput) (e
|
|||||||
}
|
}
|
||||||
|
|
||||||
menuNames = convert.UniqueSlice(menuNames)
|
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 {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -10,12 +10,14 @@ import (
|
|||||||
"context"
|
"context"
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/gogf/gf/v2/errors/gerror"
|
"hotgo/internal/dao"
|
||||||
"github.com/gogf/gf/v2/frame/g"
|
|
||||||
"github.com/gogf/gf/v2/util/gconv"
|
|
||||||
"hotgo/internal/library/dict"
|
"hotgo/internal/library/dict"
|
||||||
"hotgo/internal/model/input/sysin"
|
"hotgo/internal/model/input/sysin"
|
||||||
"hotgo/utility/convert"
|
"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 {
|
type StateItem struct {
|
||||||
@ -181,9 +183,9 @@ func (l *gCurd) generateWebModelDictOptions(ctx context.Context, in *CurdPreview
|
|||||||
}
|
}
|
||||||
|
|
||||||
if len(dictTypeIds) > 0 {
|
if len(dictTypeIds) > 0 {
|
||||||
err := g.Model("sys_dict_type").Ctx(ctx).
|
err := dao.SysDictType.Ctx(ctx).
|
||||||
Fields("id", "type").
|
Fields(dao.SysDictType.Columns().Id, dao.SysDictType.Columns().Type).
|
||||||
WhereIn("id", dictTypeIds).
|
WhereIn(dao.SysDictType.Columns().Id, dictTypeIds).
|
||||||
Scan(&dictTypeList)
|
Scan(&dictTypeList)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
@ -7,14 +7,16 @@ package handler
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"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/consts"
|
||||||
|
"hotgo/internal/dao"
|
||||||
"hotgo/internal/library/contexts"
|
"hotgo/internal/library/contexts"
|
||||||
"hotgo/internal/model/entity"
|
"hotgo/internal/model/entity"
|
||||||
"hotgo/utility/convert"
|
"hotgo/utility/convert"
|
||||||
"hotgo/utility/tree"
|
"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 过滤数据权限
|
// FilterAuth 过滤数据权限
|
||||||
@ -56,7 +58,7 @@ func FilterAuthWithField(filterField string) func(m *gdb.Model) *gdb.Model {
|
|||||||
return m
|
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 {
|
if err != nil {
|
||||||
g.Log().Panicf(ctx, "failed to role information err:%+v", err)
|
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 {
|
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 {
|
if err != nil {
|
||||||
g.Log().Panic(ctx, "failed to get member dept data")
|
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 获取指定部门的所有下级,含本部门
|
// GetDeptAndSub 获取指定部门的所有下级,含本部门
|
||||||
func GetDeptAndSub(ctx context.Context, deptId int64) (ids []int64) {
|
func GetDeptAndSub(ctx context.Context, deptId int64) (ids []int64) {
|
||||||
array, err := g.Model("admin_dept").
|
array, err := dao.AdminDept.Ctx(ctx).
|
||||||
WhereLike("tree", "%"+tree.GetIdLabel(deptId)+"%").
|
WhereLike(dao.AdminDept.Columns().Tree, "%"+tree.GetIdLabel(deptId)+"%").
|
||||||
Fields("id").
|
Fields(dao.AdminDept.Columns().Id).
|
||||||
Array()
|
Array()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
g.Log().Panicf(ctx, "GetDeptAndSub err:%+v", err)
|
g.Log().Panicf(ctx, "GetDeptAndSub err:%+v", err)
|
||||||
@ -121,9 +123,9 @@ func GetDeptAndSub(ctx context.Context, deptId int64) (ids []int64) {
|
|||||||
|
|
||||||
// GetSelfAndSub 获取直属下级,包含自己
|
// GetSelfAndSub 获取直属下级,包含自己
|
||||||
func GetSelfAndSub(ctx context.Context, memberId int64) (ids []int64) {
|
func GetSelfAndSub(ctx context.Context, memberId int64) (ids []int64) {
|
||||||
array, err := g.Model("admin_member").
|
array, err := dao.AdminMember.Ctx(ctx).
|
||||||
Where("pid", memberId).
|
Where(dao.AdminMember.Columns().Pid, memberId).
|
||||||
Fields("id").
|
Fields(dao.AdminMember.Columns().Id).
|
||||||
Array()
|
Array()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
g.Log().Panicf(ctx, "GetSelfAndSub err:%+v", err)
|
g.Log().Panicf(ctx, "GetSelfAndSub err:%+v", err)
|
||||||
@ -140,9 +142,9 @@ func GetSelfAndSub(ctx context.Context, memberId int64) (ids []int64) {
|
|||||||
|
|
||||||
// GetSelfAndAllSub 获取全部下级,包含自己
|
// GetSelfAndAllSub 获取全部下级,包含自己
|
||||||
func GetSelfAndAllSub(ctx context.Context, memberId int64) (ids []int64) {
|
func GetSelfAndAllSub(ctx context.Context, memberId int64) (ids []int64) {
|
||||||
array, err := g.Model("admin_member").
|
array, err := dao.AdminMember.Ctx(ctx).
|
||||||
WhereLike("tree", "%"+tree.GetIdLabel(memberId)+"%").
|
WhereLike(dao.AdminMember.Columns().Tree, "%"+tree.GetIdLabel(memberId)+"%").
|
||||||
Fields("id").
|
Fields(dao.AdminMember.Columns().Id).
|
||||||
Array()
|
Array()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
g.Log().Panicf(ctx, "GetSelfAndAllSub err:%+v", err)
|
g.Log().Panicf(ctx, "GetSelfAndAllSub err:%+v", err)
|
||||||
|
@ -7,10 +7,11 @@ package hook
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"hotgo/internal/dao"
|
||||||
|
"hotgo/utility/convert"
|
||||||
|
|
||||||
"github.com/gogf/gf/v2/container/gvar"
|
"github.com/gogf/gf/v2/container/gvar"
|
||||||
"github.com/gogf/gf/v2/database/gdb"
|
"github.com/gogf/gf/v2/database/gdb"
|
||||||
"github.com/gogf/gf/v2/frame/g"
|
|
||||||
"hotgo/utility/convert"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// MemberInfo 后台用户信息
|
// MemberInfo 后台用户信息
|
||||||
@ -23,9 +24,9 @@ var MemberInfo = gdb.HookHandler{
|
|||||||
for i, record := range result {
|
for i, record := range result {
|
||||||
// 部门
|
// 部门
|
||||||
if !record["dept_id"].IsEmpty() {
|
if !record["dept_id"].IsEmpty() {
|
||||||
deptName, err := g.Model("admin_dept").Ctx(ctx).
|
deptName, err := dao.AdminDept.Ctx(ctx).
|
||||||
Fields("name").
|
Fields(dao.AdminDept.Columns().Name).
|
||||||
Where("id", record["dept_id"]).
|
Where(dao.AdminDept.Columns().Id, record["dept_id"]).
|
||||||
Value()
|
Value()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
break
|
break
|
||||||
@ -35,9 +36,9 @@ var MemberInfo = gdb.HookHandler{
|
|||||||
|
|
||||||
// 角色
|
// 角色
|
||||||
if !record["role_id"].IsEmpty() {
|
if !record["role_id"].IsEmpty() {
|
||||||
roleName, err := g.Model("admin_role").Ctx(ctx).
|
roleName, err := dao.AdminRole.Ctx(ctx).
|
||||||
Fields("name").
|
Fields(dao.AdminRole.Columns().Name).
|
||||||
Where("id", record["role_id"]).
|
Where(dao.AdminRole.Columns().Id, record["role_id"]).
|
||||||
Value()
|
Value()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
break
|
break
|
||||||
@ -109,7 +110,7 @@ var MemberSummary = gdb.HookHandler{
|
|||||||
}
|
}
|
||||||
|
|
||||||
var members []*MemberSumma
|
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
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7,17 +7,18 @@ package location
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"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/container/gvar"
|
||||||
"github.com/gogf/gf/v2/database/gdb"
|
"github.com/gogf/gf/v2/database/gdb"
|
||||||
"github.com/gogf/gf/v2/errors/gerror"
|
"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 {
|
func GetModel(ctx context.Context) *gdb.Model {
|
||||||
return g.Model("sys_provinces").Ctx(ctx)
|
return dao.SysProvinces.Ctx(ctx)
|
||||||
}
|
}
|
||||||
|
|
||||||
// ParseSimpleRegion 通过地区ID解析地区名称,自动加入上级地区
|
// ParseSimpleRegion 通过地区ID解析地区名称,自动加入上级地区
|
||||||
@ -30,7 +31,7 @@ func ParseSimpleRegion(ctx context.Context, id int64, spilt ...string) (string,
|
|||||||
err error
|
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
|
return "", err
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -76,14 +77,14 @@ func ParseRegion(ctx context.Context, province int64, city int64, county int64,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if province > 0 && province < 999999 {
|
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 {
|
if err != nil {
|
||||||
err = gerror.Wrap(err, consts.ErrorORM)
|
err = gerror.Wrap(err, consts.ErrorORM)
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
|
|
||||||
if city > 0 {
|
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 {
|
if err != nil {
|
||||||
err = gerror.Wrap(err, consts.ErrorORM)
|
err = gerror.Wrap(err, consts.ErrorORM)
|
||||||
return "", err
|
return "", err
|
||||||
@ -91,7 +92,7 @@ func ParseRegion(ctx context.Context, province int64, city int64, county int64,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if county > 0 {
|
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 {
|
if err != nil {
|
||||||
err = gerror.Wrap(err, consts.ErrorORM)
|
err = gerror.Wrap(err, consts.ErrorORM)
|
||||||
return "", err
|
return "", err
|
||||||
|
@ -8,15 +8,16 @@ package payment
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"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/consts"
|
||||||
|
"hotgo/internal/dao"
|
||||||
"hotgo/internal/library/payment/alipay"
|
"hotgo/internal/library/payment/alipay"
|
||||||
"hotgo/internal/library/payment/qqpay"
|
"hotgo/internal/library/payment/qqpay"
|
||||||
"hotgo/internal/library/payment/wxpay"
|
"hotgo/internal/library/payment/wxpay"
|
||||||
"hotgo/internal/model/input/payin"
|
"hotgo/internal/model/input/payin"
|
||||||
"hotgo/utility/validate"
|
"hotgo/utility/validate"
|
||||||
|
|
||||||
|
"github.com/gogf/gf/v2/os/gtime"
|
||||||
|
"github.com/gogf/gf/v2/util/grand"
|
||||||
)
|
)
|
||||||
|
|
||||||
// PayClient 支付客户端
|
// PayClient 支付客户端
|
||||||
@ -53,40 +54,40 @@ func New(name ...string) PayClient {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// GenOrderSn 生成业务订单号
|
// GenOrderSn 生成业务订单号
|
||||||
func GenOrderSn() string {
|
func GenOrderSn(ctx context.Context) string {
|
||||||
orderSn := fmt.Sprintf("HG@%v%v", gtime.Now().Format("YmdHis"), grand.S(4))
|
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 {
|
if err != nil {
|
||||||
panic(fmt.Sprintf("payment.GenOrderSn err:%+v", err))
|
panic(fmt.Sprintf("payment.GenOrderSn err:%+v", err))
|
||||||
}
|
}
|
||||||
if count > 0 {
|
if count > 0 {
|
||||||
return GenOrderSn()
|
return GenOrderSn(ctx)
|
||||||
}
|
}
|
||||||
return orderSn
|
return orderSn
|
||||||
}
|
}
|
||||||
|
|
||||||
// GenOutTradeNo 生成商户订单号
|
// GenOutTradeNo 生成商户订单号
|
||||||
func GenOutTradeNo() string {
|
func GenOutTradeNo(ctx context.Context) string {
|
||||||
outTradeNo := fmt.Sprintf("%v%v", gtime.Now().Format("YmdHis"), grand.N(10000000, 99999999))
|
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 {
|
if err != nil {
|
||||||
panic(fmt.Sprintf("payment.GenOutTradeNo err:%+v", err))
|
panic(fmt.Sprintf("payment.GenOutTradeNo err:%+v", err))
|
||||||
}
|
}
|
||||||
if count > 0 {
|
if count > 0 {
|
||||||
return GenOutTradeNo()
|
return GenOutTradeNo(ctx)
|
||||||
}
|
}
|
||||||
return outTradeNo
|
return outTradeNo
|
||||||
}
|
}
|
||||||
|
|
||||||
// GenRefundSn 生成退款订单号
|
// GenRefundSn 生成退款订单号
|
||||||
func GenRefundSn() string {
|
func GenRefundSn(ctx context.Context) string {
|
||||||
outTradeNo := fmt.Sprintf("%v%v", gtime.Now().Format("YmdHis"), grand.N(10000, 99999))
|
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 {
|
if err != nil {
|
||||||
panic(fmt.Sprintf("payment.GenRefundSn err:%+v", err))
|
panic(fmt.Sprintf("payment.GenRefundSn err:%+v", err))
|
||||||
}
|
}
|
||||||
if count > 0 {
|
if count > 0 {
|
||||||
return GenRefundSn()
|
return GenRefundSn(ctx)
|
||||||
}
|
}
|
||||||
return outTradeNo
|
return outTradeNo
|
||||||
}
|
}
|
||||||
|
@ -7,9 +7,10 @@ package sms
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"github.com/gogf/gf/v2/database/gdb"
|
"hotgo/internal/dao"
|
||||||
"github.com/gogf/gf/v2/frame/g"
|
|
||||||
"hotgo/internal/model"
|
"hotgo/internal/model"
|
||||||
|
|
||||||
|
"github.com/gogf/gf/v2/database/gdb"
|
||||||
)
|
)
|
||||||
|
|
||||||
var config *model.SmsConfig
|
var config *model.SmsConfig
|
||||||
@ -23,5 +24,5 @@ func GetConfig() *model.SmsConfig {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func GetModel(ctx context.Context) *gdb.Model {
|
func GetModel(ctx context.Context) *gdb.Model {
|
||||||
return g.Model("sys_sms_log").Ctx(ctx)
|
return dao.SysSmsLog.Ctx(ctx)
|
||||||
}
|
}
|
||||||
|
@ -7,9 +7,10 @@ package storager
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"github.com/gogf/gf/v2/database/gdb"
|
"hotgo/internal/dao"
|
||||||
"github.com/gogf/gf/v2/frame/g"
|
|
||||||
"hotgo/internal/model"
|
"hotgo/internal/model"
|
||||||
|
|
||||||
|
"github.com/gogf/gf/v2/database/gdb"
|
||||||
)
|
)
|
||||||
|
|
||||||
var config *model.UploadConfig
|
var config *model.UploadConfig
|
||||||
@ -23,5 +24,5 @@ func GetConfig() *model.UploadConfig {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func GetModel(ctx context.Context) *gdb.Model {
|
func GetModel(ctx context.Context) *gdb.Model {
|
||||||
return g.Model("sys_attachment").Ctx(ctx)
|
return dao.SysAttachment.Ctx(ctx)
|
||||||
}
|
}
|
||||||
|
@ -8,12 +8,8 @@ package storager
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"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/consts"
|
||||||
|
"hotgo/internal/dao"
|
||||||
"hotgo/internal/library/cache"
|
"hotgo/internal/library/cache"
|
||||||
"hotgo/internal/library/contexts"
|
"hotgo/internal/library/contexts"
|
||||||
"hotgo/internal/model/entity"
|
"hotgo/internal/model/entity"
|
||||||
@ -24,6 +20,12 @@ import (
|
|||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"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 存储驱动
|
// UploadDrive 存储驱动
|
||||||
@ -236,7 +238,7 @@ func write(ctx context.Context, meta *FileMeta, fullPath string) (models *entity
|
|||||||
|
|
||||||
// HasFile 检查附件是否存在
|
// HasFile 检查附件是否存在
|
||||||
func HasFile(ctx context.Context, md5 string) (res *entity.SysAttachment, err error) {
|
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时出现错误")
|
err = gerror.Wrap(err, "检查文件hash时出现错误")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -248,8 +250,8 @@ func HasFile(ctx context.Context, md5 string) (res *entity.SysAttachment, err er
|
|||||||
// 只有在上传时才会检查md5值,如果附件存在则更新最后上传时间,保证上传列表更新显示在最前面
|
// 只有在上传时才会检查md5值,如果附件存在则更新最后上传时间,保证上传列表更新显示在最前面
|
||||||
if res.Id > 0 {
|
if res.Id > 0 {
|
||||||
update := g.Map{
|
update := g.Map{
|
||||||
"status": consts.StatusEnabled,
|
dao.SysAttachment.Columns().Status: consts.StatusEnabled,
|
||||||
"updated_at": gtime.Now(),
|
dao.SysAttachment.Columns().UpdatedAt: gtime.Now(),
|
||||||
}
|
}
|
||||||
_, _ = GetModel(ctx).WherePri(res.Id).Data(update).Update()
|
_, _ = GetModel(ctx).WherePri(res.Id).Data(update).Update()
|
||||||
}
|
}
|
||||||
|
@ -44,7 +44,7 @@ func (s *sAdminCash) View(ctx context.Context, in *adminin.CashViewInp) (res *ad
|
|||||||
return
|
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)
|
err = gerror.Wrap(err, consts.ErrorORM)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -55,7 +55,7 @@ func (s *sAdminCash) View(ctx context.Context, in *adminin.CashViewInp) (res *ad
|
|||||||
}
|
}
|
||||||
|
|
||||||
var mem *entity.AdminMember
|
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 {
|
if err != nil {
|
||||||
err = gerror.Wrap(err, consts.ErrorORM)
|
err = gerror.Wrap(err, consts.ErrorORM)
|
||||||
return
|
return
|
||||||
@ -78,7 +78,7 @@ func (s *sAdminCash) List(ctx context.Context, in *adminin.CashListInp) (list []
|
|||||||
)
|
)
|
||||||
|
|
||||||
if in.MemberId > 0 {
|
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 {
|
if len(memberIds) == 0 {
|
||||||
return nil, 0, nil
|
return nil, 0, nil
|
||||||
}
|
}
|
||||||
mod = mod.WhereIn("member_id", memberIds)
|
mod = mod.WhereIn(dao.AdminCash.Columns().MemberId, memberIds)
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(in.CreatedAt) == 2 {
|
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 {
|
if in.Status > 0 {
|
||||||
mod = mod.Where("status", in.Status)
|
mod = mod.Where(dao.AdminCash.Columns().Status, in.Status)
|
||||||
}
|
}
|
||||||
|
|
||||||
if !isSuper {
|
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
|
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)
|
err = gerror.Wrap(err, consts.ErrorORM)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -144,8 +144,8 @@ func (s *sAdminCash) Apply(ctx context.Context, in *adminin.CashApplyInp) (err e
|
|||||||
}
|
}
|
||||||
|
|
||||||
count, err := dao.AdminCash.Ctx(ctx).
|
count, err := dao.AdminCash.Ctx(ctx).
|
||||||
Where("member_id", in.MemberId).
|
Where(dao.AdminCash.Columns().MemberId, in.MemberId).
|
||||||
Where("status", consts.StatusEnabled).
|
Where(dao.AdminCash.Columns().Status, consts.StatusEnabled).
|
||||||
Count()
|
Count()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
@ -156,7 +156,7 @@ func (s *sAdminCash) Apply(ctx context.Context, in *adminin.CashApplyInp) (err e
|
|||||||
return
|
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())
|
err = gerror.Newf("获取用户信息失败:%+v", err.Error())
|
||||||
return
|
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) {
|
err = g.DB().Transaction(ctx, func(ctx context.Context, tx gdb.TX) (err error) {
|
||||||
// 添加提现记录
|
// 添加提现记录
|
||||||
lastInsertId, err := dao.AdminCash.Ctx(ctx).Data(g.Map{
|
lastInsertId, err := dao.AdminCash.Ctx(ctx).Data(g.Map{
|
||||||
"member_id": in.MemberId,
|
dao.AdminCash.Columns().MemberId: in.MemberId,
|
||||||
"money": in.Money,
|
dao.AdminCash.Columns().Money: in.Money,
|
||||||
"fee": fee,
|
dao.AdminCash.Columns().Fee: fee,
|
||||||
"last_money": lastMoney,
|
dao.AdminCash.Columns().LastMoney: lastMoney,
|
||||||
"created_at": gtime.Now(),
|
dao.AdminCash.Columns().CreatedAt: gtime.Now(),
|
||||||
"status": consts.CashStatusWait,
|
dao.AdminCash.Columns().Status: consts.CashStatusWait,
|
||||||
"msg": "",
|
dao.AdminCash.Columns().Msg: "",
|
||||||
"ip": location.GetClientIp(ghttp.RequestFromCtx(ctx)),
|
dao.AdminCash.Columns().Ip: location.GetClientIp(ghttp.RequestFromCtx(ctx)),
|
||||||
}).OmitEmptyData().InsertAndGetId()
|
}).OmitEmptyData().InsertAndGetId()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
@ -262,7 +262,7 @@ func (s *sAdminCash) Payment(ctx context.Context, in *adminin.CashPaymentInp) (e
|
|||||||
}
|
}
|
||||||
|
|
||||||
var models *entity.AdminCash
|
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
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -276,10 +276,10 @@ func (s *sAdminCash) Payment(ctx context.Context, in *adminin.CashPaymentInp) (e
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
_, err = dao.AdminCash.Ctx(ctx).Where("id", models.Id).Data(g.Map{
|
_, err = dao.AdminCash.Ctx(ctx).Where(dao.AdminCash.Columns().Id, models.Id).Data(g.Map{
|
||||||
"handle_at": gtime.Now(),
|
dao.AdminCash.Columns().HandleAt: gtime.Now(),
|
||||||
"status": in.Status,
|
dao.AdminCash.Columns().Status: in.Status,
|
||||||
"msg": gstr.Trim(in.Msg, " "),
|
dao.AdminCash.Columns().Msg: gstr.Trim(in.Msg, " "),
|
||||||
}).Update()
|
}).Update()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -239,7 +239,7 @@ func (s *sAdminDept) List(ctx context.Context, in *adminin.DeptListInp) (res *ad
|
|||||||
// GetName 获取部门名称
|
// GetName 获取部门名称
|
||||||
func (s *sAdminDept) GetName(ctx context.Context, id int64) (name string, err error) {
|
func (s *sAdminDept) GetName(ctx context.Context, id int64) (name string, err error) {
|
||||||
var data *entity.AdminDept
|
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, "获取部门名称失败!")
|
err = gerror.Wrap(err, "获取部门名称失败!")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -427,7 +427,7 @@ func (s *sAdminMember) Delete(ctx context.Context, in *adminin.MemberDeleteInp)
|
|||||||
err = gerror.New("超管账号禁止删除!")
|
err = gerror.New("超管账号禁止删除!")
|
||||||
return
|
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 {
|
if err != nil {
|
||||||
err = gerror.Wrap(err, "删除用户检查失败,请稍后重试!")
|
err = gerror.Wrap(err, "删除用户检查失败,请稍后重试!")
|
||||||
return err
|
return err
|
||||||
@ -444,7 +444,7 @@ func (s *sAdminMember) Delete(ctx context.Context, in *adminin.MemberDeleteInp)
|
|||||||
return
|
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, "删除用户岗位失败,请稍后重试!")
|
err = gerror.Wrap(err, "删除用户岗位失败,请稍后重试!")
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -757,7 +757,7 @@ func (s *sAdminMember) GetIdByCode(ctx context.Context, in *adminin.GetIdByCodeI
|
|||||||
|
|
||||||
// Select 获取可选的用户选项
|
// Select 获取可选的用户选项
|
||||||
func (s *sAdminMember) Select(ctx context.Context, in *adminin.MemberSelectInp) (res []*adminin.MemberSelectModel, err error) {
|
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")).
|
Handler(handler.FilterAuthWithField("id")).
|
||||||
Scan(&res)
|
Scan(&res)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -769,8 +769,8 @@ func (s *sAdminMember) Select(ctx context.Context, in *adminin.MemberSelectInp)
|
|||||||
// GetLowerIds 获取指定用户的所有下级ID集合
|
// GetLowerIds 获取指定用户的所有下级ID集合
|
||||||
func (s *sAdminMember) GetLowerIds(ctx context.Context, memberId int64) (ids []int64, err error) {
|
func (s *sAdminMember) GetLowerIds(ctx context.Context, memberId int64) (ids []int64, err error) {
|
||||||
array, err := dao.AdminMember.Ctx(ctx).
|
array, err := dao.AdminMember.Ctx(ctx).
|
||||||
Fields("id").
|
Fields(dao.AdminMember.Columns().Id).
|
||||||
WhereLike("tree", "%"+tree.GenLabel("", memberId)+"%").
|
WhereLike(dao.AdminMember.Columns().Tree, "%"+tree.GenLabel("", memberId)+"%").
|
||||||
Array()
|
Array()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
@ -818,8 +818,15 @@ func (s *sAdminMember) GetIdsByKeyword(ctx context.Context, ks string) (res []in
|
|||||||
if len(ks) == 0 {
|
if len(ks) == 0 {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
array, err := dao.AdminMember.Ctx(ctx).Fields("id").
|
cols := dao.AdminMember.Columns()
|
||||||
Where("`id` = ? or `real_name` = ? or `username` = ? or `mobile` = ?", ks, ks, ks, ks).
|
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()
|
Array()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
err = gerror.Wrap(err, "根据关键词获取用户ID失败,请稍后重试!")
|
err = gerror.Wrap(err, "根据关键词获取用户ID失败,请稍后重试!")
|
||||||
@ -844,7 +851,7 @@ func (s *sAdminMember) VerifySuperId(ctx context.Context, verifyId int64) bool {
|
|||||||
|
|
||||||
// LoadSuperAdmin 加载超管数据
|
// LoadSuperAdmin 加载超管数据
|
||||||
func (s *sAdminMember) LoadSuperAdmin(ctx context.Context) {
|
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 {
|
if err != nil {
|
||||||
g.Log().Errorf(ctx, "LoadSuperAdmin AdminRole err:%+v", err)
|
g.Log().Errorf(ctx, "LoadSuperAdmin AdminRole err:%+v", err)
|
||||||
return
|
return
|
||||||
@ -889,7 +896,7 @@ func (s *sAdminMember) FilterAuthModel(ctx context.Context, memberId int64) *gdb
|
|||||||
// 当前登录用户直接从上下文中取角色ID
|
// 当前登录用户直接从上下文中取角色ID
|
||||||
roleId = contexts.GetRoleId(ctx)
|
roleId = contexts.GetRoleId(ctx)
|
||||||
} else {
|
} 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 {
|
if err != nil {
|
||||||
g.Log().Panicf(ctx, "failed to get role information, err:%+v", err)
|
g.Log().Panicf(ctx, "failed to get role information, err:%+v", err)
|
||||||
return nil
|
return nil
|
||||||
|
@ -7,12 +7,6 @@ package admin
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"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/api/admin/role"
|
||||||
"hotgo/internal/consts"
|
"hotgo/internal/consts"
|
||||||
"hotgo/internal/dao"
|
"hotgo/internal/dao"
|
||||||
@ -25,6 +19,13 @@ import (
|
|||||||
"hotgo/internal/service"
|
"hotgo/internal/service"
|
||||||
"hotgo/utility/convert"
|
"hotgo/utility/convert"
|
||||||
"hotgo/utility/validate"
|
"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{}
|
type sAdminMenu struct{}
|
||||||
@ -44,7 +45,7 @@ func (s *sAdminMenu) Model(ctx context.Context, option ...*handler.Option) *gdb.
|
|||||||
|
|
||||||
// Delete 删除
|
// Delete 删除
|
||||||
func (s *sAdminMenu) Delete(ctx context.Context, in *adminin.MenuDeleteInp) (err error) {
|
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 {
|
if err != nil {
|
||||||
err = gerror.Wrap(err, consts.ErrorORM)
|
err = gerror.Wrap(err, consts.ErrorORM)
|
||||||
return err
|
return err
|
||||||
@ -52,7 +53,7 @@ func (s *sAdminMenu) Delete(ctx context.Context, in *adminin.MenuDeleteInp) (err
|
|||||||
if !exist.IsEmpty() {
|
if !exist.IsEmpty() {
|
||||||
return gerror.New("请先删除该菜单下的所有菜单!")
|
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
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -105,7 +106,7 @@ func (s *sAdminMenu) Edit(ctx context.Context, in *adminin.MenuEditInp) (err err
|
|||||||
}
|
}
|
||||||
|
|
||||||
if in.Id > 0 {
|
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, "修改菜单失败!")
|
err = gerror.Wrap(err, "修改菜单失败!")
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -178,17 +179,17 @@ func (s *sAdminMenu) GetMenuList(ctx context.Context, memberId int64) (res *role
|
|||||||
allMenus []*adminin.MenuRouteSummary
|
allMenus []*adminin.MenuRouteSummary
|
||||||
menus []*adminin.MenuRouteSummary
|
menus []*adminin.MenuRouteSummary
|
||||||
treeMap = make(map[string][]*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) {
|
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 {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
if len(menuIds) > 0 {
|
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 {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -196,10 +197,10 @@ func (s *sAdminMenu) GetMenuList(ctx context.Context, memberId int64) (res *role
|
|||||||
menuIds = append(pidList, menuIds...)
|
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
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -237,12 +238,14 @@ func (s *sAdminMenu) LoginPermissions(ctx context.Context, memberId int64) (list
|
|||||||
|
|
||||||
var (
|
var (
|
||||||
allPermissions []*Permissions
|
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) {
|
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 {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
@ -7,11 +7,7 @@ package admin
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"github.com/gogf/gf/v2/database/gdb"
|
"fmt"
|
||||||
"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"
|
|
||||||
"hotgo/internal/consts"
|
"hotgo/internal/consts"
|
||||||
"hotgo/internal/dao"
|
"hotgo/internal/dao"
|
||||||
"hotgo/internal/library/contexts"
|
"hotgo/internal/library/contexts"
|
||||||
@ -23,6 +19,12 @@ import (
|
|||||||
"hotgo/internal/websocket"
|
"hotgo/internal/websocket"
|
||||||
"hotgo/utility/simple"
|
"hotgo/utility/simple"
|
||||||
"hotgo/utility/validate"
|
"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{}
|
type sAdminNotice struct{}
|
||||||
@ -202,14 +204,15 @@ func (s *sAdminNotice) List(ctx context.Context, in *adminin.NoticeListInp) (lis
|
|||||||
// 接收人头像组
|
// 接收人头像组
|
||||||
if v.Type == consts.NoticeTypeLetter {
|
if v.Type == consts.NoticeTypeLetter {
|
||||||
err = dao.AdminMember.Ctx(ctx).
|
err = dao.AdminMember.Ctx(ctx).
|
||||||
Fields("real_name as name,avatar as src").
|
Fields(fmt.Sprintf("%s as name,%s as src", dao.AdminMember.Columns().RealName, dao.AdminMember.Columns().Avatar)).
|
||||||
WhereIn("id", v.Receiver.Var().Int64s()).
|
WhereIn(dao.AdminMember.Columns().Id, v.Receiver.Var().Int64s()).
|
||||||
Scan(&v.ReceiverGroup)
|
Scan(&v.ReceiverGroup)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if v.ReceiverGroup == nil || len(v.ReceiverGroup) == 0 {
|
|
||||||
|
if g.IsNil(v.ReceiverGroup) || len(v.ReceiverGroup) == 0 {
|
||||||
v.ReceiverGroup = make([]form.AvatarGroup, 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 {
|
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 {
|
if count > 0 {
|
||||||
v.IsRead = true
|
v.IsRead = true
|
||||||
}
|
}
|
||||||
|
|
||||||
if v.Type == consts.NoticeTypeLetter {
|
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 {
|
if err == nil {
|
||||||
v.SenderAvatar = val.String()
|
v.SenderAvatar = val.String()
|
||||||
}
|
}
|
||||||
@ -322,8 +325,8 @@ func (s *sAdminNotice) UnreadCount(ctx context.Context, in *adminin.NoticeUnread
|
|||||||
// messageIds 获取我的消息所有的消息ID
|
// messageIds 获取我的消息所有的消息ID
|
||||||
func (s *sAdminNotice) messageIds(ctx context.Context, memberId int64) (ids []int64, err error) {
|
func (s *sAdminNotice) messageIds(ctx context.Context, memberId int64) (ids []int64, err error) {
|
||||||
columns, err := s.Model(ctx, &handler.Option{FilterAuth: false}).
|
columns, err := s.Model(ctx, &handler.Option{FilterAuth: false}).
|
||||||
Fields("id").
|
Fields(dao.AdminNotice.Columns().Id).
|
||||||
Where("status", consts.StatusEnabled).
|
Where(dao.AdminNotice.Columns().Status, consts.StatusEnabled).
|
||||||
Where("(`type` IN(?) OR (`type` = ? and JSON_CONTAINS(`receiver`,'"+gconv.String(memberId)+"')))",
|
Where("(`type` IN(?) OR (`type` = ? and JSON_CONTAINS(`receiver`,'"+gconv.String(memberId)+"')))",
|
||||||
[]int{consts.NoticeTypeNotify, consts.NoticeTypeNotice}, consts.NoticeTypeLetter,
|
[]int{consts.NoticeTypeNotify, consts.NoticeTypeNotice}, consts.NoticeTypeLetter,
|
||||||
).Array()
|
).Array()
|
||||||
@ -467,13 +470,13 @@ func (s *sAdminNotice) MessageList(ctx context.Context, in *adminin.NoticeMessag
|
|||||||
}
|
}
|
||||||
|
|
||||||
for _, v := range list {
|
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 {
|
if count > 0 {
|
||||||
v.IsRead = true
|
v.IsRead = true
|
||||||
}
|
}
|
||||||
|
|
||||||
if v.Type == consts.NoticeTypeLetter {
|
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 {
|
if err == nil {
|
||||||
v.SenderAvatar = val.String()
|
v.SenderAvatar = val.String()
|
||||||
}
|
}
|
||||||
|
@ -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) {
|
func (s *sAdminOrder) Create(ctx context.Context, in *adminin.OrderCreateInp) (res *adminin.OrderCreateModel, err error) {
|
||||||
var (
|
var (
|
||||||
subject = "支付订单"
|
subject = "支付订单"
|
||||||
orderSn = payment.GenOrderSn()
|
orderSn = payment.GenOrderSn(ctx)
|
||||||
)
|
)
|
||||||
|
|
||||||
switch in.OrderType {
|
switch in.OrderType {
|
||||||
|
@ -7,10 +7,6 @@ package admin
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"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/consts"
|
||||||
"hotgo/internal/dao"
|
"hotgo/internal/dao"
|
||||||
"hotgo/internal/library/casbin"
|
"hotgo/internal/library/casbin"
|
||||||
@ -24,6 +20,11 @@ import (
|
|||||||
"hotgo/utility/tree"
|
"hotgo/utility/tree"
|
||||||
"hotgo/utility/validate"
|
"hotgo/utility/validate"
|
||||||
"sort"
|
"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{}
|
type sAdminRole struct{}
|
||||||
@ -92,7 +93,7 @@ func (s *sAdminRole) List(ctx context.Context, in *adminin.RoleListInp) (res *ad
|
|||||||
|
|
||||||
// GetName 获取指定角色的名称
|
// GetName 获取指定角色的名称
|
||||||
func (s *sAdminRole) GetName(ctx context.Context, id int64) (name string, err error) {
|
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 {
|
if err != nil {
|
||||||
err = gerror.Wrap(err, consts.ErrorORM)
|
err = gerror.Wrap(err, consts.ErrorORM)
|
||||||
return
|
return
|
||||||
@ -102,7 +103,7 @@ func (s *sAdminRole) GetName(ctx context.Context, id int64) (name string, err er
|
|||||||
|
|
||||||
// GetMemberList 获取指定用户的岗位列表
|
// GetMemberList 获取指定用户的岗位列表
|
||||||
func (s *sAdminRole) GetMemberList(ctx context.Context, id int64) (list []*adminin.RoleListModel, err error) {
|
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)
|
err = gerror.Wrap(err, consts.ErrorORM)
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
@ -110,7 +111,7 @@ func (s *sAdminRole) GetMemberList(ctx context.Context, id int64) (list []*admin
|
|||||||
|
|
||||||
// GetPermissions 更改角色菜单权限
|
// GetPermissions 更改角色菜单权限
|
||||||
func (s *sAdminRole) GetPermissions(ctx context.Context, in *adminin.GetPermissionsInp) (res *adminin.GetPermissionsModel, err error) {
|
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 {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -258,7 +258,7 @@ func (s *sAdminSite) handleLogin(ctx context.Context, mb *entity.AdminMember) (r
|
|||||||
|
|
||||||
// getLoginRoleAndDept 获取登录的角色和部门信息
|
// getLoginRoleAndDept 获取登录的角色和部门信息
|
||||||
func (s *sAdminSite) getLoginRoleAndDept(ctx context.Context, roleId, deptId int64) (role *entity.AdminRole, dept *entity.AdminDept, err error) {
|
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)
|
err = gerror.Wrap(err, consts.ErrorORM)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -273,7 +273,7 @@ func (s *sAdminSite) getLoginRoleAndDept(ctx context.Context, roleId, deptId int
|
|||||||
return
|
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, "获取部门信息失败,请稍后重试!")
|
err = gerror.Wrap(err, "获取部门信息失败,请稍后重试!")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -7,16 +7,18 @@ package hook
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"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/frame/g"
|
||||||
"github.com/gogf/gf/v2/net/ghttp"
|
"github.com/gogf/gf/v2/net/ghttp"
|
||||||
"github.com/gogf/gf/v2/os/gctx"
|
"github.com/gogf/gf/v2/os/gctx"
|
||||||
"github.com/gogf/gf/v2/os/gtime"
|
"github.com/gogf/gf/v2/os/gtime"
|
||||||
"github.com/gogf/gf/v2/os/gtimer"
|
"github.com/gogf/gf/v2/os/gtimer"
|
||||||
"hotgo/internal/consts"
|
|
||||||
"hotgo/internal/library/contexts"
|
|
||||||
"hotgo/utility/simple"
|
|
||||||
"sync"
|
|
||||||
"time"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type visitor struct {
|
type visitor struct {
|
||||||
@ -80,10 +82,9 @@ func (s *sHook) lastAdminActive(r *ghttp.Request) {
|
|||||||
|
|
||||||
if allow(member.Id) {
|
if allow(member.Id) {
|
||||||
simple.SafeGo(ctx, func(ctx context.Context) {
|
simple.SafeGo(ctx, func(ctx context.Context) {
|
||||||
_, err := g.Model("admin_member").
|
_, err := dao.AdminMember.Ctx(ctx).
|
||||||
Ctx(ctx).
|
Where(dao.AdminMember.Columns().Id, member.Id).
|
||||||
Where("id", member.Id).
|
Data(g.Map{dao.AdminMember.Columns().LastActiveAt: gtime.Now()}).
|
||||||
Data(g.Map{"last_active_at": gtime.Now()}).
|
|
||||||
Update()
|
Update()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
g.Log().Warningf(ctx, "hook lastActive err:%+v, memberId:%v", err, member.Id)
|
g.Log().Warningf(ctx, "hook lastActive err:%+v, memberId:%v", err, member.Id)
|
||||||
|
@ -78,7 +78,7 @@ func (s *sPay) Create(ctx context.Context, in payin.PayCreateInp) (res *payin.Pa
|
|||||||
MchId: mchId,
|
MchId: mchId,
|
||||||
Subject: in.Subject,
|
Subject: in.Subject,
|
||||||
Detail: in.Detail,
|
Detail: in.Detail,
|
||||||
OutTradeNo: payment.GenOutTradeNo(),
|
OutTradeNo: payment.GenOutTradeNo(ctx),
|
||||||
TransactionId: "",
|
TransactionId: "",
|
||||||
PayType: in.PayType,
|
PayType: in.PayType,
|
||||||
PayAmount: in.PayAmount,
|
PayAmount: in.PayAmount,
|
||||||
|
@ -10,10 +10,6 @@ package pay
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"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/consts"
|
||||||
"hotgo/internal/dao"
|
"hotgo/internal/dao"
|
||||||
"hotgo/internal/library/hgorm/handler"
|
"hotgo/internal/library/hgorm/handler"
|
||||||
@ -26,6 +22,11 @@ import (
|
|||||||
"hotgo/utility/convert"
|
"hotgo/utility/convert"
|
||||||
"hotgo/utility/excel"
|
"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/database/gdb"
|
||||||
"github.com/gogf/gf/v2/os/gctx"
|
"github.com/gogf/gf/v2/os/gctx"
|
||||||
"github.com/gogf/gf/v2/util/gconv"
|
"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))
|
traceIds = append(traceIds, gctx.CtxId(ctx))
|
||||||
|
|
||||||
refundSn := payment.GenRefundSn()
|
refundSn := payment.GenRefundSn(ctx)
|
||||||
|
|
||||||
// 创建第三方平台退款
|
// 创建第三方平台退款
|
||||||
req := payin.RefundInp{
|
req := payin.RefundInp{
|
||||||
|
@ -7,17 +7,18 @@ package sys
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"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/consts"
|
||||||
"hotgo/internal/dao"
|
"hotgo/internal/dao"
|
||||||
"hotgo/internal/model/entity"
|
"hotgo/internal/model/entity"
|
||||||
"hotgo/internal/model/input/sysin"
|
"hotgo/internal/model/input/sysin"
|
||||||
"hotgo/internal/service"
|
"hotgo/internal/service"
|
||||||
"hotgo/utility/simple"
|
"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
|
var AddonsMaskDemoField []string
|
||||||
@ -47,11 +48,12 @@ func (s *sSysAddonsConfig) GetConfigByGroup(ctx context.Context, in *sysin.GetAd
|
|||||||
var (
|
var (
|
||||||
mod = dao.SysAddonsConfig.Ctx(ctx)
|
mod = dao.SysAddonsConfig.Ctx(ctx)
|
||||||
models []*entity.SysAddonsConfig
|
models []*entity.SysAddonsConfig
|
||||||
|
cols = dao.SysAddonsConfig.Columns()
|
||||||
)
|
)
|
||||||
|
|
||||||
if err = mod.Fields("key", "value", "type").
|
if err = mod.Fields(cols.Key, cols.Value, cols.Type).
|
||||||
Where("addon_name", in.AddonName).
|
Where(cols.AddonName, in.AddonName).
|
||||||
Where("group", in.Group).
|
Where(cols.Group, in.Group).
|
||||||
Scan(&models); err != nil {
|
Scan(&models); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
@ -207,7 +207,8 @@ func (s *sSysConfig) GetConfigByGroup(ctx context.Context, in *sysin.GetConfigIn
|
|||||||
}
|
}
|
||||||
|
|
||||||
var models []*entity.SysConfig
|
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)
|
err = gerror.Wrapf(err, "获取配置分组[ %v ]失败,请稍后重试!", in.Group)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -7,10 +7,6 @@ package sys
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"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/consts"
|
||||||
"hotgo/internal/dao"
|
"hotgo/internal/dao"
|
||||||
"hotgo/internal/library/cron"
|
"hotgo/internal/library/cron"
|
||||||
@ -20,6 +16,11 @@ import (
|
|||||||
"hotgo/internal/service"
|
"hotgo/internal/service"
|
||||||
"hotgo/utility/simple"
|
"hotgo/utility/simple"
|
||||||
"hotgo/utility/validate"
|
"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{}
|
type sSysCron struct{}
|
||||||
@ -202,7 +203,7 @@ func (s *sSysCron) List(ctx context.Context, in *sysin.CronListInp) (list []*sys
|
|||||||
|
|
||||||
// GetName 获取分组名称
|
// GetName 获取分组名称
|
||||||
func (s *sSysCron) GetName(ctx context.Context, id int64) (name string, err error) {
|
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()
|
list, err := m.Value()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
err = gerror.Wrap(err, consts.ErrorORM)
|
err = gerror.Wrap(err, consts.ErrorORM)
|
||||||
|
@ -7,13 +7,14 @@ package sys
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"github.com/gogf/gf/v2/errors/gerror"
|
|
||||||
"hotgo/internal/consts"
|
"hotgo/internal/consts"
|
||||||
"hotgo/internal/dao"
|
"hotgo/internal/dao"
|
||||||
"hotgo/internal/model/entity"
|
"hotgo/internal/model/entity"
|
||||||
"hotgo/internal/model/input/form"
|
"hotgo/internal/model/input/form"
|
||||||
"hotgo/internal/model/input/sysin"
|
"hotgo/internal/model/input/sysin"
|
||||||
"hotgo/internal/service"
|
"hotgo/internal/service"
|
||||||
|
|
||||||
|
"github.com/gogf/gf/v2/errors/gerror"
|
||||||
)
|
)
|
||||||
|
|
||||||
type sSysCronGroup struct{}
|
type sSysCronGroup struct{}
|
||||||
@ -104,7 +105,7 @@ func (s *sSysCronGroup) List(ctx context.Context, in *sysin.CronGroupListInp) (l
|
|||||||
return
|
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)
|
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 {
|
if v.Pid < 1 {
|
||||||
continue
|
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 {
|
if err != nil {
|
||||||
return nil, 0, err
|
return nil, 0, err
|
||||||
}
|
}
|
||||||
|
@ -8,13 +8,14 @@ package sys
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"errors"
|
"errors"
|
||||||
"github.com/gogf/gf/v2/errors/gerror"
|
|
||||||
"github.com/gogf/gf/v2/frame/g"
|
|
||||||
"hotgo/internal/consts"
|
"hotgo/internal/consts"
|
||||||
"hotgo/internal/dao"
|
"hotgo/internal/dao"
|
||||||
"hotgo/internal/library/dict"
|
"hotgo/internal/library/dict"
|
||||||
"hotgo/internal/model/input/sysin"
|
"hotgo/internal/model/input/sysin"
|
||||||
"hotgo/internal/service"
|
"hotgo/internal/service"
|
||||||
|
|
||||||
|
"github.com/gogf/gf/v2/errors/gerror"
|
||||||
|
"github.com/gogf/gf/v2/frame/g"
|
||||||
)
|
)
|
||||||
|
|
||||||
type sSysDictData struct{}
|
type sSysDictData struct{}
|
||||||
@ -119,7 +120,7 @@ func (s *sSysDictData) List(ctx context.Context, in *sysin.DictDataListInp) (lis
|
|||||||
|
|
||||||
// GetId 获取指定类型的ID
|
// GetId 获取指定类型的ID
|
||||||
func (s *sSysDictData) GetId(ctx context.Context, t string) (id int64, err error) {
|
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()
|
val, err := m.Value()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
err = gerror.Wrap(err, consts.ErrorORM)
|
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的类型标识
|
// GetType 获取指定ID的类型标识
|
||||||
func (s *sSysDictData) GetType(ctx context.Context, id int64) (types string, err error) {
|
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()
|
val, err := m.Value()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
err = gerror.Wrap(err, consts.ErrorORM)
|
err = gerror.Wrap(err, consts.ErrorORM)
|
||||||
@ -141,8 +142,8 @@ func (s *sSysDictData) GetType(ctx context.Context, id int64) (types string, err
|
|||||||
|
|
||||||
// GetTypes 获取指定ID的所有类型标识,包含下级
|
// GetTypes 获取指定ID的所有类型标识,包含下级
|
||||||
func (s *sSysDictData) GetTypes(ctx context.Context, id int64) (types []string, err error) {
|
func (s *sSysDictData) GetTypes(ctx context.Context, id int64) (types []string, err error) {
|
||||||
columns, err := dao.SysDictType.Ctx(ctx).Fields("type").
|
columns, err := dao.SysDictType.Ctx(ctx).Fields(dao.SysDictType.Columns().Type).
|
||||||
Where("id", id).WhereOr("pid", id).Where("status", consts.StatusEnabled).
|
Where(dao.SysDictType.Columns().Id, id).WhereOr(dao.SysDictType.Columns().Pid, id).Where(dao.SysDictType.Columns().Status, consts.StatusEnabled).
|
||||||
Array()
|
Array()
|
||||||
types = g.NewVar(columns).Strings()
|
types = g.NewVar(columns).Strings()
|
||||||
return
|
return
|
||||||
|
@ -8,13 +8,6 @@ package sys
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"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/consts"
|
||||||
"hotgo/internal/dao"
|
"hotgo/internal/dao"
|
||||||
"hotgo/internal/library/contexts"
|
"hotgo/internal/library/contexts"
|
||||||
@ -29,6 +22,14 @@ import (
|
|||||||
"hotgo/utility/useragent"
|
"hotgo/utility/useragent"
|
||||||
"hotgo/utility/validate"
|
"hotgo/utility/validate"
|
||||||
"time"
|
"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{}
|
type sSysEmsLog struct{}
|
||||||
@ -270,7 +271,7 @@ func (s *sSysEmsLog) newView(ctx context.Context, in *sysin.SendEmsInp, config *
|
|||||||
switch user.App {
|
switch user.App {
|
||||||
// 后台用户
|
// 后台用户
|
||||||
case consts.AppAdmin:
|
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 {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -379,7 +380,7 @@ func (s *sSysEmsLog) VerifyCode(ctx context.Context, in *sysin.VerifyEmsCodeInp)
|
|||||||
}
|
}
|
||||||
|
|
||||||
var models *entity.SysEmsLog
|
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)
|
err = gerror.Wrap(err, consts.ErrorORM)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -407,15 +408,15 @@ func (s *sSysEmsLog) VerifyCode(ctx context.Context, in *sysin.VerifyEmsCodeInp)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if models.Code != in.Code {
|
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("验证码错误!")
|
err = gerror.New("验证码错误!")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
_, err = dao.SysEmsLog.Ctx(ctx).Where("id", models.Id).Data(g.Map{
|
_, err = dao.SysEmsLog.Ctx(ctx).Where(dao.SysEmsLog.Columns().Id, models.Id).Data(g.Map{
|
||||||
"times": models.Times + 1,
|
dao.SysEmsLog.Columns().Times: models.Times + 1,
|
||||||
"status": consts.CodeStatusUsed,
|
dao.SysEmsLog.Columns().Status: consts.CodeStatusUsed,
|
||||||
"updated_at": gtime.Now(),
|
dao.SysEmsLog.Columns().UpdatedAt: gtime.Now(),
|
||||||
}).Update()
|
}).Update()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -8,16 +8,6 @@ package sys
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"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/consts"
|
||||||
"hotgo/internal/dao"
|
"hotgo/internal/dao"
|
||||||
"hotgo/internal/global"
|
"hotgo/internal/global"
|
||||||
@ -34,6 +24,17 @@ import (
|
|||||||
"hotgo/utility/excel"
|
"hotgo/utility/excel"
|
||||||
"hotgo/utility/simple"
|
"hotgo/utility/simple"
|
||||||
"hotgo/utility/validate"
|
"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{}
|
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))
|
routes := global.LoadHTTPRoutes(ghttp.RequestFromCtx(ctx))
|
||||||
for _, v := range list {
|
for _, v := range list {
|
||||||
if v.AppId == consts.AppAdmin {
|
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 {
|
if err != nil {
|
||||||
err = gerror.Wrap(err, consts.ErrorORM)
|
err = gerror.Wrap(err, consts.ErrorORM)
|
||||||
return list, totalCount, err
|
return list, totalCount, err
|
||||||
|
@ -84,7 +84,7 @@ func (s *sSysLoginLog) List(ctx context.Context, in *sysin.LoginLogListInp) (lis
|
|||||||
for _, v := range list {
|
for _, v := range list {
|
||||||
v.Os = useragent.GetOs(v.UserAgent)
|
v.Os = useragent.GetOs(v.UserAgent)
|
||||||
v.Browser = useragent.GetBrowser(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 {
|
if err != nil {
|
||||||
return nil, 0, err
|
return nil, 0, err
|
||||||
}
|
}
|
||||||
|
@ -7,14 +7,16 @@ package sys
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"github.com/gogf/gf/v2/errors/gerror"
|
"fmt"
|
||||||
"github.com/gogf/gf/v2/frame/g"
|
|
||||||
"hotgo/internal/dao"
|
"hotgo/internal/dao"
|
||||||
"hotgo/internal/library/hgorm"
|
"hotgo/internal/library/hgorm"
|
||||||
"hotgo/internal/model/entity"
|
"hotgo/internal/model/entity"
|
||||||
"hotgo/internal/model/input/form"
|
"hotgo/internal/model/input/form"
|
||||||
"hotgo/internal/model/input/sysin"
|
"hotgo/internal/model/input/sysin"
|
||||||
"hotgo/internal/service"
|
"hotgo/internal/service"
|
||||||
|
|
||||||
|
"github.com/gogf/gf/v2/errors/gerror"
|
||||||
|
"github.com/gogf/gf/v2/frame/g"
|
||||||
)
|
)
|
||||||
|
|
||||||
type sSysProvinces struct{}
|
type sSysProvinces struct{}
|
||||||
@ -206,9 +208,10 @@ func (s *sSysProvinces) UniqueId(ctx context.Context, in *sysin.ProvincesUniqueI
|
|||||||
// Select 省市区选项
|
// Select 省市区选项
|
||||||
func (s *sSysProvinces) Select(ctx context.Context, in *sysin.ProvincesSelectInp) (res *sysin.ProvincesSelectModel, err error) {
|
func (s *sSysProvinces) Select(ctx context.Context, in *sysin.ProvincesSelectInp) (res *sysin.ProvincesSelectModel, err error) {
|
||||||
res = new(sysin.ProvincesSelectModel)
|
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, "获取省市区选项失败!")
|
err = gerror.Wrap(err, "获取省市区选项失败!")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user