GAAS GFrame项目web后台
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

105 lines
2.8 KiB

  1. package models
  2. import (
  3. "LAPP_GAAS_GFrame_BACKEND/db"
  4. "LAPP_GAAS_GFrame_BACKEND/utils"
  5. "os/exec"
  6. )
  7. type Etcdtab struct {
  8. Id int `xorm:"not null pk comment('编号') autoincr INT(0)" json:"etcdtab-id"`
  9. Etcdname string `xorm:"not null comment('服务名称') VARCHAR(32)" json:"etcdtab-etcdname"`
  10. Descr string `xorm:"not null comment('描述') VARCHAR(30)" json:"etcdtab-descr"`
  11. Health string `xorm:"not null comment('健康状态') VARCHAR(100)" json:"etcdtab-health"`
  12. Path string `xorm:"not null comment('路径') VARCHAR(255)" json:"etcdtab-path"`
  13. State int `xorm:"not null comment('状态') INT" json:"etcdtab-state"`
  14. Lastmodif string `xorm:"not null comment('上一次更改日期') VARCHAR(14)" json:"etcdtab-lastmodif"`
  15. Lastuser string `xorm:"not null comment('最后编辑人员') VARCHAR(20)" json:"etcdtab-lastuser"`
  16. Credatuz string `xorm:"not null comment('创建时间') VARCHAR(14)" json:"etcdtab-credatuz"`
  17. }
  18. func (t *Etcdtab) TableName() string {
  19. return "etcdtab"
  20. }
  21. // 清除string字段的右侧空格
  22. func (t *Etcdtab) Clipped() {
  23. utils.TrimStruct(t, *t)
  24. }
  25. // exeAdress指完整路径
  26. func(t *Etcdtab) CheckExe2(exeAdress string) error{
  27. cmd := exec.Command("cmd.exe", "/c", "start "+exeAdress)
  28. err := cmd.Run()
  29. if err != nil {
  30. return err
  31. } else {
  32. return nil
  33. }
  34. }
  35. //增
  36. func (t *Etcdtab) Add() error {
  37. e := db.Eloquent.Master()
  38. info := new(Etcdtab)
  39. info.Etcdname = t.Etcdname
  40. info.Descr = t.Descr
  41. info.Path = t.Path
  42. info.Lastuser = t.Lastuser
  43. info.Credatuz = t.Credatuz
  44. info.Lastmodif = t.Lastmodif
  45. _, err := e.Table("etcdtab").Insert(info)
  46. if err != nil {
  47. return err
  48. }
  49. return nil
  50. }
  51. //删
  52. func (t *Etcdtab) Del() bool {
  53. e := db.Eloquent.Master()
  54. _, err := e.ID(t.Id).Delete(&Etcdtab{})
  55. if err != nil {
  56. return false
  57. }
  58. return true
  59. }
  60. //改
  61. func (t *Etcdtab) Update() bool {
  62. e := db.Eloquent.Master()
  63. _, err := e.ID(t.Id).Update(t)
  64. if err != nil {
  65. return false
  66. }
  67. return true
  68. }
  69. //查
  70. func (t *Etcdtab) SelectOne() (Etcdtab, error) {
  71. e := db.Eloquent.Master()
  72. var data Etcdtab
  73. _, err := e.ID(t.Id).Get(&data)
  74. if err != nil {
  75. return data, err
  76. }
  77. return data, nil
  78. }
  79. //分页
  80. func (t *Etcdtab) GetPage(pageSize int, pageIndex int) ([]Etcdtab, int, error) {
  81. data := make([]Etcdtab, 0)
  82. e := db.Eloquent.Master()
  83. table := e.Table("etcdtab").Where("1=1")
  84. where := "where 1=1 "
  85. Offset := (pageIndex - 1) * pageSize
  86. err := e.SQL("SELECT TOP " + utils.ValueToString(pageSize, "") + " etcdtab.* FROM Etcdtab " + where + " AND (convert(varchar(10),id) NOT IN (SELECT TOP " + utils.ValueToString(Offset, "") + " convert(varchar(10),id) FROM Etcdtab " + where + " ORDER BY credatuz DESC)) ORDER BY credatuz DESC").Find(&data)
  87. pcount := new(Etcdtab)
  88. count, err := table.Count(pcount)
  89. if err != nil {
  90. return data, 0, err
  91. }
  92. for k, _ := range data {
  93. data[k].Clipped()
  94. }
  95. return data, int(count), nil
  96. }