sandbox.go 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. package sandbox
  2. import (
  3. sandboxModel "hongze/hongze_yb/models/tables/sandbox"
  4. "time"
  5. )
  6. type SandboxItem struct {
  7. SandboxID uint32 `gorm:"primaryKey;column:sandbox_id;type:int(9) unsigned;not null" json:"sandbox_id"` // 沙盘id
  8. Name string `gorm:"index:idx_name;column:name;type:varchar(64);not null;default:''" json:"name"` // 沙盘名称
  9. ChartPermissionID uint32 `gorm:"column:chart_permission_id;type:int(9) unsigned;not null;default:0" json:"chart_permission_id"` // 品种id
  10. ChartPermissionName string `gorm:"index:idx_chart_permission_name;column:chart_permission_name;type:varchar(32);not null;default:''" json:"chart_permission_name"` // 品种名称(冗余字段,避免列表页查询时再去关联表查询)
  11. CurrVersion uint32 `gorm:"column:curr_version;type:int(9) unsigned;not null;default:0" json:"curr_version"` // 当前版本
  12. Code string `gorm:"column:code;type:varchar(255);not null" json:"code"` // 沙盘code
  13. PicURL string `gorm:"column:pic_url;type:varchar(255);not null;default:''" json:"pic_url"` // 沙盘图片
  14. OpUserName string `gorm:"index:idx_op_user_name;column:op_user_name;type:varchar(32);not null;default:''" json:"op_user_name"` // 最近一次编辑的用户名称(冗余字段,避免查表)
  15. ModifyTime time.Time `gorm:"column:modify_time;type:timestamp;default:CURRENT_TIMESTAMP" json:"modify_time"` // 最近一次更新时间
  16. }
  17. // GetList 获取沙盘列表数据
  18. func GetList(chartPermissionId int, keyword string, page, pageSize int) (total int64, list []SandboxItem, err error, errMsg string) {
  19. errMsg = `获取失败`
  20. var condition string
  21. var pars []interface{}
  22. condition = ` is_delete = ? `
  23. pars = append(pars, 0)
  24. if chartPermissionId > 0 {
  25. condition += " AND chart_permission_id=? "
  26. pars = append(pars, chartPermissionId)
  27. }
  28. if keyword != "" {
  29. //condition += ` AND ( name LIKE '%` + keyword + `%' OR chart_permission_name LIKE '%` + keyword + `%' )`
  30. condition += ` AND ( name LIKE '%` + keyword + `%' )`
  31. }
  32. //获取指标信息
  33. tmpTotal, tmpList, tmpErr := sandboxModel.GetPageListByWhere(condition, pars, (page-1)*pageSize, pageSize)
  34. if tmpErr != nil {
  35. err = tmpErr
  36. return
  37. }
  38. total = tmpTotal
  39. for _, v := range tmpList {
  40. tmpSandBox := SandboxItem{
  41. SandboxID: v.SandboxID,
  42. Name: v.Name,
  43. ChartPermissionID: v.ChartPermissionID,
  44. ChartPermissionName: v.ChartPermissionName,
  45. CurrVersion: v.CurrVersion,
  46. Code: v.Code,
  47. PicURL: v.PicURL,
  48. OpUserName: v.OpUserName,
  49. ModifyTime: v.ModifyTime,
  50. //CreateTime: time.Time{},
  51. }
  52. list = append(list, tmpSandBox)
  53. }
  54. return
  55. }