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); } catch (MaatConvertException e) { e.printStackTrace(); logger.info("获取编译ID出错"); throw new MaatConvertException(""); } //cgi接口添加 /*String[] ipArray = entity.getServerIp().split(","); for(String ip :ipArray){ //循环调用接口增加 String url="?cmd=UserCreate&server_ip="+ip+"&user_name="+entity.getUserName()+"&user_pwd="+entity.getUserPwd(); System.out.println(url); }*/ }else{ 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){ //循环调用接口删除 String url="?cmd=UserDelete&server_ip="+ip+"&user_name="+olduser.getUserName(); System.out.println(url); }*/ 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){ //循环调用接口添加 String url="?cmd=UserCreate&server_ip="+newIp+"&user_name="+entity.getUserName()+"&user_pwd="+entity.getUserPwd(); System.out.println(url); }*/ } } //根据vpn服务器ip获取用户vpn服务器ip信息 public UserManage getUserManage(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.getUserMsg(url, params, request); logger.info("查询结果:" + recv); if (StringUtils.isNotBlank(recv)) { Gson gson = new GsonBuilder().create(); LogRecvData fromJson = gson.fromJson(recv, new TypeToken>(){}.getType()); if (fromJson.getStatus().intValue() == 200) { } } } 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){ 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){ //循环调用接口删除 String url="?cmd=UserDelete&server_ip="+ip+"&user_name="+userList.get(i).getUserName(); System.out.println(url); } } } }