This commit is contained in:
laodaming 2023-06-06 15:52:41 +08:00
parent d31f3a1e41
commit 245155d10e
4 changed files with 101 additions and 16 deletions

View File

@ -8,48 +8,55 @@ import (
{{.types}}
// Set 设置Response的Code和Message值
func (resp *Response) Set(Code int, Message string) {
func (resp *Response) Set(Code int, Message string) *Response{
resp.Code = Code
resp.Message = Message
return resp
}
// Set 设置整个Response
func (resp *Response) SetWithData(Code int, Message string, Data interface{}) {
func (resp *Response) SetWithData(Code int, Message string, Data interface{}) *Response{
resp.Code = Code
resp.Message = Message
resp.Data = Data
return resp
}
// SetMessage 设置Response的Message
func (resp *Response) SetMessage(msg string) {
func (resp *Response) SetMessage(msg string) *Response{
resp.Message = msg
return resp
}
// SetWithData 设置Data
func (resp *Response) SetData(Data interface{}) {
func (resp *Response) SetData(Data interface{}) *Response{
resp.Data = Data
return resp
}
// SetWithData 设置Response的Code和Message值 带Data入参数
func (resp *Response) SetCode(Code int) {
func (resp *Response) SetCode(Code int) *Response{
resp.Code = Code
return resp
}
// SetStatus 设置默认StatusResponse(内部自定义) 默认msg, 可以带data, data只使用一个参数
func (resp *Response) SetStatus(sr *basic.StatusResponse, data ...interface{}) {
func (resp *Response) SetStatus(sr *basic.StatusResponse, data ...interface{}) *Response{
resp.Code = sr.Code
resp.Message = sr.Message
if len(data) == 1 {
resp.Data = data[0]
}
}
return resp
}
// SetStatusWithMessage 设置默认StatusResponse(内部自定义) 非默认msg, 可以带data, data只使用一个参数
func (resp *Response) SetStatusWithMessage(sr *basic.StatusResponse, msg string, data ...interface{}) {
func (resp *Response) SetStatusWithMessage(sr *basic.StatusResponse, msg string, data ...interface{}) *Response{
resp.Code = sr.Code
resp.Message = msg
if len(data) == 1 {
resp.Data = data[0]
}
}
return resp
}

View File

@ -0,0 +1,40 @@
package handler
import (
"errors"
"fusenapi/utils/auth"
"net/http"
"github.com/zeromicro/go-zero/core/logx"
"github.com/zeromicro/go-zero/rest/httpx"
"fusenapi/product/internal/logic"
"fusenapi/product/internal/svc"
"fusenapi/product/internal/types"
)
func GetSuccessRecommandHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
//用户登录信息
userInfo := auth.CheckAuth(r)
var req types.GetSuccessRecommandReq
if err := httpx.Parse(r, &req); err != nil {
httpx.OkJsonCtx(r.Context(), w, &types.Response{
Code: 510,
Message: "parameter error",
})
logx.Info(err)
return
}
l := logic.NewGetSuccessRecommandLogic(r.Context(), svcCtx)
resp := l.GetSuccessRecommand(&req, userInfo)
if resp != nil {
httpx.OkJsonCtx(r.Context(), w, resp)
} else {
err := errors.New("server logic is error, resp must not be nil")
httpx.ErrorCtx(r.Context(), w, err)
logx.Error(err)
}
}
}

View File

@ -0,0 +1,31 @@
package logic
import (
"context"
"fusenapi/utils/auth"
"fusenapi/product/internal/svc"
"fusenapi/product/internal/types"
"github.com/zeromicro/go-zero/core/logx"
)
type GetSuccessRecommandLogic struct {
logx.Logger
ctx context.Context
svcCtx *svc.ServiceContext
}
func NewGetSuccessRecommandLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetSuccessRecommandLogic {
return &GetSuccessRecommandLogic{
Logger: logx.WithContext(ctx),
ctx: ctx,
svcCtx: svcCtx,
}
}
func (l *GetSuccessRecommandLogic) GetSuccessRecommand(req *types.GetSuccessRecommandReq, loginInfo auth.UserInfo) (resp *types.Response) {
// 必须返回response, 前端需要的是内部约定的Code码, 处理相关的逻辑. 例子(eg): resp.Set(501, "error")
resp = &types.Response{}
return resp
}

View File

@ -79,47 +79,54 @@ type Response struct {
}
// Set 设置Response的Code和Message值
func (resp *Response) Set(Code int, Message string) {
func (resp *Response) Set(Code int, Message string) *Response {
resp.Code = Code
resp.Message = Message
return resp
}
// Set 设置整个Response
func (resp *Response) SetWithData(Code int, Message string, Data interface{}) {
func (resp *Response) SetWithData(Code int, Message string, Data interface{}) *Response {
resp.Code = Code
resp.Message = Message
resp.Data = Data
return resp
}
// SetMessage 设置Response的Message
func (resp *Response) SetMessage(msg string) {
func (resp *Response) SetMessage(msg string) *Response {
resp.Message = msg
return resp
}
// SetWithData 设置Data
func (resp *Response) SetData(Data interface{}) {
func (resp *Response) SetData(Data interface{}) *Response {
resp.Data = Data
return resp
}
// SetWithData 设置Response的Code和Message值 带Data入参数
func (resp *Response) SetCode(Code int) {
func (resp *Response) SetCode(Code int) *Response {
resp.Code = Code
return resp
}
// SetStatus 设置默认StatusResponse(内部自定义) 默认msg, 可以带data, data只使用一个参数
func (resp *Response) SetStatus(sr *basic.StatusResponse, data ...interface{}) {
func (resp *Response) SetStatus(sr *basic.StatusResponse, data ...interface{}) *Response {
resp.Code = sr.Code
resp.Message = sr.Message
if len(data) == 1 {
resp.Data = data[0]
}
return resp
}
// SetStatusWithMessage 设置默认StatusResponse(内部自定义) 非默认msg, 可以带data, data只使用一个参数
func (resp *Response) SetStatusWithMessage(sr *basic.StatusResponse, msg string, data ...interface{}) {
func (resp *Response) SetStatusWithMessage(sr *basic.StatusResponse, msg string, data ...interface{}) *Response {
resp.Code = sr.Code
resp.Message = msg
if len(data) == 1 {
resp.Data = data[0]
}
return resp
}