achievement_provider.go 2.1 KB
package models

import (
	"fmt"
	"time"

	"github.com/astaxie/beego/orm"
)

type AchievementProvider struct {
	Id             int64     `orm:"column(id);pk" description:"主键id"`
	AchievementId  int64     `orm:"column(achievement_id);null" description:"表achievement.id"`
	UserCompanyId  int64     `orm:"column(user_company_id);null" description:"user_company.id"`
	UserGraspScore float64   `orm:"column(user_grasp_score);null;digits(4);decimals(1)" description:"把握人得分"`
	DepartmentId   int64     `orm:"column(department_id)"`
	CreateAt       time.Time `orm:"column(create_at);type(timestamp);null" description:"创建时间"`
}

func (t *AchievementProvider) TableName() string {
	return "achievement_provider"
}

func init() {
	orm.RegisterModel(new(AchievementProvider))
}

// AddAchievementProvider insert a new AchievementProvider into database and returns
// last inserted Id on success.
func AddAchievementProvider(m *AchievementProvider) (id int64, err error) {
	o := orm.NewOrm()
	id, err = o.Insert(m)
	return
}

// GetAchievementProviderById retrieves AchievementProvider by Id. Returns error if
// Id doesn't exist
func GetAchievementProviderById(id int64) (v *AchievementProvider, err error) {
	o := orm.NewOrm()
	v = &AchievementProvider{Id: id}
	if err = o.Read(v); err == nil {
		return v, nil
	}
	return nil, err
}

// UpdateAchievementProvider updates AchievementProvider by Id and returns error if
// the record to be updated doesn't exist
func UpdateAchievementProviderById(m *AchievementProvider) (err error) {
	o := orm.NewOrm()
	v := AchievementProvider{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 GetAchievementProviderByAchieve(achievementid int64) ([]AchievementProvider, error) {
	var (
		err  error
		data []AchievementProvider
	)
	o := orm.NewOrm()
	_, err = o.QueryTable(&AchievementProvider{}).
		Filter("achievement_id", achievementid).
		All(&data)
	if err == orm.ErrNoRows {
		return data, nil
	}
	return data, err
}