Company.go 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. package Account
  2. import (
  3. _ "github.com/astaxie/beego/cache/redis"
  4. "github.com/beego/beego/v2/adapter/orm"
  5. orm2 "github.com/beego/beego/v2/client/orm"
  6. _ "github.com/go-sql-driver/mysql"
  7. "time"
  8. )
  9. type Company struct {
  10. Id int `orm:"column(ID);size(11);auto;pk"`
  11. T_mid int `orm:"size(200);null"` // 上一级 ID
  12. T_name string `orm:"size(256);null"` // 公司名称
  13. T_uids string `orm:"size(256);null"` // 绑定用户 Uid| 如:U1|U2|
  14. T_State int `orm:"size(200);1"` // 0删除 1 正常
  15. CreateTime time.Time `orm:"column(create_time);type(timestamp);null;auto_now_add"` //auto_now 每次 model 保存时都会对时间自动更新
  16. UpdateTime time.Time `orm:"column(update_time);type(timestamp);null;auto_now"` //auto_now_add 第一次保存时才设置时间
  17. }
  18. func (t *Company) TableName() string {
  19. return "Company" // 数据库名称 // ************** 替换 FormulaList **************
  20. }
  21. func init() {
  22. //注册模型
  23. orm.RegisterModel(new(Company))
  24. }
  25. // ---------------- 特殊方法 -------------------
  26. // 获取列表
  27. func Read_Company_List_All() (maps []Company) {
  28. o := orm.NewOrm()
  29. // 也可以直接使用 Model 结构体作为表名
  30. qs := o.QueryTable(new(Company))
  31. //cond := orm.NewCondition()
  32. //cond1 := cond.And("T_State", 1) // .AndNot("status__in", 1).Or("profile__age__gt", 2000)
  33. //qs.SetCond((*orm2.Condition)(cond1)).OrderBy("-Id").All(&maps)
  34. //cnt, _ = qs.SetCond((*orm2.Condition)(cond1)).Count()
  35. qs.All(&maps)
  36. return maps
  37. }
  38. // 获取列表
  39. func Read_Company_List_All_ByT_name(T_name string) (maps []Company) {
  40. o := orm.NewOrm()
  41. // 也可以直接使用 Model 结构体作为表名
  42. qs := o.QueryTable(new(Company))
  43. cond := orm.NewCondition()
  44. cond1 := cond.And("T_name__icontains", T_name)
  45. qs.SetCond((*orm2.Condition)(cond1)).All(&maps)
  46. return maps
  47. }
  48. // {"Id":"T_name"}
  49. func CompanyListToMap(C []Company) map[int]string {
  50. maps := make(map[int]string, len(C))
  51. for _, v := range C {
  52. maps[v.Id] = v.T_name
  53. }
  54. return maps
  55. }