package com.nq.service.impl; 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(); if (siteInfos.size() > 0) { SiteInfo siteInfo = (SiteInfo) siteInfos.get(0); User user = iUserService.getCurrentRefreshUser(request); log.info("当前以后名"); 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不存在"); } }