123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- package models
- import (
- "fmt"
- "github.com/beego/beego/v2/client/orm"
- "hongze/hz_crm_api/utils"
- )
- // ChartPermissionSearchKeyWordMapping 权限相关
- type ChartPermissionSearchKeyWordMapping struct {
- Id int `description:"id" json:"-"`
- ChartPermissionId int `description:"权限id"`
- KeyWord string `description:"二级分类名称"`
- From string `description:"类型标识" json:"-"`
- TacticType string `description:"策略表type字段值" json:"-"`
- TeleconferenceSort int `description:"电话会类型排序" json:"-"`
- ClassifyId int `description:"分类ID"`
- }
- func GetPermission(classifyNameSecond string) (items []*ChartPermissionSearchKeyWordMapping, err error) {
- o := orm.NewOrm()
- sql := `SELECT * FROM chart_permission_search_key_word_mapping AS a WHERE a.from='rddp' AND a.key_word=? `
- _, err = o.Raw(sql, classifyNameSecond).QueryRows(&items)
- return
- }
- // EditChartPermissionSearchKeyWordMappingMulti 修改报告报告权限(先删除原有的权限,再添加新的权限)
- func EditChartPermissionSearchKeyWordMappingMulti(keyword string, permissionIdList []int) (err error) {
- o := orm.NewOrm()
- to, err := o.Begin()
- if err != nil {
- return
- }
- defer func() {
- if err != nil {
- _ = to.Rollback()
- } else {
- _ = to.Commit()
- }
- }()
- sql := "delete from chart_permission_search_key_word_mapping WHERE `from`='rddp' AND key_word=? "
- _, err = to.Raw(sql, keyword).Exec()
- if err != nil {
- return
- }
- if len(permissionIdList) > 0 {
- chartPermissionSearchKeyWordMappingList := make([]*ChartPermissionSearchKeyWordMapping, 0)
- for _, permissionId := range permissionIdList {
- tmpChartPermissionSearchKeyWordMapping := &ChartPermissionSearchKeyWordMapping{
- ChartPermissionId: permissionId,
- KeyWord: keyword,
- From: "rddp",
- TacticType: "",
- TeleconferenceSort: 0,
- }
- chartPermissionSearchKeyWordMappingList = append(chartPermissionSearchKeyWordMappingList, tmpChartPermissionSearchKeyWordMapping)
- }
- _, err = to.InsertMulti(len(chartPermissionSearchKeyWordMappingList), chartPermissionSearchKeyWordMappingList)
- }
- return
- }
- // AddChartPermissionSearchKeyWordMappingMulti 批量新增报告权限
- func AddChartPermissionSearchKeyWordMappingMulti(chartPermissionSearchKeyWordMappingList []*ChartPermissionSearchKeyWordMapping) (err error) {
- o := orm.NewOrm()
- _, err = o.InsertMulti(len(chartPermissionSearchKeyWordMappingList), chartPermissionSearchKeyWordMappingList)
- return
- }
- func AddChartPermissionChapterMapping(chartPermissionId int, reportId int64) (err error) {
- sql := `INSERT INTO chart_permission_chapter_mapping (chart_permission_id, report_chapter_type_id,research_type)
- VALUES(?,?,?)`
- o := orm.NewOrm()
- _, err = o.Raw(sql, chartPermissionId, reportId, "rddp").Exec()
- return
- }
- func RemoveChartPermissionChapterMapping(reportId int64) (err error) {
- sql := ` DELETE FROM chart_permission_chapter_mapping WHERE research_type=? AND report_chapter_type_id=? `
- o := orm.NewOrm()
- _, err = o.Raw(sql, "rddp", reportId).Exec()
- return
- }
- type ChartPermissionMappingIdName struct {
- PermissionId int
- PermissionName string
- }
- func GetChartPermissionNameFromMappingByKeyword(keyword string, source string) (list []*ChartPermissionMappingIdName, err error) {
- o := orm.NewOrm()
- sql := " SELECT b.chart_permission_id AS permission_id,b.permission_name FROM chart_permission_search_key_word_mapping AS a INNER JOIN chart_permission AS b ON a.chart_permission_id = b.chart_permission_id WHERE a.`from` = ? AND a.key_word = ? "
- _, err = o.Raw(sql, source, keyword).QueryRows(&list)
- return
- }
- // UpdateChartPermissionNameFromMappingByKeyword 根据关键词及来源更新新关键词
- func UpdateChartPermissionNameFromMappingByKeyword(newKeyword, keyword, source string) (err error) {
- o := orm.NewOrm()
- sql := " UPDATE chart_permission_search_key_word_mapping SET key_word = ? WHERE key_word = ? AND `from` = ? "
- _, err = o.Raw(sql, newKeyword, keyword, source).Exec()
- return
- }
- // GetPermissionsByClassifyIds 根据分类IDs获取权限IDs
- func GetPermissionsByClassifyIds(classifyIds []int) (items []*ChartPermissionSearchKeyWordMapping, err error) {
- if len(classifyIds) == 0 {
- return
- }
- o := orm.NewOrm()
- sql := fmt.Sprintf(`SELECT * FROM chart_permission_search_key_word_mapping AS a WHERE a.from='rddp' AND a.classify_id IN (%s)`, utils.GetOrmInReplace(len(classifyIds)))
- _, err = o.Raw(sql, classifyIds).QueryRows(&items)
- return
- }
|