|
@@ -35,17 +35,17 @@ type DataItem struct {
|
|
|
// @param subSource int
|
|
|
// @param dataIdList []string
|
|
|
// @param dataList []DataItem
|
|
|
-// @param addUserIdList []int
|
|
|
+// @param authUserIdList []int
|
|
|
// @param uniqueCode
|
|
|
// @param content string
|
|
|
// @param opUserId int
|
|
|
// @return err error
|
|
|
-func AddRecordBySourceAndDataIdList(source, subSource int, dataIdList []string, dataList []DataItem, addUserIdList []int, uniqueCode, content string, opUserId int) (err error) {
|
|
|
+func AddRecordBySourceAndDataIdList(source, subSource int, dataIdList []string, dataList []DataItem, noAuthUserIdList, authUserIdList []int, uniqueCode, content string, opUserId int) (err error) {
|
|
|
num := len(dataList)
|
|
|
if num <= 0 {
|
|
|
return
|
|
|
}
|
|
|
- userNum := len(addUserIdList)
|
|
|
+ userNum := len(noAuthUserIdList)
|
|
|
if userNum <= 0 {
|
|
|
return
|
|
|
}
|
|
@@ -84,15 +84,15 @@ func AddRecordBySourceAndDataIdList(source, subSource int, dataIdList []string,
|
|
|
|
|
|
addMessageList := make([]*DataPermissionMessage, 0)
|
|
|
addRecordList := make([]*DataPermissionNoAuthRecord, 0)
|
|
|
- for _, userId := range addUserIdList {
|
|
|
+ for _, userId := range noAuthUserIdList {
|
|
|
isAdd := false
|
|
|
|
|
|
tmpUserExistMap, userExistOk := existMap[int32(userId)]
|
|
|
|
|
|
- for _, dataitem := range dataList {
|
|
|
+ for _, dataItem := range dataList {
|
|
|
// 判断是否已经存在,已经存在就过滤
|
|
|
if userExistOk {
|
|
|
- key := fmt.Sprint(source, "_", subSource, "_", dataitem.DataId)
|
|
|
+ key := fmt.Sprint(source, "_", subSource, "_", dataItem.DataId)
|
|
|
_, ok := tmpUserExistMap[key]
|
|
|
if ok {
|
|
|
continue
|
|
@@ -105,9 +105,9 @@ func AddRecordBySourceAndDataIdList(source, subSource int, dataIdList []string,
|
|
|
Source: int32(source),
|
|
|
SubSource: int32(subSource),
|
|
|
OpUniqueCode: uniqueCode,
|
|
|
- DataId: dataitem.DataId,
|
|
|
- DataCode: dataitem.DataCode,
|
|
|
- DataName: dataitem.DataName,
|
|
|
+ DataId: dataItem.DataId,
|
|
|
+ DataCode: dataItem.DataCode,
|
|
|
+ DataName: dataItem.DataName,
|
|
|
SysUserId: int32(userId),
|
|
|
CreateTime: time.Now(),
|
|
|
})
|
|
@@ -131,6 +131,7 @@ func AddRecordBySourceAndDataIdList(source, subSource int, dataIdList []string,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ // 添加消息
|
|
|
if len(addMessageList) > 0 {
|
|
|
_, err = o.InsertMulti(500, addMessageList)
|
|
|
if err != nil {
|
|
@@ -138,6 +139,7 @@ func AddRecordBySourceAndDataIdList(source, subSource int, dataIdList []string,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ // 添加记录
|
|
|
if len(addRecordList) > 0 {
|
|
|
_, err = o.InsertMulti(500, addRecordList)
|
|
|
if err != nil {
|
|
@@ -145,6 +147,13 @@ func AddRecordBySourceAndDataIdList(source, subSource int, dataIdList []string,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ // 删除未授权记录
|
|
|
+ authUserIdNum := len(authUserIdList)
|
|
|
+ if authUserIdNum > 0 {
|
|
|
+ sql = `DELETE FROM data_permission_no_auth_record WHERE sys_user_id in (` + utils.GetOrmInReplace(authUserIdNum) + `) AND data_id in (` + utils.GetOrmInReplace(num) + `)`
|
|
|
+ _, err = o.Raw(sql, authUserIdList, dataIdList).Exec()
|
|
|
+ }
|
|
|
+
|
|
|
return
|
|
|
}
|
|
|
|