first commit
This commit is contained in:
46
apps/gateway/internal/logic/whitelistr/addwhitelistlogic.go
Normal file
46
apps/gateway/internal/logic/whitelistr/addwhitelistlogic.go
Normal file
@@ -0,0 +1,46 @@
|
||||
package whitelistr
|
||||
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"tianyuan-api/apps/gateway/internal/validator"
|
||||
"tianyuan-api/apps/sentinel/client/whitelist"
|
||||
|
||||
"tianyuan-api/apps/gateway/internal/svc"
|
||||
"tianyuan-api/apps/gateway/internal/types"
|
||||
|
||||
"github.com/zeromicro/go-zero/core/logx"
|
||||
)
|
||||
|
||||
type AddWhitelistLogic struct {
|
||||
logx.Logger
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
}
|
||||
|
||||
func NewAddWhitelistLogic(ctx context.Context, svcCtx *svc.ServiceContext) *AddWhitelistLogic {
|
||||
return &AddWhitelistLogic{
|
||||
Logger: logx.WithContext(ctx),
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
}
|
||||
}
|
||||
|
||||
func (l *AddWhitelistLogic) AddWhitelist(req *types.AddWhitelistReq) error {
|
||||
userId, ok := l.ctx.Value("userId").(int64)
|
||||
if !ok {
|
||||
return errors.New("无法获取 userId")
|
||||
}
|
||||
isIp := validator.IsValidIPAddress(req.Ip)
|
||||
if !isIp {
|
||||
return errors.New("请输入正确的IP地址")
|
||||
}
|
||||
_, err := l.svcCtx.WhitelistRpc.CreateWhitelist(l.ctx, &whitelist.CreateWhitelistRequest{
|
||||
UserId: userId,
|
||||
WhitelistIp: req.Ip,
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
Reference in New Issue
Block a user