Revert "Revert "优化服务退出流程,增加中间件文档""

This reverts commit 64ed43b7ca.
This commit is contained in:
maxbad
2023-05-15 23:17:59 +08:00
parent 64ed43b7ca
commit 06292b603b
30 changed files with 335 additions and 97 deletions

View File

@@ -227,18 +227,18 @@ func (s *sAdminMember) UpdateMobile(ctx context.Context, in adminin.MemberUpdate
return err
}
var memberInfo *entity.AdminMember
if err = dao.AdminMember.Ctx(ctx).Where("id", memberId).Scan(&memberInfo); err != nil {
var mb *entity.AdminMember
if err = dao.AdminMember.Ctx(ctx).Where("id", memberId).Scan(&mb); err != nil {
err = gerror.Wrap(err, consts.ErrorORM)
return err
}
if memberInfo == nil {
if mb == nil {
err = gerror.New("用户信息不存在")
return err
}
if memberInfo.Mobile == in.Mobile {
if mb.Mobile == in.Mobile {
err = gerror.New("新旧手机号不能一样")
return
}
@@ -249,10 +249,10 @@ func (s *sAdminMember) UpdateMobile(ctx context.Context, in adminin.MemberUpdate
}
// 存在原绑定号码,需要进行验证
if memberInfo.Mobile != "" {
if mb.Mobile != "" {
err = service.SysSmsLog().VerifyCode(ctx, sysin.VerifyCodeInp{
Event: consts.SmsTemplateBind,
Mobile: memberInfo.Mobile,
Mobile: mb.Mobile,
Code: in.Code,
})
if err != nil {
@@ -264,8 +264,7 @@ func (s *sAdminMember) UpdateMobile(ctx context.Context, in adminin.MemberUpdate
dao.AdminMember.Columns().Mobile: in.Mobile,
}
_, err = dao.AdminMember.Ctx(ctx).Where("id", memberId).Data(update).Update()
if err != nil {
if _, err = dao.AdminMember.Ctx(ctx).Where("id", memberId).Data(update).Update(); err != nil {
err = gerror.Wrap(err, consts.ErrorORM)
return err
}
@@ -281,13 +280,13 @@ func (s *sAdminMember) UpdateProfile(ctx context.Context, in adminin.MemberUpdat
return err
}
var memberInfo *entity.AdminMember
if err = dao.AdminMember.Ctx(ctx).Where("id", memberId).Scan(&memberInfo); err != nil {
var mb *entity.AdminMember
if err = dao.AdminMember.Ctx(ctx).Where("id", memberId).Scan(&mb); err != nil {
err = gerror.Wrap(err, consts.ErrorORM)
return err
}
if memberInfo == nil {
if mb == nil {
err = gerror.New("用户信息不存在")
return err
}
@@ -302,8 +301,7 @@ func (s *sAdminMember) UpdateProfile(ctx context.Context, in adminin.MemberUpdat
dao.AdminMember.Columns().Address: in.Address,
}
_, err = dao.AdminMember.Ctx(ctx).Where("id", memberId).Data(update).Update()
if err != nil {
if _, err = dao.AdminMember.Ctx(ctx).Where("id", memberId).Data(update).Update(); err != nil {
err = gerror.Wrap(err, consts.ErrorORM)
return err
}
@@ -718,7 +716,9 @@ func (s *sAdminMember) MemberLoginStat(ctx context.Context, in adminin.MemberLog
// GetIdByCode 通过邀请码获取用户ID
func (s *sAdminMember) GetIdByCode(ctx context.Context, in adminin.GetIdByCodeInp) (res *adminin.GetIdByCodeModel, err error) {
err = dao.AdminMember.Ctx(ctx).Fields(adminin.GetIdByCodeModel{}).Where("invite_code", in.Code).Scan(&res)
if err = dao.AdminMember.Ctx(ctx).Fields(adminin.GetIdByCodeModel{}).Where("invite_code", in.Code).Scan(&res); err != nil {
err = gerror.Wrap(err, consts.ErrorORM)
}
return
}
@@ -728,6 +728,9 @@ func (s *sAdminMember) Select(ctx context.Context, in adminin.MemberSelectInp) (
Fields("id as value,real_name as label,username,avatar").
Handler(handler.FilterAuthWithField("id")).
Scan(&res)
if err != nil {
err = gerror.Wrap(err, consts.ErrorORM)
}
return
}

View File

@@ -12,7 +12,6 @@ import (
"hotgo/internal/dao"
"hotgo/internal/library/token"
"hotgo/internal/model"
"hotgo/internal/model/do"
"hotgo/internal/model/entity"
"hotgo/internal/model/input/adminin"
"hotgo/internal/model/input/sysin"
@@ -255,16 +254,6 @@ func (s *sAdminSite) handleLogin(ctx context.Context, mb *entity.AdminMember) (r
return nil, err
}
update := do.AdminMember{
LastActiveAt: user.LoginAt,
}
// 更新登录信息
if _, err = dao.AdminMember.Ctx(ctx).Data(update).Where(do.AdminMember{Id: mb.Id}).Update(); err != nil {
err = gerror.Wrap(err, consts.ErrorORM)
return
}
res = &adminin.LoginModel{
Username: user.Username,
Id: user.Id,

View File

@@ -20,9 +20,9 @@ func (s *sHook) accessLog(r *ghttp.Request) {
if r.IsFileRequest() {
return
}
var ctx = contexts.Detach(r.Context())
modelCtx := contexts.Get(ctx)
if modelCtx == nil {
if contexts.Get(ctx) == nil {
return
}

View File

@@ -79,7 +79,6 @@ func (s *sHook) lastAdminActive(r *ghttp.Request) {
_, err := g.Model("admin_member").
Ctx(ctx).
Where("id", member.Id).
WhereLT("last_active_at", gtime.Now()).
Data(g.Map{"last_active_at": gtime.Now()}).
Update()
if err != nil {

View File

@@ -101,16 +101,16 @@ func responseJson(r *ghttp.Request) {
if err = r.GetError(); err != nil {
// 记录到自定义错误日志文件
g.Log().Warningf(ctx, "exception:%v", err)
g.Log().Stdout(false).Printf(ctx, "exception:%v", err)
code = gerror.Code(err).Code()
// 是否输出错误到页面
if g.Cfg().MustGet(ctx, "hotgo.debug", true).Bool() {
message = err.Error()
message = gerror.Current(err).Error()
data = charset.ParseErrStack(err)
} else {
message = consts.ErrorMessage(err)
message = consts.ErrorMessage(gerror.Current(err))
}
} else {
data = r.GetHandlerResponse()

View File

@@ -105,7 +105,7 @@ func (s *sSysLog) AutoLog(ctx context.Context) error {
var err error
defer func() {
if err != nil {
panic(err)
g.Log().Error(ctx, "autoLog err:%+v", err)
}
}()

View File

@@ -75,7 +75,7 @@ func (s *sAuthClient) Start(ctx context.Context) {
// Stop 停止服务
func (s *sAuthClient) Stop(ctx context.Context) {
if s.client != nil {
if s.client != nil && !s.client.IsStop() {
s.client.Stop()
g.Log().Debug(ctx, "AuthClient stop..")
}

View File

@@ -76,7 +76,7 @@ func (s *sCronClient) Start(ctx context.Context) {
// Stop 停止服务
func (s *sCronClient) Stop(ctx context.Context) {
if s.client != nil {
if s.client != nil && !s.client.IsStop() {
s.client.Stop()
g.Log().Debug(ctx, "CronClient stop..")
}

View File

@@ -53,15 +53,17 @@ func (s *sTCPServer) Start(ctx context.Context) {
})
// 服务监听
if err := s.serv.Listen(); err != nil {
g.Log().Warningf(ctx, "TCPServer Listen err:%v", err)
if err = s.serv.Listen(); err != nil {
if !s.serv.IsClose() {
g.Log().Warningf(ctx, "TCPServer Listen err:%v", err)
}
}
})
}
// Stop 关闭服务
func (s *sTCPServer) Stop(ctx context.Context) {
if s.serv != nil {
if s.serv != nil && !s.serv.IsClose() {
s.serv.Close()
g.Log().Debug(ctx, "TCPServer stop..")
}