1 Star 0 Fork 0

i-hea / models

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
sipManager.go 2.35 KB
一键复制 编辑 原始数据 按行查看 历史
Peter 提交于 2021-04-22 19:33 . feat:
package models
import (
"time"
"github.com/astaxie/beego"
"github.com/astaxie/beego/orm"
)
type SipAccount struct {
Id int
Username string `orm:"size(16);unique"`
Password string `orm:"size(16)"`
UpdateTime time.Time
}
func RegSipAccount() {
orm.RegisterModel(new(SipAccount))
}
func InsertNewAccount(user, pwd string) error {
newAccount := &SipAccount{
Username: user,
Password: pwd,
UpdateTime: time.Now(),
}
o := orm.NewOrm()
o.Using("default")
err := o.Read(newAccount, "Username")
if err != nil {
_, err = o.Insert(newAccount)
beego.Debug("insert user:%v,user:%v,pwd:%v", user, pwd)
} else {
newAccount.Password = pwd
newAccount.UpdateTime = time.Now()
_, err = o.Update(newAccount, "Password")
beego.Debug("update user password:%v,user:%v,pwd:%v", user, pwd)
}
return err
}
func GetAccountInfo(user string) (*SipAccount, error) {
newAccount := &SipAccount{
Username: user,
}
o := orm.NewOrm()
o.Using("default")
err := o.QueryTable(new(SipAccount)).Filter("Username", user).One(newAccount)
if err != nil {
return nil, err
}
return newAccount, nil
}
func DelAccount(user string) error {
delAccount := &SipAccount{
Username: user,
}
o := orm.NewOrm()
o.Using("default")
_, err := o.Delete(delAccount)
return err
}
type IpccSipClient struct {
PkClientUser string `orm:"size(64);pk"`
RegServer string
ClientAddr string
UpDateTime time.Time `orm:"auto_now;type(datetime)"`
}
func RegSipRegistor() {
orm.RegisterModel(new(IpccSipClient))
}
func GetSipRegHost(user string) (string, int, error) {
host := &IpccSipClient{}
o := orm.NewOrm()
o.Using("default")
err := o.QueryTable(new(IpccSipClient)).Filter("PkClientUser", user).One(host)
return host.RegServer, 5180, err
}
func RegSipClient(user, clientAddr, server string) error {
newClient := &IpccSipClient{
PkClientUser: user,
RegServer: server,
ClientAddr: clientAddr,
}
o := orm.NewOrm()
o.Using("default")
err := o.Read(newClient, "PkClientUser")
if err != nil {
_, err = o.Insert(newClient)
beego.Debug("insert user:%v,user:%v,server:%v,addr:%v", user, server, clientAddr)
} else {
newClient.PkClientUser = user
newClient.RegServer = server
newClient.ClientAddr = clientAddr
_, err = o.Update(newClient)
beego.Debug("update user:%v,user:%v,server:%v,addr:%v", user, server, clientAddr)
}
return nil
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/i-hea/models.git
git@gitee.com:i-hea/models.git
i-hea
models
models
master

搜索帮助

344bd9b3 5694891 D2dac590 5694891