Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
际垚 王
ShortLink
Commits
b1801b86
Commit
b1801b86
authored
Dec 17, 2022
by
4c00
Browse files
modified: fo.go
modified: foo.crud.go
parent
9084feec
Changes
2
Show whitespace changes
Inline
Side-by-side
model/fo.go
View file @
b1801b86
package
model
package
model
import
"fmt"
//
import "fmt"
// 用于controller测试
//
// 用于controller测试
type
User
struct
{
//
type User struct {
Email
string
`json:"email"`
//
Email string `json:"email"`
Password
string
`json:"password"`
//
Password string `json:"password"`
}
//
}
type
ShortLink
struct
{
//
type ShortLink struct {
Origin
string
`form:"origin"`
//
Origin string `form:"origin"`
Short
string
`form:"short"`
//
Short string `form:"short"`
Comment
string
`form:"comment"`
//
Comment string `form:"comment"`
StartTime
int64
`form:"startTime`
//
StartTime int64 `form:"startTime`
ExpireTime
int64
`form:"expireTime`
//
ExpireTime int64 `form:"expireTime`
}
// 创建的那五个参数设置form tag
//
} // 创建的那五个参数设置form tag
type
UpdateData
struct
{
//
type UpdateData struct {
Origin
string
`form:"origin"`
//
Origin string `form:"origin"`
Comment
string
`form:"comment"`
//
Comment string `form:"comment"`
StartTime
int64
`form:"startTime`
//
StartTime int64 `form:"startTime`
ExpireTime
int64
`form:"expireTime`
//
ExpireTime int64 `form:"expireTime`
}
// 修改的那四个参数设置form tag
//
} // 修改的那四个参数设置form tag
func
RegisterUser
(
name
,
email
,
pwd
string
)
error
{
//
func RegisterUser(name, email, pwd string) error {
return
nil
//
return nil
}
//
}
func
CheckAuth
(
email
,
pwd
string
)
bool
{
// 检查是否有这个用户,密码对不对
//
func CheckAuth(email, pwd string) bool { // 检查是否有这个用户,密码对不对
return
true
//
return true
}
//
}
// 这三个返回一些信息的类型看数据库实现
//
// 这三个返回一些信息的类型看数据库实现
func
GetUser
(
name
string
)
(
User
,
error
)
{
//
func GetUser(name string) (User, error) {
return
User
{
"1234@zju.edu.cn"
,
"114514"
},
nil
//
return User{"1234@zju.edu.cn", "114514"}, nil
}
//
}
func
GetRecord
(
name
string
)
(
interface
{},
error
)
{
//
func GetRecord(name string) (interface{}, error) {
return
ShortLink
{
//
return ShortLink{
Origin
:
"1145141919"
,
//
Origin: "1145141919",
Short
:
"114"
,
//
Short: "114",
Comment
:
"henhenaaaa"
,
//
Comment: "henhenaaaa",
StartTime
:
0
,
//
StartTime: 0,
ExpireTime
:
10000
,
//
ExpireTime: 10000,
},
nil
//
}, nil
}
//
}
func
GetUrl
(
name
string
)
(
interface
{},
error
)
{
//
func GetUrl(name string) (interface{}, error) {
return
"urlurlurl"
,
nil
//
return "urlurlurl", nil
}
//
}
// 意义显然x
//
// 意义显然x
func
CreateLink
(
name
string
,
link
ShortLink
)
(
int
,
error
)
{
//
func CreateLink(name string, link ShortLink) (int, error) {
fmt
.
Println
(
name
)
//
fmt.Println(name)
return
1
,
nil
//
return 1, nil
}
//
}
func
QueryLink
(
name
string
,
id
int
)
(
ShortLink
,
error
)
{
//
func QueryLink(name string, id int) (ShortLink, error) {
fmt
.
Printf
(
"%s%d
\n
"
,
name
,
id
)
//
fmt.Printf("%s%d\n", name, id)
return
ShortLink
{
//
return ShortLink{
Origin
:
"1145141919"
,
//
Origin: "1145141919",
Short
:
"114"
,
//
Short: "114",
Comment
:
"henhenaaaa"
,
//
Comment: "henhenaaaa",
StartTime
:
0
,
//
StartTime: 0,
ExpireTime
:
10000
,
//
ExpireTime: 10000,
},
nil
//
}, nil
}
//
}
func
UpdateLink
(
name
string
,
data
UpdateData
)
error
{
//
func UpdateLink(name string, data UpdateData) error {
fmt
.
Printf
(
"%s%+v
\n
"
,
name
,
data
)
//
fmt.Printf("%s%+v\n", name, data)
return
nil
//
return nil
}
//
}
func
DeleteLink
(
name
string
,
id
int
)
error
{
//
func DeleteLink(name string, id int) error {
fmt
.
Printf
(
"%s%d
\n
"
,
name
,
id
)
//
fmt.Printf("%s%d\n", name, id)
return
nil
//
return nil
}
//
}
func
PauseLink
(
name
string
,
id
int
)
error
{
//
func PauseLink(name string, id int) error {
fmt
.
Printf
(
"%s%d
\n
"
,
name
,
id
)
//
fmt.Printf("%s%d\n", name, id)
return
nil
//
return nil
}
//
}
func
ExistShort
(
str
string
)
bool
{
// 短链接是否已经存在
//
func ExistShort(str string) bool { // 短链接是否已经存在
return
false
//
return false
}
//
}
model/foo.crud.go
View file @
b1801b86
package
model
package
model
//
import (
import
(
//
"errors"
"errors"
//
)
)
//
// TODO: add crud interface here
// TODO: add crud interface here
//
func RegisterUser(name, email, pwd string) error {
func
RegisterUser
(
name
,
email
,
pwd
string
)
error
{
//
newUser := User{}
newUser
:=
User
{}
//
newUser.Name = name
newUser
.
Name
=
name
//
newUser.Pwd = pwd
newUser
.
Pwd
=
pwd
//
newUser.Email = email
newUser
.
Email
=
email
//
newUser.Id = 0
newUser
.
Id
=
0
//
newUser.Number = 0
newUser
.
Number
=
0
//
err := DB.Create(&newUser)
err
:=
DB
.
Create
(
&
newUser
)
//
if err != nil {
if
err
!=
nil
{
//
var errReturn = errors.New("fail to register the user")
var
errReturn
=
errors
.
New
(
"fail to register the user"
)
//
return errReturn
return
errReturn
//
}
}
//
return nil
return
nil
//
}
}
//
func CheckAuth(email, pwd string) bool {
func
CheckAuth
(
email
,
pwd
string
)
bool
{
//
targetUser := User{Email: email}
targetUser
:=
User
{
Email
:
email
}
//
err := DB.Find(&targetUser)
err
:=
DB
.
Find
(
&
targetUser
)
//
if err != nil {
if
err
!=
nil
{
//
return false
return
false
//
}
}
//
if targetUser.Pwd != pwd {
if
targetUser
.
Pwd
!=
pwd
{
//
return false
return
false
//
}
}
//
return true
return
true
//
}
}
//
func GetUser(name string) (interface{}, error) {
func
GetUser
(
name
string
)
(
interface
{},
error
)
{
//
var targetUser []User
var
targetUser
[]
User
//
err := DB.Where(map[string]interface{}{"name": name}).Find(&targetUser)
err
:=
DB
.
Where
(
map
[
string
]
interface
{}{
"name"
:
name
})
.
Find
(
&
targetUser
)
//
if err != nil {
if
err
!=
nil
{
//
var errReturn = errors.New("fail to find the user")
var
errReturn
=
errors
.
New
(
"fail to find the user"
)
//
return nil, errReturn
return
nil
,
errReturn
//
}
}
//
return targetUser, nil
return
targetUser
,
nil
//
}
}
//
func GetRecord(name string) (interface{}, error) {
func
GetRecord
(
name
string
)
(
interface
{},
error
)
{
//
master := User{Name: name}
master
:=
User
{
Name
:
name
}
//
err := DB.Find(&master)
err
:=
DB
.
Find
(
&
master
)
//
if err != nil {
if
err
!=
nil
{
//
var errReturn = errors.New("fail to find the user")
var
errReturn
=
errors
.
New
(
"fail to find the user"
)
//
return 0, errReturn
return
0
,
errReturn
//
}
}
//
targetRecord := Record{Name: name, Id: 0}
targetRecord
:=
Record
{
Name
:
name
,
Id
:
0
}
//
err1 := DB.Find(&targetRecord)
err1
:=
DB
.
Find
(
&
targetRecord
)
//
if err1 != nil {
if
err1
!=
nil
{
//
var err1Return = errors.New("fail to find the record")
var
err1Return
=
errors
.
New
(
"fail to find the record"
)
//
return nil, err1Return
return
nil
,
err1Return
//
}
}
//
result := make([]Record, 0)
result
:=
make
([]
Record
,
0
)
//
result = append(result, targetRecord)
result
=
append
(
result
,
targetRecord
)
//
for i := 1; i < master.Number; i++ {
for
i
:=
1
;
i
<
master
.
Number
;
i
++
{
//
targetLink := Record{Name: name, Id: i}
targetLink
:=
Record
{
Name
:
name
,
Id
:
i
}
//
err2 := DB.Find(&targetLink)
err2
:=
DB
.
Find
(
&
targetLink
)
//
if err2 != nil {
if
err2
!=
nil
{
//
continue
continue
//
}
}
//
result = append(result, targetLink)
result
=
append
(
result
,
targetLink
)
//
}
}
//
return result, nil
return
result
,
nil
//
}
}
//
func GetUrl(name string) (interface{}, error) {
func
GetUrl
(
name
string
)
(
interface
{},
error
)
{
//
master := User{Name: name}
master
:=
User
{
Name
:
name
}
//
err := DB.Find(&master)
err
:=
DB
.
Find
(
&
master
)
//
if err != nil {
if
err
!=
nil
{
//
var errReturn = errors.New("fail to find the user")
var
errReturn
=
errors
.
New
(
"fail to find the user"
)
//
return 0, errReturn
return
0
,
errReturn
//
}
}
//
targetUrl := ShortLink{Name: name, Id: 0}
targetUrl
:=
ShortLink
{
Name
:
name
,
Id
:
0
}
//
err1 := DB.Find(&targetUrl)
err1
:=
DB
.
Find
(
&
targetUrl
)
//
if err1 != nil {
if
err1
!=
nil
{
//
var err1Return = errors.New("fail to find the record")
var
err1Return
=
errors
.
New
(
"fail to find the record"
)
//
return nil, err1Return
return
nil
,
err1Return
//
}
}
//
result := make([]string, 0)
result
:=
make
([]
string
,
0
)
//
result = append(result, targetUrl.Short)
result
=
append
(
result
,
targetUrl
.
Short
)
//
for i := 1; i < master.Id; i++ {
for
i
:=
1
;
i
<
master
.
Id
;
i
++
{
//
targetLink := ShortLink{Name: name, Id: i}
targetLink
:=
ShortLink
{
Name
:
name
,
Id
:
i
}
//
err2 := DB.Find(&targetLink)
err2
:=
DB
.
Find
(
&
targetLink
)
//
if err2 != nil {
if
err2
!=
nil
{
//
continue
continue
//
}
}
//
result = append(result, targetLink.Short)
result
=
append
(
result
,
targetLink
.
Short
)
//
}
}
//
return result, nil
return
result
,
nil
//
}
}
//
func CreateLink(name string, link ShortLink) (int, error) {
func
CreateLink
(
name
string
,
link
ShortLink
)
(
int
,
error
)
{
//
newLink := link
newLink
:=
link
//
newLink.Name = name
newLink
.
Name
=
name
//
newLink.Status = true
newLink
.
Status
=
true
//
master := User{Name: name}
master
:=
User
{
Name
:
name
}
//
err := DB.Find(&master)
err
:=
DB
.
Find
(
&
master
)
//
if err != nil {
if
err
!=
nil
{
//
var errReturn = errors.New("fail to find the user")
var
errReturn
=
errors
.
New
(
"fail to find the user"
)
//
return 0, errReturn
return
0
,
errReturn
//
}
}
//
newLink.Id = master.Id
newLink
.
Id
=
master
.
Id
//
master.Id = master.Id + 1
master
.
Id
=
master
.
Id
+
1
//
err1 := DB.Updates(&master)
err1
:=
DB
.
Updates
(
&
master
)
//
if err1 != nil {
if
err1
!=
nil
{
//
var err1Return = errors.New("fail to update the imformation of the user")
var
err1Return
=
errors
.
New
(
"fail to update the imformation of the user"
)
//
return 0, err1Return
return
0
,
err1Return
//
}
}
//
err2 := DB.Create(&newLink)
err2
:=
DB
.
Create
(
&
newLink
)
//
if err2 != nil {
if
err2
!=
nil
{
//
var err2Return = errors.New("fail to create the link")
var
err2Return
=
errors
.
New
(
"fail to create the link"
)
//
return 0, err2Return
return
0
,
err2Return
//
}
}
//
return newLink.Id, nil
return
newLink
.
Id
,
nil
//
}
}
//
func QueryLink(name string, id int) (ShortLink, error) {
func
QueryLink
(
name
string
,
id
int
)
(
ShortLink
,
error
)
{
//
targetLink := ShortLink{Name: name, Id: id}
targetLink
:=
ShortLink
{
Name
:
name
,
Id
:
id
}
//
err := DB.Find(&targetLink)
err
:=
DB
.
Find
(
&
targetLink
)
//
if err != nil {
if
err
!=
nil
{
//
var errReturn = errors.New("fail to find the short link")
var
errReturn
=
errors
.
New
(
"fail to find the short link"
)
//
return targetLink, errReturn
return
targetLink
,
errReturn
//
}
}
//
return targetLink, nil
return
targetLink
,
nil
//
}
}
//
func UpdateLink(name string, data UpdateData) error {
func
UpdateLink
(
name
string
,
data
UpdateData
)
error
{
//
targetLink := ShortLink{Name: name}
targetLink
:=
ShortLink
{
Name
:
name
}
//
err := DB.Find(&targetLink)
err
:=
DB
.
Find
(
&
targetLink
)
//
if err != nil {
if
err
!=
nil
{
//
var errReturn = errors.New("fail to find the short link")
var
errReturn
=
errors
.
New
(
"fail to find the short link"
)
//
return errReturn
return
errReturn
//
}
}
//
targetLink.Origin = data.Origin
targetLink
.
Origin
=
data
.
Origin
//
targetLink.Comment = data.Comment
targetLink
.
Comment
=
data
.
Comment
//
targetLink.StartTime = data.StartTime
targetLink
.
StartTime
=
data
.
StartTime
//
targetLink.ExpireTime = data.ExpireTime
targetLink
.
ExpireTime
=
data
.
ExpireTime
//
err1 := DB.Updates(&targetLink)
err1
:=
DB
.
Updates
(
&
targetLink
)
//
if err1 != nil {
if
err1
!=
nil
{
//
var err1Return = errors.New("fail to update the short link")
var
err1Return
=
errors
.
New
(
"fail to update the short link"
)
//
return err1Return
return
err1Return
//
}
}
//
return nil
return
nil
//
}
}
//
func DeleteLink(name string, id int) error {
func
DeleteLink
(
name
string
,
id
int
)
error
{
//
targetLink := ShortLink{Name: name, Id: id}
targetLink
:=
ShortLink
{
Name
:
name
,
Id
:
id
}
//
err := DB.Find(&targetLink)
err
:=
DB
.
Find
(
&
targetLink
)
//
if err != nil {
if
err
!=
nil
{
//
var errReturn = errors.New("fail to find the short link")
var
errReturn
=
errors
.
New
(
"fail to find the short link"
)
//
return errReturn
return
errReturn
//
}
}
//
master := User{Name: name}
master
:=
User
{
Name
:
name
}
//
err1 := DB.Find(&master)
err1
:=
DB
.
Find
(
&
master
)
//
if err1 != nil {
if
err1
!=
nil
{
//
var err1Return = errors.New("fail to find the user")
var
err1Return
=
errors
.
New
(
"fail to find the user"
)
//
return err1Return
return
err1Return
//
}
}
//
err2 := DB.Delete(&targetLink)
err2
:=
DB
.
Delete
(
&
targetLink
)
//
if err2 != nil {
if
err2
!=
nil
{
//
var err2Return = errors.New("fail to delete the short link")
var
err2Return
=
errors
.
New
(
"fail to delete the short link"
)
//
return err2Return
return
err2Return
//
}
}
//
master.Id = master.Id - 1
master
.
Id
=
master
.
Id
-
1
//
err3 := DB.Updates(&master)
err3
:=
DB
.
Updates
(
&
master
)
//
if err3 != nil {
if
err3
!=
nil
{
//
var err3Return = errors.New("fail to update the imformation of the user")
var
err3Return
=
errors
.
New
(
"fail to update the imformation of the user"
)
//
return err3Return
return
err3Return
//
}
}
//
return nil
return
nil
//
}
}
//
func PauseLink(name string, id int) error {
func
PauseLink
(
name
string
,
id
int
)
error
{
//
targetLink := ShortLink{Name: name, Id: id}
targetLink
:=
ShortLink
{
Name
:
name
,
Id
:
id
}
//
err := DB.Find(&targetLink)
err
:=
DB
.
Find
(
&
targetLink
)
//
if err != nil {
if
err
!=
nil
{
//
var errReturn = errors.New("fail to find the short link")
var
errReturn
=
errors
.
New
(
"fail to find the short link"
)
//
return errReturn
return
errReturn
//
}
}
//
targetLink.Status = false
targetLink
.
Status
=
false
//
err1 := DB.Updates(&targetLink)
err1
:=
DB
.
Updates
(
&
targetLink
)
//
if err1 != nil {
if
err1
!=
nil
{
//
var err1Return = errors.New("fail to pause the short link")
var
err1Return
=
errors
.
New
(
"fail to pause the short link"
)
//
return err1Return
return
err1Return
//
}
}
//
return nil
return
nil
//
}
}
//
func ExistShort(str string) bool {
func
ExistShort
(
str
string
)
bool
{
//
targetLink := ShortLink{Short: str}
targetLink
:=
ShortLink
{
Short
:
str
}
//
err := DB.Find(&targetLink)
err
:=
DB
.
Find
(
&
targetLink
)
//
if err != nil {
if
err
!=
nil
{
//
return false
return
false
//
}
}
//
return true
return
true
//
}
}
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment