app内置特征文件上传

This commit is contained in:
duandongmei
2018-08-28 13:40:04 +08:00
parent 2f4a33785d
commit 34b1caa445
12 changed files with 1154 additions and 8 deletions

View File

@@ -1,8 +1,11 @@
package com.nis.web.controller.configuration;
import java.io.File;
import java.security.cert.X509Certificate;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -13,10 +16,14 @@ import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.google.common.collect.Maps;
import com.nis.domain.Page;
import com.nis.domain.SysDataDictionaryItem;
import com.nis.domain.configuration.AppBuiltInFeatureFile;
import com.nis.domain.configuration.AppByteCfg;
import com.nis.domain.configuration.AppDomainCfg;
import com.nis.domain.configuration.AppHeaderCfg;
@@ -28,13 +35,21 @@ import com.nis.domain.configuration.AppTcpCfg;
import com.nis.domain.configuration.AppTopicDomainCfg;
import com.nis.domain.configuration.IpPortCfg;
import com.nis.domain.configuration.NtcSubscribeIdCfg;
import com.nis.domain.configuration.AppBuiltInFeatureFile;
import com.nis.domain.maat.ToMaatResult;
import com.nis.domain.maat.ToMaatResult.ResponseData;
import com.nis.domain.specific.SpecificServiceCfg;
import com.nis.exceptions.CallExternalProceduresException;
import com.nis.exceptions.MaatConvertException;
import com.nis.util.CodeDicUtils;
import com.nis.util.ConfigServiceUtil;
import com.nis.util.Constants;
import com.nis.util.DictUtils;
import com.nis.util.FileUtils;
import com.nis.util.JsonMapper;
import com.nis.util.StringUtil;
import com.nis.web.controller.BaseController;
import com.nis.web.dao.configuration.AppBuiltInFeatureDao;
import com.nis.web.dao.dashboard.codedic.CodeResult;
import com.nis.web.security.UserUtils;
@@ -1135,4 +1150,126 @@ public class AppCfgController extends BaseController {
}
return "redirect:" + adminPath +"/app/topicDomainCfgList?functionId="+functionId;
}
/**********************内置APP特征文件上传*******************************/
@RequestMapping(value = {"/appBuiltinFeatureFileForm"})
@RequiresPermissions(value={"app:built_in_file:config"})
public String from(Model model,
HttpServletRequest request,
HttpServletResponse response,
String ids,
@ModelAttribute("cfg")AppBuiltInFeatureFile cfg
,RedirectAttributes redirectAttributes){
if(cfg == null){
cfg=new AppBuiltInFeatureFile();
}
if(!StringUtil.isEmpty(ids)){
cfg = appBuiltInFeatureService.getAppBuiltInFeatureFile(Long.valueOf(ids),-1);
initFormCondition(model, cfg);
model.addAttribute("isAdd", false);
}else{
initFormCondition(model, cfg);
model.addAttribute("isAdd", true);
}
model.addAttribute("_cfg", cfg);
return "/cfg/app/appBuiltinFeatureFileForm";
}
@RequestMapping(value = {"/appBuiltinFeatureFileSaveOrUpdate"})
@RequiresPermissions(value={"app:built_in_file:config"})
public String saveOrUpdate(Model model,HttpServletRequest request,HttpServletResponse response,
@ModelAttribute("cfg")AppBuiltInFeatureFile cfg,
MultipartFile file,
RedirectAttributes redirectAttributes){
File fileD=null;
try{
if(file != null) {
String filename = file.getOriginalFilename();
String prefix = FileUtils.getPrefix(filename, false);
String suffix = FileUtils.getSuffix(filename, false);
fileD = File.createTempFile("file_"+ prefix, suffix);
file.transferTo(fileD);//复制文件
String md5 = FileUtils.getFileMD5(fileD);
Map<String,Object> srcMap = Maps.newHashMap();
srcMap.put("filetype", suffix);
srcMap.put("datatype", "dbSystem");//源文件存入数据中心
srcMap.put("createTime",new Date());
srcMap.put("key",prefix);
srcMap.put("fileName", filename);
srcMap.put("checksum", md5);
ToMaatResult result = ConfigServiceUtil.postFileCfg(null, fileD, JsonMapper.toJsonString(srcMap));
logger.info("APP 内置特征 文件上传响应信息:"+JsonMapper.toJsonString(result));
String accessUrl = null;
if(!StringUtil.isEmpty(result)){
ResponseData data = result.getData();
accessUrl=data.getAccessUrl();
cfg.setFilePath(accessUrl);;
}
}
appBuiltInFeatureService.saveOrUpdate(cfg);
addMessage(redirectAttributes,"save_success");
}catch(Exception e){
e.printStackTrace();
addMessage(redirectAttributes,"save_failed");
}
return "redirect:" + adminPath +"/app/appBuiltinFeatureFileList?functionId="+cfg.getFunctionId();
}
@RequestMapping(value = {"/appBuiltinFeatureFileList"})
public String list(Model model,HttpServletRequest request,HttpServletResponse response
,@ModelAttribute("cfg")AppBuiltInFeatureFile entity
,RedirectAttributes redirectAttributes){
Page<AppBuiltInFeatureFile> page = appBuiltInFeatureService.findPage(new Page<AppBuiltInFeatureFile>(request, response,"r"), entity);
model.addAttribute("page", page);
initPageCondition(model);
return "/cfg/app/appBuiltinFeatureFileList";
}
@RequestMapping(value = {"/appBuiltinFeatureFileDelete"})
@RequiresPermissions(value={"app:built_in_file:config"})
public String delete(Integer isAudit,Integer isValid,String ids,Integer functionId
,Model model,HttpServletRequest request
,HttpServletResponse response
,RedirectAttributes redirectAttributes){
if(!StringUtil.isEmpty(ids)){
appBuiltInFeatureService.delete(isAudit,isValid,ids,functionId);
}
return "redirect:" + adminPath +"/app/appBuiltinFeatureFileList?functionId="+functionId;
}
@RequestMapping(value = {"/audit"})
@RequiresPermissions(value={"app:built_in_file:confirm"})
public String audit(Integer isAudit,Integer isValid,String ids,Integer functionId,
RedirectAttributes redirectAttributes) {
if(!StringUtil.isEmpty(ids)){
String[] idArray = ids.split(",");
Date auditTime=new Date();
for(String id :idArray){
try {
appBuiltInFeatureService.audit(isAudit,isValid,functionId,id,auditTime);
} catch (MaatConvertException e) {
addMessage(redirectAttributes, e.getMessage());
}
}
}
return "redirect:" + adminPath +"/app/appBuiltinFeatureFileList?functionId="+functionId;
}
@ResponseBody
@RequestMapping(value = "/validCfgId")
public boolean validCfgId(Long cfgId) {
AppBuiltInFeatureFile dns=appBuiltInFeatureService.getAppBuiltInFeatureFile(cfgId,null);
if(dns == null ){
return false;
}else{
return true;
}
}
}