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<SiteInfo> 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<SiteInfo> 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<SiteInfo> 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<String, String> 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不存在");
|
|
}
|
|
}
|