package com.nis.web.service.configuration; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.ui.Model; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.google.gson.reflect.TypeToken; import com.nis.domain.Page; import com.nis.domain.basics.IpReuseIpCfg; import com.nis.domain.configuration.UserManage; import com.nis.domain.log.NtcIpLog; import com.nis.domain.maat.LogRecvData; import com.nis.domain.maat.MaatCfg; import com.nis.domain.maat.ToMaatBean; import com.nis.domain.maat.ToMaatResult; import com.nis.exceptions.MaatConvertException; import com.nis.util.ConfigServiceUtil; import com.nis.util.Constants; import com.nis.util.StringUtil; import com.nis.util.httpclient.HttpClientUtil; import com.nis.web.dao.configuration.UserManageDao; import com.nis.web.security.UserUtils; import com.nis.web.service.BaseService; @Service public class UserManageService extends BaseService{ @Autowired protected UserManageDao userManageDao; public Page findPage(Page page, UserManage entity) { entity.getSqlMap().put("dsf", configScopeFilter(entity.getCurrentUser(),"r")); entity.setPage(page); List list=userManageDao.findList(entity); page.setList(list); return page; } public UserManage getUserByLoginName(String userName) { return userManageDao.getUserByLoginName(userName); } public UserManage getUserById(String id) { return userManageDao.getUserById(id); } public void save(UserManage entity,Model model, HttpServletRequest request){ Date createTime=new Date(); if(entity.getId()==null){ try { entity.setCreateTime(createTime); entity.setCreatorId(entity.getCurrentUser().getId()); entity.setIsValid(Constants.VALID_NO); userManageDao.insert(entity); //cgi接口添加 /*String[] ipArray = entity.getServerIp().split(","); for(String ip :ipArray){ //循环调用接口增加 Map params = new HashMap(); params.put("server_ip", ip); params.put("user_name", entity.getUserName()); params.put("user_pwd", entity.getUserPwd()); LogRecvData fromJson=getUrl(params,Constants.NTC_IP_REUSE_USER_CREATE,request); //返回处理 if (fromJson.getStatus().intValue() == 200) { }else{ } String url="?cmd=UserCreate&server_ip="+ip+"&user_name="+entity.getUserName()+"&user_pwd="+entity.getUserPwd(); System.out.println(url); }*/ } catch (MaatConvertException e) { e.printStackTrace(); logger.info("获取编译ID出错"); throw new MaatConvertException(""); } }else{ try { entity.setEditTime(createTime); entity.setEditorId(entity.getCurrentUser().getId()); //获取修改之前数据 UserManage olduser=userManageDao.getUserById(String.valueOf(entity.getId())); userManageDao.update(entity); //cgi接口删除旧数据 /*String[] ipArray = olduser.getServerIp().split(","); for(String ip :ipArray){ //循环调用接口删除 Map params = new HashMap(); params.put("server_ip", ip); params.put("user_name", olduser.getUserName()); LogRecvData fromJson=getUrl(params,Constants.NTC_IP_REUSE_USER_DELETE,request); //返回处理 if (fromJson.getStatus().intValue() == 200) { }else{ } }*/ if(StringUtil.isEmpty(entity.getUserName())){ entity.setUserName(olduser.getUserName()); } if(StringUtil.isEmpty(entity.getUserPwd())){ entity.setUserPwd(olduser.getUserPwd()); } /* String[] newIpArray = entity.getServerIp().split(","); for(String newIp :newIpArray){ //循环调用接口添加 Map params = new HashMap(); params.put("server_ip", newIp); params.put("user_name", entity.getUserName()); params.put("user_pwd", entity.getUserPwd()); LogRecvData fromJson=getUrl(params,Constants.NTC_IP_REUSE_USER_CREATE,request); //返回处理 if (fromJson.getStatus().intValue() == 200) { }else{ } }*/ }catch (Exception e) { e.printStackTrace(); logger.info("获取编译ID出错"); throw new MaatConvertException(""); } } } public LogRecvData getUrl(Map params,String urlType,HttpServletRequest request){ LogRecvData fromJson = new LogRecvData(); try{ String url ="URL"+ urlType ; String recv = HttpClientUtil.getCGI(url, params, request); logger.info("查询结果:" + recv); if (StringUtils.isNotBlank(recv)) { Gson gson = new GsonBuilder().create(); fromJson = gson.fromJson(recv, new TypeToken>(){}.getType()); } } catch (Exception e) { logger.error("查询失败", e); } return fromJson; } /* //根据vpn服务器ip获取用户vpn服务器ip信息 public UserManage getUser(String serverIp,HttpServletRequest request){ UserManage user=new UserManage(); Map params = new HashMap(); params.put("server_ip", serverIp); try{ String url ="URL"+ Constants.NTC_IP_REUSE_USER_LIST ; //String recv = HttpClientUtil.getCGI(url, params, request); String recv="{\"data\":{\"list\":[{\"userName\":\"zhangsan\",\"createOn\":\"2018-11-01 14:51:12 \",\"updatedOn\":\"2018-11-02 10:54:07 \",\"outgoingUnicastPackets\":\"537,962\",\"outgoingUnicastTotalSize\":\"278,885\",\"outgoingBroadcastPackets\":\"51,130,890\"" + ",\"outgoingBroadcastTotalSize\":\"4781,154\",\"incomingUnicastPackets\":\"454,121\",\"incomingUnicastTotalSize\":\"45,565\",\"incomingBroadcastPackets\":\"454,4545\"" + ",\"incomingBroadcastTotalSize\":\"4781,154\",\"numberOfLogins\":\"124\"}]}}"; recv=HttpClientUtil.galaxyMessageFormat(recv); logger.info("查询结果:" + recv); if (StringUtils.isNotBlank(recv)) { Gson gson = new GsonBuilder().create(); LogRecvData fromJson = gson.fromJson(recv, new TypeToken>(){}.getType()); user=fromJson.getData().getList().get(0); } } catch (Exception e) { logger.error("查询失败", e); } return user; }*/ /** * * @param isAudit * @param isValid * @param ids compileIds */ @Transactional(readOnly=false,rollbackFor=RuntimeException.class) public void delete(Integer isValid,String ids,HttpServletRequest request){ /*try{*/ String[] idArray = ids.split(","); List userList=new ArrayList(); for(String id :idArray){ UserManage entity = new UserManage(); entity=userManageDao.getUserById(id); if(entity!=null){ userList.add(entity); } entity.setId(Long.valueOf(id)); entity.setIsValid(isValid); entity.setEditorId(UserUtils.getUser().getId()); entity.setEditTime(new Date()); userManageDao.update(entity); } //cgi接口删除旧数据 /* for (int i = 0; i < userList.size(); i++) { String[] ipArray = userList.get(i).getServerIp().split(","); for(String ip :ipArray){ //循环调用接口删除 Map params = new HashMap(); params.put("server_ip", ip); params.put("user_name",userList.get(i).getUserName()); LogRecvData fromJson=getUrl(params,Constants.NTC_IP_REUSE_USER_DELETE,request); //返回处理 if (fromJson.getStatus().intValue() == 200) { }else{ } } } } catch (Exception e) { logger.error("查询失败", e); }*/ } public List findUsers() { return userManageDao.findUsers(); } }