Commit d1ae0183 authored by chenhan wang's avatar chenhan wang
Browse files

数据库部分修改

parent fd162b81
...@@ -3,7 +3,7 @@ package model ...@@ -3,7 +3,7 @@ package model
import ( import (
//"fmt" //"fmt"
"time" "time"
"math/rand" // "math/rand"
"github.com/sirupsen/logrus" "github.com/sirupsen/logrus"
"github.com/spf13/viper" "github.com/spf13/viper"
...@@ -26,7 +26,7 @@ func Init() { ...@@ -26,7 +26,7 @@ func Init() {
if err != nil { if err != nil {
logrus.Fatal(err) logrus.Fatal(err)
} }
err = DB.AutoMigrate(&Url{},&Sid{}) err = DB.AutoMigrate(&Sid{},&Url{})
if err != nil { if err != nil {
logrus.Fatal(err) logrus.Fatal(err)
} }
...@@ -96,23 +96,25 @@ func Checkt(_Route string) { ...@@ -96,23 +96,25 @@ func Checkt(_Route string) {
//查找sessionid和url是否关联 //查找sessionid和url是否关联
func Find(sid string,_url string) bool { func Find(sid string,_url string) bool {
var url Url var s Sid
err1 := DB.First(&url, "Url1 = ?",_url).Error err1 := DB.First(&s, "S = ?",sid).Error
//fmt.Println(url.Url1,url.ID,"\n") //fmt.Println(url.Url1,url.ID,"\n")
if err1 != nil { if err1 != nil {
return false return false
} }
var sid1 Sid var Urls []Url
DB.Model(&url).Where("S = ?",sid).Association("User1").Find(&sid1) DB.Model(&s).Association("Url1").Find(&Urls)
if sid1.UrlID == 0 { for _, value := range Urls {
return false if value.Url1 == _url {
return true
}
} }
return true return false
} }
var letters = []rune("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ123456789") var letters = []rune("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ123456789")
//随机生成字符串 /*//*随机生成字符串
func randStr(n int) string { func randStr(n int) string {
rand.Seed(time.Now().Unix()) rand.Seed(time.Now().Unix())
b := make([]rune, n) b := make([]rune, n)
...@@ -120,11 +122,11 @@ func randStr(n int) string { ...@@ -120,11 +122,11 @@ func randStr(n int) string {
b[i] = letters[rand.Intn(len(letters))] b[i] = letters[rand.Intn(len(letters))]
} }
return string(b) return string(b)
} }*/
//新建用户 //新建用户
func Createuser(_User Users) { func Createuser(_User Users) {
_User.SessionId=randStr(8) //_User.SessionId=randStr(8)
DB.Create(&_User) DB.Create(&_User)
} }
...@@ -134,17 +136,19 @@ func Createlink(sid string , _passwd string , _url string) bool { ...@@ -134,17 +136,19 @@ func Createlink(sid string , _passwd string , _url string) bool {
DB.First(&p, "Url1 = ?", _url) DB.First(&p, "Url1 = ?", _url)
if p.Passwd == _passwd { if p.Passwd == _passwd {
var p1 Sid var p1 Sid
var p2 Url err := DB.First(&p1, "S = ?", sid).Error
p1.S = sid if err !=nil {
err := DB.First(&p2,"Url1 = ?",_url).Error sid1 := Sid{
// fmt.Println("yes ",err) S:sid,
if err != nil { Url1: []Url{
//fmt.Println("yes ") { Url1: _url},
p2.Url1 = _url },
DB.Create(&p2) }
} DB.Create(&sid1)
DB.Model(&p2).Association("User1").Append(&p1) } else {
return true DB.Model(&p1).Association("Url1").Append(&Url{Url1:_url})
}
return true
} }
return false return false
} }
...@@ -17,16 +17,16 @@ type Content struct { ...@@ -17,16 +17,16 @@ type Content struct {
Url1 string Url1 string
} }
type Url struct { type Sid struct {
gorm.Model gorm.Model
Url1 string S string
User1 []Sid Url1 []Url `gorm:"many2many:sid_urls;"`
} }
type Sid struct type Url struct
{ {
S string gorm.Model
UrlID uint Url1 string
} }
type Users struct { type Users struct {
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment