陈昶聿
6 天以前 edacaf3cf8d5115dc2fe691879246ed7dd2dbfb8
smartor/src/main/java/com/smartor/service/impl/UserExtInfoServiceImpl.java
@@ -1,6 +1,7 @@
package com.smartor.service.impl;
import com.ruoyi.common.core.service.IUserExtInfoService;
import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.common.utils.StringUtils;
import com.smartor.domain.IvrLibaScriptAssort;
import com.smartor.domain.SvyLibScriptCategory;
@@ -16,6 +17,7 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeUnit;
/**
 * 用户扩展信息服务实现(smartor 模块)
@@ -23,6 +25,9 @@
 */
@Service
public class UserExtInfoServiceImpl implements IUserExtInfoService {
    private static final String SATISFACTION_CACHE_KEY = "satisfaction:categories:";
    private static final int SATISFACTION_CACHE_TTL = 30;
    @Autowired
    private SysUserOrgMapper sysUserOrgMapper;
@@ -32,6 +37,9 @@
    @Autowired
    private SvyLibScriptCategoryMapper svyLibScriptCategoryMapper;
    @Autowired
    private RedisCache redisCache;
    /**
     * 获取用户机构/院区信息
@@ -52,10 +60,18 @@
    }
    /**
     * 获取满意度问题分类(语音 + 问卷)
     * 获取满意度问题分类(语音 + 问卷),带Redis缓存
     */
    @Override
    @SuppressWarnings("unchecked")
    public Map<String, Object> getSatisfactionCategories(String orgid) {
        // 先查缓存
        String cacheKey = SATISFACTION_CACHE_KEY + orgid;
        Map<String, Object> cached = redisCache.getCacheObject(cacheKey);
        if (cached != null) {
            return cached;
        }
        Map<String, Object> satisfactionCategories = new HashMap<>();
        // 获取语音问题分类
@@ -90,6 +106,9 @@
        }
        satisfactionCategories.put("questionnaireCategorys", questionnaireCategorys);
        // 写入缓存
        redisCache.setCacheObject(cacheKey, satisfactionCategories, SATISFACTION_CACHE_TTL, TimeUnit.MINUTES);
        return satisfactionCategories;
    }
}