|
@@ -78,8 +78,6 @@ func SetIsPermissionByExcelClassifyIdList(classifyIdList []int, excelClassifySou
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- // TODO 判断是否要记录移除的分类,用于发送通知给客户
|
|
|
-
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -356,3 +354,99 @@ func GetPermissionExcelClassifyIdList(userId, classifyId int) (idList []int, err
|
|
|
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+// InheritParentClassifyByExcelClassifyId
|
|
|
+// @Description: 继承父级分类的ETA表格权限信息
|
|
|
+// @author: Roc
|
|
|
+// @datetime 2024-04-07 21:02:51
|
|
|
+// @param dataSource int
|
|
|
+// @param excelSource int
|
|
|
+// @param classifyId int
|
|
|
+// @param parentClassifyId int
|
|
|
+// @param classifyName string
|
|
|
+// @param uniqueCode string
|
|
|
+// @return err error
|
|
|
+func InheritParentClassifyByExcelClassifyId(dataSource, excelSource, classifyId, parentClassifyId int, classifyName, uniqueCode string) (err error) {
|
|
|
+ o, err := orm.NewOrmUsingDB("data").Begin()
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ _ = o.Rollback()
|
|
|
+ } else {
|
|
|
+ _ = o.Commit()
|
|
|
+ }
|
|
|
+ }()
|
|
|
+
|
|
|
+ // 将对应的分类设置为涉密
|
|
|
+ sql := `UPDATE excel_classify SET is_join_permission=?,modify_time=now() WHERE source = ? AND excel_classify_id = ? `
|
|
|
+ _, err = o.Raw(sql, 1, excelSource, classifyId).Exec()
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ // 添加未授权记录
|
|
|
+ {
|
|
|
+ // 获取父级未授权的用户记录
|
|
|
+ var parentRecordItems []*DataPermissionClassifyNoAuthRecord
|
|
|
+ sql = `SELECT * FROM data_permission_classify_no_auth_record WHERE classify_id = ? AND source = ? AND sub_source = ? ORDER BY data_permission_classify_no_auth_record_id desc LIMIT ?,? `
|
|
|
+ _, err = o.Raw(sql, parentClassifyId, dataSource, excelSource).QueryRows(&parentRecordItems)
|
|
|
+
|
|
|
+ addNoAuthRecordItems := make([]*DataPermissionClassifyNoAuthRecord, 0)
|
|
|
+ for _, v := range parentRecordItems {
|
|
|
+ addNoAuthRecordItems = append(addNoAuthRecordItems, &DataPermissionClassifyNoAuthRecord{
|
|
|
+ DataPermissionClassifyNoAuthRecordId: 0,
|
|
|
+ Source: v.Source,
|
|
|
+ SubSource: v.SubSource,
|
|
|
+ OpUniqueCode: uniqueCode,
|
|
|
+ ClassifyId: fmt.Sprint(classifyId),
|
|
|
+ ClassifyName: classifyName,
|
|
|
+ SysUserId: v.SysUserId,
|
|
|
+ CreateTime: time.Now(),
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ // 添加待配置项
|
|
|
+ if len(addNoAuthRecordItems) > 0 {
|
|
|
+ _, err = o.InsertMulti(500, addNoAuthRecordItems)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ // 添加授权记录
|
|
|
+ {
|
|
|
+ // 获取父级分类已经授权的用户
|
|
|
+ parentClassifyPermissionList := make([]*ExcelClassifyPermission, 0)
|
|
|
+ sql = `SELECT * FROM excel_classify_permission WHERE source = ? AND excel_classify_id = ? `
|
|
|
+ _, err = o.Raw(sql, excelSource, parentClassifyId).QueryRows(&parentClassifyPermissionList)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ addList := make([]*ExcelClassifyPermission, 0)
|
|
|
+ for _, v := range parentClassifyPermissionList {
|
|
|
+ // 如果不存在,那么就提那家
|
|
|
+ addList = append(addList, &ExcelClassifyPermission{
|
|
|
+ //PermissionId: 0,
|
|
|
+ ExcelClassifyId: int32(classifyId),
|
|
|
+ Source: int32(excelSource),
|
|
|
+ SysUserId: v.SysUserId,
|
|
|
+ ModifyTime: time.Now(),
|
|
|
+ CreateTime: time.Now(),
|
|
|
+ })
|
|
|
+ }
|
|
|
+ // 添加待配置项
|
|
|
+ if len(addList) > 0 {
|
|
|
+ _, err = o.InsertMulti(500, addList)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return
|
|
|
+}
|