| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- package task
- import (
- "context"
- "go.uber.org/zap"
- "log-server/global"
- "log-server/model/rentComputer"
- )
- type ServiceRegularTask struct {
- }
- const OnlinePcCode = "Online:PcCode"
- func (s *ServiceRegularTask) OnlinePcCodeUpdateCache() {
- ctx := context.Background()
- isNull, err := global.GVA_REDIS.Exists(ctx, OnlinePcCode).Result()
- mps := map[string]string{}
- if isNull != 0 {
- mps, err = global.GVA_REDIS.HGetAll(ctx, OnlinePcCode).Result()
- if err != nil {
- global.GVA_LOG.Error("OnlinePcCodeUpdateCache获取表失败", zap.Error(err))
- return
- }
- }
- var computers []*rentComputer.RentComputer
- err = global.GVA_DB.Where("is_off_shelf = ?", 0).Find(&computers).Error
- if err != nil {
- global.GVA_LOG.Error("OnlinePcCodeUpdateCache获取表失败", zap.Error(err))
- return
- }
- if len(computers) == 0 {
- return
- }
- var mp = map[string]string{}
- for _, pc := range computers {
- mp[pc.PcNum] = pc.DirectorName
- if _, ok := mps[pc.PcNum]; ok {
- delete(mps, pc.PcNum)
- }
- }
- err = global.GVA_REDIS.HSet(ctx, OnlinePcCode, mp).Err()
- if err != nil {
- global.GVA_LOG.Error("OnlinePcCodeUpdateCache更新缓存失败", zap.Error(err))
- return
- }
- if mps != nil {
- for code, _ := range mps {
- global.GVA_REDIS.HDel(ctx, OnlinePcCode, code)
- }
- }
- return
- }
|