package com.nq.service.impl; import cn.hutool.core.util.ObjectUtil; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.nq.common.ServerResponse; import com.nq.dao.AgentUserMapper; import com.nq.dao.SiteInfoMapper; import com.nq.pojo.AgentUser; import com.nq.pojo.SiteInfo; import com.nq.pojo.User; import com.nq.service.ISiteInfoService; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import java.nio.charset.StandardCharsets; import java.util.HashMap; import java.util.List; import java.util.Map; import com.nq.service.IUserService; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.util.UriComponentsBuilder; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; @Service("iSiteInfoService") public class SiteInfoServiceImpl implements ISiteInfoService { private static final Logger log = LoggerFactory.getLogger(SiteInfoServiceImpl.class); @Resource SiteInfoMapper siteInfoMapper; @Resource AgentUserMapper agentUserMapper; @Autowired IUserService iUserService; public ServerResponse get() { List siteInfos = this.siteInfoMapper.findAll(); if (siteInfos.size() > 0) { SiteInfo siteInfo = (SiteInfo) siteInfos.get(0); return ServerResponse.createBySuccess(siteInfo); } return ServerResponse.createByErrorMsg("设置信息不存在"); } public ServerResponse add(SiteInfo siteInfo) { List siteInfos = this.siteInfoMapper.findAll(); if (siteInfos.size() > 0) { return ServerResponse.createByErrorMsg("不能重复添加"); } if (StringUtils.isBlank(siteInfo.getSiteName()) || StringUtils.isBlank(siteInfo.getSiteLogo()) || StringUtils.isBlank(siteInfo.getSiteLogoSm())) { return ServerResponse.createByErrorMsg("名字和logo不能为空"); } int insertCount = this.siteInfoMapper.insert(siteInfo); if (insertCount > 0) { return ServerResponse.createBySuccessMsg("添加成功"); } return ServerResponse.createByErrorMsg("添加失败"); } public ServerResponse update(SiteInfo siteInfo) { if (siteInfo.getId() == null) { return ServerResponse.createByErrorMsg("ID不能为空"); } int updateCount = this.siteInfoMapper.updateByPrimaryKeySelective(siteInfo); if (updateCount > 0) { return ServerResponse.createBySuccessMsg("修改成功"); } return ServerResponse.createByErrorMsg("修改失败"); } public ServerResponse getInfo(HttpServletRequest request) { List siteInfos = this.siteInfoMapper.findAll(); SiteInfo siteInfo = (SiteInfo) siteInfos.get(0); User user = iUserService.getCurrentRefreshUser(request); if(ObjectUtil.isEmpty(user)){ return ServerResponse.createBySuccess(siteInfo); } if (siteInfos.size() > 0) { log.info("当前以后名"); if(user != null ){ AgentUser agentUser = agentUserMapper.findAgentByAgentId(user.getAgentId()); if(agentUser != null){ siteInfo.setAgentCode(agentUser.getAgentCode()); if(!agentUser.getOnLineServices().isEmpty()){ if(agentUser.getId().equals(1)){ siteInfo.setOnlineService("https://4kf.qingjiumeng.com/k1/chatlink.html?"); }else if(agentUser.getId().equals(2)){ siteInfo.setOnlineService("https://4kf.qingjiumeng.com/k1/chatlink.html?"); }else if(agentUser.getId().equals(3)){ siteInfo.setOnlineService("https://4kf.qingjiumeng.com/k1/chatlink.html? "); }else if(agentUser.getId().equals(4)){ siteInfo.setOnlineService("https://4kf.qingjiumeng.com/k2/chatlink.html? "); }else if(agentUser.getId().equals(5)){ siteInfo.setOnlineService("https://4kf.qingjiumeng.com/k3/chatlink.html? "); }else if(agentUser.getId().equals(6)){ siteInfo.setOnlineService("https://4kf.qingjiumeng.com/k4/chatlink.html? "); } } } } // if(user != null ){ // AgentUser agentUser = agentUserMapper.findAgentByAgentId(user.getAgentId()); // if(agentUser != null){ // siteInfo.setAgentCode(agentUser.getAgentCode()); // if(!agentUser.getOnLineServices().isEmpty()){ // siteInfo.setOnlineService(agentUser.getOnLineServices()); // } // } // } // ObjectMapper objectMapper = new ObjectMapper(); // Map metadataMap = new HashMap<>(); // metadataMap.put("name", StringUtils.isNotEmpty(user.getNickName()) ? user.getNickName() : ""); // String url = null; // try { // url = siteInfo.getOnlineService() + "&metadata=" + objectMapper.writeValueAsString(metadataMap); // } catch (JsonProcessingException e) { // throw new RuntimeException(e); // } // siteInfo.setOnlineService(url); return ServerResponse.createBySuccess(siteInfo); } return ServerResponse.createByErrorMsg("设置信息info不存在"); } }