feat: param verification
This commit is contained in:
+3
-31
@@ -5,7 +5,6 @@ import (
|
||||
"crm/response"
|
||||
"crm/service"
|
||||
"log"
|
||||
"regexp"
|
||||
"strconv"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
@@ -30,10 +29,6 @@ func (u *UserApi) Register(context *gin.Context) {
|
||||
log.Printf("[error]UserApi:Register:%s", err)
|
||||
return
|
||||
}
|
||||
if !verifyEmailFormat(param.Email) {
|
||||
response.Result(response.ErrCodeEmailFormatInvalid, nil, context)
|
||||
return
|
||||
}
|
||||
errCode := u.userService.Register(¶m)
|
||||
response.Result(errCode, nil, context)
|
||||
}
|
||||
@@ -45,10 +40,6 @@ func (u *UserApi) Login(context *gin.Context) {
|
||||
response.Result(response.ErrCodeParamInvalid, nil, context)
|
||||
return
|
||||
}
|
||||
if !verifyEmailFormat(param.Email) {
|
||||
response.Result(response.ErrCodeEmailFormatInvalid, nil, context)
|
||||
return
|
||||
}
|
||||
userInfo, errCode := u.userService.Login(¶m)
|
||||
if userInfo == nil {
|
||||
response.Result(errCode, nil, context)
|
||||
@@ -59,26 +50,18 @@ func (u *UserApi) Login(context *gin.Context) {
|
||||
|
||||
// 获取验证码
|
||||
func (u *UserApi) GetVerifyCode(context *gin.Context) {
|
||||
email := context.Query("email")
|
||||
if email == "" {
|
||||
var param models.UserVerifyCodeParam
|
||||
if err := context.ShouldBind(¶m); err != nil {
|
||||
response.Result(response.ErrCodeParamInvalid, nil, context)
|
||||
return
|
||||
}
|
||||
if !verifyEmailFormat(email) {
|
||||
response.Result(response.ErrCodeEmailFormatInvalid, nil, context)
|
||||
return
|
||||
}
|
||||
errCode := u.userService.GetVerifyCode(email)
|
||||
errCode := u.userService.GetVerifyCode(param.Email)
|
||||
response.Result(errCode, nil, context)
|
||||
}
|
||||
|
||||
// 忘记密码
|
||||
func (u *UserApi) ForgotPass(context *gin.Context) {
|
||||
var param models.UserPassParam
|
||||
if verifyEmailFormat(param.Email) {
|
||||
response.Result(response.ErrCodeEmailFormatInvalid, nil, context)
|
||||
return
|
||||
}
|
||||
if err := context.ShouldBind(¶m); err != nil {
|
||||
response.Result(response.ErrCodeParamInvalid, nil, context)
|
||||
return
|
||||
@@ -90,10 +73,6 @@ func (u *UserApi) ForgotPass(context *gin.Context) {
|
||||
// 修改邮箱
|
||||
func (u *UserApi) UpdateMail(context *gin.Context) {
|
||||
var param models.UserMailParam
|
||||
if verifyEmailFormat(param.Email) && verifyEmailFormat(param.NewEmail) {
|
||||
response.Result(response.ErrCodeEmailFormatInvalid, nil, context)
|
||||
return
|
||||
}
|
||||
if err := context.ShouldBind(¶m); err != nil {
|
||||
response.Result(response.ErrCodeParamInvalid, nil, context)
|
||||
return
|
||||
@@ -148,10 +127,3 @@ func (u *UserApi) Buy(context *gin.Context) {
|
||||
versionInfo, errCode := u.userService.Buy(int64(uid))
|
||||
response.Result(errCode, versionInfo, context)
|
||||
}
|
||||
|
||||
// 邮箱格式校验
|
||||
func verifyEmailFormat(email string) bool {
|
||||
pattern := `\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*`
|
||||
reg := regexp.MustCompile(pattern)
|
||||
return reg.MatchString(email)
|
||||
}
|
||||
|
||||
+41
-41
@@ -21,63 +21,63 @@ type Contract struct {
|
||||
}
|
||||
|
||||
type ContractCreateParam struct {
|
||||
Name string `json:"name,omitempty"`
|
||||
Amount float64 `json:"amount,omitempty"`
|
||||
BeginTime string `json:"beginTime,omitempty"`
|
||||
OverTime string `json:"overTime,omitempty"`
|
||||
Remarks string `json:"remarks,omitempty"`
|
||||
Cid int64 `json:"cid,omitempty"`
|
||||
Productlist *Productlist `json:"productlist,omitempty"`
|
||||
Status int `json:"status,omitempty"`
|
||||
Creator int64 `json:"creator,omitempty"`
|
||||
Name string `json:"name" binding:"required"`
|
||||
Amount float64 `json:"amount" binding:"required,gt=0"`
|
||||
BeginTime string `json:"beginTime" binding:"-"`
|
||||
OverTime string `json:"overTime" binding:"-"`
|
||||
Remarks string `json:"remarks" binding:"-"`
|
||||
Cid int64 `json:"cid" binding:"required,gt=0"`
|
||||
Productlist *Productlist `json:"productlist"`
|
||||
Status int `json:"status" binding:"required,oneof=1 2"`
|
||||
Creator int64 `json:"creator,omitempty" binding:"-"`
|
||||
}
|
||||
|
||||
type ContractUpdateParam struct {
|
||||
Id int64 `json:"id,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Amount float64 `json:"amount,omitempty"`
|
||||
BeginTime string `json:"beginTime,omitempty"`
|
||||
OverTime string `json:"overTime,omitempty"`
|
||||
Remarks string `json:"remarks,omitempty"`
|
||||
Cid int64 `json:"cid,omitempty"`
|
||||
Productlist *Productlist `json:"productlist,omitempty"`
|
||||
Status int `json:"status,omitempty"`
|
||||
Id int64 `json:"id" binding:"required,gt=0"`
|
||||
Name string `json:"name" binding:"required"`
|
||||
Amount float64 `json:"amount" binding:"required,gt=0"`
|
||||
BeginTime string `json:"beginTime" binding:"-"`
|
||||
OverTime string `json:"overTime" binding:"-"`
|
||||
Remarks string `json:"remarks" binding:"-"`
|
||||
Cid int64 `json:"cid" binding:"required,gt=0"`
|
||||
Productlist *Productlist `json:"productlist"`
|
||||
Status int `json:"status" binding:"required,oneof=1 2"`
|
||||
}
|
||||
|
||||
type ContractDeleteParam struct {
|
||||
Ids []int64 `json:"ids,omitempty"`
|
||||
Ids []int64 `json:"ids" binding:"required"`
|
||||
}
|
||||
|
||||
type ContractQueryParam struct {
|
||||
Id int64 `form:"id,omitempty"`
|
||||
Name string `form:"name,omitempty"`
|
||||
Creator int64 `form:"creator,omitempty"`
|
||||
Id int64 `form:"id" binding:"omitempty,gt=0"`
|
||||
Name string `form:"name" binding:"-"`
|
||||
Creator int64 `form:"creator,omitempty" binding:"-"`
|
||||
Page Page
|
||||
}
|
||||
|
||||
type ContractList struct {
|
||||
Id int64 `json:"id,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Amount float64 `json:"amount,omitempty"`
|
||||
BeginTime string `json:"beginTime,omitempty"`
|
||||
OverTime string `json:"overTime,omitempty"`
|
||||
Remarks string `json:"remarks,omitempty"`
|
||||
Cname string `json:"cname,omitempty"`
|
||||
Status int `json:"status,omitempty"`
|
||||
Created int64 `json:"created,omitempty"`
|
||||
Updated int64 `json:"updated,omitempty"`
|
||||
Id int64 `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Amount float64 `json:"amount"`
|
||||
BeginTime string `json:"beginTime"`
|
||||
OverTime string `json:"overTime"`
|
||||
Remarks string `json:"remarks"`
|
||||
Cname string `json:"cname"`
|
||||
Status int `json:"status"`
|
||||
Created int64 `json:"created"`
|
||||
Updated int64 `json:"updated"`
|
||||
}
|
||||
|
||||
type ContractInfo struct {
|
||||
Id int64 `json:"id,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Cid int64 `json:"cid,omitempty"`
|
||||
Amount float64 `json:"amount,omitempty"`
|
||||
BeginTime string `json:"beginTime,omitempty"`
|
||||
OverTime string `json:"overTime,omitempty"`
|
||||
Remarks string `json:"remarks,omitempty"`
|
||||
Productlist *Productlist `json:"productlist,omitempty"`
|
||||
Status int `json:"status,omitempty"`
|
||||
Id int64 `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Cid int64 `json:"cid"`
|
||||
Amount float64 `json:"amount"`
|
||||
BeginTime string `json:"beginTime"`
|
||||
OverTime string `json:"overTime"`
|
||||
Remarks string `json:"remarks"`
|
||||
Productlist *Productlist `json:"productlist"`
|
||||
Status int `json:"status"`
|
||||
}
|
||||
|
||||
type Products struct {
|
||||
|
||||
+27
-27
@@ -18,42 +18,42 @@ type Customer struct {
|
||||
}
|
||||
|
||||
type CustomerCreateParam struct {
|
||||
Name string `json:"name,omitempty"`
|
||||
Source string `json:"source,omitempty"`
|
||||
Phone string `json:"phone,omitempty"`
|
||||
Email string `json:"email,omitempty"`
|
||||
Industry string `json:"industry,omitempty"`
|
||||
Level string `json:"level,omitempty"`
|
||||
Remarks string `json:"remarks,omitempty"`
|
||||
Region string `json:"region,omitempty"`
|
||||
Address string `json:"address,omitempty"`
|
||||
Status int `json:"status,omitempty"`
|
||||
Creator int64 `json:"creator,omitempty"`
|
||||
Name string `json:"name" binding:"required"`
|
||||
Source string `json:"source" binding:"-"`
|
||||
Phone string `json:"phone" binding:"omitempty,len=11"`
|
||||
Email string `json:"email" binding:"omitempty,email"`
|
||||
Industry string `json:"industry" binding:"-"`
|
||||
Level string `json:"level" binding:"-"`
|
||||
Remarks string `json:"remarks" binding:"-"`
|
||||
Region string `json:"region" binding:"-"`
|
||||
Address string `json:"address" binding:"-"`
|
||||
Status int `json:"status" binding:"-"`
|
||||
Creator int64 `json:"creator,omitempty" binding:"-"`
|
||||
}
|
||||
|
||||
type CustomerUpdateParam struct {
|
||||
Id int64 `json:"id,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Source string `json:"source,omitempty"`
|
||||
Phone string `json:"phone,omitempty"`
|
||||
Email string `json:"email,omitempty"`
|
||||
Industry string `json:"industry,omitempty"`
|
||||
Level string `json:"level,omitempty"`
|
||||
Remarks string `json:"remarks,omitempty"`
|
||||
Region string `json:"region,omitempty"`
|
||||
Address string `json:"address,omitempty"`
|
||||
Status int `json:"status,omitempty"`
|
||||
Id int64 `json:"id" binding:"required"`
|
||||
Name string `json:"name" binding:"-"`
|
||||
Source string `json:"source" binding:"-"`
|
||||
Phone string `json:"phone" binding:"omitempty,len=11"`
|
||||
Email string `json:"email" binding:"omitempty,email"`
|
||||
Industry string `json:"industry" binding:"-"`
|
||||
Level string `json:"level" binding:"-"`
|
||||
Remarks string `json:"remarks" binding:"-"`
|
||||
Region string `json:"region" binding:"-"`
|
||||
Address string `json:"address" binding:"-"`
|
||||
Status int `json:"status" binding:"-"`
|
||||
}
|
||||
|
||||
type CustomerDeleteParam struct {
|
||||
Ids []int64 `json:"ids,omitempty"`
|
||||
Ids []int64 `json:"ids" binding:"required"`
|
||||
}
|
||||
|
||||
type CustomerQueryParam struct {
|
||||
Id int64 `form:"id,omitempty"`
|
||||
Name string `form:"name,omitempty"`
|
||||
Phone string `form:"phone,omitempty"`
|
||||
Creator int64 `form:"creator"`
|
||||
Id int64 `form:"id" binding:"omitempty,gt=0"`
|
||||
Name string `form:"name" binding:"-"`
|
||||
Phone string `form:"phone" binding:"omitempty,len=11"`
|
||||
Creator int64 `form:"creator,omitempty" binding:"-"`
|
||||
Page Page
|
||||
}
|
||||
|
||||
|
||||
+23
-23
@@ -15,38 +15,38 @@ type Product struct {
|
||||
}
|
||||
|
||||
type ProductCreateParam struct {
|
||||
Name string `json:"name,omitempty"`
|
||||
Type int `json:"type,omitempty"`
|
||||
Unit string `json:"unit,omitempty"`
|
||||
Code string `json:"code,omitempty"`
|
||||
Price float64 `json:"price,omitempty"`
|
||||
Description string `json:"description,omitempty"`
|
||||
Status int `json:"status,omitempty"`
|
||||
Creator int64 `json:"creator,omitempty"`
|
||||
Name string `json:"name" binding:"required"`
|
||||
Type int `json:"type" binding:"required,len=1"`
|
||||
Unit string `json:"unit" binding:"-"`
|
||||
Code string `json:"code" binding:"-"`
|
||||
Price float64 `json:"price" binding:"required,gt=0"`
|
||||
Description string `json:"description" binding:"-"`
|
||||
Status int `json:"status" binding:"required,oneof=1 2"`
|
||||
Creator int64 `json:"creator,omitempty" binding:"-"`
|
||||
}
|
||||
|
||||
type ProductUpdateParam struct {
|
||||
Id int64 `json:"id,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Type int `json:"type,omitempty"`
|
||||
Unit string `json:"unit,omitempty"`
|
||||
Code string `json:"code,omitempty"`
|
||||
Price float64 `json:"price,omitempty"`
|
||||
Description string `json:"description,omitempty"`
|
||||
Status int `json:"status,omitempty"`
|
||||
Creator int64 `json:"creator,omitempty"`
|
||||
Id int64 `json:"id" binding:"required,gt=0"`
|
||||
Name string `json:"name" binding:"required"`
|
||||
Type int `json:"type" binding:"required,len=1"`
|
||||
Unit string `json:"unit" binding:"-"`
|
||||
Code string `json:"code" binding:"-"`
|
||||
Price float64 `json:"price" binding:"required,gt=0"`
|
||||
Description string `json:"description" binding:"-"`
|
||||
Status int `json:"status" binding:"required,oneof=1 2"`
|
||||
Creator int64 `json:"creator,omitempty" binding:"-"`
|
||||
}
|
||||
|
||||
type ProductDeleteParam struct {
|
||||
Ids []int64 `json:"ids,omitempty"`
|
||||
Ids []int64 `json:"ids" binding:"required"`
|
||||
}
|
||||
|
||||
type ProductQueryParam struct {
|
||||
Id int64 `form:"id,omitempty"`
|
||||
Ids []int64 `form:"ids,omitempty"`
|
||||
Name string `form:"name,omitempty"`
|
||||
Status int `form:"status,omitempty"`
|
||||
Creator int64 `form:"creator,omitempty"`
|
||||
Id int64 `form:"id" binding:"omitempty,gt=0"`
|
||||
Ids []int64 `form:"ids" json:"ids" binding:"-"`
|
||||
Name string `form:"name" binding:"-"`
|
||||
Status int `form:"status" binding:"omitempty,oneof=1 2"`
|
||||
Creator int64 `form:"creator,omitempty" binding:"-"`
|
||||
Page Page
|
||||
}
|
||||
|
||||
|
||||
+18
-21
@@ -13,39 +13,36 @@ type User struct {
|
||||
}
|
||||
|
||||
type UserCreateParam struct {
|
||||
Email string `json:"email"`
|
||||
Code string `json:"code"`
|
||||
Password string `json:"password"`
|
||||
}
|
||||
|
||||
type UserUpdateParam struct {
|
||||
Id int64 `json:"id"`
|
||||
Email string `json:"email"`
|
||||
Password string `json:"password"`
|
||||
Status int `json:"status"`
|
||||
Email string `json:"email" binding:"required,email"`
|
||||
Code string `json:"code" binding:"required,len=6"`
|
||||
Password string `json:"password" binding:"required"`
|
||||
}
|
||||
|
||||
type UserDeleteParam struct {
|
||||
Id int64 `json:"id"`
|
||||
Email string `json:"email"`
|
||||
Code string `json:"code"`
|
||||
Id int64 `json:"id,omitempty" binding:"-"`
|
||||
Email string `json:"email" binding:"required,email"`
|
||||
Code string `json:"code" binding:"required,len=6"`
|
||||
}
|
||||
|
||||
type UserLoginParam struct {
|
||||
Email string `json:"email"`
|
||||
Password string `json:"password"`
|
||||
Email string `json:"email" binding:"required,email"`
|
||||
Password string `json:"password" binding:"required"`
|
||||
}
|
||||
|
||||
type UserVerifyCodeParam struct {
|
||||
Email string `form:"email" binding:"required,email"`
|
||||
}
|
||||
|
||||
type UserPassParam struct {
|
||||
Email string `json:"email"`
|
||||
Code string `json:"code"`
|
||||
Password string `json:"password"`
|
||||
Email string `json:"email" binding:"required,email"`
|
||||
Code string `json:"code" binding:"required,len=6"`
|
||||
Password string `json:"password" binding:"required"`
|
||||
}
|
||||
|
||||
type UserMailParam struct {
|
||||
Email string `json:"email"`
|
||||
Code string `json:"code"`
|
||||
NewEmail string `json:"newEmail"`
|
||||
Email string `json:"email" binding:"required,email"`
|
||||
Code string `json:"code" binding:"required,len=6"`
|
||||
NewEmail string `json:"newEmail" binding:"required,email"`
|
||||
}
|
||||
|
||||
type UserInfo struct {
|
||||
|
||||
Reference in New Issue
Block a user