package com.smartor.service.impl; import com.ruoyi.common.core.service.IUserExtInfoService; import com.ruoyi.common.utils.StringUtils; import com.smartor.domain.IvrLibaScriptAssort; import com.smartor.domain.SvyLibScriptCategory; import com.smartor.domain.SysUserOrg; import com.smartor.mapper.IvrLibaScriptAssortMapper; import com.smartor.mapper.SvyLibScriptCategoryMapper; import com.smartor.mapper.SysUserOrgMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** * 用户扩展信息服务实现(smartor 模块) * 供 ruoyi-system 通过 SpringUtils 调用 */ @Service public class UserExtInfoServiceImpl implements IUserExtInfoService { @Autowired private SysUserOrgMapper sysUserOrgMapper; @Autowired private IvrLibaScriptAssortMapper ivrLibaScriptAssortMapper; @Autowired private SvyLibScriptCategoryMapper svyLibScriptCategoryMapper; /** * 获取用户机构/院区信息 */ @Override public Map getUserOrgInfo(String userId, String orgid, String campusid) { Map result = new HashMap<>(); SysUserOrg sysUserOrg = new SysUserOrg(); sysUserOrg.setUserId(userId); sysUserOrg.setOrgid(StringUtils.isEmpty(orgid) || "null".equals(orgid) ? "" : orgid); sysUserOrg.setCampusid(StringUtils.isEmpty(campusid) || "null".equals(campusid) ? "" : campusid); List sysUserOrgs = sysUserOrgMapper.selectSysUserOrgList(sysUserOrg); if (!CollectionUtils.isEmpty(sysUserOrgs)) { result.put("orgid", sysUserOrgs.get(0).getOrgid()); result.put("campusid", sysUserOrgs.get(0).getCampusid()); } return result; } /** * 获取满意度问题分类(语音 + 问卷) */ @Override public Map getSatisfactionCategories(String orgid) { Map satisfactionCategories = new HashMap<>(); // 获取语音问题分类 IvrLibaScriptAssort ivrLibaScriptAssort = new IvrLibaScriptAssort(); ivrLibaScriptAssort.setOrgid(orgid); ivrLibaScriptAssort.setType("myd"); List ivrLibaScriptAssorts = ivrLibaScriptAssortMapper.selectIvrLibaScriptAssortList(ivrLibaScriptAssort); List> categoryList = new ArrayList<>(); if (!CollectionUtils.isEmpty(ivrLibaScriptAssorts)) { for (IvrLibaScriptAssort assort : ivrLibaScriptAssorts) { Map map = new HashMap<>(); map.put("categoryid", assort.getId()); map.put("categoryName", assort.getIndexAssortName()); categoryList.add(map); } } satisfactionCategories.put("voiceCategories", categoryList); // 获取问卷问题分类 SvyLibScriptCategory svyLibScriptCategory = new SvyLibScriptCategory(); svyLibScriptCategory.setOrgid(orgid); svyLibScriptCategory.setType("myd"); List svyLibScriptCategories = svyLibScriptCategoryMapper.selectSvyLibScriptCategoryList(svyLibScriptCategory); List> questionnaireCategorys = new ArrayList<>(); if (!CollectionUtils.isEmpty(svyLibScriptCategories)) { for (SvyLibScriptCategory scriptCategory : svyLibScriptCategories) { Map map = new HashMap<>(); map.put("categoryid", scriptCategory.getId()); map.put("categoryName", scriptCategory.getName()); questionnaireCategorys.add(map); } } satisfactionCategories.put("questionnaireCategorys", questionnaireCategorys); return satisfactionCategories; } }