Commit f5d2ff00 authored by lytzjzxr's avatar lytzjzxr
Browse files

数据库/大部分完成但还未测试且未与其它部分交互

parent c479c99e
...@@ -2,6 +2,7 @@ package model ...@@ -2,6 +2,7 @@ package model
import ( import (
"time" "time"
"math/rand"
"github.com/sirupsen/logrus" "github.com/sirupsen/logrus"
"github.com/spf13/viper" "github.com/spf13/viper"
...@@ -16,11 +17,11 @@ func Init() { ...@@ -16,11 +17,11 @@ func Init() {
connectDatabase() connectDatabase()
var err error var err error
// insert auto-table // insert auto-table
err = DB.AutoMigrate(&Users{}) err = DB.AutoMigrate(&content{})
if err != nil { if err != nil {
logrus.Fatal(err) logrus.Fatal(err)
} }
err = DB.AutoMigrate(&content{}) err = DB.AutoMigrate(&Url{},&Users{})
if err != nil { if err != nil {
logrus.Fatal(err) logrus.Fatal(err)
} }
...@@ -47,18 +48,18 @@ func connectDatabase() { ...@@ -47,18 +48,18 @@ func connectDatabase() {
// Backcheck content through link // Backcheck content through link
//通过链接反查内容 //通过链接反查内容
func findlink(_Route string) content { func findlink(_url string) string {
var p content var p content
err := DB.First(&p, "Route = ?", _Route) err := DB.First(&p, "Url = ?", _url)
if err != nil { if err != nil {
logrus.Error(err) logrus.Error(err)
} }
return p return p.Route
} }
// save text information // save text information
//保存文本和文件信息 //保存文本和文件信息
func savetext(_Route string, _Time uint, _Passwd string,_Time1 time.Time) { func savetext(_Route string, _Time uint, _Passwd string,_Time1 time.Time,_url string) {
id1++ id1++
p := content{ p := content{
ID : id1, ID : id1,
...@@ -67,7 +68,7 @@ func savetext(_Route string, _Time uint, _Passwd string,_Time1 time.Time) { ...@@ -67,7 +68,7 @@ func savetext(_Route string, _Time uint, _Passwd string,_Time1 time.Time) {
Date: time.Now(), Date: time.Now(),
Time1: _Time1, Time1: _Time1,
Time2: 0, Time2: 0,
Url: _url,
} }
DB.Create(&p) DB.Create(&p)
} }
...@@ -85,4 +86,46 @@ func checkt(_Route string) { ...@@ -85,4 +86,46 @@ func checkt(_Route string) {
if p.Time2 > p.Time||t.After(p.Time1) { if p.Time2 > p.Time||t.After(p.Time1) {
DB.Delete(&p) DB.Delete(&p)
} }
}
//查找sessionid和url是否关联
func find(sid string,_url string) bool {
var url1 = new(Url)
err := DB.Preload("User1").Where("Url=?",_url).Find(&url1)
if err != nil {
return true
}
return false
}
var letters = []rune("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")
//随机生成字符串
func randStr(n int) string {
b := make([]rune, n)
for i := range b {
b[i] = letters[rand.Intn(len(letters))]
}
return string(b)
}
//新建用户
func createuser(_User Users) {
_User.SessionId=randStr(8)
DB.Create(&_User)
}
//新建链接
func createlink(sid string , _passwd string , _url string) bool {
var p content
DB.First(&p, "Url = ?", _url)
if p.Passwd == _passwd {
var p1 Users
var p2 Url
DB.First(&p1,"SessionId = ?",sid)
DB.First(&p2,"Url = ?",_url)
DB.Model(&p2).Association("User1").Append(&p1)
return true
}
return false
} }
\ No newline at end of file
...@@ -13,12 +13,20 @@ type content struct { ...@@ -13,12 +13,20 @@ type content struct {
Size uint Size uint
Time1 time.Time Time1 time.Time
Time2 uint Time2 uint
Url string
}
type Url struct {
Url string
User1 []Users
} }
type Users struct { type Users struct {
SessionId string
Username string Username string
Passwd string Passwd string
Name string Name string
Size uint Size uint
Route string Route string
} UrlID uint
\ No newline at end of file }
pastebin @ ded77073
Subproject commit ded770739475219412b72eb9b8eb377405fb5803
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