|
|
package models
|
|
|
|
|
|
import (
|
|
|
"errors"
|
|
|
"fmt"
|
|
|
"oppmg/common/log"
|
|
|
"time"
|
|
|
|
|
|
"github.com/astaxie/beego/orm"
|
|
|
)
|
|
|
|
|
|
type UserCompany struct {
|
|
|
Id int64 `orm:"column(id);auto" description:"唯一标识"`
|
|
|
CompanyId int64 `orm:"column(company_id)" description:"表company.id 公司编号"`
|
|
|
UserId int64 `orm:"column(user_id)" description:"表user.id 用户编号"`
|
|
|
ChanceTotal int `orm:"column(chance_total)" description:"发表机会数"`
|
|
|
CommentTotal int `orm:"column(comment_total)" description:"发表评论总数"`
|
|
|
CreateAt time.Time `orm:"column(create_at);type(timestamp)" description:"创建时间"`
|
|
|
UpdateAt time.Time `orm:"column(update_at);type(timestamp)" description:"更新时间"`
|
|
|
Enable int8 `orm:"column(enable)"`
|
|
|
DeleteAt time.Time `orm:"column(delete_at)"`
|
|
|
}
|
|
|
|
|
|
func (t *UserCompany) TableName() string {
|
|
|
return "user_company"
|
|
|
}
|
|
|
|
|
|
//用户的公司是否有效
|
|
|
const (
|
|
|
USERCOMPANY_ENABLE_YES int8 = 1 //有效
|
|
|
USERCOMPANY_ENABLE_NO int8 = 2 // 无效
|
|
|
)
|
|
|
|
|
|
func (t *UserCompany) IsEnable() bool {
|
|
|
switch t.Enable {
|
|
|
case USERCOMPANY_ENABLE_YES:
|
|
|
return true
|
|
|
case USERCOMPANY_ENABLE_NO:
|
|
|
return false
|
|
|
}
|
|
|
return false
|
|
|
}
|
|
|
|
|
|
func (t *UserCompany) IsDelete() bool {
|
|
|
log.Debug("deleteTime:%d", t.DeleteAt.Unix())
|
|
|
if t.DeleteAt.Unix() > 0 {
|
|
|
return true
|
|
|
}
|
|
|
return false
|
|
|
}
|
|
|
|
|
|
func init() {
|
|
|
orm.RegisterModel(new(UserCompany))
|
|
|
}
|
|
|
|
|
|
// AddUserCompany insert a new UserCompany into database and returns
|
|
|
// last inserted Id on success.
|
|
|
func AddUserCompany(m *UserCompany, o orm.Ormer) (id int64, err error) {
|
|
|
m.CreateAt = time.Now()
|
|
|
m.DeleteAt = time.Unix(0, 0)
|
|
|
m.UpdateAt = time.Now()
|
|
|
m.Enable = USERCOMPANY_ENABLE_YES
|
|
|
id, err = o.Insert(m)
|
|
|
return
|
|
|
}
|
|
|
|
|
|
// UpdateUserCompany updates UserCompany by Id and returns error if
|
|
|
// the record to be updated doesn't exist
|
|
|
func UpdateUserCompanyById(m *UserCompany) (err error) {
|
|
|
o := orm.NewOrm()
|
|
|
v := UserCompany{Id: m.Id}
|
|
|
// ascertain id exists in the database
|
|
|
if err = o.Read(&v); err == nil {
|
|
|
var num int64
|
|
|
if num, err = o.Update(m); err == nil {
|
|
|
fmt.Println("Number of records updated in database:", num)
|
|
|
}
|
|
|
}
|
|
|
return
|
|
|
}
|
|
|
|
|
|
func GetUserCompanyBy(userid int64, companyId int64) (*UserCompany, error) {
|
|
|
o := orm.NewOrm()
|
|
|
var data []*UserCompany
|
|
|
_, err := o.QueryTable(&UserCompany{}).
|
|
|
Filter("user_id", userid).
|
|
|
Filter("company_id", companyId).
|
|
|
Filter("delete_at", 0).
|
|
|
All(&data)
|
|
|
if err != nil {
|
|
|
return nil, err
|
|
|
}
|
|
|
if len(data) == 0 {
|
|
|
return nil, errors.New("UserCompany not found")
|
|
|
}
|
|
|
return data[0], nil
|
|
|
}
|
|
|
|
|
|
func ExistUserCompany(userid int64, companyId int64) bool {
|
|
|
o := orm.NewOrm()
|
|
|
ok := o.QueryTable(&UserCompany{}).
|
|
|
Filter("user_id", userid).
|
|
|
Filter("company_id", companyId).
|
|
|
Filter("delete_at", 0).
|
|
|
Exist()
|
|
|
return ok
|
|
|
}
|
|
|
|
|
|
func EnableUserCompany(userid int64, companyid int64) error {
|
|
|
o := orm.NewOrm()
|
|
|
_, err := o.QueryTable(&UserCompany{}).
|
|
|
Filter("user_id", userid).
|
|
|
Filter("company_id", companyid).Update(orm.Params{
|
|
|
"enable": USERCOMPANY_ENABLE_YES,
|
|
|
"delete_at": 0,
|
|
|
})
|
|
|
return err
|
|
|
} |
...
|
...
|
|