|
@@ -21,6 +21,7 @@ const (
|
|
|
UserPowerRedisKey = "jy_userpowerredis_%s_%d_%s"
|
|
|
UserRegisterTime = "jy_userregistertime_%s"
|
|
|
UserPowerEndTime = "jy_user_power_end_time_%s"
|
|
|
+ CheckEntKK = "check_ent_kk_%s"
|
|
|
)
|
|
|
|
|
|
type UserInfo struct {
|
|
@@ -288,6 +289,11 @@ func ClearUserPowerFunc(positionId, appId string) bool {
|
|
|
}
|
|
|
//用户权限缓存
|
|
|
redis.Del(RedisCode, fmt.Sprintf(UserPowerRedisKey, appId, time.Now().Day(), v))
|
|
|
+ //企业关联缓存
|
|
|
+ entCacheKey := redis.GetStr(RedisCode, fmt.Sprintf(CheckEntKK, positionId))
|
|
|
+ if entCacheKey != "" {
|
|
|
+ redis.Del(RedisCode, entCacheKey)
|
|
|
+ }
|
|
|
}
|
|
|
return true
|
|
|
}
|
|
@@ -414,8 +420,9 @@ func (m *WorkDesktopMenu) CheckCapitalResources(menu *JYMenu, b, p bool, pUrl st
|
|
|
if usable {
|
|
|
//企业信息验证
|
|
|
if menu.CheckEnt > 0 {
|
|
|
- var GetCheckEntInfo = func(menuId, entId int64) (menuEntInfo MenuEntInfo) {
|
|
|
- checkEntKey := fmt.Sprintf("check_ent_key_%d_%d", menuId, entId)
|
|
|
+ usable = false
|
|
|
+ var GetCheckEntInfo = func(menuId, entId, deptId, positionId int64) (menuEntInfo MenuEntInfo) {
|
|
|
+ checkEntKey := fmt.Sprintf("check_ent_key_%d_%d_%d", menuId, entId, deptId)
|
|
|
cb, ce := redis.GetBytes(RedisCode, checkEntKey)
|
|
|
if ce == nil && len(*cb) > 0 {
|
|
|
ce = json.Unmarshal(*cb, &menuEntInfo)
|
|
@@ -431,6 +438,8 @@ func (m *WorkDesktopMenu) CheckCapitalResources(menu *JYMenu, b, p bool, pUrl st
|
|
|
err = json.Unmarshal(mb, &menuEntInfo)
|
|
|
if err == nil {
|
|
|
err = redis.PutBytes(RedisCode, checkEntKey, &mb, 4*60*60)
|
|
|
+ // 缓存key
|
|
|
+ redis.Put(RedisCode, fmt.Sprintf(CheckEntKK, strconv.FormatInt(positionId, 10)), checkEntKey, 5*60*60)
|
|
|
}
|
|
|
}
|
|
|
if err != nil {
|
|
@@ -440,9 +449,8 @@ func (m *WorkDesktopMenu) CheckCapitalResources(menu *JYMenu, b, p bool, pUrl st
|
|
|
}
|
|
|
return
|
|
|
}
|
|
|
- mei := GetCheckEntInfo(int64(menu.Id), m.EntId)
|
|
|
+ mei := GetCheckEntInfo(int64(menu.Id), m.EntId, m.EntDeptId, m.PositionId)
|
|
|
if mei.EntId > 0 {
|
|
|
- usable = false
|
|
|
var moldFunc = func() {
|
|
|
switch mei.Mold {
|
|
|
case 0:
|