sandbox.go 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  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, companyPermissionIdList []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. // 客户拥有的品种权限
  25. if len(companyPermissionIdList) > 0 {
  26. condition += " AND chart_permission_id in (?) "
  27. pars = append(pars, companyPermissionIdList)
  28. }
  29. if chartPermissionId > 0 {
  30. condition += " AND chart_permission_id=? "
  31. pars = append(pars, chartPermissionId)
  32. }
  33. if keyword != "" {
  34. //condition += ` AND ( name LIKE '%` + keyword + `%' OR chart_permission_name LIKE '%` + keyword + `%' )`
  35. condition += ` AND ( name LIKE '%` + keyword + `%' )`
  36. }
  37. //todo 获取用户的品种权限,需要做筛选
  38. //获取指标信息
  39. tmpTotal, tmpList, tmpErr := sandboxModel.GetPageListByWhere(condition, pars, (page-1)*pageSize, pageSize)
  40. if tmpErr != nil {
  41. err = tmpErr
  42. return
  43. }
  44. total = tmpTotal
  45. for _, v := range tmpList {
  46. tmpSandBox := SandboxItem{
  47. SandboxID: v.SandboxID,
  48. Name: v.Name,
  49. ChartPermissionID: v.ChartPermissionID,
  50. ChartPermissionName: v.ChartPermissionName,
  51. CurrVersion: v.CurrVersion,
  52. Code: v.Code,
  53. PicURL: v.PicURL,
  54. OpUserName: v.OpUserName,
  55. ModifyTime: v.ModifyTime,
  56. //CreateTime: time.Time{},
  57. }
  58. list = append(list, tmpSandBox)
  59. }
  60. return
  61. }