Commit f5d2ff00 authored by lytzjzxr's avatar lytzjzxr
Browse files

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

parent c479c99e
......@@ -2,6 +2,7 @@ package model
import (
"time"
"math/rand"
"github.com/sirupsen/logrus"
"github.com/spf13/viper"
......@@ -16,11 +17,11 @@ func Init() {
connectDatabase()
var err error
// insert auto-table
err = DB.AutoMigrate(&Users{})
err = DB.AutoMigrate(&content{})
if err != nil {
logrus.Fatal(err)
}
err = DB.AutoMigrate(&content{})
err = DB.AutoMigrate(&Url{},&Users{})
if err != nil {
logrus.Fatal(err)
}
......@@ -47,18 +48,18 @@ func connectDatabase() {
// Backcheck content through link
//通过链接反查内容
func findlink(_Route string) content {
func findlink(_url string) string {
var p content
err := DB.First(&p, "Route = ?", _Route)
err := DB.First(&p, "Url = ?", _url)
if err != nil {
logrus.Error(err)
}
return p
return p.Route
}
// 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++
p := content{
ID : id1,
......@@ -67,7 +68,7 @@ func savetext(_Route string, _Time uint, _Passwd string,_Time1 time.Time) {
Date: time.Now(),
Time1: _Time1,
Time2: 0,
Url: _url,
}
DB.Create(&p)
}
......@@ -85,4 +86,46 @@ func checkt(_Route string) {
if p.Time2 > p.Time||t.After(p.Time1) {
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 {
Size uint
Time1 time.Time
Time2 uint
Url string
}
type Url struct {
Url string
User1 []Users
}
type Users struct {
SessionId string
Username string
Passwd string
Name string
Size uint
Route string
}
\ No newline at end of file
UrlID uint
}
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