query.go 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package sandbox
  2. import (
  3. "hongze/hongze_yb/global"
  4. )
  5. // GetBySandboxId 根据沙盘ID查询详情
  6. func GetBySandboxId(id uint32) (item *Sandbox, err error) {
  7. err = global.DEFAULT_MYSQL.Where("sandbox_id = ? and is_delete=0 ", id).Order("sandbox_id desc").First(&item).Error
  8. return
  9. }
  10. // GetPageListByWhere 分页获取活动列表
  11. func GetPageListByWhere(condition string, pars []interface{}, startSize, pageSize int) (total int64, list []*Sandbox, err error) {
  12. // 获取查询总数量
  13. err = global.DEFAULT_MYSQL.Model(Sandbox{}).Where(condition, pars...).Count(&total).Error
  14. if err != nil {
  15. return
  16. }
  17. // 获取列表数据
  18. err = global.DEFAULT_MYSQL.Model(Sandbox{}).Where(condition, pars...).Order("modify_time desc,sandbox_id desc").Offset(startSize).Limit(pageSize).Find(&list).Error
  19. return
  20. }
  21. // PermissionSandboxCount 品种下沙盘数
  22. type PermissionSandboxCount struct {
  23. ChartPermissionID uint32 `gorm:"column:chart_permission_id;type:int(9) unsigned;not null;default:0" json:"chart_permission_id"` // 品种id
  24. ChartPermissionName string `gorm:"index:idx_chart_permission_name;column:chart_permission_name;type:varchar(32);not null;default:''" json:"chart_permission_name"` // 品种名称(冗余字段,避免列表页查询时再去关联表查询)
  25. Total int64 `json:"total"` // 汇总数
  26. }
  27. // GetPermissionCountListByWhere 获取各品种的沙盘数
  28. func GetPermissionCountListByWhere(condition string, pars []interface{}) (list []*PermissionSandboxCount, err error) {
  29. //err = global.DEFAULT_MYSQL.Model(ResearchReport{}).Where("research_report_id IN (?)", ids).Scan(&list).Error
  30. // 获取列表数据
  31. err = global.DEFAULT_MYSQL.Model(Sandbox{}).Select("chart_permission_id,chart_permission_name,count(1) total").Where(condition, pars...).Order("modify_time desc,sandbox_id desc").Group("chart_permission_id").Scan(&list).Error
  32. return
  33. }