This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
k18-ntcs-web-ntc/src/main/java/com/nis/web/service/configuration/UserManageService.java

185 lines
6.4 KiB
Java
Raw Normal View History

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<UserManage> findPage(Page<UserManage> page, UserManage entity) {
entity.getSqlMap().put("dsf", configScopeFilter(entity.getCurrentUser(),"r"));
entity.setPage(page);
List<UserManage> 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("<spring:message code=\"request_service_failed\"/>");
}
//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 getUser(String serverIp,HttpServletRequest request){
UserManage user=new UserManage();
Map<String, Object> params = new HashMap<String, Object>();
params.put("server_ip", serverIp);
try{
String url ="URL"+ Constants.NTC_IP_REUSE_USER_LIST;
String recv = HttpClientUtil.getMsg(url, params, request);
logger.info("查询结果:" + recv);
if (StringUtils.isNotBlank(recv)) {
Gson gson = new GsonBuilder().create();
LogRecvData<UserManage> fromJson = gson.fromJson(recv, new TypeToken<LogRecvData<UserManage>>(){}.getType());
if (fromJson.getStatus().intValue() == 200) {
}
}
} catch (Exception e) {
logger.error("查询失败", e);
}
return user;
}
//根据vpn服务器ip,用户名获取用户信息
public UserManage getUserManage(String serverIp,String userName,HttpServletRequest request){
UserManage user=new UserManage();
Map<String, Object> params = new HashMap<String, Object>();
params.put("server_ip", serverIp);
params.put("user_name", userName);
try{
String url ="URL"+ Constants.NTC_IP_REUSE_USER_GET;
String recv = HttpClientUtil.getMsg(url, params, request);
logger.info("查询结果:" + recv);
if (StringUtils.isNotBlank(recv)) {
Gson gson = new GsonBuilder().create();
LogRecvData<UserManage> fromJson = gson.fromJson(recv, new TypeToken<LogRecvData<UserManage>>(){}.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<UserManage> userList=new ArrayList<UserManage>();
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);
}
}
}
}