package publicmethod import ( "appPlatform/middleware/grocerystore" "appPlatform/models/modelshr" "appPlatform/overall" "encoding/json" "fmt" "strconv" ) /* * @ 作者: 秦东 @ 时间: 2025-11-26 14:04:11 @ 功能: 设置权限Redis */ func SetupPowerInfo(userKey int64, powerInfo string) { redisFileKey := fmt.Sprintf("SystemPower:AllPower_%v_%v", overall.CONSTANT_CONFIG.RedisPrefixStr.Alias, userKey) redisClient := grocerystore.RunRedis(overall.CONSTANT_REDIS4) redisClient.SetRedisTime(86400) redisClient.Set(redisFileKey, powerInfo) } /* * @ 作者: 秦东 @ 时间: 2025-11-26 14:08:15 @ 功能: 获取权限 */ func GetSystemPowerInfo(userKey int64, key ...int) (powerInfo SendAllPower) { if len(key) > 0 { var myContInfo modelshr.ManCont myContInfo.GetCont(map[string]interface{}{"`key`": userKey}) AllPowerConfig, _ := GetMyPowerPusr("person", myContInfo.Role, myContInfo.Key, myContInfo.AdminOrg, myContInfo.Position) writeRedisData, _ := json.Marshal(AllPowerConfig) // fmt.Printf("\n\n------------writeRedisData----------->%v\n\n", string(writeRedisData)) SetupPowerInfo(myContInfo.Key, string(writeRedisData)) json.Unmarshal(writeRedisData, &powerInfo) } else { redisFileKey := fmt.Sprintf("SystemPower:AllPower_%v_%v", overall.CONSTANT_CONFIG.RedisPrefixStr.Alias, userKey) redisClient := grocerystore.RunRedis(overall.CONSTANT_REDIS4) isTrue, powerStr := redisClient.Get(redisFileKey) // fmt.Printf("\n\n获取权限------GetSystemPowerInfo---------->%v\n\n\n\n", isTrue) if isTrue { json.Unmarshal([]byte(powerStr), &powerInfo) } else { var myContInfo modelshr.ManCont myContInfo.GetCont(map[string]interface{}{"`key`": userKey}) AllPowerConfig, _ := GetMyPowerPusr("person", myContInfo.Role, myContInfo.Key, myContInfo.AdminOrg, myContInfo.Position) writeRedisData, _ := json.Marshal(AllPowerConfig) // fmt.Printf("\n\n------------writeRedisData----------->%v\n\n", string(writeRedisData)) SetupPowerInfo(myContInfo.Key, string(writeRedisData)) json.Unmarshal(writeRedisData, &powerInfo) } } return } /* * @ 作者: 秦东 @ 时间: 2025-11-27 15:21:00 @ 功能: 获取我的菜单权限 */ func GetMyMenuPower(userKey int64, menuId string) (menuPower SystemInfoPower) { myPower := GetSystemPowerInfo(userKey) for _, v := range myPower.SystemPower { if v.AppId == menuId { menuPower = v } } return } func GetMyMenuPowerNew(userKey int64, menuId string, key int) (menuPower SystemInfoPower) { myPower := GetSystemPowerInfo(userKey, key) for _, v := range myPower.SystemPower { if v.AppId == menuId { menuPower = v } } return } /* * @ 作者: 秦东 @ 时间: 2025-12-10 13:31:59 @ 功能: 获取自定义应用表单权限 */ func GetMyTableMenuPower(userKey int64, menuId string) (menuPower SendAppTabelPower) { myPower := GetSystemPowerInfo(userKey) for _, v := range myPower.AppSystemPower { if v.AppId == menuId { menuPower.FormPower = v.FormPower menuPower.FormTrue = v.FormTrue menuPower.ButPower = v.ButPower } } return } /* * @ 作者: 秦东 @ 时间: 2025-12-12 15:35:29 @ 功能: 获取自定义应用具体单一表单权限 */ func GetMyFormPower(userKey, appKey, formKey int64) (menuPower AppMyPowerTable) { appKeyStr := strconv.FormatInt(appKey, 10) formKeyStr := strconv.FormatInt(formKey, 10) myPower := GetSystemPowerInfo(userKey) for _, v := range myPower.AppSystemPower { if v.AppId == appKeyStr { for _, fv := range v.FormPower { if fv.AppId == formKeyStr { menuPower = fv } } } } return }