PaymentCenter/app/services/api_request_valid.go

48 lines
836 B
Go

package services
import (
"PaymentCenter/app/constants/errorcode"
"PaymentCenter/app/constants/pojo"
"PaymentCenter/app/models/appmodel"
"PaymentCenter/app/utils"
"strings"
)
type AppCheck struct {
App *appmodel.App
Code int
}
func NewAppCheck(app *appmodel.App) *AppCheck {
return &AppCheck{
App: app,
Code: errorcode.Success,
}
}
func (a *AppCheck) IpCheck(ip string) bool {
if a.App.WhiteIp == "" {
return true
}
if !utils.ContainsString(strings.Split(a.App.WhiteIp, ","), ip) {
a.Code = errorcode.AppIpNotAllow
return false
}
return true
}
func (a *AppCheck) Check() *AppCheck {
if a.App.Status == pojo.STATUS_DISABLED {
a.Code = errorcode.AppDisabled
}
if a.App.DeleteTime.Location() == nil {
a.Code = errorcode.AppNotFound
}
return a
}
func (a *AppCheck) GetCode() int {
return a.Code
}