| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- package redis
- import (
- "context"
- "encoding/json"
- "fmt"
- "fwh-toolbox-server/cache"
- "fwh-toolbox-server/domain"
- "time"
- rds "github.com/redis/go-redis/v9"
- )
- var (
- emsparaCtx = context.Background()
- emsparaKeyPrefix = "fwhtoolbox:emspara:"
- emsparaVidKey = emsparaKeyPrefix + "VID"
- emsparaPidKey = emsparaKeyPrefix + "PID"
- )
- func UpdateEmspara(vidMacros []domain.ParamsVidMacroModel, pidMacros []domain.ParamsPidMacroModel) error {
- ctx, cancel := context.WithTimeout(emsparaCtx, 5*time.Second)
- defer cancel()
- _, err := cache.Pipeline(ctx, func(p rds.Pipeliner) error {
- p.Del(ctx, emsparaVidKey) // 清空VID原数据
- p.Del(ctx, emsparaPidKey) // 清空PID原数据
- // 插入VID数据
- for _, m := range vidMacros {
- val, err := json.Marshal(map[string]string{
- "name": m.MacroName,
- "desc": m.Description,
- })
- if err != nil {
- return err
- }
- p.HSet(ctx, emsparaVidKey, m.ID, val)
- }
- // 插入PID数据
- for _, m := range pidMacros {
- val, err := json.Marshal(map[string]string{
- "name": m.MacroName,
- "desc": m.Description,
- })
- if err != nil {
- return err
- }
- p.HSet(ctx, emsparaPidKey, m.ID, val)
- }
- return nil
- })
- return err
- }
- func GetEmsparaVidInfo(id uint) (string, string, error) {
- ctx, cancel := context.WithTimeout(emsparaCtx, 5*time.Second)
- defer cancel()
- v, err := cache.HGet(ctx, emsparaVidKey, fmt.Sprintf("%d", id))
- if err != nil {
- return "", "", err
- }
- var m map[string]string
- if err := json.Unmarshal([]byte(v), &m); err != nil {
- return "", "", err
- }
- return m["name"], m["desc"], nil
- }
- func GetEmsparaPidInfo(id uint) (string, string, error) {
- ctx, cancel := context.WithTimeout(emsparaCtx, 5*time.Second)
- defer cancel()
- v, err := cache.HGet(ctx, emsparaPidKey, fmt.Sprintf("%d", id))
- if err != nil {
- return "", "", err
- }
- var m map[string]string
- if err := json.Unmarshal([]byte(v), &m); err != nil {
- return "", "", err
- }
- return m["name"], m["desc"], nil
- }
|