|
@@ -107,11 +107,33 @@ func SetPermissionByEdbIdList(edbIdList []string, userIdList []int, edbInfoType
|
|
|
|
|
|
|
|
|
edbInfoPermissionList := make([]*EdbInfoPermission, 0)
|
|
|
- sql := `SELECT * FROM edb_info_permission WHERE edb_info_type = ? AND edb_info_id in (` + utils.GetOrmInReplace(edbNum) + `) `
|
|
|
- _, err = o.Raw(sql, edbInfoType, edbIdList).QueryRows(&edbInfoPermissionList)
|
|
|
- if err != nil {
|
|
|
- return
|
|
|
+
|
|
|
+ batchSize := 500
|
|
|
+ var sql string
|
|
|
+ for i := 0; i < edbNum; i += batchSize {
|
|
|
+
|
|
|
+ end := i + batchSize
|
|
|
+ if end > edbNum {
|
|
|
+ end = edbNum
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ batch := edbIdList[i:end]
|
|
|
+
|
|
|
+
|
|
|
+ sql = `SELECT * FROM edb_info_permission WHERE edb_info_type = ? AND edb_info_id in (` + utils.GetOrmInReplace(len(batch)) + `)`
|
|
|
+
|
|
|
+
|
|
|
+ var batchResult []*EdbInfoPermission
|
|
|
+ _, err = o.Raw(sql, edbInfoType, batch).QueryRows(&batchResult)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ edbInfoPermissionList = append(edbInfoPermissionList, batchResult...)
|
|
|
}
|
|
|
+
|
|
|
edbInfoPermissionMap := make(map[string]*EdbInfoPermission)
|
|
|
for _, v := range edbInfoPermissionList {
|
|
|
edbInfoPermissionMap[fmt.Sprint(v.EdbInfoId, "_", v.SysUserId)] = v
|