24 changed files with 1195 additions and 99 deletions
@ -0,0 +1 @@ |
|||||
|
package customerform |
||||
@ -0,0 +1,530 @@ |
|||||
|
package grantpowers |
||||
|
|
||||
|
import ( |
||||
|
"appPlatform/models/modelAppPlatform" |
||||
|
"appPlatform/models/modelshr" |
||||
|
"appPlatform/models/modelssystempermission" |
||||
|
"appPlatform/overall" |
||||
|
"appPlatform/overall/publicmethod" |
||||
|
"encoding/json" |
||||
|
"sort" |
||||
|
"strconv" |
||||
|
"strings" |
||||
|
"time" |
||||
|
|
||||
|
"github.com/gin-gonic/gin" |
||||
|
) |
||||
|
|
||||
|
/* |
||||
|
* |
||||
|
@ 作者: 秦东 |
||||
|
@ 时间: 2025-12-23 13:48:02 |
||||
|
@ 功能: 初始化App双轴选项卡 |
||||
|
*/ |
||||
|
func (a *ApiMethod) GetAppGroupo(c *gin.Context) { |
||||
|
var requestData AppConfig |
||||
|
err := c.ShouldBindJSON(&requestData) |
||||
|
if err != nil { |
||||
|
publicmethod.Result(100, err, c) |
||||
|
return |
||||
|
} |
||||
|
if requestData.PowerType == "" { |
||||
|
publicmethod.Result(1, requestData, c, "未知配权系统!不可进行配权") |
||||
|
return |
||||
|
} |
||||
|
powerId := publicmethod.TypeToInterface(requestData.PowerId) |
||||
|
if powerId == "" { |
||||
|
publicmethod.Result(1, requestData, c, "未知配权系统!不可进行配权") |
||||
|
return |
||||
|
} |
||||
|
|
||||
|
groupIsTrue, pickGroupAry := GainAppGroupAuth(requestData.PowerType, powerId) |
||||
|
|
||||
|
var groupInfo modelAppPlatform.CustomerFormGroup |
||||
|
groupAry, _ := groupInfo.ContMap("`state` = 1") |
||||
|
//进行排序
|
||||
|
sort.Slice(groupAry, func(i, j int) bool { |
||||
|
return groupAry[i].Sort < groupAry[j].Sort |
||||
|
}) |
||||
|
var groupList []AppGroupInfo |
||||
|
|
||||
|
for _, v := range groupAry { |
||||
|
groupId := strconv.FormatInt(v.Id, 10) |
||||
|
var groupCont AppGroupInfo |
||||
|
groupCont.Id = groupId //识别符
|
||||
|
groupCont.Name = v.Title //名称
|
||||
|
groupCont.ParentId = strconv.FormatInt(v.Superior, 10) //上级
|
||||
|
groupCont.IsPick = false |
||||
|
groupCont.IsTrue = publicmethod.IsInTrue[string](groupId, pickGroupAry) //是否选中
|
||||
|
groupList = append(groupList, groupCont) |
||||
|
} |
||||
|
sendGroupApp := publicmethod.MapOut[string]() |
||||
|
sendGroupApp["groupList"] = groupList |
||||
|
sendGroupApp["groupButPower"] = groupIsTrue |
||||
|
publicmethod.Result(0, sendGroupApp, c) |
||||
|
} |
||||
|
|
||||
|
/* |
||||
|
* |
||||
|
@ 作者: 秦东 |
||||
|
@ 时间: 2025-12-26 08:34:59 |
||||
|
@ 功能: 获取分组权限 |
||||
|
|
||||
|
#powerType 授权类型 |
||||
|
#systemKey 授权对象值 |
||||
|
*/ |
||||
|
func GainAppGroupAuth(powerType, systemKey string) (butAry, groupAry []string) { |
||||
|
var groupPower modelssystempermission.AuthGroupPower |
||||
|
groupPower.GetCont(map[string]interface{}{"`appType`": "app", "`orgPowerType`": powerType, "`orgOrUserKey`": systemKey}) |
||||
|
if groupPower.PowerInfo != "" { |
||||
|
json.Unmarshal([]byte(groupPower.PowerInfo), &butAry) |
||||
|
} |
||||
|
if groupPower.GroupStatus != "" { |
||||
|
json.Unmarshal([]byte(groupPower.GroupStatus), &groupAry) |
||||
|
} |
||||
|
if powerType == "person" && groupPower.Id == 0 { |
||||
|
//Step 1: 获取人员相关权限
|
||||
|
var userCont modelshr.PersonArchives |
||||
|
userCont.GetCont(map[string]interface{}{"`key`": systemKey}) |
||||
|
//Step 2: 获取相关角色
|
||||
|
var SystemRole []int64 |
||||
|
overall.CONSTANT_DB_System_Permission.Model(&modelssystempermission.SystemRole{}).Select("`id`").Where("`state` = 1 AND `types` = 1").Where("FIND_IN_SET(?, `roleuser`)", systemKey).Find(&SystemRole) |
||||
|
var roleIdAry []string |
||||
|
if userCont.Role != "" { |
||||
|
myRole := strings.Split(userCont.Role, ",") |
||||
|
roleIdAry = publicmethod.MergeStruct[string](myRole, roleIdAry) |
||||
|
} |
||||
|
for _, v := range SystemRole { |
||||
|
val := strconv.FormatInt(v, 10) |
||||
|
if !publicmethod.IsInTrue[string](val, roleIdAry) { |
||||
|
roleIdAry = append(roleIdAry, val) |
||||
|
} |
||||
|
} |
||||
|
if len(roleIdAry) > 0 { |
||||
|
var rolePowerAry []modelssystempermission.AuthGroupPower |
||||
|
overall.CONSTANT_DB_System_Permission.Where("`appType` = ? AND `orgPowerType` = ? AND `orgOrUserKey` IN ?", "app", "role", roleIdAry).Find(&rolePowerAry) |
||||
|
for _, v := range rolePowerAry { |
||||
|
if v.PowerInfo != "" { |
||||
|
var roleButAry []string |
||||
|
json.Unmarshal([]byte(v.PowerInfo), &roleButAry) |
||||
|
butAry = publicmethod.MergeStruct[string](roleButAry, butAry) |
||||
|
} |
||||
|
if v.GroupStatus != "" { |
||||
|
var roleGroupAry []string |
||||
|
json.Unmarshal([]byte(v.GroupStatus), &roleGroupAry) |
||||
|
groupAry = publicmethod.MergeStruct[string](roleGroupAry, groupAry) |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
//行政组织
|
||||
|
var groupPower modelssystempermission.AuthGroupPower |
||||
|
groupPower.GetCont(map[string]interface{}{"`appType`": "app", "`orgPowerType`": "org", "`orgOrUserKey`": systemKey}) |
||||
|
if groupPower.Id > 0 { |
||||
|
if groupPower.PowerInfo != "" { |
||||
|
var roleButAry []string |
||||
|
json.Unmarshal([]byte(groupPower.PowerInfo), &roleButAry) |
||||
|
butAry = publicmethod.MergeStruct[string](roleButAry, butAry) |
||||
|
} |
||||
|
if groupPower.GroupStatus != "" { |
||||
|
var roleGroupAry []string |
||||
|
json.Unmarshal([]byte(groupPower.GroupStatus), &roleGroupAry) |
||||
|
groupAry = publicmethod.MergeStruct[string](roleGroupAry, groupAry) |
||||
|
} |
||||
|
} else { |
||||
|
var allFirstOrgId publicmethod.GetOrgAllParent |
||||
|
orgId, _ := strconv.ParseInt(systemKey, 10, 64) |
||||
|
allFirstOrgId.GetOrgFirst(orgId) |
||||
|
if len(allFirstOrgId.Id) > 0 { |
||||
|
for _, v := range allFirstOrgId.Id { |
||||
|
var groupPowerFirst modelssystempermission.AuthGroupPower |
||||
|
groupPowerFirst.GetCont(map[string]interface{}{"`appType`": "app", "`orgPowerType`": "org", "`orgOrUserKey`": v}) |
||||
|
if groupPowerFirst.Id > 0 { |
||||
|
if groupPowerFirst.PowerInfo != "" { |
||||
|
var roleButAry []string |
||||
|
json.Unmarshal([]byte(groupPowerFirst.PowerInfo), &roleButAry) |
||||
|
butAry = publicmethod.MergeStruct[string](roleButAry, butAry) |
||||
|
} |
||||
|
if groupPowerFirst.GroupStatus != "" { |
||||
|
var roleGroupAry []string |
||||
|
json.Unmarshal([]byte(groupPowerFirst.GroupStatus), &roleGroupAry) |
||||
|
groupAry = publicmethod.MergeStruct[string](roleGroupAry, groupAry) |
||||
|
} |
||||
|
break |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
//职务
|
||||
|
var groupPowerPostst modelssystempermission.AuthGroupPower |
||||
|
groupPowerPostst.GetCont(map[string]interface{}{"`appType`": "app", "`orgPowerType`": "job", "`orgOrUserKey`": userCont.Position}) |
||||
|
if groupPowerPostst.PowerInfo != "" { |
||||
|
var roleButAry []string |
||||
|
json.Unmarshal([]byte(groupPowerPostst.PowerInfo), &roleButAry) |
||||
|
butAry = publicmethod.MergeStruct[string](roleButAry, butAry) |
||||
|
} |
||||
|
if groupPowerPostst.GroupStatus != "" { |
||||
|
var roleGroupAry []string |
||||
|
json.Unmarshal([]byte(groupPowerPostst.GroupStatus), &roleGroupAry) |
||||
|
groupAry = publicmethod.MergeStruct[string](roleGroupAry, groupAry) |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
return |
||||
|
} |
||||
|
|
||||
|
/* |
||||
|
* |
||||
|
@ 作者: 秦东 |
||||
|
@ 时间: 2025-12-24 13:38:13 |
||||
|
@ 功能: 根据分组获取App列表 |
||||
|
*/ |
||||
|
func (a *ApiMethod) GetGroupAppList(c *gin.Context) { |
||||
|
var requestData GetGroupAppList |
||||
|
c.ShouldBindJSON(&requestData) |
||||
|
if requestData.PowerType == "" { |
||||
|
publicmethod.Result(1, requestData, c, "未知配权系统!不可进行配权") |
||||
|
return |
||||
|
} |
||||
|
|
||||
|
if requestData.RoleId == "" { |
||||
|
publicmethod.Result(1, requestData, c, "未知配权系统!不可进行配权") |
||||
|
return |
||||
|
} |
||||
|
if requestData.Group == "" { |
||||
|
publicmethod.Result(1, requestData, c, "未知配权系统分组!不可进行配权") |
||||
|
return |
||||
|
} |
||||
|
list := GetGroupAppListIng(requestData.Group, requestData.PowerType, "app", requestData.RoleId) |
||||
|
publicmethod.Result(0, list, c) |
||||
|
} |
||||
|
|
||||
|
/* |
||||
|
* |
||||
|
@ 作者: 秦东 |
||||
|
@ 时间: 2025-12-17 11:08:15 |
||||
|
@ 功能: 获取分组App |
||||
|
*/ |
||||
|
// func (a *AppGroupInfo) GetGroupApp() {
|
||||
|
func GetGroupAppListIng(uuId, powerType, appType, powerId string) (appAry []AppInfoPower) { |
||||
|
// defer syncSeting.Done()
|
||||
|
var appList []modelAppPlatform.CustomerForm |
||||
|
overall.CONSTANT_DB_AppPlatform.Model(&modelAppPlatform.CustomerForm{}).Select("`id`,`signCode` ,`name`,`tablename`").Where("`classify` = 3 AND `states` = 1 AND `groupid` = ?", uuId).Find(&appList) |
||||
|
for _, v := range appList { |
||||
|
// fmt.Printf("获取分组App----->%v----->%v\n\n", a.Id, len(appList))
|
||||
|
|
||||
|
var appCont AppInfoPower |
||||
|
appCont.Id = strconv.FormatInt(v.SignCode, 10) //识别符
|
||||
|
appCont.Name = v.Name //名称
|
||||
|
appCont.ParentId = strconv.FormatInt(v.Groupid, 10) //上级
|
||||
|
appCont.IsPick = false |
||||
|
|
||||
|
appCont.IsTrue, appCont.OperationButton, _ = AppCallBackShow(v.SignCode, powerType, appType, powerId) //是否选中
|
||||
|
if len(appCont.OperationButton) < 1 { |
||||
|
appCont.OperationButton = []string{} |
||||
|
} |
||||
|
if len(appCont.AppMenuTree) < 1 { |
||||
|
appCont.AppMenuTree = []AppMenuTreeInit{} |
||||
|
} |
||||
|
appAry = append(appAry, appCont) |
||||
|
} |
||||
|
|
||||
|
return |
||||
|
} |
||||
|
|
||||
|
/* |
||||
|
* |
||||
|
@ 作者: 秦东 |
||||
|
@ 时间: 2025-12-24 15:39:54 |
||||
|
@ 功能: 获取app菜单 |
||||
|
*/ |
||||
|
func (a *ApiMethod) GetAppMenuList(c *gin.Context) { |
||||
|
var requestData GetGroupAppList |
||||
|
c.ShouldBindJSON(&requestData) |
||||
|
if requestData.PowerType == "" { |
||||
|
publicmethod.Result(1, requestData, c, "未知配权系统!不可进行配权") |
||||
|
return |
||||
|
} |
||||
|
|
||||
|
if requestData.RoleId == "" { |
||||
|
publicmethod.Result(1, requestData, c, "未知配权系统!不可进行配权") |
||||
|
return |
||||
|
} |
||||
|
if requestData.AppId == "" { |
||||
|
publicmethod.Result(1, requestData, c, "未知配权App!不可进行配权") |
||||
|
return |
||||
|
} |
||||
|
|
||||
|
var menuList []modelAppPlatform.Appmenus |
||||
|
err := overall.CONSTANT_DB_AppPlatform.Where("`state` = 1 AND `isLock` = 2 AND `appkey` = ?", requestData.AppId).Find(&menuList).Error |
||||
|
if err != nil { |
||||
|
return |
||||
|
} |
||||
|
sort.Slice(menuList, func(i, j int) bool { |
||||
|
return menuList[i].EditTime < menuList[j].EditTime |
||||
|
}) |
||||
|
sort.Slice(menuList, func(i, j int) bool { |
||||
|
return menuList[i].Sort < menuList[j].Sort |
||||
|
}) |
||||
|
key, _ := strconv.ParseInt(requestData.AppId, 10, 64) |
||||
|
// list := AppTreeMenusnOne(key, menuList)
|
||||
|
var authId []int64 |
||||
|
switch requestData.PowerType { |
||||
|
case "role": |
||||
|
var authPower modelssystempermission.AuthPower |
||||
|
authPower.GetCont(map[string]interface{}{"`appType`": "app", "`orgPowerType`": requestData.PowerType, "`orgOrUserKey`": requestData.RoleId, "`appKey`": requestData.AppId}, "`id`", "`isTrue`", "`appButPower`") |
||||
|
if authPower.Id != 0 { |
||||
|
authId = append(authId, authPower.Id) |
||||
|
} |
||||
|
case "org": |
||||
|
var authPower modelssystempermission.AuthPower |
||||
|
authPower.GetCont(map[string]interface{}{"`appType`": "app", "`orgPowerType`": requestData.PowerType, "`orgOrUserKey`": requestData.RoleId, "`appKey`": requestData.AppId}, "`id`", "`isTrue`", "`appButPower`") |
||||
|
if authPower.Id != 0 { |
||||
|
authId = append(authId, authPower.Id) |
||||
|
} else { |
||||
|
orgIdInt, _ := strconv.ParseInt(requestData.RoleId, 10, 64) |
||||
|
var allFirstOrgId publicmethod.GetOrgAllParent |
||||
|
allFirstOrgId.GetOrgFirst(orgIdInt) |
||||
|
if len(allFirstOrgId.Id) > 0 { |
||||
|
for _, v := range allFirstOrgId.Id { |
||||
|
if v != 0 { |
||||
|
var authPowerIng modelssystempermission.AuthPower |
||||
|
authPowerIng.GetCont(map[string]interface{}{"`appType`": "app", "`orgPowerType`": requestData.PowerType, "`orgOrUserKey`": v, "`appKey`": requestData.AppId}, "`id`", "`isTrue`", "`appButPower`") |
||||
|
if authPower.Id != 0 { |
||||
|
authId = append(authId, authPowerIng.Id) |
||||
|
break |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
case "job": |
||||
|
var authPower modelssystempermission.AuthPower |
||||
|
authPower.GetCont(map[string]interface{}{"`appType`": "app", "`orgPowerType`": requestData.PowerType, "`orgOrUserKey`": requestData.RoleId, "`appKey`": requestData.AppId}, "`id`", "`isTrue`", "`appButPower`") |
||||
|
if authPower.Id != 0 { |
||||
|
authId = append(authId, authPower.Id) |
||||
|
} |
||||
|
case "person": |
||||
|
var authPower modelssystempermission.AuthPower |
||||
|
authPower.GetCont(map[string]interface{}{"`appType`": "app", "`orgPowerType`": requestData.PowerType, "`orgOrUserKey`": requestData.RoleId, "`appKey`": requestData.AppId}, "`id`", "`isTrue`", "`appButPower`") |
||||
|
if authPower.Id != 0 { |
||||
|
authId = append(authId, authPower.Id) |
||||
|
} else { |
||||
|
appType := "app" |
||||
|
appId, _ := strconv.ParseInt(requestData.AppId, 10, 64) |
||||
|
var authPower GainAppPowerTop |
||||
|
//角色
|
||||
|
syncSeting.Add(1) |
||||
|
go authPower.HaveAppAuthPower(appId, "role", appType, requestData.RoleId) |
||||
|
//行政组织
|
||||
|
syncSeting.Add(1) |
||||
|
go authPower.HaveAppAuthPower(appId, "org", appType, requestData.RoleId) |
||||
|
syncSeting.Wait() |
||||
|
//岗位
|
||||
|
syncSeting.Add(1) |
||||
|
go authPower.HaveAppAuthPower(appId, "job", appType, requestData.RoleId) |
||||
|
syncSeting.Wait() |
||||
|
if len(authPower.List) > 0 { |
||||
|
for _, v := range authPower.List { |
||||
|
if v.IsTrue == 1 { |
||||
|
authId = append(authId, v.Id) |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
default: |
||||
|
} |
||||
|
|
||||
|
menuTree := AppTreeMenus(key, authId, menuList) |
||||
|
publicmethod.Result(0, menuTree, c) |
||||
|
} |
||||
|
|
||||
|
/* |
||||
|
* |
||||
|
@ 作者: 秦东 |
||||
|
@ 时间: 2024-04-23 13:42:51 |
||||
|
@ 功能: App菜单树处理 |
||||
|
*/ |
||||
|
func AppTreeMenusnOne(parentId int64, menuList []modelAppPlatform.Appmenus) (menusTree []AppMenuTreeInit) { |
||||
|
for _, v := range menuList { |
||||
|
if v.Parent == parentId { |
||||
|
var menuCont AppMenuTreeInit |
||||
|
menuCont.Id = strconv.FormatInt(v.Id, 10) //
|
||||
|
menuCont.Name = v.Label //名称
|
||||
|
menuCont.ParentId = strconv.FormatInt(v.Parent, 10) //上级
|
||||
|
menuCont.AppKey = strconv.FormatInt(v.Appkey, 10) |
||||
|
menuCont.IsPick = false //是否激活
|
||||
|
menuCont.IsTrue = false //是否选中
|
||||
|
menuCont.MenuType = v.Types |
||||
|
|
||||
|
menuCont.FormPower = []string{} |
||||
|
menuCont.ListPower = []string{} |
||||
|
menuCont.PagePower = []string{} |
||||
|
|
||||
|
menuCont.VisibleRange.Types = 1 |
||||
|
menuCont.VisibleRange.Attribute = []int64{} |
||||
|
menuCont.Children = AppTreeMenusnOne(v.Id, menuList) |
||||
|
menusTree = append(menusTree, menuCont) |
||||
|
} |
||||
|
} |
||||
|
return |
||||
|
} |
||||
|
|
||||
|
/* |
||||
|
* |
||||
|
@ 作者: 秦东 |
||||
|
@ 时间: 2025-12-26 15:54:30 |
||||
|
@ 功能: 分组授权 |
||||
|
*/ |
||||
|
func (a *ApiMethod) AppGroupPowerConfig(c *gin.Context) { |
||||
|
var requestData ConfigSetupGroup |
||||
|
c.ShouldBindJSON(&requestData) |
||||
|
if requestData.PowerType == "" { |
||||
|
publicmethod.Result(1, requestData, c, "未知配权系统!不可进行配权") |
||||
|
return |
||||
|
} |
||||
|
|
||||
|
if requestData.PowerId == "" { |
||||
|
publicmethod.Result(1, requestData, c, "未知配权系统!不可进行配权") |
||||
|
return |
||||
|
} |
||||
|
powerInfo, jsonErr := json.Marshal(requestData.GroupButPower) |
||||
|
|
||||
|
var groupInfo modelssystempermission.AuthGroupPower |
||||
|
groupInfo.GetCont(map[string]interface{}{"`appType`": "app", "`orgPowerType`": requestData.PowerType, "`orgOrUserKey`": requestData.PowerId}) |
||||
|
if groupInfo.Id != 0 { |
||||
|
saveData := publicmethod.MapOut[string]() |
||||
|
if jsonErr == nil { |
||||
|
saveData["powerInfo"] = string(powerInfo) |
||||
|
} else { |
||||
|
saveData["powerInfo"] = "[]" |
||||
|
} |
||||
|
saveData["`time`"] = time.Now().Unix() |
||||
|
var saveInfo modelssystempermission.AuthGroupPower |
||||
|
saveInfo.EiteCont(map[string]interface{}{"`id`": groupInfo.Id}, saveData) |
||||
|
} else { |
||||
|
uuid := publicmethod.GetUUid(1) |
||||
|
powerId := publicmethod.TypeToInterface(requestData.PowerId) |
||||
|
var saveGroupPower modelssystempermission.AuthGroupPower |
||||
|
saveGroupPower.Id = uuid |
||||
|
saveGroupPower.AppType = "app" |
||||
|
saveGroupPower.OrgPowerType = requestData.PowerType |
||||
|
saveGroupPower.OrgOrUserKey, _ = strconv.ParseInt(powerId, 10, 64) |
||||
|
saveGroupPower.Time = time.Now().Unix() |
||||
|
saveGroupPower.PowerInfo = string(powerInfo) |
||||
|
saveGroupPower.GroupStatus = "[]" |
||||
|
overall.CONSTANT_DB_System_Permission.Create(&saveGroupPower) |
||||
|
} |
||||
|
publicmethod.Result(0, groupInfo, c) |
||||
|
} |
||||
|
|
||||
|
/* |
||||
|
* |
||||
|
@ 作者: 秦东 |
||||
|
@ 时间: 2025-12-27 08:13:42 |
||||
|
@ 功能: 写入App及相关菜单权限 |
||||
|
*/ |
||||
|
func (a *ApiMethod) AppPowerConfig(c *gin.Context) { |
||||
|
var requestData AppMenuPower |
||||
|
c.ShouldBindJSON(&requestData) |
||||
|
if requestData.PowerType == "" { |
||||
|
publicmethod.Result(1, requestData, c, "未知配权系统!不可进行配权") |
||||
|
return |
||||
|
} |
||||
|
|
||||
|
if requestData.PowerId == "" { |
||||
|
publicmethod.Result(1, requestData, c, "未知配权系统!不可进行配权") |
||||
|
return |
||||
|
} |
||||
|
if requestData.AppId == "" { |
||||
|
publicmethod.Result(1, requestData, c, "未知配权应用!不可进行配权") |
||||
|
return |
||||
|
} |
||||
|
appPowerJson, _ := json.Marshal(requestData.MenuList) |
||||
|
appType := "app" |
||||
|
uuid := publicmethod.GetUUid(1) |
||||
|
var appPowerInfo modelssystempermission.AuthPower |
||||
|
appPowerInfo.GetCont(map[string]interface{}{"`appType`": appType, "`orgPowerType`": requestData.PowerType, "`orgOrUserKey`": requestData.PowerId, "`appKey`": requestData.AppId}, "`id`", "`isTrue`", "`appButPower`") |
||||
|
if appPowerInfo.Id == 0 { //新增
|
||||
|
var newAppPowerInfo modelssystempermission.AuthPower |
||||
|
newAppPowerInfo.Id = uuid |
||||
|
newAppPowerInfo.OrgPowerType = requestData.PowerType |
||||
|
newAppPowerInfo.OrgOrUserKey, _ = strconv.ParseInt(requestData.PowerId, 10, 64) |
||||
|
newAppPowerInfo.AppType = appType |
||||
|
newAppPowerInfo.AppKey, _ = strconv.ParseInt(requestData.AppId, 10, 64) |
||||
|
newAppPowerInfo.Time = time.Now().Unix() |
||||
|
if requestData.AppIsTrue { |
||||
|
newAppPowerInfo.IsTrue = 1 //1:有;非1:无)
|
||||
|
} else { |
||||
|
newAppPowerInfo.IsTrue = 0 |
||||
|
} |
||||
|
newAppPowerInfo.PowerInfo = string(appPowerJson) |
||||
|
operAtionBut, _ := json.Marshal(requestData.AppPower) |
||||
|
newAppPowerInfo.AppButPower = string(operAtionBut) |
||||
|
overall.CONSTANT_DB_System_Permission.Create(&newAppPowerInfo) |
||||
|
var oldPower modelssystempermission.PowerInfo |
||||
|
oldPower.DelCont(map[string]interface{}{"`authId`": uuid}) |
||||
|
var menuPowList AppMenuAry |
||||
|
menuPowList.List = []AppMenuInfo{} |
||||
|
menuPowList.AppMenuTreeSubNew(requestData.MenuList, uuid) |
||||
|
} else { //编辑
|
||||
|
uuid = appPowerInfo.Id |
||||
|
saveData := publicmethod.MapOut[string]() |
||||
|
saveData["powerInfo"] = string(appPowerJson) |
||||
|
if requestData.AppIsTrue { |
||||
|
saveData["isTrue"] = 1 |
||||
|
} else { |
||||
|
saveData["isTrue"] = 0 |
||||
|
} |
||||
|
operAtionBut, _ := json.Marshal(requestData.AppPower) |
||||
|
saveData["appButPower"] = string(operAtionBut) |
||||
|
saveData["time"] = time.Now().Unix() |
||||
|
var saveAppPowerInfo modelssystempermission.AuthPower |
||||
|
saveAppPowerInfo.EiteCont(map[string]interface{}{"`id`": appPowerInfo.Id}, saveData) |
||||
|
var oldPower modelssystempermission.PowerInfo |
||||
|
oldPower.DelCont(map[string]interface{}{"`authId`": appPowerInfo.Id}) |
||||
|
var menuPowList AppMenuAry |
||||
|
menuPowList.List = []AppMenuInfo{} |
||||
|
menuPowList.AppMenuTreeSubNew(requestData.MenuList, appPowerInfo.Id) |
||||
|
} |
||||
|
AppGroupJudje(appType, requestData.PowerType, requestData.PowerId, requestData.GroupList) |
||||
|
publicmethod.Result(0, requestData, c) |
||||
|
} |
||||
|
|
||||
|
/* |
||||
|
* |
||||
|
@ 作者: 秦东 |
||||
|
@ 时间: 2026-01-10 11:42:57 |
||||
|
@ 功能: 处理App分组 |
||||
|
*/ |
||||
|
func AppGroupJudje(appType, powerType, powerId string, groupList []AppInfoPower) { |
||||
|
var groupIdAry []string |
||||
|
for _, v := range groupList { |
||||
|
if v.IsTrue { |
||||
|
groupIdAry = append(groupIdAry, v.Id) |
||||
|
} |
||||
|
} |
||||
|
groupIdAryJson, _ := json.Marshal(groupIdAry) |
||||
|
var authGroupInfo modelssystempermission.AuthGroupPower |
||||
|
authGroupInfo.GetCont(map[string]interface{}{"`appType`": appType, "`orgPowerType`": powerType, "`orgOrUserKey`": powerId}) |
||||
|
if authGroupInfo.Id != 0 { |
||||
|
saveData := publicmethod.MapOut[string]() |
||||
|
saveData["groupStatus"] = string(groupIdAryJson) |
||||
|
saveData["`time`"] = time.Now().Unix() |
||||
|
var newAuthGroupInfo modelssystempermission.AuthGroupPower |
||||
|
newAuthGroupInfo.EiteCont(map[string]interface{}{"`id`": authGroupInfo.Id}, saveData) |
||||
|
} else { |
||||
|
powerIdInt, _ := strconv.ParseInt(powerId, 10, 64) |
||||
|
var addInfo modelssystempermission.AuthGroupPower |
||||
|
addInfo.Id = publicmethod.GetUUid(1) |
||||
|
addInfo.AppType = appType |
||||
|
addInfo.OrgPowerType = powerType |
||||
|
addInfo.OrgOrUserKey = powerIdInt |
||||
|
addInfo.Time = time.Now().Unix() |
||||
|
addInfo.PowerInfo = "[]" |
||||
|
addInfo.GroupStatus = string(groupIdAryJson) |
||||
|
overall.CONSTANT_DB_System_Permission.Create(&addInfo) |
||||
|
} |
||||
|
} |
||||
Loading…
Reference in new issue