package data import ( "eta/eta_api/models" "eta/eta_api/models/data_manage" "eta/eta_api/models/system" "eta/eta_api/utils" "fmt" ) func GetManualSysUser(keyWord string) (list []*data_manage.ManualSysUser, err error) { //departmentId := 1 list = make([]*data_manage.ManualSysUser, 0) departmentItems, err := system.GetSysDepartmentAll() if err != nil { return list, err } for _, dv := range departmentItems { department := new(data_manage.ManualSysUser) department.ItemId = dv.DepartmentId * 10000 department.ItemName = dv.DepartmentName fmt.Println(department.ItemId, department.ItemName) //GetSysuserList var condition string var pars []interface{} if keyWord != "" { condition += ` AND (real_name LIKE ? OR admin_name LIKE ? OR mobile LIKE ? ) ` pars = utils.GetLikeKeywordPars(pars, keyWord, 3) } sysUsers, err := system.GetSysUserItems(condition, pars) if err != nil { return list, err } groups, err := system.GetSysGroupByDepartmentId(dv.DepartmentId) if err != nil { return list, err } dg := make([]*data_manage.ManualSysUser, 0) for _, v := range groups { group := new(data_manage.ManualSysUser) group.ItemId = v.DepartmentId * 100000 group.ItemName = v.GroupName for _, sv := range sysUsers { user := new(data_manage.ManualSysUser) user.ItemId = sv.AdminId user.ItemName = sv.RealName if sv.GroupId == v.GroupId { group.Children = append(group.Children, user) } } if len(group.Children) > 0 { dg = append(dg, group) } } if len(groups) <= 0 { group := new(data_manage.ManualSysUser) group.ItemId = dv.DepartmentId * 100000 group.ItemName = "无分组" for _, sv := range sysUsers { user := new(data_manage.ManualSysUser) user.ItemId = sv.AdminId user.ItemName = sv.RealName if sv.DepartmentId == dv.DepartmentId && sv.GroupId == 0 { group.Children = append(group.Children, user) } } if len(group.Children) > 0 { dg = append(dg, group) } } if len(dg) > 0 { department.Children = dg list = append(list, department) } } return } // GetManualEdbClassifyListByAdminId // @Description: 根据账户类型获取手工指标分类ID集合 // @author: Roc // @datetime 2024-07-16 13:18:39 // @param adminId int64 // @return classifyIdList []int // @return err error func GetManualEdbClassifyListByAdminId(adminId int64) (classifyIdList []int, err error) { var list []*models.EdbdataClassify if adminId <= 0 { list, err = models.GetAllChildManualEdbClassify() } else { userClassifyList, _ := models.GetManualUserClassify(int(adminId)) var userClassifyIdList []int for _, v := range userClassifyList { userClassifyIdList = append(userClassifyIdList, v.ClassifyId) } list, err = models.GetChildManualEdbClassifyByIdList(userClassifyIdList) } if err != nil { return } for _, classify := range list { classifyIdList = append(classifyIdList, classify.ClassifyId) } return } type ManualIndexSource2EdbReq struct { EdbCode string EdbName string Frequency string Unit string ClassifyId int AdminId int AdminRealName string } // ManualIndexSource2Edb 新增彭博数据源到指标库 func ManualIndexSource2Edb(req ManualIndexSource2EdbReq, lang string) (edb *data_manage.EdbInfo, err error, errMsg string, skip bool) { if req.EdbCode == "" { err = fmt.Errorf("指标ID为空") return } defer func() { if err != nil { tips := fmt.Sprintf("ManualIndexSource2Edb新增失败, Err: %s", err.Error()) fmt.Println(tips) utils.FileLog.Info(tips) } }() source := utils.DATA_SOURCE_MANUAL // 是否已有指标数据 dataList, e := data_manage.GetEdbDataAllByEdbCode(req.EdbCode, source, utils.DATA_SUB_SOURCE_EDB, utils.EDB_DATA_LIMIT) if e != nil { err = fmt.Errorf("获取指标数据失败, Err: %s", e.Error()) return } // 新增指标数据 if len(dataList) == 0 { res, e := AddEdbData(source, req.EdbCode, req.Frequency) if e != nil { err = fmt.Errorf("index_lib: 新增指标数据失败, Err: %s", e.Error()) return } if res == nil { err = fmt.Errorf("index_lib: 新增指标数据失败, res nil") return } if res.Ret != 200 { err = fmt.Errorf("index_lib: 新增指标数据失败, Ret: %d", res.Ret) return } } // 是否新增过指标 exist, e := data_manage.GetEdbInfoByEdbCode(source, req.EdbCode) if e != nil && e.Error() != utils.ErrNoRow() { err = fmt.Errorf("获取指标是否存在失败, err: %s", e.Error()) return } if exist != nil { skip = true return } // 开始结束时间 var startDate, endDate string minMax, e := data_manage.GetEdbInfoMaxAndMinInfo(source, utils.DATA_SUB_SOURCE_EDB, req.EdbCode) if e != nil && e.Error() != utils.ErrNoRow() { err = fmt.Errorf("MinMax: 获取指标极值失败, err: %s", e.Error()) return } if minMax != nil { startDate = minMax.MinDate endDate = minMax.MaxDate } // 新增指标库 edbInfo, e, msg, _ := EdbInfoAdd(source, utils.DATA_SUB_SOURCE_EDB, req.ClassifyId, req.EdbCode, req.EdbName, req.Frequency, req.Unit, startDate, endDate, req.AdminId, req.AdminRealName, lang) if e != nil { errMsg = msg err = fmt.Errorf("EdbInfo: 新增指标失败, err: %s", e.Error()) return } edb = edbInfo // 新增es go AddOrEditEdbInfoToEs(edbInfo.EdbInfoId) return }