package models import "rdluck_tools/orm" type ChartPermission struct { ChartPermissionId int `description:"权限id"` PermissionName string `description:"权限名称"` } type ActivityChartPermission struct { ChartPermissionId int `description:"权限id"` PermissionName string `description:"权限名称"` IsChoose bool `description:"是否选择"` } type ChartPermissionResp struct { List []*ChartPermission } func GetChartPermissionAll() (items []*ChartPermission, err error) { o := orm.NewOrm() sql := `SELECT * FROM chart_permission WHERE product_id=2 AND show_type=1 ORDER BY sort ASC ` _, err = o.Raw(sql).QueryRows(&items) return } func GetCategoryId(chartPermissionId int) (category_id string, err error) { o := orm.NewOrm() sql := ` SELECT GROUP_CONCAT(a.category_id) AS category_id FROM cygx_permission_mapping AS a WHERE a.chart_permission_id=? GROUP BY a.chart_permission_id ` err = o.Raw(sql, chartPermissionId).QueryRow(&category_id) return } func GetChartPermissionReportAll() (items []*ChartPermission, err error) { o := orm.NewOrm() sql := `SELECT * FROM chart_permission WHERE product_id=2 AND is_report=1 ORDER BY sort ASC ` _, err = o.Raw(sql).QueryRows(&items) return } func GetChartPermissionById(chartPermissionId int) (item *ChartPermission, err error) { o := orm.NewOrm() sql := `SELECT * FROM chart_permission WHERE chart_permission_id = ? ` err = o.Raw(sql, chartPermissionId).QueryRow(&item) return } func GetChartPermissionActivity() (items []*ActivityChartPermission, err error) { o := orm.NewOrm() sql := `SELECT * FROM chart_permission WHERE chart_permission_id IN (19,20,21,22,23) ORDER BY sort ASC ` _, err = o.Raw(sql).QueryRows(&items) return } func GetUserCompanyPermission(companyId int) (items []*ActivityChartPermission, err error) { sql := ` SELECT b.* FROM company_report_permission AS a INNER JOIN chart_permission AS b ON a.chart_permission_id=b.chart_permission_id INNER JOIN company_product AS c ON a.company_id=c.company_id AND a.product_id=c.product_id WHERE a.company_id=? AND a.product_id=2 AND c.is_suspend=0 AND b.cygx_auth=1 AND b.is_other=0 AND c.status IN('正式','试用','永续') AND a.status IN('正式','试用','永续') AND b.chart_permission_id IN (19,20,21,22,23) ORDER BY b.sort ASC ` o := orm.NewOrm() _, err = o.Raw(sql, companyId).QueryRows(&items) return }