From b2ef3487d3e3e9ad1a327e581ea21c476ab258dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=9F=E5=B8=85?= <133814250@qq.com> Date: Tue, 30 May 2023 12:09:40 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E8=A7=84=E8=8C=83=E8=BF=87?= =?UTF-8?q?=E6=BB=A4=EF=BC=8C=E7=A7=BB=E9=99=A4=E5=86=97=E4=BD=99=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=EF=BC=8C=E6=9B=BF=E6=8D=A2=E6=8E=89=E4=B8=8D=E6=8E=A8?= =?UTF-8?q?=E8=8D=90=E7=9A=84=E5=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/internal/cmd/auth.go | 10 +- server/internal/cmd/cmd.go | 7 +- server/internal/cmd/cron.go | 12 +- server/internal/cmd/http.go | 16 +- server/internal/cmd/queue.go | 9 +- server/internal/consts/context.go | 2 +- server/internal/consts/order.go | 20 +- .../controller/admin/admin/monitor.go | 2 +- .../internal/controller/admin/admin/notice.go | 4 +- .../controller/admin/sys/cron_group.go | 4 +- .../websocket/handler/admin/monitor.go | 10 +- server/internal/library/addons/build.go | 4 + server/internal/library/addons/module.go | 2 +- server/internal/library/cache/cache.go | 1 - server/internal/library/cache/file/file.go | 1 - server/internal/library/casbin/adapter.go | 4 +- .../library/hggen/views/column_default.go | 3 - server/internal/library/hggen/views/curd.go | 20 +- .../hggen/views/curd_generate_logic.go | 2 +- .../hggen/views/curd_generate_web_index.go | 12 +- server/internal/library/hggen/views/utils.go | 4 +- server/internal/library/hgorm/dao.go | 3 +- .../internal/library/hgorm/hook/provinces.go | 1 - server/internal/library/network/tcp/client.go | 8 +- .../library/network/tcp/client_cron.go | 4 +- .../internal/library/network/tcp/context.go | 26 - server/internal/library/network/tcp/router.go | 2 +- server/internal/library/network/tcp/server.go | 13 +- .../library/network/tcp/server_cron.go | 8 +- .../library/network/tcp/server_handle.go | 28 +- server/internal/library/payment/notifycall.go | 1 - server/internal/library/queue/consumer.go | 8 +- server/internal/library/queue/disk/reader.go | 5 +- server/internal/library/queue/kafkamq.go | 5 +- server/internal/library/queue/queue.go | 2 +- server/internal/library/queue/redismq.go | 8 +- server/internal/library/queue/rocketmq.go | 20 +- server/internal/library/sms/aliyun/handle.go | 1 - server/internal/library/token/token.go | 1 - server/internal/logic/admin/cash.go | 3 +- server/internal/logic/admin/order.go | 4 + server/internal/logic/common/upload.go | 20 +- server/internal/logic/common/wechat.go | 4 +- server/internal/logic/sys/addons.go | 4 +- server/internal/logic/sys/blacklist.go | 2 +- server/internal/logic/sys/cron.go | 6 +- server/internal/logic/sys/curd_demo.go | 4 + server/internal/logic/sys/ems_log.go | 5 +- server/internal/logic/sys/gen_codes.go | 6 +- server/internal/logic/sys/log.go | 17 +- server/internal/logic/sys/login_log.go | 5 +- server/internal/logic/sys/serve_log.go | 4 + server/internal/logic/sys/sms_log.go | 13 +- server/internal/logic/tcpclient/auth.go | 2 +- .../internal/logic/tcpclient/auth_handle.go | 4 +- .../internal/logic/tcpclient/cron_handle.go | 16 +- .../internal/logic/tcpserver/auth_handle.go | 16 +- server/internal/logic/view/view.go | 46 +- server/internal/model/input/msgin/common.go | 2 - server/internal/router/home.go | 2 - server/internal/service/admin.go | 226 ++++----- server/internal/service/sys.go | 450 +++++++++--------- server/internal/websocket/client.go | 6 +- server/internal/websocket/client_manager.go | 17 +- server/utility/charset/charset.go | 2 - server/utility/convert/convert.go | 17 +- server/utility/convert/match.go | 3 - server/utility/excel/excel.go | 20 +- server/utility/file/file.go | 11 +- server/utility/format/format.go | 6 - server/utility/simple/simple.go | 45 +- server/utility/tree/tree.go | 3 - server/utility/useragent/useragent.go | 4 +- server/utility/validate/validate.go | 17 +- 74 files changed, 564 insertions(+), 741 deletions(-) diff --git a/server/internal/cmd/auth.go b/server/internal/cmd/auth.go index 4d21d0f..dc3e045 100644 --- a/server/internal/cmd/auth.go +++ b/server/internal/cmd/auth.go @@ -24,13 +24,11 @@ var ( // 信号监听 signalListen(ctx, signalHandlerForOverall) - select { - case <-serverCloseSignal: - service.AuthClient().Stop(ctx) - g.Log().Debug(ctx, "auth successfully closed ..") - serverWg.Done() - } + <-serverCloseSignal + service.AuthClient().Stop(ctx) + g.Log().Debug(ctx, "auth successfully closed ..") + serverWg.Done() return }, } diff --git a/server/internal/cmd/cmd.go b/server/internal/cmd/cmd.go index e38893a..916defb 100644 --- a/server/internal/cmd/cmd.go +++ b/server/internal/cmd/cmd.go @@ -67,11 +67,8 @@ var ( // 信号监听 signalListen(ctx, signalHandlerForOverall) - select { - case <-serverCloseSignal: - serverWg.Wait() - } - + <-serverCloseSignal + serverWg.Wait() g.Log().Debug(ctx, "all service successfully closed ..") return }, diff --git a/server/internal/cmd/cron.go b/server/internal/cmd/cron.go index c8e0ee2..de04962 100644 --- a/server/internal/cmd/cron.go +++ b/server/internal/cmd/cron.go @@ -29,14 +29,12 @@ var ( // 信号监听 signalListen(ctx, signalHandlerForOverall) - select { - case <-serverCloseSignal: - service.CronClient().Stop(ctx) - crons.StopALL() - g.Log().Debug(ctx, "cron successfully closed ..") - serverWg.Done() - } + <-serverCloseSignal + service.CronClient().Stop(ctx) + crons.StopALL() + g.Log().Debug(ctx, "cron successfully closed ..") + serverWg.Done() return }, } diff --git a/server/internal/cmd/http.go b/server/internal/cmd/http.go index b85025e..afb5a8e 100644 --- a/server/internal/cmd/http.go +++ b/server/internal/cmd/http.go @@ -79,20 +79,18 @@ var ( // 信号监听 signalListen(ctx, signalHandlerForOverall) + go func() { - select { - case <-serverCloseSignal: - websocket.Stop() - service.TCPServer().Stop(ctx) - s.Shutdown() // 主服务建议放在最后一个关闭 - g.Log().Debug(ctx, "http successfully closed ..") - serverWg.Done() - } + <-serverCloseSignal + websocket.Stop() + service.TCPServer().Stop(ctx) + _ = s.Shutdown() // 主服务建议放在最后一个关闭 + g.Log().Debug(ctx, "http successfully closed ..") + serverWg.Done() }() // Just run the server. s.Run() - return }, } diff --git a/server/internal/cmd/queue.go b/server/internal/cmd/queue.go index 531d532..42f85ee 100644 --- a/server/internal/cmd/queue.go +++ b/server/internal/cmd/queue.go @@ -30,12 +30,9 @@ var ( // 信号监听 signalListen(ctx, signalHandlerForOverall) - select { - case <-serverCloseSignal: - g.Log().Debug(ctx, "queue successfully closed ..") - serverWg.Done() - } - + <-serverCloseSignal + g.Log().Debug(ctx, "queue successfully closed ..") + serverWg.Done() return }, } diff --git a/server/internal/consts/context.go b/server/internal/consts/context.go index ca2f984..9526309 100644 --- a/server/internal/consts/context.go +++ b/server/internal/consts/context.go @@ -8,6 +8,6 @@ package consts // ContextKey 上下文 const ( ContextKey = "HotGoContext" // http上下文变量名称 - ContextKeyCronArgs = "args" // 定时任务参数上下文变量名称 + ContextKeyCronArgs = "cronArgs" // 定时任务参数上下文变量名称 ContextTCPKey = "HotGoTCPContext" // tcp上下文变量名称 ) diff --git a/server/internal/consts/order.go b/server/internal/consts/order.go index caa1b4a..4ddc97e 100644 --- a/server/internal/consts/order.go +++ b/server/internal/consts/order.go @@ -24,16 +24,16 @@ const ( ) const ( - OrderStatusALL int64 = -1 // 全部状态 - OrderStatusNotPay = 1 // 待付款 - OrderStatusPay = 2 // 已付款 - OrderStatusShipments = 3 // 已发货 - OrderStatusDone = 4 // 已完成 - OrderStatusClose = 5 // 已关闭 - OrderStatusReturnRequest = 6 // 申请退款 - OrderStatusReturning = 7 // 退款中 - OrderStatusReturned = 8 // 已退款 - OrderStatusReturnReject = 9 // 拒绝退款 + OrderStatusALL = -1 // 全部状态 + OrderStatusNotPay = 1 // 待付款 + OrderStatusPay = 2 // 已付款 + OrderStatusShipments = 3 // 已发货 + OrderStatusDone = 4 // 已完成 + OrderStatusClose = 5 // 已关闭 + OrderStatusReturnRequest = 6 // 申请退款 + OrderStatusReturning = 7 // 退款中 + OrderStatusReturned = 8 // 已退款 + OrderStatusReturnReject = 9 // 拒绝退款 ) var OrderStatusSlice = []int64{ diff --git a/server/internal/controller/admin/admin/monitor.go b/server/internal/controller/admin/admin/monitor.go index 02df44a..6cdf84f 100644 --- a/server/internal/controller/admin/admin/monitor.go +++ b/server/internal/controller/admin/admin/monitor.go @@ -61,7 +61,7 @@ func (c *cMonitor) OnlineList(ctx context.Context, req *monitor.OnlineListReq) ( return } - for conn, _ := range c.wsManager.GetClients() { + for conn := range c.wsManager.GetClients() { if conn.SendClose || conn.User == nil { continue } diff --git a/server/internal/controller/admin/admin/notice.go b/server/internal/controller/admin/admin/notice.go index ab13ae9..ce1914f 100644 --- a/server/internal/controller/admin/admin/notice.go +++ b/server/internal/controller/admin/admin/notice.go @@ -143,11 +143,11 @@ func (c *cNotice) Letter(ctx context.Context, req *notice.EditLetterReq) (res *n func (c *cNotice) UpRead(ctx context.Context, req *notice.UpReadReq) (res *notice.UpReadRes, err error) { var in adminin.NoticeUpReadInp if err = gconv.Scan(req, &in); err != nil { - return nil, err + return } err = service.AdminNotice().UpRead(ctx, in) - return res, nil + return } // PullMessages 拉取未读消息列表 diff --git a/server/internal/controller/admin/sys/cron_group.go b/server/internal/controller/admin/sys/cron_group.go index 3ddffa5..eb70c30 100644 --- a/server/internal/controller/admin/sys/cron_group.go +++ b/server/internal/controller/admin/sys/cron_group.go @@ -44,7 +44,7 @@ func (c *cCronGroup) Edit(ctx context.Context, req *cron.GroupEditReq) (res *cro } err = service.SysCronGroup().Edit(ctx, in) - return res, nil + return } // MaxSort 最大排序 @@ -103,7 +103,7 @@ func (c *cCronGroup) Status(ctx context.Context, req *cron.GroupStatusReq) (res } err = service.SysCronGroup().Status(ctx, in) - return res, nil + return } // Select 选项 diff --git a/server/internal/controller/websocket/handler/admin/monitor.go b/server/internal/controller/websocket/handler/admin/monitor.go index 911ca6c..6eb9037 100644 --- a/server/internal/controller/websocket/handler/admin/monitor.go +++ b/server/internal/controller/websocket/handler/admin/monitor.go @@ -49,7 +49,6 @@ type MonitorHead struct { // RunInfo 运行信息 func (c *cMonitor) RunInfo(client *websocket.Client, req *websocket.WRequest) { var ( - data = g.Map{} meta = service.AdminMonitor().GetMeta(client.Context()) mHost, _ = host.Info() pwd, _ = os.Getwd() @@ -58,7 +57,7 @@ func (c *cMonitor) RunInfo(client *websocket.Client, req *websocket.WRequest) { runtime.ReadMemStats(&gm) - data = g.Map{ + data := g.Map{ // 服务器信息 "hostname": mHost.Hostname, "os": mHost.OS, @@ -107,7 +106,6 @@ func (c *cMonitor) Trends(client *websocket.Client, req *websocket.WRequest) { mDisk, diskErr = disk.Usage("/") mProcess, ProcessErr = process.Pids() mLoadAvg = new(model.LoadAvgStats) - data = g.Map{} monitorHeads []MonitorHead nets []NetC meta = service.AdminMonitor().GetMeta(client.Context()) @@ -193,11 +191,9 @@ func (c *cMonitor) Trends(client *websocket.Client, req *websocket.WRequest) { }) } - data = g.Map{ + websocket.SendSuccess(client, req.Event, g.Map{ "head": monitorHeads, "load": meta.LoadAvg, "net": nets, - } - - websocket.SendSuccess(client, req.Event, data) + }) } diff --git a/server/internal/library/addons/build.go b/server/internal/library/addons/build.go index 2abc077..dd3f50e 100644 --- a/server/internal/library/addons/build.go +++ b/server/internal/library/addons/build.go @@ -40,6 +40,10 @@ func Build(ctx context.Context, sk Skeleton, conf *model.BuildAddonConfig) (err return path }) + if err != nil { + return + } + for _, path := range list { if !gfile.IsReadable(path) { err = fmt.Errorf("file:%v is unreadable, please check permissions", path) diff --git a/server/internal/library/addons/module.go b/server/internal/library/addons/module.go index e5f9f3d..0b09b7a 100644 --- a/server/internal/library/addons/module.go +++ b/server/internal/library/addons/module.go @@ -89,7 +89,7 @@ func GetModule(name string) Module { // GetSkeletons 获取所有模块骨架 func GetSkeletons() (list []*Skeleton) { var keys []string - for k, _ := range modules { + for k := range modules { keys = append(keys, k) } diff --git a/server/internal/library/cache/cache.go b/server/internal/library/cache/cache.go index 5c94e20..e5f8a5a 100644 --- a/server/internal/library/cache/cache.go +++ b/server/internal/library/cache/cache.go @@ -66,5 +66,4 @@ func SetAdapter(ctx context.Context) { // 通用缓存 cache = gcache.New() cache.SetAdapter(adapter) - return } diff --git a/server/internal/library/cache/file/file.go b/server/internal/library/cache/file/file.go index e1028d0..f81650a 100644 --- a/server/internal/library/cache/file/file.go +++ b/server/internal/library/cache/file/file.go @@ -120,7 +120,6 @@ func (c *AdapterFile) UpdateExpire(ctx context.Context, key interface{}, duratio oldTTL = int64(expire) if oldTTL == -2 { // It does not exist. - oldTTL = -1 return } oldDuration = time.Duration(oldTTL) * time.Second diff --git a/server/internal/library/casbin/adapter.go b/server/internal/library/casbin/adapter.go index 25124ba..5e2e7a2 100644 --- a/server/internal/library/casbin/adapter.go +++ b/server/internal/library/casbin/adapter.go @@ -286,7 +286,9 @@ func (a *adapter) loadPolicyRule(rule policyRule, model model.Model) { ruleText += ", " + rule.V5 } - persist.LoadPolicyLine(ruleText, model) + if err := persist.LoadPolicyLine(ruleText, model); err != nil { + panic(err) + } } // 构建策略规则 diff --git a/server/internal/library/hggen/views/column_default.go b/server/internal/library/hggen/views/column_default.go index c205a25..58b5b03 100644 --- a/server/internal/library/hggen/views/column_default.go +++ b/server/internal/library/hggen/views/column_default.go @@ -3,7 +3,6 @@ // @Copyright Copyright (c) 2023 HotGo CLI // @Author Ms <133814250@qq.com> // @License https://github.com/bufanyun/hotgo/blob/master/LICENSE -// package views import ( @@ -236,7 +235,6 @@ func setDefaultList(field *sysin.GenCodesColumnListModel) { if df, ok := defaultListSwitch[field.Name]; ok { field.IsList = df } - return } // setDefaultExport 设置默认导出 @@ -256,7 +254,6 @@ func setDefaultExport(field *sysin.GenCodesColumnListModel) { if df, ok := defaultExportSwitch[field.Name]; ok { field.IsExport = df } - return } // setDefaultQuery 设置默认查询 diff --git a/server/internal/library/hggen/views/curd.go b/server/internal/library/hggen/views/curd.go index bcaf10c..cd654f2 100644 --- a/server/internal/library/hggen/views/curd.go +++ b/server/internal/library/hggen/views/curd.go @@ -97,12 +97,14 @@ func (l *gCurd) initInput(ctx context.Context, in *CurdPreviewInput) (err error) in.content.Views = make(map[string]*sysin.GenFile) // 加载主表配置 - err = in.In.MasterColumns.Scan(&in.masterFields) - if err != nil { - return err + if err = in.In.MasterColumns.Scan(&in.masterFields); err != nil { + return } + if len(in.masterFields) == 0 { - in.masterFields, err = DoTableColumns(ctx, sysin.GenCodesColumnListInp{Name: in.In.DbName, Table: in.In.TableName}, in.DaoConfig) + if in.masterFields, err = DoTableColumns(ctx, sysin.GenCodesColumnListInp{Name: in.In.DbName, Table: in.In.TableName}, in.DaoConfig); err != nil { + return + } } // 主键属性 @@ -112,9 +114,8 @@ func (l *gCurd) initInput(ctx context.Context, in *CurdPreviewInput) (err error) } // 加载选项 - err = in.In.Options.Scan(&in.options) - if err != nil { - return err + if err = in.In.Options.Scan(&in.options); err != nil { + return } initStep(in) @@ -131,8 +132,7 @@ func (l *gCurd) initInput(ctx context.Context, in *CurdPreviewInput) (err error) } in.options.ApiPrefix = apiPrefix - err = checkCurdPath(in.Config.Application.Crud.Templates[in.In.GenTemplate], in.In.AddonName) - if err != nil { + if err = checkCurdPath(in.Config.Application.Crud.Templates[in.In.GenTemplate], in.In.AddonName); err != nil { return } in.options.TemplateGroup = in.Config.Application.Crud.Templates[in.In.GenTemplate].MasterPackage @@ -338,9 +338,7 @@ func (l *gCurd) DoPreview(ctx context.Context, in *CurdPreviewInput) (res *sysin } in.content.Config = in.Config - res = new(sysin.GenCodesPreviewModel) res = in.content - return } diff --git a/server/internal/library/hggen/views/curd_generate_logic.go b/server/internal/library/hggen/views/curd_generate_logic.go index 57a6747..fa26ed7 100644 --- a/server/internal/library/hggen/views/curd_generate_logic.go +++ b/server/internal/library/hggen/views/curd_generate_logic.go @@ -19,7 +19,7 @@ const ( LogicWhereComments = "\n\t// 查询%s\n" LogicWhereNoSupport = "\t// TODO 暂不支持生成[ %s ]查询方式,请自行补充此处代码!" LogicListSimpleSelect = "\tfields, err := hgorm.GenSelect(ctx, sysin.%sListModel{}, dao.%s)\n\tif err != nil {\n\t\treturn\n\t}" - LogicListJoinSelect = "\t//关联表select\n\tfields, err := hgorm.GenJoinSelect(ctx, %sin.%sListModel{}, dao.%s, []*hgorm.Join{\n%v\t})" + LogicListJoinSelect = "\t//关联表select\n\tfields, err := hgorm.GenJoinSelect(ctx, %sin.%sListModel{}, dao.%s, []*hgorm.Join{\n%v\t})\n\n\tif err != nil {\n\t\treturn\n\t}" LogicListJoinOnRelation = "\t// 关联表%s\n\tmod = mod.%s(hgorm.GenJoinOnRelation(\n\t\tdao.%s.Table(), dao.%s.Columns().%s, // 主表表名,关联字段\n\t\tdao.%s.Table(), \"%s\", dao.%s.Columns().%s, // 关联表表名,别名,关联字段\n\t)...)\n\n" LogicEditUpdate = "\t\t_, err = s.Model(ctx%s).\n\t\t\tFields(%sin.%sUpdateFields{}).\n\t\t\tWherePri(in.%s).Data(in).Update()\n\t\treturn " LogicEditInsert = "\t_, err = s.Model(ctx, &handler.Option{FilterAuth: false}).\n\t\tFields(%sin.%sInsertFields{}).\n\t\tData(in).Insert()" diff --git a/server/internal/library/hggen/views/curd_generate_web_index.go b/server/internal/library/hggen/views/curd_generate_web_index.go index 828c34e..068678d 100644 --- a/server/internal/library/hggen/views/curd_generate_web_index.go +++ b/server/internal/library/hggen/views/curd_generate_web_index.go @@ -31,9 +31,9 @@ func (l *gCurd) webIndexTplData(ctx context.Context, in *CurdPreviewInput) (g.Ma iconsImport = append(iconsImport, " PlusOutlined") } - // 编辑 - if in.options.Step.HasEdit { - } + //// 编辑 + //if in.options.Step.HasEdit { + //} // 导出 if in.options.Step.HasExport { @@ -64,17 +64,17 @@ func (l *gCurd) webIndexTplData(ctx context.Context, in *CurdPreviewInput) (g.Ma // 没有需要查询的字段则隐藏搜索表单 isSearchForm := false for _, field := range in.masterFields { - if field.IsQuery == true { + if field.IsQuery { isSearchForm = true break } } - if isSearchForm == false { + if !isSearchForm { if len(in.options.Join) > 0 { LoopOut: for _, v := range in.options.Join { for _, column := range v.Columns { - if column.IsQuery == true { + if column.IsQuery { isSearchForm = true break LoopOut } diff --git a/server/internal/library/hggen/views/utils.go b/server/internal/library/hggen/views/utils.go index 8f98fd3..ef0b8cc 100644 --- a/server/internal/library/hggen/views/utils.go +++ b/server/internal/library/hggen/views/utils.go @@ -15,7 +15,7 @@ import ( "hotgo/internal/consts" "hotgo/internal/model" "hotgo/internal/model/input/sysin" - "io/ioutil" + "os" "strings" ) @@ -77,7 +77,7 @@ func removeEndWrap(comment string) string { // ImportSql 导出sql文件 func ImportSql(ctx context.Context, path string) error { - rows, err := ioutil.ReadFile(path) + rows, err := os.ReadFile(path) if err != nil { return err } diff --git a/server/internal/library/hgorm/dao.go b/server/internal/library/hgorm/dao.go index 3f58f27..32e523a 100644 --- a/server/internal/library/hgorm/dao.go +++ b/server/internal/library/hgorm/dao.go @@ -3,7 +3,6 @@ // @Copyright Copyright (c) 2023 HotGo CLI // @Author Ms <133814250@qq.com> // @License https://github.com/bufanyun/hotgo/blob/master/LICENSE -// package hgorm // dao. @@ -195,7 +194,7 @@ func IsUnique(ctx context.Context, dao interface{}, where g.Map, message string, if count > 0 { if message == "" { - for k, _ := range where { + for k := range where { message = fmt.Sprintf("in the table:%s, %v not uniqued", d.Table(), where[k]) break } diff --git a/server/internal/library/hgorm/hook/provinces.go b/server/internal/library/hgorm/hook/provinces.go index 7027986..9c3a845 100644 --- a/server/internal/library/hgorm/hook/provinces.go +++ b/server/internal/library/hgorm/hook/provinces.go @@ -27,7 +27,6 @@ var CityLabel = gdb.HookHandler{ g.Log().Warningf(ctx, "hook.CityLabel parse err:%+v", err) } result[index]["cityLabel"] = gvar.New(cityLabel) - return } for i, record := range result { diff --git a/server/internal/library/network/tcp/client.go b/server/internal/library/network/tcp/client.go index 2e21e30..f51c564 100644 --- a/server/internal/library/network/tcp/client.go +++ b/server/internal/library/network/tcp/client.go @@ -96,14 +96,12 @@ func NewClient(config *ClientConfig) (client *Client, err error) { if config.ConnectInterval <= 0 { client.connectInterval = 5 * time.Second - //client.Logger.Debugf(client.Ctx, "invalid connectInterval, reset to %v", client.connectInterval) } else { client.connectInterval = config.ConnectInterval } if config.Timeout <= 0 { client.timeout = 10 * time.Second - //client.Logger.Debugf(client.Ctx, "invalid timeout, reset to %v", client.timeout) } else { client.timeout = config.Timeout } @@ -204,7 +202,7 @@ reconnect: client.Lock() if client.closeFlag { client.Unlock() - conn.Close() + _ = conn.Close() client.Logger.Debugf(client.Ctx, "client connect but closeFlag is true") return } @@ -226,7 +224,7 @@ func (client *Client) read() { client.Close() client.Logger.Debugf(client.Ctx, "client are about to be reconnected..") time.Sleep(client.connectInterval) - client.Start() + _ = client.Start() }() for { @@ -383,6 +381,6 @@ func (client *Client) RpcRequest(ctx context.Context, data interface{}) (res int } return client.rpc.Request(key, func() { - client.Write(data) + _ = client.Write(data) }) } diff --git a/server/internal/library/network/tcp/client_cron.go b/server/internal/library/network/tcp/client_cron.go index 75a6368..b2ea45f 100644 --- a/server/internal/library/network/tcp/client_cron.go +++ b/server/internal/library/network/tcp/client_cron.go @@ -26,7 +26,7 @@ func (client *Client) stopCron() { func (client *Client) startCron() { // 心跳超时检查 if gcron.Search(client.getCronKey(consts.TCPCronHeartbeatVerify)) == nil { - gcron.AddSingleton(client.Ctx, "@every 600s", func(ctx context.Context) { + _, _ = gcron.AddSingleton(client.Ctx, "@every 600s", func(ctx context.Context) { if client.heartbeat < gtime.Timestamp()-600 { client.Logger.Debugf(client.Ctx, "client heartbeat timeout, about to reconnect..") client.Destroy() @@ -36,7 +36,7 @@ func (client *Client) startCron() { // 心跳 if gcron.Search(client.getCronKey(consts.TCPCronHeartbeat)) == nil { - gcron.AddSingleton(client.Ctx, "@every 120s", func(ctx context.Context) { + _, _ = gcron.AddSingleton(client.Ctx, "@every 120s", func(ctx context.Context) { client.serverHeartbeat() }, client.getCronKey(consts.TCPCronHeartbeat)) } diff --git a/server/internal/library/network/tcp/context.go b/server/internal/library/network/tcp/context.go index 87fa0fc..cc00cce 100644 --- a/server/internal/library/network/tcp/context.go +++ b/server/internal/library/network/tcp/context.go @@ -7,7 +7,6 @@ package tcp import ( "context" - "github.com/gogf/gf/v2/net/gtcp" "github.com/gogf/gf/v2/net/gtrace" "hotgo/internal/consts" ) @@ -24,11 +23,6 @@ func initCtx(ctx context.Context, model *Context) (newCtx context.Context, cance return } -// SetCtx 设置上下文变量 -func SetCtx(ctx context.Context, model *Context) { - context.WithValue(ctx, consts.ContextTCPKey, model) -} - // GetCtx 获得上下文变量,如果没有设置,那么返回nil func GetCtx(ctx context.Context) *Context { value := ctx.Value(consts.ContextTCPKey) @@ -40,23 +34,3 @@ func GetCtx(ctx context.Context) *Context { } return nil } - -// GetCtxConn . -func GetCtxConn(ctx context.Context) *gtcp.Conn { - c := GetCtx(ctx) - if c == nil { - return nil - } - - return c.Conn -} - -// GetCtxAuth 认证元数据 -func GetCtxAuth(ctx context.Context) *AuthMeta { - c := GetCtx(ctx) - if c == nil { - return nil - } - - return c.Auth -} diff --git a/server/internal/library/network/tcp/router.go b/server/internal/library/network/tcp/router.go index c449d82..31216f2 100644 --- a/server/internal/library/network/tcp/router.go +++ b/server/internal/library/network/tcp/router.go @@ -64,7 +64,7 @@ func MsgPkg(data interface{}, auth *AuthMeta, traceID string) string { // doHandleRouterMsg 处理路由消息 func doHandleRouterMsg(fun RouterHandler, ctx context.Context, cancel context.CancelFunc, args ...interface{}) { - GoPool.Add(ctx, func(ctx context.Context) { + _ = GoPool.Add(ctx, func(ctx context.Context) { fun(ctx, args...) cancel() }) diff --git a/server/internal/library/network/tcp/server.go b/server/internal/library/network/tcp/server.go index a0df114..19d060d 100644 --- a/server/internal/library/network/tcp/server.go +++ b/server/internal/library/network/tcp/server.go @@ -23,7 +23,6 @@ type ClientConn struct { Conn *gtcp.Conn Auth *AuthMeta heartbeat int64 - mutex sync.Mutex } type ServerConfig struct { @@ -88,11 +87,9 @@ func NewServer(config *ServerConfig) (server *Server, err error) { func (server *Server) accept(conn *gtcp.Conn) { defer func() { server.mutexConns.Lock() - conn.Close() + _ = conn.Close() // 从登录列表中移除 - if _, ok := server.clients[conn.RemoteAddr().String()]; ok { - delete(server.clients, conn.RemoteAddr().String()) - } + delete(server.clients, conn.RemoteAddr().String()) server.mutexConns.Unlock() }() @@ -282,14 +279,14 @@ func (server *Server) Close() { server.mutexConns.Lock() for _, client := range server.clients { - client.Conn.Close() + _ = client.Conn.Close() } server.clients = nil server.mutexConns.Unlock() server.wgConns.Wait() if server.ln != nil { - server.ln.Close() + _ = server.ln.Close() } server.wgLn.Wait() } @@ -345,6 +342,6 @@ func (server *Server) RpcRequest(ctx context.Context, client *ClientConn, data i } return server.rpc.Request(key, func() { - server.Write(client.Conn, data) + _ = server.Write(client.Conn, data) }) } diff --git a/server/internal/library/network/tcp/server_cron.go b/server/internal/library/network/tcp/server_cron.go index bdf3b2d..6787e9e 100644 --- a/server/internal/library/network/tcp/server_cron.go +++ b/server/internal/library/network/tcp/server_cron.go @@ -26,13 +26,13 @@ func (server *Server) stopCron() { func (server *Server) startCron() { // 心跳超时检查 if gcron.Search(server.getCronKey(consts.TCPCronHeartbeatVerify)) == nil { - gcron.AddSingleton(server.Ctx, "@every 300s", func(ctx context.Context) { + _, _ = gcron.AddSingleton(server.Ctx, "@every 300s", func(ctx context.Context) { if server.clients == nil { return } for _, client := range server.clients { if client.heartbeat < gtime.Timestamp()-300 { - client.Conn.Close() + _ = client.Conn.Close() server.Logger.Debugf(server.Ctx, "client heartbeat timeout, close conn. auth:%+v", client.Auth) } } @@ -41,13 +41,13 @@ func (server *Server) startCron() { // 认证检查 if gcron.Search(server.getCronKey(consts.TCPCronAuthVerify)) == nil { - gcron.AddSingleton(server.Ctx, "@every 300s", func(ctx context.Context) { + _, _ = gcron.AddSingleton(server.Ctx, "@every 300s", func(ctx context.Context) { if server.clients == nil { return } for _, client := range server.clients { if client.Auth.EndAt.Before(gtime.Now()) { - client.Conn.Close() + _ = client.Conn.Close() server.Logger.Debugf(server.Ctx, "client auth expired, close conn. auth:%+v", client.Auth) } } diff --git a/server/internal/library/network/tcp/server_handle.go b/server/internal/library/network/tcp/server_handle.go index dfbf99a..d5859f0 100644 --- a/server/internal/library/network/tcp/server_handle.go +++ b/server/internal/library/network/tcp/server_handle.go @@ -37,14 +37,14 @@ func (server *Server) onServerLogin(ctx context.Context, args ...interface{}) { if err != nil { res.Code = 1 res.Message = err.Error() - server.Write(user.Conn, res) + _ = server.Write(user.Conn, res) return } if models == nil { res.Code = 2 res.Message = "授权信息不存在" - server.Write(user.Conn, res) + _ = server.Write(user.Conn, res) return } @@ -52,28 +52,28 @@ func (server *Server) onServerLogin(ctx context.Context, args ...interface{}) { if _, err = VerifySign(in, models.Appid, models.SecretKey); err != nil { res.Code = 3 res.Message = "签名错误,请联系管理员" - server.Write(user.Conn, res) + _ = server.Write(user.Conn, res) return } if models.Status != consts.StatusEnabled { res.Code = 4 res.Message = "授权已禁用,请联系管理员" - server.Write(user.Conn, res) + _ = server.Write(user.Conn, res) return } if models.Group != in.Group { res.Code = 5 res.Message = "你登录的授权分组未得到授权,请联系管理员" - server.Write(user.Conn, res) + _ = server.Write(user.Conn, res) return } if models.EndAt.Before(gtime.Now()) { res.Code = 6 res.Message = "授权已过期,请联系管理员" - server.Write(user.Conn, res) + _ = server.Write(user.Conn, res) return } @@ -83,7 +83,7 @@ func (server *Server) onServerLogin(ctx context.Context, args ...interface{}) { if _, ok2 := allowedIps[ip]; !ok2 { res.Code = 7 res.Message = "IP(" + ip + ")未授权,请联系管理员" - server.Write(user.Conn, res) + _ = server.Write(user.Conn, res) return } } @@ -92,18 +92,17 @@ func (server *Server) onServerLogin(ctx context.Context, args ...interface{}) { clients := server.getAppIdClients(models.Appid) online := len(clients) + 1 if online > models.OnlineLimit { - online = 0 res2 := new(msgin.ResponseServerLogin) res2.Code = 8 res2.Message = "授权登录端超出上限已进行记录。请立即终止操作。如有疑问请联系管理员" for _, client := range clients { - server.Write(client.Conn, res2) - client.Conn.Close() + _ = server.Write(client.Conn, res2) + _ = client.Conn.Close() } // 当前连接也踢掉 - server.Write(user.Conn, res2) - user.Conn.Close() + _ = server.Write(user.Conn, res2) + _ = user.Conn.Close() return } @@ -135,7 +134,7 @@ func (server *Server) onServerLogin(ctx context.Context, args ...interface{}) { res.AppId = in.AppId res.Code = consts.TCPMsgCodeSuccess - server.Write(user.Conn, res) + _ = server.Write(user.Conn, res) } func (server *Server) onServerHeartbeat(ctx context.Context, args ...interface{}) { @@ -161,6 +160,5 @@ func (server *Server) onServerHeartbeat(ctx context.Context, args ...interface{} } res.Code = consts.TCPMsgCodeSuccess - server.Write(client.Conn, res) - + _ = server.Write(client.Conn, res) } diff --git a/server/internal/library/payment/notifycall.go b/server/internal/library/payment/notifycall.go index 72f439c..6077c4c 100644 --- a/server/internal/library/payment/notifycall.go +++ b/server/internal/library/payment/notifycall.go @@ -40,5 +40,4 @@ func NotifyCall(ctx context.Context, in payin.NotifyCallFuncInp) { } }) } - return } diff --git a/server/internal/library/queue/consumer.go b/server/internal/library/queue/consumer.go index e1fab96..1a9ea46 100644 --- a/server/internal/library/queue/consumer.go +++ b/server/internal/library/queue/consumer.go @@ -58,10 +58,10 @@ func consumerListen(ctx context.Context, job consumerStrategy) { if listenErr := consumer.ListenReceiveMsgDo(topic, func(mqMsg MqMsg) { err = job.Handle(ctx, mqMsg) - if err != nil { - // 遇到错误,重新加入到队列 - //queue.Push(topic, mqMsg.Body) - } + //if err != nil { + // // 遇到错误,重新加入到队列 + // //queue.Push(topic, mqMsg.Body) + //} // 记录消费队列日志 ConsumerLog(ctx, topic, mqMsg, err) diff --git a/server/internal/library/queue/disk/reader.go b/server/internal/library/queue/disk/reader.go index 26c3d3f..3e087fa 100644 --- a/server/internal/library/queue/disk/reader.go +++ b/server/internal/library/queue/disk/reader.go @@ -6,7 +6,6 @@ import ( "encoding/json" "errors" "fmt" - "io/ioutil" "os" "path" "path/filepath" @@ -119,7 +118,7 @@ func (r *reader) close() { func (r *reader) sync() { name := path.Join(r.config.Path, indexFile) data, _ := json.Marshal(&r.checkpoint) - _ = ioutil.WriteFile(name, data, filePerm) + _ = os.WriteFile(name, data, filePerm) } // restore index and offset @@ -131,7 +130,7 @@ func (r *reader) restore() (err error) { r.sync() } - data, _ := ioutil.ReadFile(name) + data, _ := os.ReadFile(name) _ = json.Unmarshal(data, &r.checkpoint) r.index, r.offset = r.checkpoint.Index, r.checkpoint.Offset diff --git a/server/internal/library/queue/kafkamq.go b/server/internal/library/queue/kafkamq.go index be9052d..0f185dd 100644 --- a/server/internal/library/queue/kafkamq.go +++ b/server/internal/library/queue/kafkamq.go @@ -16,7 +16,6 @@ import ( ) type KafkaMq struct { - endPoints []string Partitions int32 producerIns sarama.AsyncProducer consumerIns sarama.ConsumerGroup @@ -128,7 +127,7 @@ func RegisterKafkaMqConsumer(connOpt KafkaConfig) (client MqConsumer, err error) if err != nil { return } - if validateVersion(kfkVersion) == false { + if !validateVersion(kfkVersion) { kfkVersion = sarama.V2_4_0_0 } @@ -175,7 +174,7 @@ func doRegisterKafkaProducer(connOpt KafkaConfig, mqIns *KafkaMq) (err error) { if err != nil { return } - if validateVersion(kfkVersion) == false { + if !validateVersion(kfkVersion) { kfkVersion = sarama.V2_4_0_0 } diff --git a/server/internal/library/queue/queue.go b/server/internal/library/queue/queue.go index 189190c..7a4483a 100644 --- a/server/internal/library/queue/queue.go +++ b/server/internal/library/queue/queue.go @@ -168,7 +168,7 @@ func NewConsumer(groupName string) (mqClient MqConsumer, err error) { randTag := string(charset.RandomCreateBytes(6)) // 是否支持创建多个消费者 - if config.Kafka.MultiConsumer == false { + if !config.Kafka.MultiConsumer { randTag = "001" } diff --git a/server/internal/library/queue/redismq.go b/server/internal/library/queue/redismq.go index 17fbb9d..704a37e 100644 --- a/server/internal/library/queue/redismq.go +++ b/server/internal/library/queue/redismq.go @@ -33,7 +33,7 @@ func (r *RedisMq) SendByteMsg(topic string, body []byte) (mqMsg MqMsg, err error if r.poolName == "" { return mqMsg, gerror.New("RedisMq producer not register") } - + if topic == "" { return mqMsg, gerror.New("RedisMq topic is empty") } @@ -213,7 +213,7 @@ func getRandMsgId() string { } func (r *RedisMq) loopReadDelayQueue(key string) (resCh chan MqMsg, errCh chan error) { - resCh = make(chan MqMsg, 0) + resCh = make(chan MqMsg) errCh = make(chan error, 1) go func() { @@ -245,8 +245,8 @@ func (r *RedisMq) loopReadDelayQueue(key string) (resCh chan MqMsg, errCh chan e errCh <- err return } else if pop.IsEmpty() { - conn.ZRem(ctx, key, listK) - conn.Del(ctx, listK) + _, _ = conn.ZRem(ctx, key, listK) + _, _ = conn.Del(ctx, listK) break } else { var mqMsg MqMsg diff --git a/server/internal/library/queue/rocketmq.go b/server/internal/library/queue/rocketmq.go index 43aaccc..d20f031 100644 --- a/server/internal/library/queue/rocketmq.go +++ b/server/internal/library/queue/rocketmq.go @@ -7,8 +7,6 @@ package queue import ( "context" - "errors" - "fmt" "github.com/apache/rocketmq-client-go/v2" "github.com/apache/rocketmq-client-go/v2/consumer" "github.com/apache/rocketmq-client-go/v2/primitive" @@ -57,7 +55,7 @@ func (r *RocketMq) SendMsg(topic string, body string) (mqMsg MqMsg, err error) { // SendByteMsg 生产数据 func (r *RocketMq) SendByteMsg(topic string, body []byte) (mqMsg MqMsg, err error) { if r.producerIns == nil { - return mqMsg, errors.New("RocketMq producer not register") + return mqMsg, gerror.New("rocketMq producer not register") } result, err := r.producerIns.SendSync(context.Background(), &primitive.Message{ @@ -69,7 +67,7 @@ func (r *RocketMq) SendByteMsg(topic string, body []byte) (mqMsg MqMsg, err erro return } if result.Status != primitive.SendOK { - return mqMsg, errors.New(fmt.Sprintf("RocketMq producer send msg error status:%v", result.Status)) + return mqMsg, gerror.Newf("rocketMq producer send msg error status:%v", result.Status) } mqMsg = MqMsg{ @@ -89,7 +87,7 @@ func (r *RocketMq) SendDelayMsg(topic string, body string, delaySecond int64) (m // ListenReceiveMsgDo 消费数据 func (r *RocketMq) ListenReceiveMsgDo(topic string, receiveDo func(mqMsg MqMsg)) (err error) { if r.consumerIns == nil { - return errors.New("RocketMq consumer not register") + return gerror.New("rocketMq consumer not register") } err = r.consumerIns.Subscribe(topic, consumer.MessageSelector{}, func(ctx context.Context, msgs ...*primitive.MessageExt) (consumer.ConsumeResult, error) { @@ -105,15 +103,13 @@ func (r *RocketMq) ListenReceiveMsgDo(topic string, receiveDo func(mqMsg MqMsg)) }) if err != nil { - return err + return } - err = r.consumerIns.Start() - if err != nil { - r.consumerIns.Unsubscribe(topic) - return err + if err = r.consumerIns.Start(); err != nil { + _ = r.consumerIns.Unsubscribe(topic) + return } - return } @@ -145,7 +141,6 @@ func RegisterRocketMqProducer(endPoints []string, groupName string, retry int) ( if err != nil { return nil, err } - return mqIns, nil } @@ -167,6 +162,5 @@ func RegisterRocketMqConsumer(endPoints []string, groupName string) (mqIns *Rock if err != nil { return nil, err } - return mqIns, nil } diff --git a/server/internal/library/sms/aliyun/handle.go b/server/internal/library/sms/aliyun/handle.go index bca5393..4ffa4d6 100644 --- a/server/internal/library/sms/aliyun/handle.go +++ b/server/internal/library/sms/aliyun/handle.go @@ -70,7 +70,6 @@ func CreateClient(accessKeyId *string, accessKeySecret *string) (_result *dysmsa } // 访问的域名 config.Endpoint = tea.String("dysmsapi.aliyuncs.com") - _result = &dysmsapi20170525.Client{} _result, _err = dysmsapi20170525.NewClient(config) return _result, _err } diff --git a/server/internal/library/token/token.go b/server/internal/library/token/token.go index 1869629..bef294c 100644 --- a/server/internal/library/token/token.go +++ b/server/internal/library/token/token.go @@ -247,7 +247,6 @@ func ParseLoginUser(r *ghttp.Request) (user *model.Identity, err error) { refreshToken() }) - user = new(model.Identity) user = claims.Identity return } diff --git a/server/internal/logic/admin/cash.go b/server/internal/logic/admin/cash.go index 7340708..03322ef 100644 --- a/server/internal/logic/admin/cash.go +++ b/server/internal/logic/admin/cash.go @@ -7,7 +7,6 @@ package admin import ( "context" - "fmt" "github.com/gogf/gf/v2/database/gdb" "github.com/gogf/gf/v2/errors/gerror" "github.com/gogf/gf/v2/frame/g" @@ -241,7 +240,7 @@ func (s *sAdminCash) Apply(ctx context.Context, in adminin.CashApplyInp) (err er CreditGroup: consts.CreditGroupApplyCash, Num: -in.Money, MapId: lastInsertId, - Remark: fmt.Sprintf("后台申请提现"), + Remark: "后台申请提现", }) return diff --git a/server/internal/logic/admin/order.go b/server/internal/logic/admin/order.go index cb322e8..78fba2a 100644 --- a/server/internal/logic/admin/order.go +++ b/server/internal/logic/admin/order.go @@ -298,6 +298,10 @@ func (s *sAdminOrder) List(ctx context.Context, in adminin.OrderListInp) (list [ {Dao: dao.PayLog, Alias: "payLog"}, }) + if err != nil { + return + } + err = mod.Fields(fields).Page(in.Page, in.PerPage).OrderDesc(dao.AdminOrder.Columns().Id).Scan(&list) return } diff --git a/server/internal/logic/common/upload.go b/server/internal/logic/common/upload.go index 014586d..763d549 100644 --- a/server/internal/logic/common/upload.go +++ b/server/internal/logic/common/upload.go @@ -192,8 +192,7 @@ func (s *sCommonUpload) UploadUCloud(ctx context.Context, conf *model.UploadConf } nowDate := time.Now().Format("2006-01-02") - fileName := gfile.Basename(file.Filename) - fileName = strings.ToLower(strconv.FormatInt(gtime.TimestampNano(), 36) + grand.S(6)) + fileName := strings.ToLower(strconv.FormatInt(gtime.TimestampNano(), 36) + grand.S(6)) fileName = fileName + gfile.Ext(file.Filename) fullPath := conf.UCloudPath + nowDate + "/" + fileName config := &ufile.Config{ @@ -213,7 +212,7 @@ func (s *sCommonUpload) UploadUCloud(ctx context.Context, conf *model.UploadConf // 流式上传本地小文件 f2, err := file.Open() - defer f2.Close() + defer func() { _ = f2.Close() }() if err != nil { return } @@ -243,14 +242,13 @@ func (s *sCommonUpload) UploadCOS(ctx context.Context, conf *model.UploadConfig, } nowDate := time.Now().Format("2006-01-02") - fileName := gfile.Basename(file.Filename) - fileName = strings.ToLower(strconv.FormatInt(gtime.TimestampNano(), 36) + grand.S(6)) + fileName := strings.ToLower(strconv.FormatInt(gtime.TimestampNano(), 36) + grand.S(6)) fileName = fileName + gfile.Ext(file.Filename) fullPath := conf.CosPath + nowDate + "/" + fileName // 流式上传本地小文件 f2, err := file.Open() - defer f2.Close() + defer func() { _ = f2.Close() }() if err != nil { return } @@ -289,14 +287,13 @@ func (s *sCommonUpload) UploadOSS(ctx context.Context, conf *model.UploadConfig, } nowDate := time.Now().Format("2006-01-02") - fileName := gfile.Basename(file.Filename) - fileName = strings.ToLower(strconv.FormatInt(gtime.TimestampNano(), 36) + grand.S(6)) + fileName := strings.ToLower(strconv.FormatInt(gtime.TimestampNano(), 36) + grand.S(6)) fileName = fileName + gfile.Ext(file.Filename) fullPath := conf.OssPath + nowDate + "/" + fileName // 流式上传本地小文件 f2, err := file.Open() - defer f2.Close() + defer func() { _ = f2.Close() }() if err != nil { return } @@ -336,14 +333,13 @@ func (s *sCommonUpload) UploadQiNiu(ctx context.Context, conf *model.UploadConfi } nowDate := time.Now().Format("2006-01-02") - fileName := gfile.Basename(file.Filename) - fileName = strings.ToLower(strconv.FormatInt(gtime.TimestampNano(), 36) + grand.S(6)) + fileName := strings.ToLower(strconv.FormatInt(gtime.TimestampNano(), 36) + grand.S(6)) fileName = fileName + gfile.Ext(file.Filename) fullPath := conf.QiNiuPath + nowDate + "/" + fileName // 流式上传本地小文件 f2, err := file.Open() - defer f2.Close() + defer func() { _ = f2.Close() }() if err != nil { return } diff --git a/server/internal/logic/common/wechat.go b/server/internal/logic/common/wechat.go index d9b6dfd..d01cb3b 100644 --- a/server/internal/logic/common/wechat.go +++ b/server/internal/logic/common/wechat.go @@ -49,7 +49,7 @@ func NewCommonWechat() *sCommonWechat { func init() { serv := NewCommonWechat() service.RegisterCommonWechat(serv) - gcron.Add(gctx.New(), "@every 300s", serv.CleanTempMap, "WechatCleanTempMap") + _, _ = gcron.Add(gctx.New(), "@every 300s", serv.CleanTempMap, "WechatCleanTempMap") } // Authorize 微信用户授权 @@ -116,7 +116,7 @@ func (s *sCommonWechat) AuthorizeCall(ctx context.Context, in commonin.WechatAut switch data.Type { case consts.WechatAuthorizeOpenId: // 设置openid - cache.Instance().Set(ctx, data.State, tk.OpenID, time.Hour*24*7) + _ = cache.Instance().Set(ctx, data.State, tk.OpenID, time.Hour*24*7) case consts.WechatAuthorizeBindLogin: // 绑定微信登录 // ... default: diff --git a/server/internal/logic/sys/addons.go b/server/internal/logic/sys/addons.go index e5a2218..b789207 100644 --- a/server/internal/logic/sys/addons.go +++ b/server/internal/logic/sys/addons.go @@ -80,10 +80,10 @@ func (s *sSysAddons) List(ctx context.Context, in sysin.AddonsListInp) (list []* } if row.Skeleton.Logo == "" { - row.Skeleton.Logo, _ = consts.AddonsGroupIconMap[row.Skeleton.Group] + row.Skeleton.Logo = consts.AddonsGroupIconMap[row.Skeleton.Group] } - row.GroupName, _ = consts.AddonsGroupNameMap[row.Skeleton.Group] + row.GroupName = consts.AddonsGroupNameMap[row.Skeleton.Group] list = append(list, row) i++ diff --git a/server/internal/logic/sys/blacklist.go b/server/internal/logic/sys/blacklist.go index b795676..24f8ec8 100644 --- a/server/internal/logic/sys/blacklist.go +++ b/server/internal/logic/sys/blacklist.go @@ -158,7 +158,7 @@ func (s *sSysBlacklist) Load(ctx context.Context) { for _, v := range array { list := convert.IpFilterStrategy(v.String()) if len(list) > 0 { - for k, _ := range list { + for k := range list { global.Blacklists[k] = struct{}{} } } diff --git a/server/internal/logic/sys/cron.go b/server/internal/logic/sys/cron.go index be8d203..c74f736 100644 --- a/server/internal/logic/sys/cron.go +++ b/server/internal/logic/sys/cron.go @@ -84,7 +84,7 @@ func (s *sSysCron) Edit(ctx context.Context, in sysin.CronEditInp) (err error) { return } simple.SafeGo(ctx, func(ctx context.Context) { - crons.RefreshStatus(&in.SysCron) + _ = crons.RefreshStatus(&in.SysCron) }) return } @@ -123,11 +123,12 @@ func (s *sSysCron) Status(ctx context.Context, in sysin.CronStatusInp) (err erro _, err = dao.SysCron.Ctx(ctx).Where("id", in.Id).Data("status", in.Status).Update() if err != nil { + return } models.Status = in.Status simple.SafeGo(ctx, func(ctx context.Context) { - crons.RefreshStatus(models) + _ = crons.RefreshStatus(models) }) return } @@ -151,7 +152,6 @@ func (s *sSysCron) View(ctx context.Context, in sysin.CronViewInp) (res *sysin.C if err = dao.SysCron.Ctx(ctx).Where("id", in.Id).Scan(&res); err != nil { return } - return } diff --git a/server/internal/logic/sys/curd_demo.go b/server/internal/logic/sys/curd_demo.go index 4a69736..e072593 100644 --- a/server/internal/logic/sys/curd_demo.go +++ b/server/internal/logic/sys/curd_demo.go @@ -87,6 +87,10 @@ func (s *sSysCurdDemo) List(ctx context.Context, in sysin.CurdDemoListInp) (list {Dao: dao.TestCategory, Alias: "testCategory"}, }) + if err != nil { + return + } + if err = mod.Fields(fields).Page(in.Page, in.PerPage).OrderAsc(dao.SysGenCurdDemo.Columns().Sort).OrderDesc(dao.SysGenCurdDemo.Columns().Id).Scan(&list); err != nil { err = gerror.Wrap(err, "获取生成演示列表失败,请稍后重试!") return diff --git a/server/internal/logic/sys/ems_log.go b/server/internal/logic/sys/ems_log.go index 06fd5da..1b43bc0 100644 --- a/server/internal/logic/sys/ems_log.go +++ b/server/internal/logic/sys/ems_log.go @@ -281,7 +281,6 @@ func (s *sSysEmsLog) newView(ctx context.Context, in sysin.SendEmsInp, config *m } view.Assign("passwordResetLink", passwordResetLink) } - return } @@ -308,7 +307,6 @@ func (s *sSysEmsLog) GetTemplate(ctx context.Context, template string, config *m return v.Value, nil } } - return } @@ -346,7 +344,6 @@ func (s *sSysEmsLog) AllowSend(ctx context.Context, models *entity.SysEmsLog, co return err } } - return } @@ -400,7 +397,7 @@ 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("id", models.Id).Increment("times", 1) err = gerror.New("验证码错误!") return } diff --git a/server/internal/logic/sys/gen_codes.go b/server/internal/logic/sys/gen_codes.go index dd62293..c8d3923 100644 --- a/server/internal/logic/sys/gen_codes.go +++ b/server/internal/logic/sys/gen_codes.go @@ -238,11 +238,10 @@ func (s *sSysGenCodes) TableSelect(ctx context.Context, in sysin.GenCodesTableSe bt, err := gregex.Replace(patternStr, []byte(repStr), []byte(newValue)) if err != nil { err = gerror.Newf("表名[%v] gregex.Replace err:%v", v.Value, err.Error()) - break + return nil, err } - row := new(sysin.GenCodesTableSelectModel) - row = v + row := v row.DefTableComment = v.Label row.DaoName = gstr.CaseCamel(newValue) row.DefVarName = gstr.CaseCamel(string(bt)) @@ -252,7 +251,6 @@ func (s *sSysGenCodes) TableSelect(ctx context.Context, in sysin.GenCodesTableSe res = append(res, row) } - return } diff --git a/server/internal/logic/sys/log.go b/server/internal/logic/sys/log.go index 0dec417..a88781f 100644 --- a/server/internal/logic/sys/log.go +++ b/server/internal/logic/sys/log.go @@ -129,7 +129,6 @@ func (s *sSysLog) AutoLog(ctx context.Context) error { } err = s.RealWrite(ctx, data) - return }) } @@ -331,14 +330,14 @@ func (s *sSysLog) List(ctx context.Context, in sysin.LogListInp) (list []*sysin. list[i].MemberName = memberName.String() } - // 接口 - if list[i].AppId == consts.AppApi { - //memberName, err = dao.Member.Ctx(ctx).Fields("realname").Where("id", res.List[i].MemberId).Value() - //if err != nil { - // err = gerror.Wrap(err, consts.ErrorORM) - // return nil, err - //} - } + //// 接口 + //if list[i].AppId == consts.AppApi { + // //memberName, err = dao.Member.Ctx(ctx).Fields("realname").Where("id", res.List[i].MemberId).Value() + // //if err != nil { + // // err = gerror.Wrap(err, consts.ErrorORM) + // // return nil, err + // //} + //} if list[i].MemberName == "" { list[i].MemberName = "游客" diff --git a/server/internal/logic/sys/login_log.go b/server/internal/logic/sys/login_log.go index 8a23ced..75a8089 100644 --- a/server/internal/logic/sys/login_log.go +++ b/server/internal/logic/sys/login_log.go @@ -88,6 +88,10 @@ func (s *sSysLoginLog) List(ctx context.Context, in sysin.LoginLogListInp) (list {Dao: dao.SysLog, Alias: "sysLog"}, }) + if err != nil { + return + } + if err = mod.Fields(fields).Hook(hook.CityLabel).Handler(handler.FilterAuth).Page(in.Page, in.PerPage).OrderDesc(dao.SysLoginLog.Columns().Id).Scan(&list); err != nil { err = gerror.Wrap(err, consts.ErrorORM) return list, totalCount, err @@ -172,7 +176,6 @@ func (s *sSysLoginLog) Push(ctx context.Context, in sysin.LoginLogPushInp) { if err := queue.Push(consts.QueueLoginLogTopic, models); err != nil { g.Log().Warningf(ctx, "push err:%+v, models:%+v", err, models) } - return } // RealWrite 真实写入 diff --git a/server/internal/logic/sys/serve_log.go b/server/internal/logic/sys/serve_log.go index 287915a..d69a93b 100644 --- a/server/internal/logic/sys/serve_log.go +++ b/server/internal/logic/sys/serve_log.go @@ -77,6 +77,10 @@ func (s *sSysServeLog) List(ctx context.Context, in sysin.ServeLogListInp) (list {Dao: dao.SysLog, Alias: "sysLog"}, }) + if err != nil { + return + } + err = mod.Fields(fields).Handler(handler.FilterAuth).Page(in.Page, in.PerPage).OrderDesc(dao.SysServeLog.Columns().Id).Scan(&list) return } diff --git a/server/internal/logic/sys/sms_log.go b/server/internal/logic/sys/sms_log.go index 2031609..53439bf 100644 --- a/server/internal/logic/sys/sms_log.go +++ b/server/internal/logic/sys/sms_log.go @@ -15,6 +15,7 @@ import ( "hotgo/internal/consts" "hotgo/internal/dao" "hotgo/internal/library/location" + "hotgo/internal/library/sms" "hotgo/internal/model" "hotgo/internal/model/entity" "hotgo/internal/model/input/form" @@ -140,7 +141,6 @@ func (s *sSysSmsLog) List(ctx context.Context, in sysin.SmsLogListInp) (list []* err = gerror.Wrap(err, consts.ErrorORM) return list, totalCount, err } - return list, totalCount, err } @@ -179,9 +179,9 @@ func (s *sSysSmsLog) SendCode(ctx context.Context, in sysin.SendCodeInp) (err er in.Code = grand.Digits(4) } - //if err = sms.New(config.SmsDrive).SendCode(ctx, in, config); err != nil { - // return - //} + if err = sms.New(config.SmsDrive).SendCode(ctx, in, config); err != nil { + return + } var data = new(entity.SysSmsLog) data.Event = in.Event @@ -237,7 +237,6 @@ func (s *sSysSmsLog) GetTemplate(ctx context.Context, template string, config *m err = gerror.Newf("暂不支持短信驱动:%v", config.SmsDrive) return } - return } @@ -269,7 +268,6 @@ func (s *sSysSmsLog) AllowSend(ctx context.Context, models *entity.SysSmsLog, co return err } } - return } @@ -319,7 +317,7 @@ func (s *sSysSmsLog) VerifyCode(ctx context.Context, in sysin.VerifyCodeInp) (er } if models.Code != in.Code { - dao.SysSmsLog.Ctx(ctx).Where("id", models.Id).Increment("times", 1) + _, _ = dao.SysSmsLog.Ctx(ctx).Where("id", models.Id).Increment("times", 1) err = gerror.New("验证码错误!") return } @@ -329,6 +327,5 @@ func (s *sSysSmsLog) VerifyCode(ctx context.Context, in sysin.VerifyCodeInp) (er "status": consts.SmsStatusUsed, "updated_at": gtime.Now(), }).Update() - return } diff --git a/server/internal/logic/tcpclient/auth.go b/server/internal/logic/tcpclient/auth.go index 84317c8..7b62c49 100644 --- a/server/internal/logic/tcpclient/auth.go +++ b/server/internal/logic/tcpclient/auth.go @@ -93,7 +93,7 @@ func (s *sAuthClient) IsLogin() bool { func (s *sAuthClient) onLoginEvent() { // 获取授权数据 - s.client.Send(s.client.Ctx, &msgin.AuthSummary{}) + _ = s.client.Send(s.client.Ctx, &msgin.AuthSummary{}) } // onCloseEvent 连接关闭回调事件 diff --git a/server/internal/logic/tcpclient/auth_handle.go b/server/internal/logic/tcpclient/auth_handle.go index b5f37be..edb99d0 100644 --- a/server/internal/logic/tcpclient/auth_handle.go +++ b/server/internal/logic/tcpclient/auth_handle.go @@ -10,12 +10,12 @@ import ( func (s *sAuthClient) OnResponseAuthSummary(ctx context.Context, args ...interface{}) { var in *msgin.ResponseAuthSummary if err := gconv.Scan(args[0], &in); err != nil { - s.client.Logger.Warningf(ctx, "OnResponseAuthSummary Scan err:+v", err) + s.client.Logger.Warningf(ctx, "OnResponseAuthSummary Scan err:%+v", err) return } if err := in.GetError(); err != nil { - s.client.Logger.Warningf(ctx, "OnResponseAuthSummary GetError :+v", err) + s.client.Logger.Warningf(ctx, "OnResponseAuthSummary GetError:%+v", err) return } diff --git a/server/internal/logic/tcpclient/cron_handle.go b/server/internal/logic/tcpclient/cron_handle.go index 8ab142a..fd4b3ae 100644 --- a/server/internal/logic/tcpclient/cron_handle.go +++ b/server/internal/logic/tcpclient/cron_handle.go @@ -17,7 +17,7 @@ func (s *sCronClient) OnCronDelete(ctx context.Context, args ...interface{}) { if err := gconv.Scan(args[0], &in); err != nil { res.Code = 1 res.Message = err.Error() - s.client.Reply(ctx, res) + _ = s.client.Reply(ctx, res) return } @@ -26,7 +26,7 @@ func (s *sCronClient) OnCronDelete(ctx context.Context, args ...interface{}) { res.Message = err.Error() } - s.client.Reply(ctx, res) + _ = s.client.Reply(ctx, res) } // OnCronEdit 编辑任务 @@ -39,7 +39,7 @@ func (s *sCronClient) OnCronEdit(ctx context.Context, args ...interface{}) { if err := gconv.Scan(args[0], &in); err != nil { res.Code = 1 res.Message = err.Error() - s.client.Reply(ctx, res) + _ = s.client.Reply(ctx, res) return } @@ -48,7 +48,7 @@ func (s *sCronClient) OnCronEdit(ctx context.Context, args ...interface{}) { res.Message = err.Error() } - s.client.Reply(ctx, res) + _ = s.client.Reply(ctx, res) } // OnCronStatus 修改任务状态 @@ -61,7 +61,7 @@ func (s *sCronClient) OnCronStatus(ctx context.Context, args ...interface{}) { if err := gconv.Scan(args[0], &in); err != nil { res.Code = 1 res.Message = err.Error() - s.client.Reply(ctx, res) + _ = s.client.Reply(ctx, res) return } @@ -70,7 +70,7 @@ func (s *sCronClient) OnCronStatus(ctx context.Context, args ...interface{}) { res.Message = err.Error() } - s.client.Reply(ctx, res) + _ = s.client.Reply(ctx, res) } // OnCronOnlineExec 执行一次任务 @@ -83,7 +83,7 @@ func (s *sCronClient) OnCronOnlineExec(ctx context.Context, args ...interface{}) if err := gconv.Scan(args[0], &in); err != nil { res.Code = 1 res.Message = err.Error() - s.client.Reply(ctx, res) + _ = s.client.Reply(ctx, res) return } @@ -92,5 +92,5 @@ func (s *sCronClient) OnCronOnlineExec(ctx context.Context, args ...interface{}) res.Message = err.Error() } - s.client.Reply(ctx, res) + _ = s.client.Reply(ctx, res) } diff --git a/server/internal/logic/tcpserver/auth_handle.go b/server/internal/logic/tcpserver/auth_handle.go index 185b111..13be139 100644 --- a/server/internal/logic/tcpserver/auth_handle.go +++ b/server/internal/logic/tcpserver/auth_handle.go @@ -23,54 +23,54 @@ func (s *sTCPServer) OnAuthSummary(ctx context.Context, args ...interface{}) { if err := gconv.Scan(args, &in); err != nil { res.Code = 1 res.Message = err.Error() - s.serv.Reply(ctx, res) + _ = s.serv.Reply(ctx, res) return } if user.Auth == nil { res.Code = 2 res.Message = "登录信息获取失败,请重新登录" - s.serv.Reply(ctx, res) + _ = s.serv.Reply(ctx, res) return } if err := dao.SysServeLicense.Ctx(ctx).Where("appid = ?", user.Auth.AppId).Scan(&models); err != nil { res.Code = 3 res.Message = err.Error() - s.serv.Reply(ctx, res) + _ = s.serv.Reply(ctx, res) return } if models == nil { res.Code = 4 res.Message = "授权信息不存在" - s.serv.Reply(ctx, res) + _ = s.serv.Reply(ctx, res) return } if models.Status != consts.StatusEnabled { res.Code = 5 res.Message = "授权已禁用,请联系管理员" - s.serv.Reply(ctx, res) + _ = s.serv.Reply(ctx, res) return } if models.Group != user.Auth.Group { res.Code = 6 res.Message = "你登录的授权分组未得到授权,请联系管理员" - s.serv.Reply(ctx, res) + _ = s.serv.Reply(ctx, res) return } if models.EndAt.Before(gtime.Now()) { res.Code = 7 res.Message = "授权已过期,请联系管理员" - s.serv.Reply(ctx, res) + _ = s.serv.Reply(ctx, res) return } res.Data = new(msgin.AuthSummaryData) res.Data.EndAt = models.EndAt res.Data.Online = models.Online - s.serv.Reply(ctx, res) + _ = s.serv.Reply(ctx, res) } diff --git a/server/internal/logic/view/view.go b/server/internal/logic/view/view.go index 3733e88..4c2c774 100644 --- a/server/internal/logic/view/view.go +++ b/server/internal/logic/view/view.go @@ -3,14 +3,11 @@ // @Copyright Copyright (c) 2023 HotGo CLI // @Author Ms <133814250@qq.com> // @License https://github.com/bufanyun/hotgo/blob/master/LICENSE -// package view import ( "context" "github.com/gogf/gf/v2/frame/g" - "github.com/gogf/gf/v2/os/gfile" - "github.com/gogf/gf/v2/text/gstr" "github.com/gogf/gf/v2/util/gconv" "hotgo/internal/model" "hotgo/internal/service" @@ -42,9 +39,8 @@ func (s *sView) GetTitle(ctx context.Context, in *model.ViewGetTitleInput) strin // RenderTpl 渲染指定模板页面 func (s *sView) RenderTpl(ctx context.Context, tpl string, data ...model.View) { var ( - viewObj = model.View{} - viewData = make(g.Map) - request = g.RequestFromCtx(ctx) + viewObj = model.View{} + request = g.RequestFromCtx(ctx) ) if len(data) > 0 { viewObj = data[0] @@ -69,7 +65,7 @@ func (s *sView) RenderTpl(ctx context.Context, tpl string, data ...model.View) { } // 去掉空数据 - viewData = gconv.Map(viewObj) + viewData := gconv.Map(viewObj) for k, v := range viewData { if g.IsEmpty(v) { delete(viewData, k) @@ -96,8 +92,6 @@ func (s *sView) Render302(ctx context.Context, data ...model.View) { if view.Title == "" { view.Title = "页面跳转中" } - //view.MainTpl = s.getViewFolderName(ctx) + "/pages/302.html" - //s.Render(ctx, view) s.RenderTpl(ctx, "default/pages/302.html", view) } @@ -156,37 +150,3 @@ func (s *sView) Error(ctx context.Context, err error) { } s.RenderTpl(ctx, "default/pages/500.html", view) } - -// 获取视图存储目录 -func (s *sView) getViewFolderName(ctx context.Context) string { - return gstr.Split(g.Cfg().MustGet(ctx, "viewer.indexLayout").String(), "/")[0] -} - -// 获取自动设置的MainTpl -func (s *sView) getDefaultMainTpl(ctx context.Context) string { - var ( - viewFolderPrefix = s.getViewFolderName(ctx) - urlPathArray = gstr.SplitAndTrim(g.RequestFromCtx(ctx).URL.Path, "/") - mainTpl string - ) - if len(urlPathArray) > 0 && urlPathArray[0] == viewFolderPrefix { - urlPathArray = urlPathArray[1:] - } - - switch { - case len(urlPathArray) == 2: - // 如果2级路由为数字,那么为模块的详情页面,那么路由固定为/xxx/detail。 - // 如果需要定制化内容模板,请在具体路由方法中设置MainTpl。 - if gstr.IsNumeric(urlPathArray[1]) { - urlPathArray[1] = "detail" - } - mainTpl = viewFolderPrefix + "/" + gfile.Join(urlPathArray[0], urlPathArray[1]) + ".html" - case len(urlPathArray) == 1: - mainTpl = viewFolderPrefix + "/" + urlPathArray[0] + "/index.html" - default: - // 默认首页内容 - mainTpl = viewFolderPrefix + "/index/index.html" - } - - return gstr.TrimLeft(mainTpl, "/") -} diff --git a/server/internal/model/input/msgin/common.go b/server/internal/model/input/msgin/common.go index 563a15e..03b8c3f 100644 --- a/server/internal/model/input/msgin/common.go +++ b/server/internal/model/input/msgin/common.go @@ -57,8 +57,6 @@ func (m *Response) SetCode(code ...int) { if m.Code == 0 { m.Code = consts.TCPMsgCodeSuccess } - - return } // GetError 获取响应中的错误 diff --git a/server/internal/router/home.go b/server/internal/router/home.go index 8998b76..e0152ab 100644 --- a/server/internal/router/home.go +++ b/server/internal/router/home.go @@ -3,7 +3,6 @@ // @Copyright Copyright (c) 2023 HotGo CLI // @Author Ms <133814250@qq.com> // @License https://github.com/bufanyun/hotgo/blob/master/LICENSE -// package router import ( @@ -19,7 +18,6 @@ func Home(ctx context.Context, group *ghttp.RouterGroup) { // 注册首页路由 group.ALL("/", func(r *ghttp.Request) { _, _ = base.Site.Index(r.Context(), &api.SiteIndexReq{}) - return }) prefix := g.Cfg().MustGet(ctx, "router.home.prefix", "/home") diff --git a/server/internal/service/admin.go b/server/internal/service/admin.go index 0a74267..cf72bff 100644 --- a/server/internal/service/admin.go +++ b/server/internal/service/admin.go @@ -19,13 +19,6 @@ import ( ) type ( - IAdminCreditsLog interface { - Model(ctx context.Context, option ...*handler.Option) *gdb.Model - SaveBalance(ctx context.Context, in adminin.CreditsLogSaveBalanceInp) (res *adminin.CreditsLogSaveBalanceModel, err error) - SaveIntegral(ctx context.Context, in adminin.CreditsLogSaveIntegralInp) (res *adminin.CreditsLogSaveIntegralModel, err error) - List(ctx context.Context, in adminin.CreditsLogListInp) (list []*adminin.CreditsLogListModel, totalCount int, err error) - Export(ctx context.Context, in adminin.CreditsLogListInp) (err error) - } IAdminDept interface { Delete(ctx context.Context, in adminin.DeptDeleteInp) (err error) Edit(ctx context.Context, in adminin.DeptEditInp) (err error) @@ -59,10 +52,6 @@ type ( VerifySuperId(ctx context.Context, verifyId int64) bool FilterAuthModel(ctx context.Context, memberId int64) *gdb.Model } - IAdminMemberPost interface { - UpdatePostIds(ctx context.Context, memberId int64, postIds []int64) (err error) - GetMemberByIds(ctx context.Context, memberId int64) (postIds []int64, err error) - } IAdminMenu interface { MaxSort(ctx context.Context, req *menu.MaxSortReq) (res *menu.MaxSortRes, err error) NameUnique(ctx context.Context, req *menu.NameUniqueReq) (res *menu.NameUniqueRes, err error) @@ -74,6 +63,48 @@ type ( GetMenuList(ctx context.Context, memberId int64) (res *role.DynamicRes, err error) LoginPermissions(ctx context.Context, memberId int64) (lists adminin.MemberLoginPermissions, err error) } + IAdminOrder interface { + Model(ctx context.Context, option ...*handler.Option) *gdb.Model + AcceptRefund(ctx context.Context, in adminin.OrderAcceptRefundInp) (err error) + ApplyRefund(ctx context.Context, in adminin.OrderApplyRefundInp) (err error) + PayNotify(ctx context.Context, in payin.NotifyCallFuncInp) (err error) + Create(ctx context.Context, in adminin.OrderCreateInp) (res *adminin.OrderCreateModel, err error) + List(ctx context.Context, in adminin.OrderListInp) (list []*adminin.OrderListModel, totalCount int, err error) + Export(ctx context.Context, in adminin.OrderListInp) (err error) + Edit(ctx context.Context, in adminin.OrderEditInp) (err error) + Delete(ctx context.Context, in adminin.OrderDeleteInp) (err error) + View(ctx context.Context, in adminin.OrderViewInp) (res *adminin.OrderViewModel, err error) + Status(ctx context.Context, in adminin.OrderStatusInp) (err error) + } + IAdminCreditsLog interface { + Model(ctx context.Context, option ...*handler.Option) *gdb.Model + SaveBalance(ctx context.Context, in adminin.CreditsLogSaveBalanceInp) (res *adminin.CreditsLogSaveBalanceModel, err error) + SaveIntegral(ctx context.Context, in adminin.CreditsLogSaveIntegralInp) (res *adminin.CreditsLogSaveIntegralModel, err error) + List(ctx context.Context, in adminin.CreditsLogListInp) (list []*adminin.CreditsLogListModel, totalCount int, err error) + Export(ctx context.Context, in adminin.CreditsLogListInp) (err error) + } + IAdminMemberPost interface { + UpdatePostIds(ctx context.Context, memberId int64, postIds []int64) (err error) + GetMemberByIds(ctx context.Context, memberId int64) (postIds []int64, err error) + } + IAdminMonitor interface { + StartMonitor(ctx context.Context) + GetMeta(ctx context.Context) *model.MonitorData + } + IAdminNotice interface { + Model(ctx context.Context, option ...*handler.Option) *gdb.Model + Delete(ctx context.Context, in adminin.NoticeDeleteInp) (err error) + Edit(ctx context.Context, in adminin.NoticeEditInp) (err error) + Status(ctx context.Context, in adminin.NoticeStatusInp) (err error) + MaxSort(ctx context.Context, in adminin.NoticeMaxSortInp) (res *adminin.NoticeMaxSortModel, err error) + View(ctx context.Context, in adminin.NoticeViewInp) (res *adminin.NoticeViewModel, err error) + List(ctx context.Context, in adminin.NoticeListInp) (list []*adminin.NoticeListModel, totalCount int, err error) + PullMessages(ctx context.Context, in adminin.PullMessagesInp) (res *adminin.PullMessagesModel, err error) + UnreadCount(ctx context.Context, in adminin.NoticeUnreadCountInp) (res *adminin.NoticeUnreadCountModel, err error) + UpRead(ctx context.Context, in adminin.NoticeUpReadInp) (err error) + ReadAll(ctx context.Context, in adminin.NoticeReadAllInp) (err error) + MessageList(ctx context.Context, in adminin.NoticeMessageListInp) (list []*adminin.NoticeMessageListModel, totalCount int, err error) + } IAdminPost interface { Delete(ctx context.Context, in adminin.PostDeleteInp) (err error) Edit(ctx context.Context, in adminin.PostEditInp) (err error) @@ -97,98 +128,34 @@ type ( DataScopeSelect() (res form.Selects) DataScopeEdit(ctx context.Context, in *adminin.DataScopeEditInp) (err error) } + IAdminSite interface { + Register(ctx context.Context, in adminin.RegisterInp) (err error) + AccountLogin(ctx context.Context, in adminin.AccountLoginInp) (res *adminin.LoginModel, err error) + MobileLogin(ctx context.Context, in adminin.MobileLoginInp) (res *adminin.LoginModel, err error) + } IAdminCash interface { View(ctx context.Context, in adminin.CashViewInp) (res *adminin.CashViewModel, err error) List(ctx context.Context, in adminin.CashListInp) (list []*adminin.CashListModel, totalCount int, err error) Apply(ctx context.Context, in adminin.CashApplyInp) (err error) Payment(ctx context.Context, in adminin.CashPaymentInp) (err error) } - IAdminNotice interface { - Model(ctx context.Context, option ...*handler.Option) *gdb.Model - Delete(ctx context.Context, in adminin.NoticeDeleteInp) (err error) - Edit(ctx context.Context, in adminin.NoticeEditInp) (err error) - Status(ctx context.Context, in adminin.NoticeStatusInp) (err error) - MaxSort(ctx context.Context, in adminin.NoticeMaxSortInp) (res *adminin.NoticeMaxSortModel, err error) - View(ctx context.Context, in adminin.NoticeViewInp) (res *adminin.NoticeViewModel, err error) - List(ctx context.Context, in adminin.NoticeListInp) (list []*adminin.NoticeListModel, totalCount int, err error) - PullMessages(ctx context.Context, in adminin.PullMessagesInp) (res *adminin.PullMessagesModel, err error) - UnreadCount(ctx context.Context, in adminin.NoticeUnreadCountInp) (res *adminin.NoticeUnreadCountModel, err error) - UpRead(ctx context.Context, in adminin.NoticeUpReadInp) (err error) - ReadAll(ctx context.Context, in adminin.NoticeReadAllInp) (err error) - MessageList(ctx context.Context, in adminin.NoticeMessageListInp) (list []*adminin.NoticeMessageListModel, totalCount int, err error) - } - IAdminOrder interface { - Model(ctx context.Context, option ...*handler.Option) *gdb.Model - AcceptRefund(ctx context.Context, in adminin.OrderAcceptRefundInp) (err error) - ApplyRefund(ctx context.Context, in adminin.OrderApplyRefundInp) (err error) - PayNotify(ctx context.Context, in payin.NotifyCallFuncInp) (err error) - Create(ctx context.Context, in adminin.OrderCreateInp) (res *adminin.OrderCreateModel, err error) - List(ctx context.Context, in adminin.OrderListInp) (list []*adminin.OrderListModel, totalCount int, err error) - Export(ctx context.Context, in adminin.OrderListInp) (err error) - Edit(ctx context.Context, in adminin.OrderEditInp) (err error) - Delete(ctx context.Context, in adminin.OrderDeleteInp) (err error) - View(ctx context.Context, in adminin.OrderViewInp) (res *adminin.OrderViewModel, err error) - Status(ctx context.Context, in adminin.OrderStatusInp) (err error) - } - IAdminSite interface { - Register(ctx context.Context, in adminin.RegisterInp) (err error) - AccountLogin(ctx context.Context, in adminin.AccountLoginInp) (res *adminin.LoginModel, err error) - MobileLogin(ctx context.Context, in adminin.MobileLoginInp) (res *adminin.LoginModel, err error) - } - IAdminMonitor interface { - StartMonitor(ctx context.Context) - GetMeta(ctx context.Context) *model.MonitorData - } ) var ( - localAdminCash IAdminCash localAdminCreditsLog IAdminCreditsLog localAdminDept IAdminDept localAdminMember IAdminMember - localAdminMemberPost IAdminMemberPost localAdminMenu IAdminMenu - localAdminPost IAdminPost + localAdminOrder IAdminOrder localAdminRole IAdminRole + localAdminSite IAdminSite + localAdminCash IAdminCash + localAdminMemberPost IAdminMemberPost localAdminMonitor IAdminMonitor localAdminNotice IAdminNotice - localAdminOrder IAdminOrder - localAdminSite IAdminSite + localAdminPost IAdminPost ) -func AdminPost() IAdminPost { - if localAdminPost == nil { - panic("implement not found for interface IAdminPost, forgot register?") - } - return localAdminPost -} - -func RegisterAdminPost(i IAdminPost) { - localAdminPost = i -} - -func AdminRole() IAdminRole { - if localAdminRole == nil { - panic("implement not found for interface IAdminRole, forgot register?") - } - return localAdminRole -} - -func RegisterAdminRole(i IAdminRole) { - localAdminRole = i -} - -func AdminCash() IAdminCash { - if localAdminCash == nil { - panic("implement not found for interface IAdminCash, forgot register?") - } - return localAdminCash -} - -func RegisterAdminCash(i IAdminCash) { - localAdminCash = i -} - func AdminCreditsLog() IAdminCreditsLog { if localAdminCreditsLog == nil { panic("implement not found for interface IAdminCreditsLog, forgot register?") @@ -222,17 +189,6 @@ func RegisterAdminMember(i IAdminMember) { localAdminMember = i } -func AdminMemberPost() IAdminMemberPost { - if localAdminMemberPost == nil { - panic("implement not found for interface IAdminMemberPost, forgot register?") - } - return localAdminMemberPost -} - -func RegisterAdminMemberPost(i IAdminMemberPost) { - localAdminMemberPost = i -} - func AdminMenu() IAdminMenu { if localAdminMenu == nil { panic("implement not found for interface IAdminMenu, forgot register?") @@ -244,6 +200,61 @@ func RegisterAdminMenu(i IAdminMenu) { localAdminMenu = i } +func AdminOrder() IAdminOrder { + if localAdminOrder == nil { + panic("implement not found for interface IAdminOrder, forgot register?") + } + return localAdminOrder +} + +func RegisterAdminOrder(i IAdminOrder) { + localAdminOrder = i +} + +func AdminRole() IAdminRole { + if localAdminRole == nil { + panic("implement not found for interface IAdminRole, forgot register?") + } + return localAdminRole +} + +func RegisterAdminRole(i IAdminRole) { + localAdminRole = i +} + +func AdminSite() IAdminSite { + if localAdminSite == nil { + panic("implement not found for interface IAdminSite, forgot register?") + } + return localAdminSite +} + +func RegisterAdminSite(i IAdminSite) { + localAdminSite = i +} + +func AdminCash() IAdminCash { + if localAdminCash == nil { + panic("implement not found for interface IAdminCash, forgot register?") + } + return localAdminCash +} + +func RegisterAdminCash(i IAdminCash) { + localAdminCash = i +} + +func AdminMemberPost() IAdminMemberPost { + if localAdminMemberPost == nil { + panic("implement not found for interface IAdminMemberPost, forgot register?") + } + return localAdminMemberPost +} + +func RegisterAdminMemberPost(i IAdminMemberPost) { + localAdminMemberPost = i +} + func AdminMonitor() IAdminMonitor { if localAdminMonitor == nil { panic("implement not found for interface IAdminMonitor, forgot register?") @@ -266,24 +277,13 @@ func RegisterAdminNotice(i IAdminNotice) { localAdminNotice = i } -func AdminOrder() IAdminOrder { - if localAdminOrder == nil { - panic("implement not found for interface IAdminOrder, forgot register?") +func AdminPost() IAdminPost { + if localAdminPost == nil { + panic("implement not found for interface IAdminPost, forgot register?") } - return localAdminOrder + return localAdminPost } -func RegisterAdminOrder(i IAdminOrder) { - localAdminOrder = i -} - -func AdminSite() IAdminSite { - if localAdminSite == nil { - panic("implement not found for interface IAdminSite, forgot register?") - } - return localAdminSite -} - -func RegisterAdminSite(i IAdminSite) { - localAdminSite = i +func RegisterAdminPost(i IAdminPost) { + localAdminPost = i } diff --git a/server/internal/service/sys.go b/server/internal/service/sys.go index 611701f..6fc511b 100644 --- a/server/internal/service/sys.go +++ b/server/internal/service/sys.go @@ -17,15 +17,10 @@ import ( ) type ( - ISysAttachment interface { - Model(ctx context.Context, option ...*handler.Option) *gdb.Model - Delete(ctx context.Context, in sysin.AttachmentDeleteInp) (err error) - Edit(ctx context.Context, in sysin.AttachmentEditInp) (err error) - Status(ctx context.Context, in sysin.AttachmentStatusInp) (err error) - MaxSort(ctx context.Context, in sysin.AttachmentMaxSortInp) (res *sysin.AttachmentMaxSortModel, err error) - View(ctx context.Context, in sysin.AttachmentViewInp) (res *sysin.AttachmentViewModel, err error) - List(ctx context.Context, in sysin.AttachmentListInp) (list []*sysin.AttachmentListModel, totalCount int, err error) - Add(ctx context.Context, meta *sysin.UploadFileMeta, fullPath, drive string) (models *entity.SysAttachment, err error) + ISysAddonsConfig interface { + GetConfigByGroup(ctx context.Context, in sysin.GetAddonsConfigInp) (res *sysin.GetAddonsConfigModel, err error) + ConversionType(ctx context.Context, models *entity.SysAddonsConfig) (value interface{}, err error) + UpdateConfigByGroup(ctx context.Context, in sysin.UpdateAddonsConfigInp) (err error) } ISysBlacklist interface { Delete(ctx context.Context, in sysin.BlacklistDeleteInp) (err error) @@ -37,25 +32,82 @@ type ( VariableLoad(ctx context.Context, err error) Load(ctx context.Context) } + ISysLoginLog interface { + Model(ctx context.Context) *gdb.Model + List(ctx context.Context, in sysin.LoginLogListInp) (list []*sysin.LoginLogListModel, totalCount int, err error) + Export(ctx context.Context, in sysin.LoginLogListInp) (err error) + Delete(ctx context.Context, in sysin.LoginLogDeleteInp) (err error) + View(ctx context.Context, in sysin.LoginLogViewInp) (res *sysin.LoginLogViewModel, err error) + Push(ctx context.Context, in sysin.LoginLogPushInp) + RealWrite(ctx context.Context, models entity.SysLoginLog) (err error) + } + ISysCurdDemo interface { + Model(ctx context.Context, option ...*handler.Option) *gdb.Model + List(ctx context.Context, in sysin.CurdDemoListInp) (list []*sysin.CurdDemoListModel, totalCount int, err error) + Export(ctx context.Context, in sysin.CurdDemoListInp) (err error) + Edit(ctx context.Context, in sysin.CurdDemoEditInp) (err error) + Delete(ctx context.Context, in sysin.CurdDemoDeleteInp) (err error) + MaxSort(ctx context.Context, in sysin.CurdDemoMaxSortInp) (res *sysin.CurdDemoMaxSortModel, err error) + View(ctx context.Context, in sysin.CurdDemoViewInp) (res *sysin.CurdDemoViewModel, err error) + Status(ctx context.Context, in sysin.CurdDemoStatusInp) (err error) + Switch(ctx context.Context, in sysin.CurdDemoSwitchInp) (err error) + } ISysDictData interface { Delete(ctx context.Context, in sysin.DictDataDeleteInp) error Edit(ctx context.Context, in sysin.DictDataEditInp) (err error) List(ctx context.Context, in sysin.DictDataListInp) (list []*sysin.DictDataListModel, totalCount int, err error) Select(ctx context.Context, in sysin.DataSelectInp) (list sysin.DataSelectModel, err error) } - ISysLog interface { - Export(ctx context.Context, in sysin.LogListInp) (err error) - RealWrite(ctx context.Context, log entity.SysLog) (err error) - AutoLog(ctx context.Context) error - AnalysisLog(ctx context.Context) entity.SysLog - View(ctx context.Context, in sysin.LogViewInp) (res *sysin.LogViewModel, err error) - Delete(ctx context.Context, in sysin.LogDeleteInp) (err error) - List(ctx context.Context, in sysin.LogListInp) (list []*sysin.LogListModel, totalCount int, err error) + ISysEmsLog interface { + Delete(ctx context.Context, in sysin.EmsLogDeleteInp) (err error) + Edit(ctx context.Context, in sysin.EmsLogEditInp) (err error) + Status(ctx context.Context, in sysin.EmsLogStatusInp) (err error) + View(ctx context.Context, in sysin.EmsLogViewInp) (res *sysin.EmsLogViewModel, err error) + List(ctx context.Context, in sysin.EmsLogListInp) (list []*sysin.EmsLogListModel, totalCount int, err error) + Send(ctx context.Context, in sysin.SendEmsInp) (err error) + GetTemplate(ctx context.Context, template string, config *model.EmailConfig) (val string, err error) + AllowSend(ctx context.Context, models *entity.SysEmsLog, config *model.EmailConfig) (err error) + VerifyCode(ctx context.Context, in sysin.VerifyEmsCodeInp) (err error) } - ISysAddonsConfig interface { - GetConfigByGroup(ctx context.Context, in sysin.GetAddonsConfigInp) (res *sysin.GetAddonsConfigModel, err error) - ConversionType(ctx context.Context, models *entity.SysAddonsConfig) (value interface{}, err error) - UpdateConfigByGroup(ctx context.Context, in sysin.UpdateAddonsConfigInp) (err error) + ISysProvinces interface { + Tree(ctx context.Context) (list []g.Map, err error) + Delete(ctx context.Context, in sysin.ProvincesDeleteInp) (err error) + Edit(ctx context.Context, in sysin.ProvincesEditInp) (err error) + Status(ctx context.Context, in sysin.ProvincesStatusInp) (err error) + MaxSort(ctx context.Context, in sysin.ProvincesMaxSortInp) (res *sysin.ProvincesMaxSortModel, err error) + View(ctx context.Context, in sysin.ProvincesViewInp) (res *sysin.ProvincesViewModel, err error) + List(ctx context.Context, in sysin.ProvincesListInp) (list []*sysin.ProvincesListModel, totalCount int, err error) + ChildrenList(ctx context.Context, in sysin.ProvincesChildrenListInp) (list []*sysin.ProvincesChildrenListModel, totalCount int, err error) + UniqueId(ctx context.Context, in sysin.ProvincesUniqueIdInp) (res *sysin.ProvincesUniqueIdModel, err error) + Select(ctx context.Context, in sysin.ProvincesSelectInp) (res *sysin.ProvincesSelectModel, err error) + } + ISysServeLog interface { + Model(ctx context.Context) *gdb.Model + List(ctx context.Context, in sysin.ServeLogListInp) (list []*sysin.ServeLogListModel, totalCount int, err error) + Export(ctx context.Context, in sysin.ServeLogListInp) (err error) + Delete(ctx context.Context, in sysin.ServeLogDeleteInp) (err error) + View(ctx context.Context, in sysin.ServeLogViewInp) (res *sysin.ServeLogViewModel, err error) + RealWrite(ctx context.Context, models entity.SysServeLog) (err error) + } + ISysSmsLog interface { + Delete(ctx context.Context, in sysin.SmsLogDeleteInp) (err error) + Edit(ctx context.Context, in sysin.SmsLogEditInp) (err error) + Status(ctx context.Context, in sysin.SmsLogStatusInp) (err error) + MaxSort(ctx context.Context, in sysin.SmsLogMaxSortInp) (res *sysin.SmsLogMaxSortModel, err error) + View(ctx context.Context, in sysin.SmsLogViewInp) (res *sysin.SmsLogViewModel, err error) + List(ctx context.Context, in sysin.SmsLogListInp) (list []*sysin.SmsLogListModel, totalCount int, err error) + SendCode(ctx context.Context, in sysin.SendCodeInp) (err error) + GetTemplate(ctx context.Context, template string, config *model.SmsConfig) (val string, err error) + AllowSend(ctx context.Context, models *entity.SysSmsLog, config *model.SmsConfig) (err error) + VerifyCode(ctx context.Context, in sysin.VerifyCodeInp) (err error) + } + ISysAddons interface { + List(ctx context.Context, in sysin.AddonsListInp) (list []*sysin.AddonsListModel, totalCount int, err error) + Selects(ctx context.Context, in sysin.AddonsSelectsInp) (res *sysin.AddonsSelectsModel, err error) + Build(ctx context.Context, in sysin.AddonsBuildInp) (err error) + Install(ctx context.Context, in sysin.AddonsInstallInp) (err error) + Upgrade(ctx context.Context, in sysin.AddonsUpgradeInp) (err error) + UnInstall(ctx context.Context, in sysin.AddonsUnInstallInp) (err error) } ISysConfig interface { InitConfig(ctx context.Context) @@ -78,74 +130,35 @@ type ( ConversionType(ctx context.Context, models *entity.SysConfig) (value interface{}, err error) UpdateConfigByGroup(ctx context.Context, in sysin.UpdateConfigInp) (err error) } - ISysProvinces interface { - Tree(ctx context.Context) (list []g.Map, err error) - Delete(ctx context.Context, in sysin.ProvincesDeleteInp) (err error) - Edit(ctx context.Context, in sysin.ProvincesEditInp) (err error) - Status(ctx context.Context, in sysin.ProvincesStatusInp) (err error) - MaxSort(ctx context.Context, in sysin.ProvincesMaxSortInp) (res *sysin.ProvincesMaxSortModel, err error) - View(ctx context.Context, in sysin.ProvincesViewInp) (res *sysin.ProvincesViewModel, err error) - List(ctx context.Context, in sysin.ProvincesListInp) (list []*sysin.ProvincesListModel, totalCount int, err error) - ChildrenList(ctx context.Context, in sysin.ProvincesChildrenListInp) (list []*sysin.ProvincesChildrenListModel, totalCount int, err error) - UniqueId(ctx context.Context, in sysin.ProvincesUniqueIdInp) (res *sysin.ProvincesUniqueIdModel, err error) - Select(ctx context.Context, in sysin.ProvincesSelectInp) (res *sysin.ProvincesSelectModel, err error) - } - ISysCurdDemo interface { - Model(ctx context.Context, option ...*handler.Option) *gdb.Model - List(ctx context.Context, in sysin.CurdDemoListInp) (list []*sysin.CurdDemoListModel, totalCount int, err error) - Export(ctx context.Context, in sysin.CurdDemoListInp) (err error) - Edit(ctx context.Context, in sysin.CurdDemoEditInp) (err error) - Delete(ctx context.Context, in sysin.CurdDemoDeleteInp) (err error) - MaxSort(ctx context.Context, in sysin.CurdDemoMaxSortInp) (res *sysin.CurdDemoMaxSortModel, err error) - View(ctx context.Context, in sysin.CurdDemoViewInp) (res *sysin.CurdDemoViewModel, err error) - Status(ctx context.Context, in sysin.CurdDemoStatusInp) (err error) - Switch(ctx context.Context, in sysin.CurdDemoSwitchInp) (err error) - } ISysDictType interface { Tree(ctx context.Context) (list []*sysin.DictTypeTree, err error) Delete(ctx context.Context, in sysin.DictTypeDeleteInp) (err error) Edit(ctx context.Context, in sysin.DictTypeEditInp) (err error) TreeSelect(ctx context.Context, in sysin.DictTreeSelectInp) (list []*sysin.DictTypeTree, err error) } - ISysEmsLog interface { - Delete(ctx context.Context, in sysin.EmsLogDeleteInp) (err error) - Edit(ctx context.Context, in sysin.EmsLogEditInp) (err error) - Status(ctx context.Context, in sysin.EmsLogStatusInp) (err error) - View(ctx context.Context, in sysin.EmsLogViewInp) (res *sysin.EmsLogViewModel, err error) - List(ctx context.Context, in sysin.EmsLogListInp) (list []*sysin.EmsLogListModel, totalCount int, err error) - Send(ctx context.Context, in sysin.SendEmsInp) (err error) - GetTemplate(ctx context.Context, template string, config *model.EmailConfig) (val string, err error) - AllowSend(ctx context.Context, models *entity.SysEmsLog, config *model.EmailConfig) (err error) - VerifyCode(ctx context.Context, in sysin.VerifyEmsCodeInp) (err error) + ISysGenCodes interface { + Delete(ctx context.Context, in sysin.GenCodesDeleteInp) (err error) + Edit(ctx context.Context, in sysin.GenCodesEditInp) (res *sysin.GenCodesEditModel, err error) + Status(ctx context.Context, in sysin.GenCodesStatusInp) (err error) + MaxSort(ctx context.Context, in sysin.GenCodesMaxSortInp) (res *sysin.GenCodesMaxSortModel, err error) + View(ctx context.Context, in sysin.GenCodesViewInp) (res *sysin.GenCodesViewModel, err error) + List(ctx context.Context, in sysin.GenCodesListInp) (list []*sysin.GenCodesListModel, totalCount int, err error) + Selects(ctx context.Context, in sysin.GenCodesSelectsInp) (res *sysin.GenCodesSelectsModel, err error) + TableSelect(ctx context.Context, in sysin.GenCodesTableSelectInp) (res []*sysin.GenCodesTableSelectModel, err error) + ColumnSelect(ctx context.Context, in sysin.GenCodesColumnSelectInp) (res []*sysin.GenCodesColumnSelectModel, err error) + ColumnList(ctx context.Context, in sysin.GenCodesColumnListInp) (res []*sysin.GenCodesColumnListModel, err error) + Preview(ctx context.Context, in sysin.GenCodesPreviewInp) (res *sysin.GenCodesPreviewModel, err error) + Build(ctx context.Context, in sysin.GenCodesBuildInp) (err error) } - ISysLoginLog interface { - Model(ctx context.Context) *gdb.Model - List(ctx context.Context, in sysin.LoginLogListInp) (list []*sysin.LoginLogListModel, totalCount int, err error) - Export(ctx context.Context, in sysin.LoginLogListInp) (err error) - Delete(ctx context.Context, in sysin.LoginLogDeleteInp) (err error) - View(ctx context.Context, in sysin.LoginLogViewInp) (res *sysin.LoginLogViewModel, err error) - Push(ctx context.Context, in sysin.LoginLogPushInp) - RealWrite(ctx context.Context, models entity.SysLoginLog) (err error) - } - ISysSmsLog interface { - Delete(ctx context.Context, in sysin.SmsLogDeleteInp) (err error) - Edit(ctx context.Context, in sysin.SmsLogEditInp) (err error) - Status(ctx context.Context, in sysin.SmsLogStatusInp) (err error) - MaxSort(ctx context.Context, in sysin.SmsLogMaxSortInp) (res *sysin.SmsLogMaxSortModel, err error) - View(ctx context.Context, in sysin.SmsLogViewInp) (res *sysin.SmsLogViewModel, err error) - List(ctx context.Context, in sysin.SmsLogListInp) (list []*sysin.SmsLogListModel, totalCount int, err error) - SendCode(ctx context.Context, in sysin.SendCodeInp) (err error) - GetTemplate(ctx context.Context, template string, config *model.SmsConfig) (val string, err error) - AllowSend(ctx context.Context, models *entity.SysSmsLog, config *model.SmsConfig) (err error) - VerifyCode(ctx context.Context, in sysin.VerifyCodeInp) (err error) - } - ISysAddons interface { - List(ctx context.Context, in sysin.AddonsListInp) (list []*sysin.AddonsListModel, totalCount int, err error) - Selects(ctx context.Context, in sysin.AddonsSelectsInp) (res *sysin.AddonsSelectsModel, err error) - Build(ctx context.Context, in sysin.AddonsBuildInp) (err error) - Install(ctx context.Context, in sysin.AddonsInstallInp) (err error) - Upgrade(ctx context.Context, in sysin.AddonsUpgradeInp) (err error) - UnInstall(ctx context.Context, in sysin.AddonsUnInstallInp) (err error) + ISysAttachment interface { + Model(ctx context.Context, option ...*handler.Option) *gdb.Model + Delete(ctx context.Context, in sysin.AttachmentDeleteInp) (err error) + Edit(ctx context.Context, in sysin.AttachmentEditInp) (err error) + Status(ctx context.Context, in sysin.AttachmentStatusInp) (err error) + MaxSort(ctx context.Context, in sysin.AttachmentMaxSortInp) (res *sysin.AttachmentMaxSortModel, err error) + View(ctx context.Context, in sysin.AttachmentViewInp) (res *sysin.AttachmentViewModel, err error) + List(ctx context.Context, in sysin.AttachmentListInp) (list []*sysin.AttachmentListModel, totalCount int, err error) + Add(ctx context.Context, meta *sysin.UploadFileMeta, fullPath, drive string) (models *entity.SysAttachment, err error) } ISysCron interface { StartCron(ctx context.Context) @@ -166,59 +179,46 @@ type ( List(ctx context.Context, in sysin.CronGroupListInp) (list []*sysin.CronGroupListModel, totalCount int, err error) Select(ctx context.Context, in sysin.CronGroupSelectInp) (res *sysin.CronGroupSelectModel, err error) } - ISysGenCodes interface { - Delete(ctx context.Context, in sysin.GenCodesDeleteInp) (err error) - Edit(ctx context.Context, in sysin.GenCodesEditInp) (res *sysin.GenCodesEditModel, err error) - Status(ctx context.Context, in sysin.GenCodesStatusInp) (err error) - MaxSort(ctx context.Context, in sysin.GenCodesMaxSortInp) (res *sysin.GenCodesMaxSortModel, err error) - View(ctx context.Context, in sysin.GenCodesViewInp) (res *sysin.GenCodesViewModel, err error) - List(ctx context.Context, in sysin.GenCodesListInp) (list []*sysin.GenCodesListModel, totalCount int, err error) - Selects(ctx context.Context, in sysin.GenCodesSelectsInp) (res *sysin.GenCodesSelectsModel, err error) - TableSelect(ctx context.Context, in sysin.GenCodesTableSelectInp) (res []*sysin.GenCodesTableSelectModel, err error) - ColumnSelect(ctx context.Context, in sysin.GenCodesColumnSelectInp) (res []*sysin.GenCodesColumnSelectModel, err error) - ColumnList(ctx context.Context, in sysin.GenCodesColumnListInp) (res []*sysin.GenCodesColumnListModel, err error) - Preview(ctx context.Context, in sysin.GenCodesPreviewInp) (res *sysin.GenCodesPreviewModel, err error) - Build(ctx context.Context, in sysin.GenCodesBuildInp) (err error) - } - ISysServeLog interface { - Model(ctx context.Context) *gdb.Model - List(ctx context.Context, in sysin.ServeLogListInp) (list []*sysin.ServeLogListModel, totalCount int, err error) - Export(ctx context.Context, in sysin.ServeLogListInp) (err error) - Delete(ctx context.Context, in sysin.ServeLogDeleteInp) (err error) - View(ctx context.Context, in sysin.ServeLogViewInp) (res *sysin.ServeLogViewModel, err error) - RealWrite(ctx context.Context, models entity.SysServeLog) (err error) + ISysLog interface { + Export(ctx context.Context, in sysin.LogListInp) (err error) + RealWrite(ctx context.Context, log entity.SysLog) (err error) + AutoLog(ctx context.Context) error + AnalysisLog(ctx context.Context) entity.SysLog + View(ctx context.Context, in sysin.LogViewInp) (res *sysin.LogViewModel, err error) + Delete(ctx context.Context, in sysin.LogDeleteInp) (err error) + List(ctx context.Context, in sysin.LogListInp) (list []*sysin.LogListModel, totalCount int, err error) } ) var ( + localSysDictData ISysDictData + localSysEmsLog ISysEmsLog + localSysProvinces ISysProvinces + localSysCurdDemo ISysCurdDemo + localSysConfig ISysConfig + localSysDictType ISysDictType + localSysGenCodes ISysGenCodes + localSysServeLog ISysServeLog + localSysSmsLog ISysSmsLog localSysAddons ISysAddons localSysCron ISysCron localSysCronGroup ISysCronGroup - localSysGenCodes ISysGenCodes - localSysServeLog ISysServeLog + localSysLog ISysLog localSysAttachment ISysAttachment localSysBlacklist ISysBlacklist - localSysDictData ISysDictData - localSysLog ISysLog - localSysAddonsConfig ISysAddonsConfig - localSysConfig ISysConfig - localSysProvinces ISysProvinces - localSysCurdDemo ISysCurdDemo - localSysDictType ISysDictType - localSysEmsLog ISysEmsLog localSysLoginLog ISysLoginLog - localSysSmsLog ISysSmsLog + localSysAddonsConfig ISysAddonsConfig ) -func SysAddons() ISysAddons { - if localSysAddons == nil { - panic("implement not found for interface ISysAddons, forgot register?") +func SysAttachment() ISysAttachment { + if localSysAttachment == nil { + panic("implement not found for interface ISysAttachment, forgot register?") } - return localSysAddons + return localSysAttachment } -func RegisterSysAddons(i ISysAddons) { - localSysAddons = i +func RegisterSysAttachment(i ISysAttachment) { + localSysAttachment = i } func SysCron() ISysCron { @@ -243,61 +243,6 @@ func RegisterSysCronGroup(i ISysCronGroup) { localSysCronGroup = i } -func SysGenCodes() ISysGenCodes { - if localSysGenCodes == nil { - panic("implement not found for interface ISysGenCodes, forgot register?") - } - return localSysGenCodes -} - -func RegisterSysGenCodes(i ISysGenCodes) { - localSysGenCodes = i -} - -func SysServeLog() ISysServeLog { - if localSysServeLog == nil { - panic("implement not found for interface ISysServeLog, forgot register?") - } - return localSysServeLog -} - -func RegisterSysServeLog(i ISysServeLog) { - localSysServeLog = i -} - -func SysAttachment() ISysAttachment { - if localSysAttachment == nil { - panic("implement not found for interface ISysAttachment, forgot register?") - } - return localSysAttachment -} - -func RegisterSysAttachment(i ISysAttachment) { - localSysAttachment = i -} - -func SysBlacklist() ISysBlacklist { - if localSysBlacklist == nil { - panic("implement not found for interface ISysBlacklist, forgot register?") - } - return localSysBlacklist -} - -func RegisterSysBlacklist(i ISysBlacklist) { - localSysBlacklist = i -} - -func SysDictData() ISysDictData { - if localSysDictData == nil { - panic("implement not found for interface ISysDictData, forgot register?") - } - return localSysDictData -} - -func RegisterSysDictData(i ISysDictData) { - localSysDictData = i -} - func SysLog() ISysLog { if localSysLog == nil { panic("implement not found for interface ISysLog, forgot register?") @@ -320,59 +265,15 @@ func RegisterSysAddonsConfig(i ISysAddonsConfig) { localSysAddonsConfig = i } -func SysConfig() ISysConfig { - if localSysConfig == nil { - panic("implement not found for interface ISysConfig, forgot register?") +func SysBlacklist() ISysBlacklist { + if localSysBlacklist == nil { + panic("implement not found for interface ISysBlacklist, forgot register?") } - return localSysConfig + return localSysBlacklist } -func RegisterSysConfig(i ISysConfig) { - localSysConfig = i -} - -func SysProvinces() ISysProvinces { - if localSysProvinces == nil { - panic("implement not found for interface ISysProvinces, forgot register?") - } - return localSysProvinces -} - -func RegisterSysProvinces(i ISysProvinces) { - localSysProvinces = i -} - -func SysCurdDemo() ISysCurdDemo { - if localSysCurdDemo == nil { - panic("implement not found for interface ISysCurdDemo, forgot register?") - } - return localSysCurdDemo -} - -func RegisterSysCurdDemo(i ISysCurdDemo) { - localSysCurdDemo = i -} - -func SysDictType() ISysDictType { - if localSysDictType == nil { - panic("implement not found for interface ISysDictType, forgot register?") - } - return localSysDictType -} - -func RegisterSysDictType(i ISysDictType) { - localSysDictType = i -} - -func SysEmsLog() ISysEmsLog { - if localSysEmsLog == nil { - panic("implement not found for interface ISysEmsLog, forgot register?") - } - return localSysEmsLog -} - -func RegisterSysEmsLog(i ISysEmsLog) { - localSysEmsLog = i +func RegisterSysBlacklist(i ISysBlacklist) { + localSysBlacklist = i } func SysLoginLog() ISysLoginLog { @@ -386,6 +287,50 @@ func RegisterSysLoginLog(i ISysLoginLog) { localSysLoginLog = i } +func SysCurdDemo() ISysCurdDemo { + if localSysCurdDemo == nil { + panic("implement not found for interface ISysCurdDemo, forgot register?") + } + return localSysCurdDemo +} + +func RegisterSysCurdDemo(i ISysCurdDemo) { + localSysCurdDemo = i +} + +func SysDictData() ISysDictData { + if localSysDictData == nil { + panic("implement not found for interface ISysDictData, forgot register?") + } + return localSysDictData +} + +func RegisterSysDictData(i ISysDictData) { + localSysDictData = i +} + +func SysEmsLog() ISysEmsLog { + if localSysEmsLog == nil { + panic("implement not found for interface ISysEmsLog, forgot register?") + } + return localSysEmsLog +} + +func RegisterSysEmsLog(i ISysEmsLog) { + localSysEmsLog = i +} + +func SysProvinces() ISysProvinces { + if localSysProvinces == nil { + panic("implement not found for interface ISysProvinces, forgot register?") + } + return localSysProvinces +} + +func RegisterSysProvinces(i ISysProvinces) { + localSysProvinces = i +} + func SysSmsLog() ISysSmsLog { if localSysSmsLog == nil { panic("implement not found for interface ISysSmsLog, forgot register?") @@ -396,3 +341,58 @@ func SysSmsLog() ISysSmsLog { func RegisterSysSmsLog(i ISysSmsLog) { localSysSmsLog = i } + +func SysAddons() ISysAddons { + if localSysAddons == nil { + panic("implement not found for interface ISysAddons, forgot register?") + } + return localSysAddons +} + +func RegisterSysAddons(i ISysAddons) { + localSysAddons = i +} + +func SysConfig() ISysConfig { + if localSysConfig == nil { + panic("implement not found for interface ISysConfig, forgot register?") + } + return localSysConfig +} + +func RegisterSysConfig(i ISysConfig) { + localSysConfig = i +} + +func SysDictType() ISysDictType { + if localSysDictType == nil { + panic("implement not found for interface ISysDictType, forgot register?") + } + return localSysDictType +} + +func RegisterSysDictType(i ISysDictType) { + localSysDictType = i +} + +func SysGenCodes() ISysGenCodes { + if localSysGenCodes == nil { + panic("implement not found for interface ISysGenCodes, forgot register?") + } + return localSysGenCodes +} + +func RegisterSysGenCodes(i ISysGenCodes) { + localSysGenCodes = i +} + +func SysServeLog() ISysServeLog { + if localSysServeLog == nil { + panic("implement not found for interface ISysServeLog, forgot register?") + } + return localSysServeLog +} + +func RegisterSysServeLog(i ISysServeLog) { + localSysServeLog = i +} diff --git a/server/internal/websocket/client.go b/server/internal/websocket/client.go index c78c415..022ed15 100644 --- a/server/internal/websocket/client.go +++ b/server/internal/websocket/client.go @@ -3,7 +3,6 @@ // @Copyright Copyright (c) 2023 HotGo CLI // @Author Ms <133814250@qq.com> // @License https://github.com/bufanyun/hotgo/blob/master/LICENSE -// package websocket import ( @@ -105,7 +104,7 @@ func (c *Client) write() { }() defer func() { clientManager.Unregister <- c - c.Socket.Close() + _ = c.Socket.Close() }() for { select { @@ -118,7 +117,7 @@ func (c *Client) write() { g.Log().Warningf(ctxManager, "client write message, user:%+v", c.User) return } - c.Socket.WriteJSON(message) + _ = c.Socket.WriteJSON(message) } } } @@ -147,7 +146,6 @@ func (c *Client) Context() context.Context { // Heartbeat 心跳更新 func (c *Client) Heartbeat(currentTime uint64) { c.HeartbeatTime = currentTime - return } // IsHeartbeatTimeout 心跳是否超时 diff --git a/server/internal/websocket/client_manager.go b/server/internal/websocket/client_manager.go index f6e045d..8e1793c 100644 --- a/server/internal/websocket/client_manager.go +++ b/server/internal/websocket/client_manager.go @@ -3,7 +3,6 @@ // @Copyright Copyright (c) 2023 HotGo CLI // @Author Ms <133814250@qq.com> // @License https://github.com/bufanyun/hotgo/blob/master/LICENSE -// package websocket import ( @@ -79,12 +78,10 @@ func (manager *ClientManager) ClientsRange(f func(client *Client, value bool) (r manager.ClientsLock.RLock() defer manager.ClientsLock.RUnlock() for key, value := range manager.Clients { - result := f(key, value) - if result == false { + if !f(key, value) { return } } - return } // GetClientsLen 获取客户端总数 @@ -104,14 +101,12 @@ func (manager *ClientManager) AddClients(client *Client) { func (manager *ClientManager) DelClients(client *Client) { manager.ClientsLock.Lock() defer manager.ClientsLock.Unlock() - if _, ok := manager.Clients[client]; ok { - delete(manager.Clients, client) - } + delete(manager.Clients, client) } // GetClient 通过socket ID获取客户端的连接 func (manager *ClientManager) GetClient(ID string) (client *Client) { - for c, _ := range manager.Clients { + for c := range manager.Clients { if c.ID == ID { return c } @@ -187,7 +182,7 @@ func (manager *ClientManager) EventUnregister(client *Client) { manager.DelClients(client) // 删除用户连接 deleteResult := manager.DelUsers(client) - if deleteResult == false { + if !deleteResult { // 不是当前连接的客户端 return } @@ -202,7 +197,7 @@ func (manager *ClientManager) clearTimeoutConnections() { for client := range clients { if client.IsHeartbeatTimeout(currentTime) { //fmt.Println("心跳时间超时 关闭连接", client.Addr, client.UserId, client.LoginTime, client.HeartbeatTime) - client.Socket.Close() + _ = client.Socket.Close() } } } @@ -224,7 +219,7 @@ func (manager *ClientManager) ping() { // SendToAll(res) //}) // 定时任务,清理超时连接 - gcron.Add(ctxManager, "*/30 * * * * *", func(ctx context.Context) { + _, _ = gcron.Add(ctxManager, "*/30 * * * * *", func(ctx context.Context) { manager.clearTimeoutConnections() }) } diff --git a/server/utility/charset/charset.go b/server/utility/charset/charset.go index c6dfe68..0b4714c 100644 --- a/server/utility/charset/charset.go +++ b/server/utility/charset/charset.go @@ -3,7 +3,6 @@ // @Copyright Copyright (c) 2023 HotGo CLI // @Author Ms <133814250@qq.com> // @License https://github.com/bufanyun/hotgo/blob/master/LICENSE -// package charset import ( @@ -30,7 +29,6 @@ func SplitMemberIds(str, pos string) (memberIds []int64) { for _, memberId := range receiver { memberIds = append(memberIds, gconv.Int64(strings.TrimSpace(memberId))) } - return convert.UniqueSliceInt64(memberIds) } diff --git a/server/utility/convert/convert.go b/server/utility/convert/convert.go index f3e7155..8eb9085 100644 --- a/server/utility/convert/convert.go +++ b/server/utility/convert/convert.go @@ -3,14 +3,12 @@ // @Copyright Copyright (c) 2023 HotGo CLI // @Author Ms <133814250@qq.com> // @License https://github.com/bufanyun/hotgo/blob/master/LICENSE -// package convert import ( "github.com/gogf/gf/v2/errors/gerror" "hotgo/utility/validate" "reflect" - "strings" "unicode" ) @@ -45,20 +43,7 @@ func UniqueSliceString(languages []string) []string { return result } -// UnderlineToUpperCamelCase 下划线单词转为大写驼峰单词 -func UnderlineToUpperCamelCase(s string) string { - s = strings.Replace(s, "_", " ", -1) - s = strings.Title(s) - return strings.Replace(s, " ", "", -1) -} - -// UnderlineToLowerCamelCase 下划线单词转为小写驼峰单词 -func UnderlineToLowerCamelCase(s string) string { - s = UnderlineToUpperCamelCase(s) - return string(unicode.ToLower(rune(s[0]))) + s[1:] -} - -//CamelCaseToUnderline 驼峰单词转下划线单词 +// CamelCaseToUnderline 驼峰单词转下划线单词 func CamelCaseToUnderline(s string) string { var output []rune for i, r := range s { diff --git a/server/utility/convert/match.go b/server/utility/convert/match.go index cb2f781..7193025 100644 --- a/server/utility/convert/match.go +++ b/server/utility/convert/match.go @@ -27,7 +27,6 @@ func IpFilterStrategy(originIp string) (list map[string]struct{}) { list[ip] = struct{}{} } } - return } @@ -51,7 +50,6 @@ func IpFilterStrategy(originIp string) (list map[string]struct{}) { for i := index; i <= 254; i++ { list[prefix+gconv.String(i)] = struct{}{} } - return } @@ -97,6 +95,5 @@ func IpFilterStrategy(originIp string) (list map[string]struct{}) { list[originIp] = struct{}{} return } - return list } diff --git a/server/utility/excel/excel.go b/server/utility/excel/excel.go index e073097..1af2fbf 100644 --- a/server/utility/excel/excel.go +++ b/server/utility/excel/excel.go @@ -3,7 +3,6 @@ // @Copyright Copyright (c) 2023 HotGo CLI // @Author Ms <133814250@qq.com> // @License https://github.com/bufanyun/hotgo/blob/master/LICENSE -// package excel import ( @@ -34,16 +33,12 @@ func ExportByStructs(ctx context.Context, tags []string, list interface{}, fileN f := excelize.NewFile() f.SetSheetName("Sheet1", sheetName) _ = f.SetRowHeight("Sheet1", 1, 30) - header := make([]string, 0) - for _, v := range tags { - header = append(header, v) - } rowStyleID, _ := f.NewStyle(defaultRowStyle) if err != nil { return } - _ = f.SetSheetRow(sheetName, "A1", &header) + _ = f.SetSheetRow(sheetName, "A1", &tags) var ( length = len(tags) @@ -73,10 +68,10 @@ func ExportByStructs(ctx context.Context, tags []string, list interface{}, fileN } rowNum++ if err = f.SetSheetRow(sheetName, "A"+gconv.String(rowNum), &row); err != nil { - return err + return } - if err = f.SetCellStyle(sheetName, fmt.Sprintf("A%d", rowNum), fmt.Sprintf("%s", lastRow), rowStyleID); err != nil { - return err + if err = f.SetCellStyle(sheetName, fmt.Sprintf("A%d", rowNum), lastRow, rowStyleID); err != nil { + return } } @@ -91,8 +86,8 @@ func ExportByStructs(ctx context.Context, tags []string, list interface{}, fileN w.Header().Set("Content-Transfer-Encoding", "binary") w.Header().Set("Access-Control-Expose-Headers", "Content-Disposition") - if err := f.Write(w); err != nil { - return err + if err = f.Write(w); err != nil { + return } // 加入到上下文 @@ -102,8 +97,7 @@ func ExportByStructs(ctx context.Context, tags []string, list interface{}, fileN Timestamp: time.Now().Unix(), TraceID: gctx.CtxId(ctx), }) - - return nil + return } // letter 生成完整的表头 diff --git a/server/utility/file/file.go b/server/utility/file/file.go index bd4a20d..a9ecd5c 100644 --- a/server/utility/file/file.go +++ b/server/utility/file/file.go @@ -3,13 +3,12 @@ // @Copyright Copyright (c) 2023 HotGo CLI // @Author Ms <133814250@qq.com> // @License https://github.com/bufanyun/hotgo/blob/master/LICENSE -// package file import ( "github.com/gogf/gf/v2/os/gfile" "hotgo/utility/format" - "io/ioutil" + "os" "path/filepath" ) @@ -30,7 +29,7 @@ func WalkDir(dirname string) (error, []fileInfo) { if nil != err { return err, nil } - files, err := ioutil.ReadDir(op) //获取目录下所有文件的信息,包括文件和文件夹 + files, err := os.ReadDir(op) //获取目录下所有文件的信息,包括文件和文件夹 if nil != err { return err, nil } @@ -44,7 +43,11 @@ func WalkDir(dirname string) (error, []fileInfo) { } fileInfos = append(fileInfos, fs...) //将 slice 添加到 slice } else { - fi := fileInfo{op + `/` + f.Name(), f.Size()} + info, err := f.Info() + if nil != err { + return err, nil + } + fi := fileInfo{op + `/` + f.Name(), info.Size()} fileInfos = append(fileInfos, fi) //slice 中添加成员 } } diff --git a/server/utility/format/format.go b/server/utility/format/format.go index 576874c..fffaad2 100644 --- a/server/utility/format/format.go +++ b/server/utility/format/format.go @@ -8,15 +8,9 @@ package format import ( "fmt" "github.com/gogf/gf/v2/util/gconv" - "math" "strconv" ) -// RoundInt64 四舍五入 -func RoundInt64(x float64) int64 { - return int64(math.Floor(x + 0/5)) -} - // Round2String 四舍五入保留小数,默认2位 func Round2String(value float64, args ...interface{}) (v string) { var places = 2 diff --git a/server/utility/simple/simple.go b/server/utility/simple/simple.go index 8458a93..74ad410 100644 --- a/server/utility/simple/simple.go +++ b/server/utility/simple/simple.go @@ -20,7 +20,7 @@ import ( // FilterMaskDemo 过滤演示环境下的配置隐藏字段 func FilterMaskDemo(ctx context.Context, src g.Map) g.Map { - if src == nil || len(src) == 0 { + if src == nil { return nil } @@ -28,7 +28,7 @@ func FilterMaskDemo(ctx context.Context, src g.Map) g.Map { return src } - for k, _ := range src { + for k := range src { if _, ok := consts.ConfigMaskDemoField[k]; ok { src[k] = consts.DemoTips } @@ -88,45 +88,22 @@ func SafeGo(ctx context.Context, f func(ctx context.Context), level ...interface func Logf(level int, ctx context.Context, format string, v ...interface{}) { switch level { case glog.LEVEL_DEBU: - g.Log().Debugf(ctx, format, v) + g.Log().Debugf(ctx, format, v...) case glog.LEVEL_INFO: - g.Log().Infof(ctx, format, v) + g.Log().Infof(ctx, format, v...) case glog.LEVEL_NOTI: - g.Log().Noticef(ctx, format, v) + g.Log().Noticef(ctx, format, v...) case glog.LEVEL_WARN: - g.Log().Warningf(ctx, format, v) + g.Log().Warningf(ctx, format, v...) case glog.LEVEL_ERRO: - g.Log().Errorf(ctx, format, v) + g.Log().Errorf(ctx, format, v...) case glog.LEVEL_CRIT: - g.Log().Critical(ctx, format, v) + g.Log().Criticalf(ctx, format, v...) case glog.LEVEL_PANI: - g.Log().Panicf(ctx, format, v) + g.Log().Panicf(ctx, format, v...) case glog.LEVEL_FATA: - g.Log().Fatalf(ctx, format, v) + g.Log().Fatalf(ctx, format, v...) default: - g.Log().Error(ctx, "Logf level not find") - } -} - -func Log(level int, ctx context.Context, v ...interface{}) { - switch level { - case glog.LEVEL_DEBU: - g.Log().Debug(ctx, v) - case glog.LEVEL_INFO: - g.Log().Info(ctx, v) - case glog.LEVEL_NOTI: - g.Log().Notice(ctx, v) - case glog.LEVEL_WARN: - g.Log().Warning(ctx, v) - case glog.LEVEL_ERRO: - g.Log().Error(ctx, v) - case glog.LEVEL_CRIT: - g.Log().Critical(ctx, v) - case glog.LEVEL_PANI: - g.Log().Panic(ctx, v) - case glog.LEVEL_FATA: - g.Log().Fatal(ctx, v) - default: - g.Log().Error(ctx, "Logf level not find") + g.Log().Errorf(ctx, format, v...) } } diff --git a/server/utility/tree/tree.go b/server/utility/tree/tree.go index 98d6e7a..c8fc789 100644 --- a/server/utility/tree/tree.go +++ b/server/utility/tree/tree.go @@ -3,7 +3,6 @@ // @Copyright Copyright (c) 2023 HotGo CLI // @Author Ms <133814250@qq.com> // @License https://github.com/bufanyun/hotgo/blob/master/LICENSE -// package tree import ( @@ -54,8 +53,6 @@ func GetIds(tree string) (ids []int64) { return } -/////////////////////////// 转换类 - // GenTree 生成关系树 func GenTree(menus []map[string]interface{}) (realMenu []map[string]interface{}) { return GenTreeWithField(menus, GenOption{ diff --git a/server/utility/useragent/useragent.go b/server/utility/useragent/useragent.go index 687d0ad..20ebfd8 100644 --- a/server/utility/useragent/useragent.go +++ b/server/utility/useragent/useragent.go @@ -18,7 +18,7 @@ func GetOs(userAgent string) string { return osName } - strRe, _ := regexp.Compile("(?i:\\((.*?)\\))") + strRe, _ := regexp.Compile(`(?i:((.*?)))`) userAgent = strRe.FindString(userAgent) levelNames := ":micromessenger:dart:Windows NT:Windows Mobile:Windows Phone:Windows Phone OS:Macintosh|Macintosh:Mac OS:CrOS|CrOS:iPhone OS:iPad|iPad:OS:Android:Linux:blackberry:hpwOS:Series:Symbian:PalmOS:SymbianOS:J2ME:Sailfish:Bada:MeeGo:webOS|hpwOS:Maemo:" @@ -83,7 +83,7 @@ func GetBrowser(userAgent string) string { level := 0 for _, name := range names { - replaceRe, _ := regexp.Compile("(?i:[\\s?\\/0-9.]+)") + replaceRe, _ := regexp.Compile(`(?i:[\s?\/0-9.]+)`) n := replaceRe.ReplaceAllString(name, "") l := strings.Index(levelNames, fmt.Sprintf(":%s:", n)) if level == 0 { diff --git a/server/utility/validate/validate.go b/server/utility/validate/validate.go index 054da56..c05335b 100644 --- a/server/utility/validate/validate.go +++ b/server/utility/validate/validate.go @@ -33,16 +33,12 @@ func IsHTTPS(ctx context.Context) bool { g.Log().Info(ctx, "IsHTTPS ctx not request") return false } - return r.TLS != nil || gstr.Equal(r.Header.Get("X-Forwarded-Proto"), "https") } // IsIp 是否为ipv4 func IsIp(ip string) bool { - if net.ParseIP(ip) != nil { - return true - } - return false + return net.ParseIP(ip) != nil } // IsPublicIp 是否是公网IP @@ -56,9 +52,7 @@ func IsPublicIp(Ip string) bool { if ip4 := ip.To4(); ip4 != nil { return !ip.Equal(net.IPv4bcast) } - return true - } // IsLocalIPAddr 检测 IP 地址字符串是否是内网地址 @@ -150,16 +144,15 @@ func IsMobileVisit(userAgent string) bool { return false } - isMobile := false + is := false mobileKeywords := []string{"Mobile", "Android", "Silk/", "Kindle", "BlackBerry", "Opera Mini", "Opera Mobi"} for i := 0; i < len(mobileKeywords); i++ { if strings.Contains(userAgent, mobileKeywords[i]) { - isMobile = true + is = true break } } - - return isMobile + return is } // IsWxBrowserVisit 是否为微信访问 @@ -177,7 +170,6 @@ func IsWxBrowserVisit(userAgent string) bool { break } } - return is } @@ -196,6 +188,5 @@ func IsWxMiniProgramVisit(userAgent string) bool { break } } - return is }