1、增加FTP配置;

2、修改邮件、网站配置的修改表单区域管控内容处理

Signed-off-by: zhangwei <zhangwei@intranet.com>
This commit is contained in:
zhangwei
2018-06-05 11:06:37 +08:00
parent 3106b50e6b
commit 03a686f002
18 changed files with 2084 additions and 56 deletions

View File

@@ -0,0 +1,131 @@
package com.nis.web.controller.configuration.ntc;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.util.FileCopyUtils;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.nis.domain.Page;
import com.nis.domain.configuration.BaseStringCfg;
import com.nis.domain.configuration.CfgIndexInfo;
import com.nis.domain.configuration.ComplexkeywordCfg;
import com.nis.domain.configuration.FileDigestCfg;
import com.nis.domain.configuration.IpPortCfg;
import com.nis.domain.maat.ToMaatResult;
import com.nis.exceptions.MaatConvertException;
import com.nis.util.ConfigServiceUtil;
import com.nis.util.FileUtils;
import com.nis.util.JsonMapper;
import com.nis.web.controller.BaseController;
import com.nis.web.security.UserUtils;
/**
* 文件传输相关配置控制类
* @author dell
*
*/
@Controller
@RequestMapping("${adminPath}/ntc/fileTransfer/")
public class FileTransferCfgController extends BaseController{
@RequestMapping(value = {"ftpList"})
@RequiresPermissions(value={"fileTransfer:ftp:config"})
public String ftpList(Model model,@ModelAttribute("cfg")CfgIndexInfo cfg,HttpServletRequest request,HttpServletResponse response) {
Page<CfgIndexInfo> searchPage=new Page<CfgIndexInfo>(request,response,"a");
Page<CfgIndexInfo> page = fileTransferCfgService.getFtpList(searchPage, cfg);
model.addAttribute("page", page);
initPageCondition(model,cfg);
return "/cfg/fileTransfer/ftpList";
}
@RequestMapping(value = {"ftpForm"})
@RequiresPermissions(value={"fileTransfer:ftp:config"})
public String ftpForm(Model model,String ids,CfgIndexInfo entity) {
if(StringUtils.isNotBlank(ids)){
entity = fileTransferCfgService.getFtpCfg(Long.parseLong(ids));
initUpdateFormCondition(model,entity);
}else{
initFormCondition(model,entity);
}
model.addAttribute("_cfg", entity);
return "/cfg/fileTransfer/ftpForm";
}
@RequestMapping(value = {"saveFtpCfg"})
@RequiresPermissions(value={"fileTransfer:ftp:config"})
public String saveFtpCfg(Model model,HttpServletRequest request,HttpServletResponse response,String ids,
CfgIndexInfo entity) {
fileTransferCfgService.saveFtpCfg(entity);
return "redirect:" + adminPath +"/ntc/fileTransfer/ftpList?functionId="+entity.getFunctionId();
}
@RequestMapping(value = {"ajaxFtpSubList"})
public String ajaxFtpSubList(Model model,Long cfgId,Integer index) {
CfgIndexInfo cfg = fileTransferCfgService.getFtpCfg(cfgId);
List<String[]> tabList = new ArrayList();
if(cfg.getIpPortList()!=null){
String cfgType = null;
for(IpPortCfg ip:cfg.getIpPortList()){
if(!ip.getCfgType().equals(cfgType)){
tabList.add(new String[]{"1",ip.getCfgType()});
cfgType = ip.getCfgType();
}
}
}
if(cfg.getStringList()!=null){
String cfgType = null;
for(BaseStringCfg keyword:cfg.getStringList()){
if(!keyword.getCfgType().equals(cfgType)){
tabList.add(new String[]{"2",keyword.getCfgType()});
cfgType = keyword.getCfgType();
}
}
}
model.addAttribute("_cfg", cfg);
model.addAttribute("index", index);
model.addAttribute("tabList", tabList);
return "/cfg/fileTransfer/ftpSubList";
}
@RequestMapping(value = {"updateFtpCfgValid"})
@RequiresPermissions(value={"fileTransfer:ftp:config"})
public String updateFtpCfgValid(Integer isValid,String ids,Integer functionId) {
fileTransferCfgService.updateFtpCfgValid(isValid,ids,functionId);
return "redirect:" + adminPath +"/ntc/fileTransfer/ftpList?functionId="+functionId;
}
@RequestMapping(value = {"auditFtpCfg"})
@RequiresPermissions(value={"fileTransfer:ftp:audit"})
public String auditFtpCfg(Integer isAudit,Integer isValid,String ids,Integer functionId, RedirectAttributes redirectAttributes) {
CfgIndexInfo entity = new CfgIndexInfo();
String[] idArray = ids.split(",");
for(String id :idArray){
entity = fileTransferCfgService.getFtpCfg(Long.parseLong(id));
entity.setIsAudit(isAudit);
entity.setIsValid(isValid);
entity.setAuditorId(UserUtils.getUser().getId());
entity.setAuditTime(new Date());
entity.setFunctionId(functionId);
try {
fileTransferCfgService.auditFtpCfg(entity,isAudit);
} catch (MaatConvertException e) {
e.printStackTrace();
logger.info("ftp配置下发失败"+e.getMessage());
addMessage(redirectAttributes, e.getMessage());
}
}
return "redirect:" + adminPath +"/ntc/fileTransfer/ftpList?functionId="+functionId;
}
}

