123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- package sandbox
- import (
- "hongze/hongze_yb/global"
- )
- // GetBySandboxId 根据沙盘ID查询详情
- func GetBySandboxId(id uint32) (item *Sandbox, err error) {
- err = global.MYSQL["data"].Where("sandbox_id = ? and is_delete=0 ", id).Order("sandbox_id desc").First(&item).Error
- return
- }
- // GetPageListByWhere 分页获取活动列表
- func GetPageListByWhere(condition string, pars []interface{}, startSize, pageSize int) (total int64, list []*Sandbox, err error) {
- // 获取查询总数量
- sql := "select count(1) from sandbox AS s JOIN sandbox_classify AS c ON c.sandbox_classify_id = s.sandbox_classify_id WHERE " + condition + " order by s.modify_time desc,s.sandbox_id desc"
- err = global.MYSQL["data"].Raw(sql, pars...).Scan(&total).Error
- if err != nil {
- return
- }
- // 获取列表数据
- sql = "select s.* from sandbox AS s JOIN sandbox_classify AS c ON c.sandbox_classify_id = s.sandbox_classify_id WHERE " + condition + " order by s.modify_time desc,s.sandbox_id desc"
- sql += " limit ?,? "
- pars = append(pars, startSize, pageSize)
- err = global.MYSQL["data"].Raw(sql, pars...).Find(&list).Error
- return
- }
- // PermissionSandboxCount 品种下沙盘数
- type PermissionSandboxCount struct {
- ChartPermissionID uint32 `gorm:"column:chart_permission_id;type:int(9) unsigned;not null;default:0" json:"chart_permission_id"` // 品种id
- ChartPermissionName string `gorm:"index:idx_chart_permission_name;column:chart_permission_name;type:varchar(32);not null;default:''" json:"chart_permission_name"` // 品种名称(冗余字段,避免列表页查询时再去关联表查询)
- Total int64 `json:"total"` // 汇总数
- }
- // GetPermissionCountListByWhere 获取各品种的沙盘数
- func GetPermissionCountListByWhere(condition string, pars []interface{}) (list []*PermissionSandboxCount, err error) {
- //err = global.MYSQL["data"].Model(ResearchReport{}).Where("research_report_id IN (?)", ids).Scan(&list).Error
- // 获取列表数据
- err = global.MYSQL["data"].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
- return
- }
|