From 54cbe017b9e7f6617b4f7db59d4fedb3e8756303 Mon Sep 17 00:00:00 2001 From: eson <9673575+githubcontent@user.noreply.gitee.com> Date: Tue, 6 Jun 2023 17:25:49 +0800 Subject: [PATCH 1/3] =?UTF-8?q?model=20=E6=A0=BC=E5=BC=8F=E6=94=B9?= =?UTF-8?q?=E5=8F=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 16 ++++++++++ home-user-auth/etc/home-user-auth.yaml | 2 +- home-user-auth/internal/handler/routes.go | 3 ++ .../handler/usersavebasicinfohandler.go | 4 +-- .../internal/logic/userloginlogic.go | 12 +++++++- .../internal/logic/usersavebasicinfologic.go | 15 +++++----- model/fscanteentypemodel.go | 30 ++++++++++++++++++- model/fscanteentypemodel_gen.go | 2 -- model/fsfontmodel.go | 24 ++++++++++++++- model/fsfontmodel_gen.go | 2 +- model/self_fscanteentype.go | 29 ------------------ model/self_fsfont.go | 23 -------------- 12 files changed, 93 insertions(+), 69 deletions(-) delete mode 100644 model/self_fscanteentype.go delete mode 100644 model/self_fsfont.go diff --git a/.gitignore b/.gitignore index 66fd13c9..128995e9 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,19 @@ # Dependency directories (remove the comment below to include it) # vendor/ + + +#vscode + +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +!.vscode/*.code-snippets + +# Local History for Visual Studio Code +.history/ + +# Built Visual Studio Code Extensions +*.vsix \ No newline at end of file diff --git a/home-user-auth/etc/home-user-auth.yaml b/home-user-auth/etc/home-user-auth.yaml index d3abe90f..ab4b74e9 100644 --- a/home-user-auth/etc/home-user-auth.yaml +++ b/home-user-auth/etc/home-user-auth.yaml @@ -5,4 +5,4 @@ SourceMysql: fusentest:XErSYmLELKMnf3Dh@tcp(110.41.19.98:3306)/fusentest Auth: AccessSecret: fusen2023 - AccessExpire: 604800 + AccessExpire: 60 diff --git a/home-user-auth/internal/handler/routes.go b/home-user-auth/internal/handler/routes.go index 09e53cbd..5de41c59 100644 --- a/home-user-auth/internal/handler/routes.go +++ b/home-user-auth/internal/handler/routes.go @@ -35,6 +35,8 @@ func RegisterHandlers(server *rest.Server, serverCtx *svc.ServiceContext) { }, ) + + server.AddRoutes( []rest.Route{ { @@ -44,5 +46,6 @@ func RegisterHandlers(server *rest.Server, serverCtx *svc.ServiceContext) { }, }, rest.WithJwt(serverCtx.Config.Auth.AccessSecret), + ) } diff --git a/home-user-auth/internal/handler/usersavebasicinfohandler.go b/home-user-auth/internal/handler/usersavebasicinfohandler.go index eb492e44..353a32b8 100644 --- a/home-user-auth/internal/handler/usersavebasicinfohandler.go +++ b/home-user-auth/internal/handler/usersavebasicinfohandler.go @@ -10,7 +10,6 @@ import ( "fusenapi/home-user-auth/internal/logic" "fusenapi/home-user-auth/internal/svc" "fusenapi/home-user-auth/internal/types" - "fusenapi/utils/auth" ) func UserSaveBasicInfoHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { @@ -26,8 +25,7 @@ func UserSaveBasicInfoHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { } l := logic.NewUserSaveBasicInfoLogic(r.Context(), svcCtx) - userinfo := auth.CheckAuth(r) - resp := l.UserSaveBasicInfo(&req, &userinfo) + resp := l.UserSaveBasicInfo(&req) if resp != nil { httpx.OkJsonCtx(r.Context(), w, resp) } else { diff --git a/home-user-auth/internal/logic/userloginlogic.go b/home-user-auth/internal/logic/userloginlogic.go index fd0fa7ab..e5af647b 100644 --- a/home-user-auth/internal/logic/userloginlogic.go +++ b/home-user-auth/internal/logic/userloginlogic.go @@ -8,6 +8,7 @@ import ( "fusenapi/model" "fusenapi/utils/basic" + "github.com/golang-jwt/jwt" "github.com/zeromicro/go-zero/core/logx" ) @@ -25,12 +26,21 @@ func NewUserLoginLogic(ctx context.Context, svcCtx *svc.ServiceContext) *UserLog } } +func (l *UserLoginLogic) getJwtToken(secretKey string, iat, seconds, userId int64) (string, error) { + claims := make(jwt.MapClaims) + claims["exp"] = iat + seconds + claims["iat"] = iat + claims["userId"] = userId + token := jwt.New(jwt.SigningMethodHS256) + token.Claims = claims + return token.SignedString([]byte(secretKey)) +} + func (l *UserLoginLogic) UserLogin(req *types.RequestUserLogin) (resp *types.Response) { // 必须返回response, 前端需要的是内部约定的Code码, 处理相关的逻辑. 例子(eg): resp.Set(501, "error") resp = &types.Response{} userModel, err := model.NewFsUserModel(l.svcCtx.MysqlConn).FindOneByEmail(l.ctx, req.Name) - // log.Printf("%t %t %v", err, model.ErrNotFound, err == model.ErrNotFound) if err == model.ErrNotFound { logx.Error(err) diff --git a/home-user-auth/internal/logic/usersavebasicinfologic.go b/home-user-auth/internal/logic/usersavebasicinfologic.go index bebd9a58..25a6aad5 100644 --- a/home-user-auth/internal/logic/usersavebasicinfologic.go +++ b/home-user-auth/internal/logic/usersavebasicinfologic.go @@ -6,7 +6,6 @@ import ( "fusenapi/home-user-auth/internal/svc" "fusenapi/home-user-auth/internal/types" "fusenapi/model" - "fusenapi/utils/auth" "fusenapi/utils/basic" "github.com/zeromicro/go-zero/core/logx" @@ -26,16 +25,18 @@ func NewUserSaveBasicInfoLogic(ctx context.Context, svcCtx *svc.ServiceContext) } } -func (l *UserSaveBasicInfoLogic) UserSaveBasicInfo(req *types.RequestBasicInfoForm, userinfo *auth.UserInfo) (resp *types.Response) { +func (l *UserSaveBasicInfoLogic) UserSaveBasicInfo(req *types.RequestBasicInfoForm) (resp *types.Response) { // 必须返回response, 前端需要的是内部约定的Code码, 处理相关的逻辑. 例子(eg): resp.Set(501, "error") resp = &types.Response{} // logx.Info(req) - if userinfo.UserId == 0 { - resp.SetStatusWithMessage(basic.DefaultError, "user is not exists") - return resp - } + // if userinfo.UserId == 0 { + // resp.SetStatusWithMessage(basic.DefaultError, "user is not exists") + // return resp + // } - fsUserModel, err := model.NewFsUserModel(l.svcCtx.MysqlConn).FindOne(l.ctx, userinfo.UserId) + userid := l.ctx.Value("userid").(int64) + + fsUserModel, err := model.NewFsUserModel(l.svcCtx.MysqlConn).FindOne(l.ctx, userid) if err != nil { logx.Error(err) } diff --git a/model/fscanteentypemodel.go b/model/fscanteentypemodel.go index de8ff09f..e7750cee 100755 --- a/model/fscanteentypemodel.go +++ b/model/fscanteentypemodel.go @@ -1,6 +1,12 @@ package model -import "github.com/zeromicro/go-zero/core/stores/sqlx" +import ( + "context" + "fmt" + + "github.com/zeromicro/go-zero/core/stores/sqlc" + "github.com/zeromicro/go-zero/core/stores/sqlx" +) var _ FsCanteenTypeModel = (*customFsCanteenTypeModel)(nil) @@ -9,6 +15,7 @@ type ( // and implement the added methods in customFsCanteenTypeModel. FsCanteenTypeModel interface { fsCanteenTypeModel + FindGetType(ctx context.Context) ([]*FsGetTypeCanteenType, error) } customFsCanteenTypeModel struct { @@ -22,3 +29,24 @@ func NewFsCanteenTypeModel(conn sqlx.SqlConn) FsCanteenTypeModel { defaultFsCanteenTypeModel: newFsCanteenTypeModel(conn), } } + +type FsGetTypeCanteenType struct { + Id int64 `db:"id" json:"key"` // ID + Name string `db:"name" json:"name"` // 餐厅名字 +} + +func (m *defaultFsCanteenTypeModel) FindGetType(ctx context.Context) ([]*FsGetTypeCanteenType, error) { + + query := fmt.Sprintf("select X.id,X.name from (select %s from %s where status = 1 order by sort desc) X", fsCanteenTypeRows, m.table) + var resp []*FsGetTypeCanteenType + err := m.conn.QueryRows(&resp, query) + switch err { + case nil: + return resp, nil + case sqlc.ErrNotFound: + return nil, ErrNotFound + default: + return nil, err + } + +} diff --git a/model/fscanteentypemodel_gen.go b/model/fscanteentypemodel_gen.go index 79900f2f..2139dbe3 100755 --- a/model/fscanteentypemodel_gen.go +++ b/model/fscanteentypemodel_gen.go @@ -27,8 +27,6 @@ type ( FindOne(ctx context.Context, id int64) (*FsCanteenType, error) Update(ctx context.Context, data *FsCanteenType) error Delete(ctx context.Context, id int64) error - - FindGetType(ctx context.Context) ([]*FsGetTypeCanteenType, error) } defaultFsCanteenTypeModel struct { diff --git a/model/fsfontmodel.go b/model/fsfontmodel.go index e62b400d..3e168c7d 100755 --- a/model/fsfontmodel.go +++ b/model/fsfontmodel.go @@ -1,6 +1,12 @@ package model -import "github.com/zeromicro/go-zero/core/stores/sqlx" +import ( + "context" + "fmt" + + "github.com/zeromicro/go-zero/core/stores/sqlc" + "github.com/zeromicro/go-zero/core/stores/sqlx" +) var _ FsFontModel = (*customFsFontModel)(nil) @@ -9,6 +15,7 @@ type ( // and implement the added methods in customFsFontModel. FsFontModel interface { fsFontModel + FindAllOrderSortByDesc(ctx context.Context) ([]*FsFont, error) } customFsFontModel struct { @@ -22,3 +29,18 @@ func NewFsFontModel(conn sqlx.SqlConn) FsFontModel { defaultFsFontModel: newFsFontModel(conn), } } + +func (m *defaultFsFontModel) FindAllOrderSortByDesc(ctx context.Context) ([]*FsFont, error) { + + query := fmt.Sprintf("select %s from %s order by sort desc", fsFontRows, m.table) + var resp []*FsFont + err := m.conn.QueryRows(&resp, query) + switch err { + case nil: + return resp, nil + case sqlc.ErrNotFound: + return nil, ErrNotFound + default: + return nil, err + } +} diff --git a/model/fsfontmodel_gen.go b/model/fsfontmodel_gen.go index 9a8c5c37..055de49f 100755 --- a/model/fsfontmodel_gen.go +++ b/model/fsfontmodel_gen.go @@ -27,7 +27,7 @@ type ( FindOne(ctx context.Context, id int64) (*FsFont, error) Update(ctx context.Context, data *FsFont) error Delete(ctx context.Context, id int64) error - FindAllOrderSortByDesc(ctx context.Context) ([]*FsFont, error) + } defaultFsFontModel struct { diff --git a/model/self_fscanteentype.go b/model/self_fscanteentype.go deleted file mode 100644 index 051fa19a..00000000 --- a/model/self_fscanteentype.go +++ /dev/null @@ -1,29 +0,0 @@ -package model - -import ( - "context" - "fmt" - - "github.com/zeromicro/go-zero/core/stores/sqlc" -) - -type FsGetTypeCanteenType struct { - Id int64 `db:"id" json:"key"` // ID - Name string `db:"name" json:"name"` // 餐厅名字 -} - -func (m *defaultFsCanteenTypeModel) FindGetType(ctx context.Context) ([]*FsGetTypeCanteenType, error) { - - query := fmt.Sprintf("select X.id,X.name from (select %s from %s where status = 1 order by sort desc) X", fsCanteenTypeRows, m.table) - var resp []*FsGetTypeCanteenType - err := m.conn.QueryRows(&resp, query) - switch err { - case nil: - return resp, nil - case sqlc.ErrNotFound: - return nil, ErrNotFound - default: - return nil, err - } - -} diff --git a/model/self_fsfont.go b/model/self_fsfont.go deleted file mode 100644 index ed557b2d..00000000 --- a/model/self_fsfont.go +++ /dev/null @@ -1,23 +0,0 @@ -package model - -import ( - "context" - "fmt" - - "github.com/zeromicro/go-zero/core/stores/sqlc" -) - -func (m *defaultFsFontModel) FindAllOrderSortByDesc(ctx context.Context) ([]*FsFont, error) { - - query := fmt.Sprintf("select %s from %s order by sort desc", fsFontRows, m.table) - var resp []*FsFont - err := m.conn.QueryRows(&resp, query) - switch err { - case nil: - return resp, nil - case sqlc.ErrNotFound: - return nil, ErrNotFound - default: - return nil, err - } -} From 50b7afd25a147dee501ddd9e3c268aaff6bbacba Mon Sep 17 00:00:00 2001 From: eson <9673575+githubcontent@user.noreply.gitee.com> Date: Tue, 6 Jun 2023 17:31:00 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20fsfont=20=E7=9A=84?= =?UTF-8?q?=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- model/fscanteentypemodel.go | 3 ++- model/fsfontmodel_gen.go | 3 --- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/model/fscanteentypemodel.go b/model/fscanteentypemodel.go index e7750cee..6932ead8 100755 --- a/model/fscanteentypemodel.go +++ b/model/fscanteentypemodel.go @@ -30,13 +30,14 @@ func NewFsCanteenTypeModel(conn sqlx.SqlConn) FsCanteenTypeModel { } } +// FsGetTypeCanteenType GetType返回前端的结构 type FsGetTypeCanteenType struct { Id int64 `db:"id" json:"key"` // ID Name string `db:"name" json:"name"` // 餐厅名字 } +// FindGetType 根据status = 1查询出所有,fs_canteen_type 的类型,并排序desc func (m *defaultFsCanteenTypeModel) FindGetType(ctx context.Context) ([]*FsGetTypeCanteenType, error) { - query := fmt.Sprintf("select X.id,X.name from (select %s from %s where status = 1 order by sort desc) X", fsCanteenTypeRows, m.table) var resp []*FsGetTypeCanteenType err := m.conn.QueryRows(&resp, query) diff --git a/model/fsfontmodel_gen.go b/model/fsfontmodel_gen.go index 055de49f..69ddeaec 100755 --- a/model/fsfontmodel_gen.go +++ b/model/fsfontmodel_gen.go @@ -27,7 +27,6 @@ type ( FindOne(ctx context.Context, id int64) (*FsFont, error) Update(ctx context.Context, data *FsFont) error Delete(ctx context.Context, id int64) error - } defaultFsFontModel struct { @@ -71,8 +70,6 @@ func (m *defaultFsFontModel) FindOne(ctx context.Context, id int64) (*FsFont, er } } - - func (m *defaultFsFontModel) Insert(ctx context.Context, data *FsFont) (sql.Result, error) { query := fmt.Sprintf("insert into %s (%s) values (?, ?, ?, ?)", m.table, fsFontRowsExpectAutoSet) ret, err := m.conn.ExecCtx(ctx, query, data.Title, data.LinuxFontname, data.FilePath, data.Sort) From ab9df9bc4208dd62197020b7b7f75a7158225d24 Mon Sep 17 00:00:00 2001 From: eson <9673575+githubcontent@user.noreply.gitee.com> Date: Tue, 6 Jun 2023 17:36:10 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- home-user-auth/internal/logic/gettypelogic.go | 2 +- home-user-auth/internal/logic/userbasicinfologic.go | 2 +- home-user-auth/internal/logic/userfontslogic.go | 4 ++-- home-user-auth/internal/logic/userloginlogic.go | 4 ++-- home-user-auth/internal/logic/usersavebasicinfologic.go | 2 +- utils/basic/basic.go | 5 +++-- 6 files changed, 10 insertions(+), 9 deletions(-) diff --git a/home-user-auth/internal/logic/gettypelogic.go b/home-user-auth/internal/logic/gettypelogic.go index bf308960..dfca9667 100644 --- a/home-user-auth/internal/logic/gettypelogic.go +++ b/home-user-auth/internal/logic/gettypelogic.go @@ -35,7 +35,7 @@ func (l *GetTypeLogic) GetType(req *types.Request) (resp *types.Response) { return } - resp.SetStatus(basic.StatusOK, "success", data) + resp.SetStatus(basic.CodeOK, "success", data) return resp } diff --git a/home-user-auth/internal/logic/userbasicinfologic.go b/home-user-auth/internal/logic/userbasicinfologic.go index 9d9841ad..1cf79ef9 100644 --- a/home-user-auth/internal/logic/userbasicinfologic.go +++ b/home-user-auth/internal/logic/userbasicinfologic.go @@ -45,6 +45,6 @@ func (l *UserBasicInfoLogic) UserBasicInfo(req *types.Request, userinfo *auth.Us return resp } - resp.SetStatus(basic.StatusOK, fsUserModel) + resp.SetStatus(basic.CodeOK, fsUserModel) return resp } diff --git a/home-user-auth/internal/logic/userfontslogic.go b/home-user-auth/internal/logic/userfontslogic.go index 13feba28..b89e5deb 100644 --- a/home-user-auth/internal/logic/userfontslogic.go +++ b/home-user-auth/internal/logic/userfontslogic.go @@ -33,10 +33,10 @@ func (l *UserFontsLogic) UserFonts(req *types.Request) (resp *types.Response) { if err != nil { // panic(err) logx.Error(err) - resp.SetStatus(basic.StatusOK, data) + resp.SetStatus(basic.CodeOK, data) return resp } - resp.SetStatus(basic.StatusOK) + resp.SetStatus(basic.CodeOK) return resp } diff --git a/home-user-auth/internal/logic/userloginlogic.go b/home-user-auth/internal/logic/userloginlogic.go index e5af647b..c3179f44 100644 --- a/home-user-auth/internal/logic/userloginlogic.go +++ b/home-user-auth/internal/logic/userloginlogic.go @@ -44,12 +44,12 @@ func (l *UserLoginLogic) UserLogin(req *types.RequestUserLogin) (resp *types.Res // log.Printf("%t %t %v", err, model.ErrNotFound, err == model.ErrNotFound) if err == model.ErrNotFound { logx.Error(err) - resp.SetStatusWithMessage(basic.DefaultError, err.Error()) + resp.SetStatusWithMessage(basic.CodeServiceErr, err.Error()) return resp } data := &types.DataUserLogin{ Token: userModel.PasswordResetToken.String, } - resp.SetStatus(basic.StatusOK, data) + resp.SetStatus(basic.CodeOK, data) return resp } diff --git a/home-user-auth/internal/logic/usersavebasicinfologic.go b/home-user-auth/internal/logic/usersavebasicinfologic.go index 25a6aad5..7f545082 100644 --- a/home-user-auth/internal/logic/usersavebasicinfologic.go +++ b/home-user-auth/internal/logic/usersavebasicinfologic.go @@ -41,6 +41,6 @@ func (l *UserSaveBasicInfoLogic) UserSaveBasicInfo(req *types.RequestBasicInfoFo logx.Error(err) } - resp.SetStatus(basic.StatusOK, fsUserModel) + resp.SetStatus(basic.CodeOK, fsUserModel) return resp } diff --git a/utils/basic/basic.go b/utils/basic/basic.go index 2ad50615..039bf70e 100644 --- a/utils/basic/basic.go +++ b/utils/basic/basic.go @@ -7,6 +7,7 @@ type StatusResponse struct { } var ( - StatusOK = &StatusResponse{200, "success"} // 成功 - DefaultError = &StatusResponse{510, "unknown error"} // 错误 + CodeOK = &StatusResponse{200, "success"} // 成功 + CodeServiceErr = &StatusResponse{510, "unknown error"} // 错误 + CodeUnAuth = &StatusResponse{401, "unauthorized"} // 未授权 )