View File

@@ -0,0 +1,167 @@
package com.nis.web.controller.configuration.ntc;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.util.FileCopyUtils;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.nis.domain.Page;
import com.nis.domain.configuration.CfgIndexInfo;
import com.nis.domain.configuration.ComplexkeywordCfg;
import com.nis.domain.configuration.FileDigestCfg;
import com.nis.domain.configuration.IpPortCfg;
import com.nis.domain.maat.ToMaatResult;
import com.nis.exceptions.MaatConvertException;
import com.nis.util.ConfigServiceUtil;
import com.nis.util.FileUtils;
import com.nis.util.JsonMapper;
import com.nis.web.controller.BaseController;
import com.nis.web.security.UserUtils;
/**
* 邮件相关配置控制类
* @author dell
*
*/
@Controller
@RequestMapping("${adminPath}/ntc/mail/")
public class MailCfgController extends BaseController{
@RequestMapping(value = {"mailList"})
@RequiresPermissions(value={"mail:config"})
public String mailList(Model model,@ModelAttribute("cfg")CfgIndexInfo cfg,HttpServletRequest request,HttpServletResponse response) {
Page<CfgIndexInfo> searchPage=new Page<CfgIndexInfo>(request,response,"a");
Page<CfgIndexInfo> page = mailCfgService.getMailList(searchPage, cfg);
model.addAttribute("page", page);
initPageCondition(model,cfg);
return "/cfg/mail/mailList";
}
@RequestMapping(value = {"mailForm"})
@RequiresPermissions(value={"mail:config"})
public String mailForm(Model model,String ids,CfgIndexInfo entity) {
if(StringUtils.isNotBlank(ids)){
entity = mailCfgService.getMailCfg(Long.parseLong(ids));
initUpdateFormCondition(model,entity);
}else{
initFormCondition(model,entity);
}
model.addAttribute("_cfg", entity);
return "/cfg/mail/mailForm";
}
@RequestMapping(value = {"saveMailCfg"})
@RequiresPermissions(value={"mail:config"})
public String saveMailCfg(Model model,HttpServletRequest request,HttpServletResponse response,String ids,
CfgIndexInfo entity,MultipartFile file) {
try {
ToMaatResult result = null;
if(file!=null && file.getSize()>0 && entity.getDigestList()!=null && entity.getDigestList().size()>0){
String sep = System.getProperty("file.separator");
String digestFilePath = request.getRealPath("/")+"digestFile";
FileUtils.createDirectory(digestFilePath);
String fileName = UUID.randomUUID()+FileUtils.getSuffix(file.getOriginalFilename(), true);
File uploadFile = new File(digestFilePath+sep+fileName);
FileCopyUtils.copy(file.getBytes(), uploadFile);
Date creatTime = entity.getCreateTime();
//获取文件摘要接口调用
Map<String,Object> fileMap = new HashMap();
fileMap.put("filetype", FileUtils.getSuffix(file.getName(), false));
fileMap.put("datatype", "dbSystem");//源文件存入数据中心
fileMap.put("createTime",creatTime);
fileMap.put("key",FileUtils.getPrefix(file.getName(), false));
fileMap.put("fileName", file.getName());
String md5 = DigestUtils.md5Hex(file.getBytes());
fileMap.put("checksum", md5);
result = ConfigServiceUtil.getFileDigest(null, uploadFile, JsonMapper.toJsonString(fileMap));
logger.info("获取文件摘要响应信息:"+result);
}
mailCfgService.saveMailCfg(entity,result);
} catch (IOException e) {
e.printStackTrace();
}
return "redirect:" + adminPath +"/ntc/mail/mailList?functionId="+entity.getFunctionId();
}
@RequestMapping(value = {"ajaxMailSubList"})
public String ajaxMailSubList(Model model,Long cfgId,Integer index) {
CfgIndexInfo cfg = mailCfgService.getMailCfg(cfgId);
List<String[]> tabList = new ArrayList();
if(cfg.getIpPortList()!=null){
String cfgType = null;
for(IpPortCfg ip:cfg.getIpPortList()){
if(!ip.getCfgType().equals(cfgType)){
tabList.add(new String[]{"1",ip.getCfgType()});
cfgType = ip.getCfgType();
}
}
}
if(cfg.getComplexList()!=null){
String cfgType = null;
for(ComplexkeywordCfg keyword:cfg.getComplexList()){
if(!keyword.getCfgType().equals(cfgType)){
tabList.add(new String[]{"3",keyword.getCfgType()});
cfgType = keyword.getCfgType();
}
}
}
if(cfg.getDigestList()!=null){
String cfgType = null;
for(FileDigestCfg digest:cfg.getDigestList()){
if(!digest.getCfgType().equals(cfgType)){
tabList.add(new String[]{"5",digest.getCfgType()});
cfgType = digest.getCfgType();
}
}
}
model.addAttribute("_cfg", cfg);
model.addAttribute("index", index);
model.addAttribute("tabList", tabList);
return "/cfg/mail/mailSubList";
}
@RequestMapping(value = {"updateMailCfgValid"})
@RequiresPermissions(value={"mail:config"})
public String updateMailCfgValid(Integer isValid,String ids,Integer functionId) {
mailCfgService.updateMailCfgValid(isValid,ids,functionId);
return "redirect:" + adminPath +"/ntc/mail/mailList?functionId="+functionId;
}
@RequestMapping(value = {"auditMailCfg"})
@RequiresPermissions(value={"mail:audit"})
public String auditMailCfg(Integer isAudit,Integer isValid,String ids,Integer functionId, RedirectAttributes redirectAttributes) {
CfgIndexInfo entity = new CfgIndexInfo();
String[] idArray = ids.split(",");
for(String id :idArray){
entity = mailCfgService.getMailCfg(Long.parseLong(id));
entity.setIsAudit(isAudit);
entity.setIsValid(isValid);
entity.setAuditorId(UserUtils.getUser().getId());
entity.setAuditTime(new Date());
entity.setFunctionId(functionId);
try {
mailCfgService.auditMailCfg(entity,isAudit);
} catch (MaatConvertException e) {
e.printStackTrace();
logger.info("mail配置下发失败"+e.getMessage());
addMessage(redirectAttributes, e.getMessage());
}
}
return "redirect:" + adminPath +"/ntc/mail/mailList?functionId="+functionId;
}
}

