package edu.sjtu.infosec.ismp.manager.SYSM.user.self.web.actions;
import java.io.PrintWriter;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;
import org.directwebremoting.WebContextFactory;
import org.infosec.ismp.manager.rmi.comm.model.SystemModelInfo;
import org.infosec.ismp.manager.rmi.lm.pfLog.model.SystemLog;
import edu.sjtu.infosec.ismp.manager.AIM.model.AlertTypeBO;
import edu.sjtu.infosec.ismp.manager.LM.pfLog.service.SystemLogService;
import edu.sjtu.infosec.ismp.manager.SYSM.user.self.comm.SecurityUserHolder;
import edu.sjtu.infosec.ismp.manager.SYSM.user.self.model.BlackAndWhiteBO;
import edu.sjtu.infosec.ismp.manager.SYSM.user.self.model.BlackAndWhiteStatusBO;
import edu.sjtu.infosec.ismp.manager.SYSM.user.self.service.BlackAndWhiteService;
import edu.sjtu.infosec.ismp.manager.SYSM.user.self.service.BlackAndWhiteStatusService;
import edu.sjtu.infosec.ismp.manager.SYSM.user.self.service.DomainService;
import edu.sjtu.infosec.ismp.manager.SYSM.user.self.service.RoleService;
import edu.sjtu.infosec.ismp.manager.SYSM.user.self.service.UserService;
import edu.sjtu.infosec.ismp.manager.SYSM.user.self.web.form.UserForm;
import edu.sjtu.infosec.ismp.manager.SYSM.user.self.web.vo.UserUpdateVO;
import edu.sjtu.infosec.ismp.manager.comm.model.page.Page;
import edu.sjtu.infosec.ismp.manager.comm.model.page.PageResult;
import edu.sjtu.infosec.ismp.security.Domain;
import edu.sjtu.infosec.ismp.security.OperatorDetails;
import edu.sjtu.infosec.ismp.security.Role;
import edu.sjtu.infosec.ismp.security.User;
import edu.sjtu.infosec.ismp.util.Md5Util;
/**
*
* @author shixq 用户配置Action 包括注册更新等。。
*/
/**
*
* @author gengtongyong
*/
public class UserConfigAction extends DispatchAction {
private UserService userservice;// 注入用户service接口
private DomainService domainService;
private BlackAndWhiteService blackandwhiteservice;// 注入黑白名单service接口
private BlackAndWhiteStatusService blackandwhitestatusservice; // 注入控制黑白名单启用状态services
private RoleService roleservice;// 用户角色 service接口
private SystemLogService systemlogService;
public void setSystemlogService(SystemLogService systemlogService) {
this.systemlogService = systemlogService;
}
SystemLog log;
String rolenames ;
String username;
OperatorDetails user;
void init(){
user = SecurityUserHolder.getCurrentUser();
username = user.getUsername();
rolenames="";
for(Role role : user.getRoleList()){
rolenames = rolenames+role.getName();
}
log = new SystemLog();
log.setUsername(username);
log.setRoleName(rolenames);
log.setTime(new Timestamp(new Date().getTime()));
log.setModuleName(SystemModelInfo.MOD_SYSM_user_self);
}
/**
*
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws Exception
* frame框架跳转
*/
public ActionForward forward(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
UserForm userForm = (UserForm) form;
// // 先查询出来
// if (request.getParameter("top") != null) {
// return mapping.findForward("userTop");
// }
OperatorDetails user = SecurityUserHolder.getCurrentUser();
if (request.getParameter("add") != null) {
request.setAttribute("cssclass", "userRegister");
return mapping.findForward("userRegister");
}
if (request.getParameter("addBlackAndWhite") != null) {
List<Domain> domainList = user.getDomainList();
request.setAttribute("domainList", domainList);
List<Role> rolelists=roleservice.getBlurRoleService(null);
request.getSession().setAttribute("rolesSearchList",rolelists);
request.setAttribute("cssclass", "addBlackAndWhite");
return mapping.findForward("addBlackAndWhite");
}
if (request.getParameter("blackandwhiteFwd") != null) {
List<Domain> domainList = user.getDomainList();
request.setAttribute("domainList", domainList);
List<Role> rolelists=roleservice.getBlurRoleService(null);
request.getSession().setAttribute("rolesSearchList",rolelists);
request.setAttribute("cssclass", "userBlackandWhiteSearch");
return mapping.findForward("userBlackandWhiteSearch");
}
if (request.getParameter("addManager") != null) {
List<Domain> domainList = user.getDomainList();
request.setAttribute("domainList", domainList);
saveToken(request);
return mapping.findForward("userToManagerSave");
}
if(request.getParameter("updateManager") != null){
List<Domain> domainList = user.getDomainList();
request.setAttribute("domainList", domainList);
saveToken(request);
return this.getManagerById(mapping, userForm, request, response);
}
if (request.getParameter("main") != null) {
System.out.println("========");
request.setAttribute("all", "true");
HttpSession session = request.getSession();
session.setAttribute("topcss", "userconfig");
return this.getBlurUser(mapping, userForm, request, response);
}
return null;
}
/**
*
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws Exception
* 用户模糊查询并且分页显示
*/
public ActionForward getBlurUser(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
UserForm userForm = (UserForm) form;
User userbo = new User();
BeanUtils.copyProperties(userbo, userForm.getUservo());
if(userForm.getStatus()==null || userForm.getStatus().equals("")){
userbo.setEnabled(null);
}
Page page = new Page();
// 获得当前页
request.setAttribute("uservo", userForm.getUservo());
request.setAttribute("status", userForm.getStatus());
request.setAttribute("rid", userForm.getRid());
String curpage = request.getParameter("curpage") != null
&& (!request.getParameter("curpage").trim().equals("")) ? request
.getParameter("curpage") : "1";
if (request.getParameter("pageSize") != null
&& (!request.getParameter("pageSize").equals(""))) {
int pagesize = Integer.parseInt(request.getParameter("pageSize"));
request.setAttribute("pageSize", request.getParameter("pageSize"));
page.setEveryPage(pagesize);
}else{
page.setEveryPage(10);
}
// 设置当前页跟开始位置
page.setCurrentPage(Integer.parseInt(curpage));
page.setBeginIndex((page.getCurrentPage() - 1) * page.getEveryPage());
try{
init();
PageResult result = null;
// 如果是用户浏览的话就查询所有
if ((request.getAttribute("all") != null&& request.getAttribute("all").equals("true"))||
(request.getParameter("all") != null&& request.getParameter("all").equals("true"))) {
result = userservice.getBlurUserService(null, page,null);
} else {
// request.setAttribute("rid", userForm.getRid());
result = userservice.getBlurUserService(userbo, page,userForm.getRid());
}
log.setOperationDesc("用户模糊查询并且分页显示");
log.setControl("成功");
systemlogService.saveSystemLog(log);
if (result != null) {
List<User> list = result.getPageList();
request.setAttribute("list", result.getPageList());
request.setAttribute("page", result.getPage());
//在循环根据用户ID找角色信息
Map<Integer, List<Role>> rolemap=new HashMap<Integer, List<Role>>();
for (User user:list) {
List<Role> roleLists= new ArrayList<Role>(user.getRoles());
rolemap.put(user.getId(),roleLists);
}
request.setAttribute("rolemap", rolemap);
}
if (request.getParameter("search") != null
&& request.getParameter("search").equals("1")) {
return mapping.findForward("userSearch");
}
saveToken(request);
request.setAttribute("cssclass", "userMain");
return mapping.findForward("userMain");
}catch(Exception e){
log.setOperationDesc("用户模糊查询并且分页显示");
log.setControl("失败");
systemlogService.saveSystemLog(log);
return null;
}
}
/**
*
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws Exception
* 跟据ID 查看各人信息
*/
public ActionForward getUserById(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
UserForm userForm = (UserForm) form;
// 先查询出来
// request.setAttribute("curPage", request.getParameter("curPage"));
// request.setAttribute("pageSize", request.getParameter("pageSize"));
request.setAttribute("search",request.getParameter("search"));
try{
init();
if (request.getParameter("userId") != null) {
Integer userId = Integer.parseInt(request.getParameter("userId"));
User user = userservice.getUserByIdService(userId);
if (user != null) {
List<Role> roleList = new ArrayList<Role>(user.getRoles());
request.setAttribute("rlist", roleList);
String roles = user.getRoleNames();
if(roles != null && roles.trim().length()!=0){
List<Domain> domains = null;
if(roles.indexOf("AdminAll")!=-1){
domains = userservice.getAllDomain();
}else if(roles.indexOf("DomainAdminAll")!=-1){
domains = userservice.getCasecadeDomain(user.getDomains());
}else if(roles.indexOf("")!=-1){
domains = new ArrayList();
for(Domain d : user.getDomains()){
domains.add(d);
}
}
//域本地管理员不用处理
request.setAttribute("domainList",domains );
}
request.setAttribute("user", user);
}
}
log.setOperationDesc(" 跟据ID 查看各人信息");
log.setControl("成功");
systemlogService.saveSystemLog(log);
if (request.getParameter("update") != null) {
List<Role> roles = roleservice.getBlurRoleService(null);
request.setAttribute("rolelist", roles);
return mapping.findForward("userUpdate");
}
if (request.getParameter("roleallot") != null) {
return mapping.findForward("userRoleAllot");
}
return mapping.findForward("userDetails");
}catch(Exception e){
log.setOperationDesc(" 跟据ID 查看各人信息");
log.setControl("失败");
systemlogService.saveSystemLog(log);
return null;
}
}
/**
*
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws Exception
* 更新用户信息(包括更新角色)
*/
public ActionForward updateUser(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
UserForm userForm = (UserForm) form;
// request.setAttribute("curPage", request.getParameter("curPage"));
request.setAttribute("curpage", request.getParameter("curpage"));
String roleids[] = request.getParameterValues("roleid");
// Set<Role> roles = new HashSet();
// for(String roleid:roleids){
// roles.add(roleservice.getRoleByIdService(Integer.parseInt(roleid)));
// }
// userForm.getUserupdatevo().setRoles(roles);
UserUpdateVO uuv = userForm.getUserupdatevo();
try{
init();
if(roleids!=null && roleids.length > 0){
Set<Role> set = new HashSet<Role>();
for(String ids: roleids){
set.add(roleservice.getRoleByIdService(Integer.parseInt(ids)));
}
System.out.println("===="+uuv.getUsername());
uuv.setRoles(set);
}
if(uuv!=null){
userservice.updateUserService(uuv);
}
log.setOperationDesc(" 跟据ID 查看各人信息");
log.setControl("成功");
systemlogService.saveSystemLog(log);
//==============
PrintWriter out = response.getWriter();
out = response.getWriter();
response.setContentType("text/html; charset=UTF-8");
out.println("<script language=\"javascript\">");
out.println("alert('修改用户成功');");
out.println("window.close();");
out.println("</script>");
out.close();
return null;
// return this.getBlurUser(mapping, form, request, response);
}catch(Exception e){
log.setOperationDesc(" 跟据ID 查看各人信息");
log.setControl("失败");
systemlogService.saveSystemLog(log);
return null;
}
}
/**
*
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws Exception
* 用户注册
*/
public ActionForward saveUser(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
// 日志描述
request.setAttribute("operation", "用户注册");
UserForm userForm = (UserForm) form;
// 默认是系统注册时间
userForm.getUser().setRegistertime(new Timestamp(System.currentTimeMillis()));
// 默认是废弃状态
userForm.getUser().setEnabled(false);
String pwdStr = Md5Util.getMD5Str(userForm.getUser().getPassword());
userForm.getUser().setPassword(pwdStr);
try{
init();
userservice.saveUserService(userForm.getUser());
// 判断是否重复提交
if (isTokenValid(request)) {
userservice.saveUserService(userForm.getUser());
resetToken(request);
} else {
saveToken(request);
}
log.setOperationDesc("添加用户");
log.setControl("成功");
systemlogService.saveSystemLog(log);
return this.getBlurUser(mapping, userForm, request, response);
}catch(Exception e){
log.setOperationDesc("添加用户");
log.setControl("失败");
systemlogService.saveSystemLog(log);
return null;
}
}
/**
*
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws Exception
* 更新用户用户状态
*/
public ActionForward updateUserStatus(ActionMapping mapping,
ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws Exception {
request.setAttribute("operation", "更新用户状态");
UserForm userForm = (UserForm) form;
try{
init();
if (request.getParameter("userId") != null) {
Integer userid = Integer.valueOf(request.getParameter("userId"));
Boolean status = false;
if (request.getParameter("statuss") != null
&& request.getParameter("statuss").equals("1")) {
status = true;
}
userservice.updateUserStatusService(userid, status);
}
log.setOperationDesc("添加用户");
log.setControl("成功");
systemlogService.saveSystemLog(log);
return this.getBlurUser(mapping, userForm, request, response);
}catch(Exception e){
log.setOperationDesc("添加用户");
log.setControl("失败");
systemlogService.saveSystemLog(log);
return null;
}
}
/**
*
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws Exception
* 条件查询 委办局信息
*/
public ActionForward getUserToManagerByList(ActionMapping mapping,
ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws Exception {
UserForm userForm = (UserForm) form;
try{
init();
Domain domain = new Domain();
domain.setDomainName(request.getParameter("domainname"));
request.setAttribute("domainname", request.getParameter("domainname"));
// mbo.setManagerName(userForm.getManagerName());
Page page = new Page();
String curpage = request.getParameter("curpage") != null
&& (!request.getParameter("curpage").equals("")) ? request
.getParameter("curpage") : "1";
// 设置当前页跟开始位置
page.setCurrentPage(Integer.parseInt(curpage));
page.setBeginIndex((page.getCurrentPage() - 1) * page.getEveryPage());
PageResult rs = domainService.findByParam(domain, page);
// List<Domain> rs = domainService.findAll();
if (rs != null) {
request.setAttribute("page", rs.getPage());
request.setAttribute("list", rs.getPageList());
}
log.setOperationDesc("条件查询域信息");
log.setControl("成功");
systemlogService.saveSystemLog(log);
return mapping.findForward("userToManagerIndex");
}catch(Exception e){
log.setOperationDesc("条件查询域信息");
log.setControl("失败");
systemlogService.saveSystemLog(log);
return null;
}
}
/**
*
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws Exception
* 添加新的委办局信息
*/
public ActionForward saveManager(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
request.setAttribute("operation", "添加委办局信息");
try{
init();
UserForm userform = (UserForm) form;
OperatorDetails user = SecurityUserHolder.getCurrentUser();
Domain domain = new Domain();
domain.setDomainName(request.getParameter("domain_name"));
domain.setDescription(request.getParameter("description"));
String parent_id = request.getParameter("parent_id");
if(parent_id!=null && !parent_id.equals("") && !parent_id.equals("-1")){
domain.setParentDomain(domainService.findById(Integer.parseInt(parent_id)));
}
if (!isTokenValid(request,true)) {
resetToken(request);
domainService.add(domain);
user.getDomainList().add(domain);
} else {
saveToken(request);
}
log.setOperationDesc("添加新域信息");
log.setControl("成功");
systemlogService.saveSystemLog(log);
return mapping.findForward("userToManagerIndex");
}catch(Exception e){
log.setOperationDesc("添加新域信息");
log.setControl("失败");
systemlogService.saveSystemLog(log);
return null;
}
}
/**
*
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws Exception
* 删除用户信息
*/
public ActionForward deleteUser(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
UserForm userForm = (UserForm) form;
request.setAttribute("operation", "删除用户");
String usid = request.getSession().getAttribute("usid") == null ? ""
: request.getSession().getAttribute("usid").toString();
try{
init();
if (request.getParameter("userId") != null
&& !request.getParameter("userId").equals(usid)) {
request.getSession().setAttribute("usid",
request.getParameter("userId"));
Integer userId = Integer.parseInt(request.getParameter("userId"));
User user = userservice.getUserByIdService(userId);
if (user != null) {
userservice.deleteUserService(user);
}
}
log.setOperationDesc("删除用户信息");
log.setControl("成功");
systemlogService.saveSystemLog(log);
return this.getBlurUser(mapping, userForm, request, response);
}catch(Exception e){
log.setOperationDesc("删除用户信息");
log.setControl("失败");
systemlogService.saveSystemLog(log);
return null;
}
}
/**
*
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws Exception
* 更新用户密码
*/
public ActionForward updateUserPassword(ActionMapping mapping,
ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws Exception {
request.setAttribute("operation", "修改密码");
try{
init();
String uname = request.getParameter("user.username").trim();
String newpwd = Md5Util.getMD5Str(request
.getParameter("user.password2").trim());
User userbo = new User();
userbo.setLoginName(uname);
// 判断是否是重设密码
if (request.getParameter("user.password") != null) {
String formerpwd = Md5Util.getMD5Str(request
.getParameter("user.password").trim());
userbo.setPassword(formerpwd);
}
User newuserbo = userservice.getUserByUnameAndPwd(userbo);
// 验证密码是否跟老密码相同
if (newuserbo != null && !newuserbo.getPassword().equals(newpwd)) {
newuserbo.setPassword(newpwd);
userservice.updateUserPasswordService(newuserbo.getId(),newpwd);
}
log.setOperationDesc("更新用户密码");
log.setControl("成功");
systemlogService.saveSystemLog(log);
//===========
// PrintWriter out = response.getWriter();
// out = response.getWriter();
// response.setContentType("text html; charset=UTF-8");
// out.println("<script language=\"javascript\">");
// out.println("window.opener.location.href=window.opener.location.href;");
// out.println("window.opener.location.reload();");
// out.println("window.close();");
// out.println("</script>");
// out.close();
PrintWriter out = response.getWriter();
out = response.getWriter();
response.setContentType("text/html; charset=UTF-8");
out.println("<script language=\"javascript\">");
out.println("alert('操作成功');");
out.println("window.close();");
out.println("</script>");
out.close();
return null;
// return new ActionForward("/ismp/domain/local/userResetPassword.do");
}catch(Exception e){
log.setOperationDesc("更新用户密码");
log.setControl("失败");
systemlogService.saveSystemLog(log);
return null;
}
}
/**
*
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws Exception
* 重置用户密码
*/
public ActionForward updateResetPass(ActionMapping mapping,
ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws Exception {
request.setAttribute("operation", "重置密码");
try{
init();
String uname = request.getParameter("user.username");
String newpwd = Md5Util.getMD5Str(request
.getParameter("user.password2"));
User newuserbo = userservice.getUserinfoByNameService(uname);
// 验证密码是否跟老密码相同
if (newuserbo != null) {
userservice.updateUserPasswordService(newuserbo.getId(),newpwd);
}
log.setOperationDesc("重置用户密码");
log.setControl("成功");
systemlogService.saveSystemLog(log);
//================
PrintWriter out = response.getWriter();
out = response.getWriter();
response.setContentType("text/html; charset=UTF-8");
out.println("<script language=\"javascript\">");
out.println("alert('操作成功');");
out.println("window.close();");
out.println("</script>");
out.close();
return null;
// return new ActionForward("/ismp/domain/local/userResetPassword.do");
}catch(Exception e){
log.setOperationDesc("重置用户密码");
log.setControl("失败");
systemlogService.saveSystemLog(log);
return null;
}
}
/**
*
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws Exception
* 查询黑白名单并且分页显示
*/
public ActionForward getPageListBlackAndWhite(ActionMapping mapping,
ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws Exception {
UserForm userForm = (UserForm) form;
try{
init();
Page page = new Page();
// 获得当前页
OperatorDetails user = SecurityUserHolder.getCurrentUser();
List<Domain> domainList = user.getDomainList();
request.setAttribute("domainList", domainList);
request.setAttribute("blackandwhitebo", userForm.getBlackandwhitebo());
if(userForm.getBlackandwhitebo().getRole()!=null && userForm.getBlackandwhitebo().getRole().equals("-1")){
userForm.getBlackandwhitebo().setRole(null);
}
String curpage = request.getParameter("curpage") != null
&& (!request.getParameter("curpage").equals("")) ? request
.getParameter("curpage") : "1";
if (request.getParameter("pageSize") != null
&& (!request.getParameter("pageSize").equals(""))) {
int pagesize = Integer.parseInt(request.getParameter("pageSize"));
request.setAttribute("pageSize", request.getParameter("pageSize"));
page.setEveryPage(pagesize);
}
// 设置当前页跟开始位置
page.setCurrentPage(Integer.parseInt(curpage));
page.setBeginIndex((page.getCurrentPage() - 1) * page.getEveryPage());
PageResult result = blackandwhiteservice
.getPageListBlurBlackAndWhiteService(userForm
.getBlackandwhitebo(), page);
request.setAttribute("page", result.getPage());
request.setAttribute("list", result.getPageList());
request.setAttribute("cssclass", "userBlackandWhiteSearch");
log.setOperationDesc("查询黑白名单并且分页显示");
log.setControl("成功");
systemlogService.saveSystemLog(log);
return mapping.findForward("userBlackandWhiteSearch");
}catch(Exception e){
log.setOperationDesc("查询黑白名单并且分页显示");
log.setControl("失败");
systemlogService.saveSystemLog(log);
return null;
}
}
/**
*
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws Exception
* 更新黑白名单
*/
public ActionForward updateUserBlackAndWhite(ActionMapping mapping,
ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws Exception {
request.setAttribute("operation", "更新黑白名单");
String mid =request.getParameter("mid");
String marker =request.getParameter("marker");
String role =request.getParameter("role");
String domain =request.getParameter("domain");
String ipaddress =request.getParameter("ipaddress");
String depict =request.getParameter("depict");
String curpage=request.getParameter("curpage");
UserForm userForm = (UserForm) form;
BlackAndWhiteBO blackandwhitebo = new BlackAndWhiteBO();
if(mid!=null && !mid.trim().equals("")){
blackandwhitebo.setId(Integer.parseInt(mid));
}
if(role!=null && !role.trim().equals("") && !role.trim().equals("-1")){
Role role2 = roleservice.getRoleByIdService(Integer.parseInt(role.trim()));
blackandwhitebo.setRole(role2.getRole());
}
if(marker!=null && !marker.trim().equals("") && (marker.trim().equals("1")||marker.trim().equals("0")) ){
blackandwhitebo.setMarker(Integer.parseInt(marker));
}
if(domain!=null && !domain.equals("") && !domain.equals("-1")){
blackandwhitebo.setDomain(Integer.parseInt(domain));
}
if(ipaddress!=null && !ipaddress.trim().equals("")){
blackandwhitebo.setIpaddress(ipaddress);
}
if(depict!=null){
blackandwhitebo.setDepict(depict);
}
try{
init();
blackandwhiteservice.updateBelackAndWhiteService(blackandwhitebo);
log.setOperationDesc("更新黑白名单");
log.setControl("成功");
systemlogService.saveSystemLog(log);
//================
PrintWriter out = response.getWriter();
out = response.getWriter();
response.setContentType("text/html; charset=UTF-8");
out.println("<script language=\"javascript\">");
out.println("alert('操作成功');");
out.println("window.close();");
out.println("</script>");
out.close();
return null;
// return new ActionForward("/ismp/domain/local/userConfig.do?method=getPageListBlackAndWhite&curpage="+curpage);
}catch(Exception e){
log.setOperationDesc("更新黑白名单");
log.setControl("失败");
systemlogService.saveSystemLog(log);
return null;
}
}
/**
* ID查询黑白名单
*
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws Exception
*/
public ActionForward getByIdBlackAndWhite(ActionMapping mapping,
ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws Exception {
request.setAttribute("curpage", request.getParameter("curpage"));
try{
init();
if (request.getParameter("blid") != null && !request.getParameter("blid").trim().equals("")) {
OperatorDetails user = SecurityUserHolder.getCurrentUser();
List<Domain> domainList = user.getDomainList();
request.setAttribute("domainList", domainList);
List<Role> rolelists=roleservice.getBlurRoleService(null);
request.getSession().setAttribute("rolesSearchList",rolelists);
BlackAndWhiteBO blbo = blackandwhiteservice
.getBlackAndWhiteByIdService(Integer.parseInt(request
.getParameter("blid")));
request.setAttribute("blackandwhitebo", blbo);
}
log.setOperationDesc("ID查询黑白名单");
log.setControl("成功");
systemlogService.saveSystemLog(log);
return mapping.findForward("updateBlackAndWhite");
}catch(Exception e){
log.setOperationDesc("ID查询黑白名单");
log.setControl("失败");
systemlogService.saveSystemLog(log);
return null;
}
}
/**
* ID删除黑白名单
*
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws Exception
*/
public ActionForward deleteBlackandWhite(ActionMapping mapping,
ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws Exception {
request.setAttribute("operation", "删除黑白名单");
UserForm userForm = (UserForm) form;
try{
init();
String blid = request.getSession().getAttribute("blid") == null ? ""
: request.getSession().getAttribute("blid").toString();
if (request.getParameter("bid") != null
&& !request.getParameter("bid").equals(blid)) {
// request.getSession().setAttribute("blid",
// request.getParameter("bid"));
BlackAndWhiteBO blbo = blackandwhiteservice
.getBlackAndWhiteByIdService(Integer.parseInt(request
.getParameter("bid")));
if (blbo != null) {
blackandwhiteservice.deleteBlackAndWhiteService(blbo);
}
}
log.setOperationDesc("ID删除黑白名单");
log.setControl("成功");
systemlogService.saveSystemLog(log);
return this.getPageListBlackAndWhite(mapping, userForm, request, response);
}catch(Exception e){
log.setOperationDesc("ID删除黑白名单");
log.setControl("失败");
systemlogService.saveSystemLog(log);
return null;
}
}
/**
* ID删除部门
*
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws Exception
*/
public ActionForward delDomainById(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
request.setAttribute("operation", "删除委办局信息");
String curpage = request.getParameter("curpage");
request.setAttribute("curpage", curpage);
OperatorDetails user = SecurityUserHolder.getCurrentUser();
String mid = request.getParameter("mid");
try{
init();
if (mid!=null && !mid.trim().toString().equals("")) {
if(mid != null){
List<Domain> list = user.getDomainList();
Domain dm = domainService.findById(Integer.parseInt(mid));
for(Domain d:list){
if(dm!=null && d.getId().equals(dm.getId())){
domainService.delete(dm); //级联删除子节点。
}
}
for(int i=0;i<list.size();i++){
if(dm!=null && list.get(i).getId().equals(dm.getId())){
user.getDomainList().remove(i);
}
}
}
}
log.setOperationDesc("ID删除域");
log.setControl("成功");
systemlogService.saveSystemLog(log);
return this.getUserToManagerByList(mapping, form, request, response);
}catch(Exception e){
log.setOperationDesc("ID删除域");
log.setControl("失败");
systemlogService.saveSystemLog(log);
return null;
}
}
// /**
// * 与cener通信
// *
// * @param mbo
// * @param status
// * @throws IllegalAccessException
// * @throws InvocationTargetException
// */
// private boolean sendToCenter(ManagerBO mbo, int status)
// throws IllegalAccessException, InvocationTargetException {
// try {
// SoftwareDepartmentManagerBO s = new SoftwareDepartmentManagerBO();
// convertBean(s, mbo, status);
// s.setId(mbo.getId());
// // 发送到center端
// softwareDepartmentManagerSender.setHost(WebConfigContent.centerIp);
// softwareDepartmentManagerSender.setPort(Integer.parseInt(WebConfigContent.dataPort));
// softwareDepartmentManagerSender.senderSoftwareDepartmentInfo(s);
// } catch (Exception e) {
// e.printStackTrace();
// return false;
// }
// return true;
// }
//
/**
* ID查询委办局信息
*
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws Exception
*/
public ActionForward getManagerById(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
request.setAttribute("curpage", request.getParameter("curpage"));
try{
init();
String mid = request.getParameter("mid");
if (mid != null && !mid.trim().toString().equals("")) {
Domain domain = domainService.findById(Integer
.parseInt(mid));
request.setAttribute("domainVO", domain);
}
log.setOperationDesc("ID查询域信息");
log.setControl("成功");
systemlogService.saveSystemLog(log);
return mapping.findForward("userToManagerUpdate");
}catch(Exception e){
log.setOperationDesc("ID查询域信息");
log.setControl("失败");
systemlogService.saveSystemLog(log);
return null;
}
}
/**
* 新增黑白名单
*
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws Exception
*/
public ActionForward saveBlackandWhite(ActionMapping mapping,
ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws Exception {
UserForm userForm = (UserForm) form;
request.setAttribute("operation", "新增黑白名单");
try{
init();
BlackAndWhiteBO blackandwhitebo = userForm.getBlackandwhitebo();
if(blackandwhitebo!=null && blackandwhitebo.getMarker()!=-1){
Role role = roleservice.getRoleByIdService(Integer.parseInt(blackandwhitebo.getRole()));
if(role!=null){
userForm.getBlackandwhitebo().setRole(role.getRole());
}else{
userForm.getBlackandwhitebo().setRole("");
}
}else{
userForm.getBlackandwhitebo().setRole("");
}
if (!isTokenValid(request)) {
resetToken(request);
blackandwhiteservice.saveBlackAndWhiteService(userForm
.getBlackandwhitebo());
} else {
saveToken(request);
}
BlackAndWhiteBO bwBO = new BlackAndWhiteBO();
bwBO.setRole("-1");
userForm.setBlackandwhitebo(bwBO);// 设置查询条件为空 查询出所有来
log.setOperationDesc("新增黑白名单");
log.setControl("成功");
systemlogService.saveSystemLog(log);
return this.getPageListBlackAndWhite(mapping, form, request, response);
}catch(Exception e){
log.setOperationDesc("新增黑白名单");
log.setControl("失败");
systemlogService.saveSystemLog(log);
return null;
}
}
/**
* 获得当前黑白名单启用状态
*
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws Exception
*/
public ActionForward getBlackandWhiteStatus(ActionMapping mapping,
ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws Exception {
try{
init();
BlackAndWhiteStatusBO blackandwhitestatusbo = blackandwhitestatusservice
.getBlackAndWhiteStatusService();
request.setAttribute("blackandwhitestatusbo", blackandwhitestatusbo);
request.setAttribute("cssclass", "blackandwhitestatus");
log.setOperationDesc("获得当前黑白名单启用状态");
log.setControl("成功");
systemlogService.saveSystemLog(log);
return mapping.findForward("blackandwhitestatus");
}catch(Exception e){
log.setOperationDesc("获得当前黑白名单启用状态");
log.setControl("失败");
systemlogService.saveSystemLog(log);
return null;
}
}
/**
* 获得所有的角色信息
*
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws Exception
*/
public ActionForward getRoleAll(ActionMapping mapping,
ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws Exception {
try{
init();
List<Role> rolelists=roleservice.getBlurRoleService(null);
request.getSession().setAttribute("rolesSearchList",rolelists);
request.setAttribute("cssclass", "userSearch");
log.setOperationDesc("根据用户ID查看用户 所对应的委办局信息");
log.setControl("成功");
systemlogService.saveSystemLog(log);
request.setAttribute("cssclass", "userToManager");
return mapping.findForward("userSearch");
}catch(Exception e){
log.setOperationDesc("根据用户ID查看用户 所对应的委办局信息");
log.setControl("失败");
systemlogService.saveSystemLog(log);
return null;
}
}
/**
* 根据用户ID查看用户 所对应的委办局信息
*
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws Exception
*/
public ActionForward getUserToManagerById(ActionMapping mapping,
ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws Exception {
request.setAttribute("search", request.getParameter("search"));
request.setAttribute("curpage", request.getParameter("curpage"));
//当前登录用户管辖的部门
try{
init();
OperatorDetails user = SecurityUserHolder.getCurrentUser();
List<Domain> domainList = user.getDomainList();
request.setAttribute("domainList", domainList);
if (request.getParameter("uid") != null) {
User u = userservice.getUserByIdService(Integer.parseInt(request.getParameter("uid")));
request.setAttribute("user", u);// 用户对应的委办局基本信息
Set<Domain> set = u.getDomains();
request.setAttribute("domainset", set);
// 找出所属角色
if (u != null) {
List<Role> rolelist = roleservice.getRoleByUserIdService(u
.getId());
request.setAttribute("rlist", rolelist);// 用户角色信息
}
}
log.setOperationDesc("根据用户ID查看用户 所对应的委办局信息");
log.setControl("成功");
systemlogService.saveSystemLog(log);
request.setAttribute("cssclass", "userToManager");
return mapping.findForward("userToManager");
}catch(Exception e){
log.setOperationDesc("根据用户ID查看用户 所对应的委办局信息");
log.setControl("失败");
systemlogService.saveSystemLog(log);
return null;
}
}
// public ActionForward getUserToRoleById(ActionMapping mapping,
// ActionForm form, HttpServletRequest request,
// HttpServletResponse response) throws Exception {
// request.setAttribute("search", request.getParameter("search"));
// //当前登录用户管辖的部门
// OperatorDetails user = SecurityUserHolder.getCurrentUser();
// List<Role> roleList = user.getRoleList();
// request.setAttribute("rolelist", roleList);
// if (request.getParameter("uid") != null) {
// User u = userservice.getUserByIdService(Integer.parseInt(request.getParameter("uid")));
// request.setAttribute("user", u);// 用户对应的委办局基本信息
// Set<Role> set = u.getRoles();
// request.setAttribute("rlist", set);
//
// // 找出所属角色
//// if (u != null) {
//// List<Role> rolelist = roleservice.getRoleByUserIdService(u
//// .getId());
//// request.setAttribute("rlist", rolelist);// 用户角色信息
//// }
//
// }
// return mapping.findForward("userToRole");
// }
/**
* 更新用户所对应的委办局信息
*
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws Exception
*/
public ActionForward updateUserToManager(ActionMapping mapping,
ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws Exception {
request.setAttribute("operation", "更新用户所对应的委办局信息");
request.setAttribute("search", request.getAttribute("search"));
String mids[] = request.getParameterValues("mid");
request.setAttribute("curpage", request.getParameter("curpage"));
String uid = request.getParameter("userid");
Set<Domain> set = new HashSet();
try{
init();
if (mids != null && mids.length > 0) {
for (String strmid : mids) {
set.add(domainService.findById(Integer.parseInt(strmid)));
}
}
if (uid != null && uid.trim().length() > 0) {
User userbo = userservice.getUserByIdService(Integer
.parseInt(uid));
if (userbo != null) {
userbo.setDomains(set);
// 执行更新
userservice.updateUser(userbo);
}
}
log.setOperationDesc("更新用户所对应的域信息");
log.setControl("成功");
systemlogService.saveSystemLog(log);
//==========
PrintWriter out = response.getWriter();
out = response.getWriter();
response.setContentType("text/html; charset=UTF-8");
out.println("<script language=\"javascript\">");
out.println("alert('指定域成功');");
out.println("window.close();");
out.println("</script>");
out.close();
return null;
//return this.getBlurUser(mapping, form, request, response);
}catch(Exception e){
log.setOperationDesc("更新用户所对应的域信息");
log.setControl("失败");
systemlogService.saveSystemLog(log);
return null;
}
}
// /**
// * 更新、分配用户所对应的角色
// * @param mapping
// * @param form
// * @param request
// * @param response
// * @return
// * @throws Exception
// */
// public ActionForward updateUserToRole(ActionMapping mapping,
// ActionForm form, HttpServletRequest request,
// HttpServletResponse response) throws Exception {
// request.setAttribute("operation", "更新用户所对应的角色");
// request.setAttribute("search", request.getAttribute("search"));
// String roleid[] = request.getParameterValues("roleid");
//
// String uid = request.getParameter("userid");
// Set<Role> set = new HashSet();
// if (roleid != null && roleid.length > 0) {
// for (String strmid : roleid) {
// set.add(roleservice.getRoleByIdService(Integer.parseInt(strmid)));
// }
// }
// if (uid != null && uid.trim().length() > 0) {
// User userbo = userservice.getUserByIdService(Integer
// .parseInt(uid));
// if (userbo != null) {
// userbo.setRoles(set);
// // 执行更新
// userservice.updateUser(userbo);
//
// }
// }
// return this.getBlurUser(mapping, form, request, response);
// }
/**
* 更新委办局信息
*
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws Exception
*/
public ActionForward updateManager(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
UserForm userForm = (UserForm) form;
request.setAttribute("curpage", request.getParameter("curpage"));
try{
init();
Domain domain = domainService.findById(userForm.getMid());
domain.setId(userForm.getMid());
domain.setDescription(userForm.getDepict());
domain.setDomainName(userForm.getManagerName());
domain.setParentDomain(domainService.findById(Integer.parseInt(request.getParameter("pid"))));
domainService.update(domain);
OperatorDetails user = SecurityUserHolder.getCurrentUser();
List<Domain> list = user.getDomainList();
for(Domain d : list){
if(d.getId().equals(domain.getId())){
d=domain;
}
}
log.setOperationDesc("新增黑白名单状态");
log.setControl("成功");
systemlogService.saveSystemLog(log);
return this.getUserToManagerByList(mapping, userForm, request, response);
}catch(Exception e){
log.setOperationDesc("新增黑白名单状态");
log.setControl("失败");
systemlogService.saveSystemLog(log);
return null;
}
}
/**
* 添加/或者更新当前黑白名单启用状态
*
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws Exception
*/
public ActionForward saveOrUpdateBlackandWhiteStatus(ActionMapping mapping,
ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws Exception {
request.setAttribute("operation", "新增黑白名单状态");
UserForm userForm = (UserForm) form;
try{
init();
BlackAndWhiteStatusBO blackandwhitestatusbo = blackandwhitestatusservice
.getBlackAndWhiteStatusService();
if (request.getParameter("blsid") != null
&& request.getParameter("blsid").trim().length() > 0
&& blackandwhitestatusbo != null) {
blackandwhitestatusbo.setStatus(Integer.parseInt(request
.getParameter("bwstatus")));
blackandwhitestatusservice
.updateBlackAndWhiteStatusService(blackandwhitestatusbo);
} else {
BlackAndWhiteStatusBO bwstatusbo = new BlackAndWhiteStatusBO();
bwstatusbo.setStatus(Integer.parseInt(request
.getParameter("bwstatus")));
blackandwhitestatusservice
.saveBlackAndWhiteStatusService(bwstatusbo);
}
log.setOperationDesc("新增黑白名单状态");
log.setControl("成功");
systemlogService.saveSystemLog(log);
return this.getBlackandWhiteStatus(mapping, form, request, response);
}catch(Exception e){
log.setOperationDesc("新增黑白名单状态");
log.setControl("失败");
systemlogService.saveSystemLog(log);
return null;
}
}
/**
* Spring IOC需要的set方法
*
* @param blackandwhiteservice
*/
public void setBlackandwhiteservice(
BlackAndWhiteService blackandwhiteservice) {
this.blackandwhiteservice = blackandwhiteservice;
}
public void setBlackandwhitestatusservice(
BlackAndWhiteStatusService blackandwhitestatusservice) {
this.blackandwhitestatusservice = blackandwhitestatusservice;
}
public void setUserservice(UserService userservice) {
this.userservice = userservice;
}
public void setRoleservice(RoleService roleservice) {
this.roleservice = roleservice;
}
//
// public void setManagerService(ManagerService managerService) {
// this.managerService = managerService;
// }
//
// public void setSoftwareDepartmentManagerSender(
// SoftwareDepartmentManagerSender softwareDepartmentManagerSender) {
// this.softwareDepartmentManagerSender = softwareDepartmentManagerSender;
// }
public void setDomainService(DomainService domainService) {
this.domainService = domainService;
}
}