| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- package common
- import (
- "context"
- "fmt"
- "dashoo.cn/common_definition/admin/dict_def"
- "dashoo.cn/common_definition/admin/permission_def"
- "dashoo.cn/micro_libary/micro_srv"
- )
- func Dict(tenant, code string) ([]*dict_def.DictData, error) {
- dictService := micro_srv.InitMicroSrvClient("Dict", "micro_srv.admin")
- defer dictService.Close()
- rsp := &dict_def.DictDataResp{}
- err := dictService.Call(context.TODO(), "GetDictDataByType", &dict_def.DictReq{
- Tenant: tenant,
- DictCode: code,
- }, rsp)
- if err != nil {
- return nil, fmt.Errorf("获取字典失败 %s %s", code, err.Error())
- }
- return rsp.List, nil
- }
- func DictAsMap(tenant, code string) (map[string]string, error) {
- data, err := Dict(tenant, code)
- if err != nil {
- return nil, err
- }
- m := map[string]string{}
- for _, v := range data {
- m[v.Key] = v.Value
- }
- return m, nil
- }
- func Allow(tenant, uuid, permission string) (bool, error) {
- permissionSrv := micro_srv.InitMicroSrvClient("Permission", "micro_srv.admin")
- defer permissionSrv.Close()
- rsp := &permission_def.PermissionResp{}
- err := permissionSrv.Call(context.TODO(), "GetAllPermissionByUser", &permission_def.UuidReq{
- Tenant: tenant,
- Uuid: uuid,
- }, rsp)
- if err != nil {
- return false, fmt.Errorf("获取权限失败 %s", err.Error())
- }
- for _, p := range rsp.UserPermissions {
- if p == permission {
- return true, nil
- }
- }
- return false, nil
- }
|