Files
tianrunCRM/Assets/trCRM/upgradeRes4Dev/priority/lua/db/DBUser.lua

140 lines
3.4 KiB
Lua
Raw Normal View History

2020-07-04 14:41:25 +08:00
---@class _DBUser
---@field loginNo
---@field loginName
---@field groupId
---@field imageUrl string 头像
DBUser = {}
local db = {}
2020-07-10 13:22:24 +08:00
local icons = {}
local poplist = {}
2020-07-28 21:02:59 +08:00
local rolePermission = {}
2020-07-10 13:22:24 +08:00
2020-07-24 22:12:55 +08:00
DBUser.FilterGroup = {
user = "user",
group = "group"
}
2020-07-28 21:02:59 +08:00
function DBUser.onGetUsers(list, groupList, permissions)
2020-07-24 22:12:55 +08:00
local options = ArrayList()
local values = ArrayList()
db.filters = {}
local name
db.filters[DBUser.FilterGroup.user] = {}
2020-07-04 14:41:25 +08:00
for i, v in ipairs(list) do
2020-07-21 22:50:03 +08:00
if v.loginName == "系统生成" then
2020-07-24 22:12:55 +08:00
name = joinStr(v.loginNo, "_", v.loginName)
2020-07-21 22:50:03 +08:00
else
2020-07-24 22:12:55 +08:00
name = joinStr(v.loginName)
2020-07-21 22:50:03 +08:00
end
2020-07-24 22:12:55 +08:00
table.insert(db.filters[DBUser.FilterGroup.user], {name = name, value = v.loginNo})
db[v.loginNo] = v
options:Add(name)
values:Add(v.loginNo)
2020-07-04 14:41:25 +08:00
end
2020-07-24 22:12:55 +08:00
poplist[DBUser.FilterGroup.user] = {
options = options,
values = values
}
--------------------------------------------
local options = ArrayList()
local values = ArrayList()
db.filters[DBUser.FilterGroup.group] = {}
2020-07-28 21:02:59 +08:00
for i, v in ipairs(groupList or {}) do
2020-07-24 22:12:55 +08:00
table.insert(db.filters[DBUser.FilterGroup.group], {name = v.name, value = v.id})
options:Add(v.name)
values:Add(v.id)
end
poplist[DBUser.FilterGroup.group] = {
options = options,
values = values
}
2020-07-28 21:02:59 +08:00
--------------------------------------------
rolePermission = {}
for i, v in ipairs(permissions) do
rolePermission[v] = true
end
2020-07-24 22:12:55 +08:00
end
function DBUser.getFilters(group)
return db.filters[group]
2020-07-04 14:41:25 +08:00
end
2020-07-24 22:12:55 +08:00
function DBUser.getPopList(group)
return poplist[group]
2020-07-10 13:22:24 +08:00
end
2020-07-14 22:04:03 +08:00
---@return _DBUser
2020-07-04 14:41:25 +08:00
function DBUser.getUserById(loginNo)
2020-07-15 20:53:37 +08:00
local user = db[loginNo]
2020-07-11 17:07:30 +08:00
if user == nil then
printe("get user is nil=", loginNo)
end
return user
2020-07-04 14:41:25 +08:00
end
2020-07-10 13:22:24 +08:00
function DBUser.getIcon(loginNo, callback)
---@type _DBUser
local user = DBUser.getUserById(loginNo)
if user == nil or isNilOrEmpty(user.imageUrl) then
Utl.doCallback(callback, nil)
return
end
if icons[user.imageUrl] then
Utl.doCallback(callback, icons[user.imageUrl])
return
end
WWWEx.get(
user.imageUrl,
nil,
CLAssetType.texture,
function(content, orgs)
content.name = user.imageUrl
icons[user.imageUrl] = content
Utl.doCallback(callback, content)
end,
function()
printe("取得头像失败")
end,
nil,
true,
2
)
end
2020-07-28 21:02:59 +08:00
---public 是否有权限
function DBUser.hadPermission(key)
return rolePermission[key] or false
end
2020-07-28 21:51:28 +08:00
function DBUser.isWhiteUser(userName, callback)
if isNilOrEmpty(userName) then
Utl.doCallback(callback, false)
return false
end
if DBUser.whiteNames == nil then
local url = Utl.urlAddTimes(joinStr(CLVerManager.self.baseUrl, "/whitList.json"))
WWWEx.get(
url,
CLAssetType.text,
function(content)
DBUser.whiteNames = json.decode(content)
Utl.doCallback(callback, DBUser.whiteNames[userName])
end,
function()
Utl.doCallback(callback, false)
end,
nil,
true,
1
)
return false
else
Utl.doCallback(callback, DBUser.whiteNames[userName])
return DBUser.whiteNames[userName]
end
end
2020-07-04 14:41:25 +08:00
return DBUser