代码拉取完成,页面将自动刷新
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
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。