View File

@@ -110,7 +110,7 @@ public class WebsiteController extends BaseController{
if(entity.getHttpResBodyList().size()==0){
entity.getHttpResBodyList().add(resBodyCfg);
}
model.addAttribute("areaCfgs", entity.getAreaCfg());
initUpdateFormCondition(model,entity);
}else{
//设置http各类配置的配置域类型
IpPortCfg ipCfg = new IpPortCfg();
@@ -150,8 +150,9 @@ public class WebsiteController extends BaseController{
List<HttpBodyCfg> resBodyList=new ArrayList<HttpBodyCfg>();
resBodyList.add(resBodyCfg);
entity.setHttpResBodyList(resBodyList);
initFormCondition(model,entity);
}
initFormCondition(model,entity);
model.addAttribute("_cfg", entity);
return "/cfg/website/httpForm";
}
@@ -211,9 +212,10 @@ public class WebsiteController extends BaseController{
public String sslForm(Model model,String ids,CfgIndexInfo entity) {
if(StringUtils.isNotBlank(ids)){
entity = websiteCfgService.getSslCfg(Long.parseLong(ids));
model.addAttribute("areaCfgs", entity.getAreaCfg());
initUpdateFormCondition(model,entity);
}else{
initFormCondition(model,entity);
}
initFormCondition(model,entity);
model.addAttribute("_cfg", entity);
return "/cfg/website/sslForm";
}
@@ -286,9 +288,10 @@ public class WebsiteController extends BaseController{
public String dnsForm(Model model,String ids,CfgIndexInfo entity) {
if(StringUtils.isNotBlank(ids)){
entity = websiteCfgService.getDnsCfg(Long.parseLong(ids));
model.addAttribute("areaCfgs", entity.getAreaCfg());
initUpdateFormCondition(model,entity);
}else{
initFormCondition(model,entity);
}
initFormCondition(model,entity);
model.addAttribute("_cfg", entity);
return "/cfg/website/dnsForm";
}