123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335 |
- package company
- import (
- "github.com/beego/beego/v2/client/orm"
- "time"
- )
- type ChartPermission struct {
- ChartPermissionId int `description:"权限id"`
- ChartPermissionName string `description:"权限名称(旧)"`
- PermissionName string `description:"权限名称"`
- Sort int `description:"排序"`
- Enabled int `description:"是否可用"`
- CreatedTime time.Time `description:"创建时间"`
- LastUpdatedTime time.Time `description:"最后更新时间"`
- TeleconferenceSort int `description:"电话会排序"`
- Remark string `description:"备注"`
- ClassifyName string `description:"分类"`
- PermissionType int `description:"1主观,2客观"`
- Checked bool `description:"选中状态"`
- }
- type PermissionSetItem struct {
- ChartPermissionId int `description:"权限id"`
- PermissionName string `description:"权限名称"`
- PermissionType int `description:"1主观,2客观"`
- Checked bool `description:"选中状态"`
- Child []*PermissionSetItem `description:"具体的主客观-方便前端的排版用的"`
- }
- type PermissionSetItemType struct {
- PermissionName string `description:"权限名称"`
- Checked bool `description:"选中状态"`
- CheckedMinate bool `description:"不确定状态"`
- NoClicking bool `description:"是否禁止点击"`
- Items []*PermissionLookItem
- }
- type PermissionSetList struct {
- ClassifyName string `description:"分类"`
- Items []*PermissionSetItem
- CheckList []int
- }
- type PermissionSetListType struct {
- ClassifyName string `description:"分类"`
- Items []*PermissionSetItemType
- CheckList []int
- }
- type PermissionSetResp struct {
- List []*PermissionSetList
- //ListUpgrade []*PermissionSetList `description:"升级权限列表"`
- ListType []*PermissionSetListType `description:"主观客观列表"`
- }
- type ChartPermissionFirst struct {
- ClassifyName string `description:"分类"`
- }
- func GetPermissionSetItems(productId int, classifyName string) (items []*PermissionSetItem, err error) {
- o := orm.NewOrm()
- sql := ` SELECT * FROM chart_permission WHERE enabled=1 AND product_id=? AND classify_name=? AND permission_type=0 ORDER BY sort ASC `
- _, err = o.Raw(sql, productId, classifyName).QueryRows(&items)
- return
- }
- func GetPermissionSetItemsByType(productId int, classifyName string) (items []*PermissionSetItem, err error) {
- o := orm.NewOrm()
- sql := ` SELECT * FROM chart_permission WHERE enabled=1 AND product_id=? AND classify_name=? AND permission_type!=2 ORDER BY sort ASC `
- _, err = o.Raw(sql, productId, classifyName).QueryRows(&items)
- return
- }
- func GetPermissionSetSandoItems(productId int, classifyName string) (items []*PermissionLookItem, err error) {
- o := orm.NewOrm()
- sql := ` SELECT * FROM chart_permission WHERE enabled=1 AND product_id=? AND classify_name=? ORDER BY sort ASC `
- _, err = o.Raw(sql, productId, classifyName).QueryRows(&items)
- return
- }
- func GetPermissionSetItemsType(productId int, classifyName string) (items []*PermissionLookItem, err error) {
- o := orm.NewOrm()
- sql := ` SELECT * FROM chart_permission WHERE enabled=1 AND product_id=? AND classify_name=? AND permission_type!=0 ORDER BY sort ASC `
- _, err = o.Raw(sql, productId, classifyName).QueryRows(&items)
- return
- }
- type CompanyReportPermission struct {
- CompanyReportPermissionId int64 `orm:"column(company_report_permission_id);pk"`
- CompanyId int
- ReportPermissionId int
- CreatedTime time.Time
- LastUpdatedTime time.Time
- ChartPermissionId int
- StartDate string `description:"权限开始日期"`
- EndDate string `description:"权限结束日期"`
- ProductId int `description:"产品id"`
- ProductName string `description:"产品名称"`
- CompanyContractId int `description:"合同id"`
- Status string `description:"'正式','试用','关闭'"`
- ModifyTime time.Time `description:"修改时间"`
- IsUpgrade int `description:"是否升级,1是,0否"`
- ExpensiveYx int `description:"权益研选: 0-3w; 1-5w"`
- }
- // 新增客户权限
- func AddCompanyReportPermission(item *CompanyReportPermission) (err error) {
- o := orm.NewOrm()
- lastId, err := o.Insert(item)
- item.CompanyReportPermissionId = lastId
- return
- }
- func GetCompanyReportPermissionCount(companyId, productId int) (count int, err error) {
- o := orm.NewOrm()
- sql := `SELECT COUNT(1) AS count FROM company_report_permission WHERE company_id=? AND product_id=? `
- err = o.Raw(sql, companyId, productId).QueryRow(&count)
- return
- }
- func DeleteCompanyReportPermission(companyId, productId int) (err error) {
- o := orm.NewOrm()
- sql := ` DELETE FROM company_report_permission WHERE company_id=? AND product_id=? `
- _, err = o.Raw(sql, companyId, productId).Exec()
- return
- }
- type PermissionLookResp struct {
- List []*PermissionLookList
- ListRai []*PermissionLookList `description:"权益"`
- }
- type PermissionLookSandoResp struct {
- List []*PermissionLookList
- ListType []*PermissionSetListType `description:"主观客观列表"`
- }
- type PermissionLookList struct {
- ClassifyName string `description:"分类"`
- Items []*PermissionLookItem
- ItemsType []*PermissionSetItemType `description:"主观客观列表"`
- CheckList []int
- RaiMerge int `description:"权益-用于前端判断展示形式:1-全部合并 2-全部拆分"`
- }
- type PermissionLookItem struct {
- ChartPermissionId int `description:"权限id"`
- PermissionName string `description:"权限名称"`
- StartDate string `description:"权限开始日期"`
- EndDate string `description:"权限结束日期"`
- Status string `description:"'正式','试用','关闭'"`
- ExpireDay string `description:"到期天数"`
- ClassifyName string `description:"分类"`
- PermissionType int `description:"1主观,2客观"`
- PermissionTypeName string `description:"主观、客观"`
- Checked bool `description:"选中状态"`
- Remark string `description:"备注"`
- IsMerge bool `description:"是否合并行业, 给前端的标识, 暂时仅权益使用"`
- RaiBothHas bool `description:"权益-是否主客观都有"`
- IsUpgrade int `description:"是否升级,1是,0否"`
- Child []*PermissionLookItem `description:"子权限"`
- }
- func GetPermissionLookItems(productId int, classifyName string) (items []*PermissionLookItem, err error) {
- o := orm.NewOrm()
- sql := ` SELECT * FROM chart_permission WHERE enabled=1 AND product_id=? AND classify_name=? ORDER BY sort ASC `
- _, err = o.Raw(sql, productId, classifyName).QueryRows(&items)
- return
- }
- func GetCompanyPermissionCheck(companyId, permissionId int) (count int, err error) {
- o := orm.NewOrm()
- sql := `SELECT COUNT(1) AS count FROM company_report_permission AS a WHERE a.company_id=? AND a.chart_permission_id=? `
- err = o.Raw(sql, companyId, permissionId).QueryRow(&count)
- return
- }
- // GetCompanyPermission 根据客户id和品种id获取对应的数据
- func GetCompanyPermission(companyId, permissionId int) (item *CompanyReportPermission, err error) {
- o := orm.NewOrm()
- sql := `SELECT * FROM company_report_permission AS a WHERE a.company_id=? AND a.chart_permission_id=? `
- err = o.Raw(sql, companyId, permissionId).QueryRow(&item)
- return
- }
- func GetCompanyPermissionCheckItem(companyId, permissionId int) (item *PermissionLookItem, err error) {
- o := orm.NewOrm()
- sql := `SELECT * FROM company_report_permission AS a WHERE a.company_id=? AND a.chart_permission_id=? `
- err = o.Raw(sql, companyId, permissionId).QueryRow(&item)
- return
- }
- // 通过主观ID获取对应的客观ID
- func GetPermissionIdById(permissionIds string) (allpermissionId string, err error) {
- sql := ` SELECT
- GROUP_CONCAT( DISTINCT chart_permission_id SEPARATOR ',' ) AS permission
- FROM
- chart_permission
- WHERE
- product_permission_name IN (
- SELECT
- product_permission_name
- FROM
- chart_permission
- WHERE
- chart_permission_id IN ( ` + permissionIds + ` )) `
- o := orm.NewOrm()
- err = o.Raw(sql).QueryRow(&allpermissionId)
- return
- }
- type PermissionVarietyResp struct {
- List []*PermissionVarietyList
- }
- type PermissionVarietyItem struct {
- ChartPermissionId int `description:"权限id"`
- ClassifyName string `orm:"column(permission_name)" description:"权限名称"`
- }
- type PermissionVarietyList struct {
- ChartPermissionId int `description:"父级id"`
- ClassifyName string `description:"分类"`
- Items []*PermissionVarietyItem
- }
- func GetPermissionVarietyItems(productId int, classifyName string) (items []*PermissionVarietyItem, err error) {
- o := orm.NewOrm()
- sql := ` SELECT * FROM chart_permission WHERE enabled=1 AND product_id=? AND classify_name=? GROUP BY permission_name ORDER BY sort ASC `
- _, err = o.Raw(sql, productId, classifyName).QueryRows(&items)
- return
- }
- type PermissionCompany struct {
- CompanyId int
- }
- //
- //func GetCompanyListCompanyIdByPermissionIdStr(permissionStr string, permissionCount int) (items []*PermissionCompany, err error) {
- // o := orm.NewOrm()
- // sql := `
- // SELECT company_id, COUNT(company_id) ks
- // FROM company_report_permission
- // WHERE report_permission_id IN (` + permissionStr + `)
- //
- // GROUP BY company_id
- // HAVING company_id IN
- //
- // (SELECT company_id
- // FROM company_report_permission
- // GROUP BY company_id
- // HAVING COUNT(company_id) = ?)
- //
- // AND COUNT(company_id) = ?
- //`
- // _, err = o.Raw(sql, permissionCount, permissionCount).QueryRows(&items)
- // return
- //}
- func GetCompanyListCompanyIdByPermissionIdStr(permissionStr string) (company_id string, err error) {
- o := orm.NewOrm()
- sql := `
- SELECT
- GROUP_CONCAT(DISTINCT company_id) AS company_id
- FROM company_report_permission
- WHERE report_permission_id IN (?)
- #GROUP BY company_id
- `
- err = o.Raw(sql, permissionStr).QueryRow(&company_id)
- return
- }
- func GetPermissionNameByPermissionIdStr(permissionStr string) (chart_permission_name string, err error) {
- o := orm.NewOrm()
- sql := `SELECT GROUP_CONCAT(DISTINCT chart_permission_name SEPARATOR ',') AS chart_permission_name FROM chart_permission WHERE chart_permission_id IN (` + permissionStr + `)`
- err = o.Raw(sql).QueryRow(&chart_permission_name)
- return
- }
- func GetPermissionIdsByPermissionNameStr(chartPermissionName string) (chart_permission_id string, err error) {
- o := orm.NewOrm()
- sql := `SELECT GROUP_CONCAT(DISTINCT chart_permission_id SEPARATOR ',') AS chart_permission_id FROM chart_permission WHERE chart_permission_name IN(` + chartPermissionName + `)`
- err = o.Raw(sql).QueryRow(&chart_permission_id)
- return
- }
- // 新增试用权限
- type PermissionAddTryOutReq struct {
- CompanyId int `description:"客户id"`
- ChartPermissionId string `description:"权限id,多个用英文逗号隔开"`
- }
- // GetChartPermissionListById 根据权限id获取产品权限详情
- func GetChartPermissionListById(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 GetPermissionLookItemsSandO(permissionIds string) (items []*PermissionLookItem, err error) {
- o := orm.NewOrm()
- sql := ` SELECT * FROM chart_permission WHERE enabled=1 AND chart_permission_id IN (` + permissionIds + `) ORDER BY sort ASC `
- _, err = o.Raw(sql).QueryRows(&items)
- return
- }
- func GetPermissionLookItemsSandOByName(permissionName string) (items []*PermissionLookItem, err error) {
- o := orm.NewOrm()
- sql := ` SELECT * FROM chart_permission WHERE enabled=1 AND product_id = 2 AND remark IN (` + permissionName + `) ORDER BY sort ASC `
- _, err = o.Raw(sql).QueryRows(&items)
- return
- }
- func GetParentIdFromGroup(gid int) (items *int, err error) {
- o := orm.NewOrm()
- sql := `SELECT parent_id FROM sys_group WHERE group_id=? `
- err = o.Raw(sql, gid).QueryRow(&items)
- return
- }
- func GetGroupIdsByParentId(gid int) (items []*string, err error) {
- o := orm.NewOrm()
- sql := `SELECT group_id FROM sys_group WHERE parent_id=? `
- _, err = o.Raw(sql, gid).QueryRows(&items)
- return
- }
- func GetGroupNamesById(gid int) (items *string, err error) {
- o := orm.NewOrm()
- sql := `SELECT group_name FROM sys_group WHERE group_id=? `
- err = o.Raw(sql, gid).QueryRow(&items)
- return
- }
|