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/controller/configuration/ComplexStringCfgController.java
wangxin c4a0169939 (1)数值类配置dao,service,controller提交
(2)增强字符串类配置dao,service,controller,页面提交
2018-02-28 12:15:52 +08:00

372 lines
15 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.nis.web.controller.configuration;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang3.StringUtils;
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 com.nis.domain.Page;
import com.nis.domain.ServiceConfigInfo;
import com.nis.domain.configuration.BaseCfg;
import com.nis.domain.configuration.ComplexkeywordCfg;
import com.nis.domain.configuration.RequestInfo;
import com.nis.domain.configuration.ServiceDictInfo;
import com.nis.util.Constants;
import com.nis.web.controller.BaseController;
/**
* 增强字符串相关配置控制类
* @author dell
*
*/
@Controller
@RequestMapping("${adminPath}/cfg/complex")
public class ComplexStringCfgController extends BaseController{
@RequestMapping(value = {"list"})
public String cfgList(Model model,Integer pageNo,Integer pageSize,String cfgName,@ModelAttribute("cfg")ComplexkeywordCfg cfg,HttpServletRequest request,HttpServletResponse response) {
model.addAttribute("cfgName", cfgName);
if(cfg!=null){
Integer serviceId=cfg.getServiceId();
logger.info("servcice id is "+serviceId);
if(serviceId!=null){
model.addAttribute("serviceId", serviceId);
ServiceConfigInfo serviceConfigInfo=serviceConfigInfoService.findSysServiceConfigInfo(serviceId);
if(serviceConfigInfo!=null){
String tableName=serviceConfigInfo.getTableName();
if(!StringUtils.isBlank(tableName)){
logger.info("table name is "+tableName);
cfg.setTableName(tableName);
Page<ComplexkeywordCfg> searchPage=new Page<ComplexkeywordCfg>(request, response, 1);
if(pageNo!=null) searchPage.setPageNo(pageNo);
if(pageSize!=null) searchPage.setPageSize(pageSize);
if(cfg.getPage()!=null){
if(!StringUtils.isBlank(cfg.getPage().getOrderBy()));
searchPage.setOrderBy(cfg.getPage().getOrderBy());
}
Page<ComplexkeywordCfg> page = complexStringCfgService.findPage(searchPage, cfg);
model.addAttribute("page", page);
model.addAttribute("action", cfg.getAction());
model.addAttribute("tableName", tableName);
List<RequestInfo> requestInfos=requestInfoService.getValidRequestInfo();
model.addAttribute("requestInfos", requestInfos);
List<ServiceDictInfo> fls=serviceDictInfoService.findFlDict();
model.addAttribute("fls", fls);
List<ServiceDictInfo> xzs=serviceDictInfoService.findXzDict();
model.addAttribute("xzs", xzs);
List<ServiceDictInfo> lables=serviceDictInfoService.findLableDict();
model.addAttribute("lables", lables);
}
}else{
logger.error("未获取到正确的serviceId");
}
}
}
return "/cfg/complexCfgList";
}
@RequestMapping(value = {"form"})
public String cfgForm(int action,String cfgName,Integer serviceId,Model model,HttpServletRequest request,HttpServletResponse response) {
model.addAttribute("cfgName", cfgName);
model.addAttribute("action", action);
model.addAttribute("serviceId", serviceId);
logger.info("sercice id is "+serviceId);
if(serviceId!=null){
ServiceConfigInfo serviceConfigInfo=serviceConfigInfoService.findSysServiceConfigInfo(serviceId);
if(serviceConfigInfo!=null){
String tableName=serviceConfigInfo.getTableName();
if(!StringUtils.isBlank(tableName)){
logger.info("table name is "+tableName);
String className=complexStringCfgService.getClassName(tableName);
logger.info("class name is "+className);
String packageName=ComplexkeywordCfg.class.getPackage().getName();
try {
//通过反射获得ComplexkeywordCfg的子类的实例并调用子类的initDefaultValue初始化默认值
Class clazz=Class.forName(packageName+"."+className);
ComplexkeywordCfg cfg=(ComplexkeywordCfg)clazz.newInstance();
cfg.setTableName(tableName);
cfg.initDefaultValue();
cfg.setAction(action);
cfg.setServiceId(serviceId);
model.addAttribute("_cfg", cfg);
model.addAttribute("tableName", tableName);
List<RequestInfo> requestInfos=requestInfoService.getValidRequestInfo();
model.addAttribute("requestInfos", requestInfos);
List<ServiceDictInfo> fls=serviceDictInfoService.findFlDict();
model.addAttribute("fls", fls);
List<ServiceDictInfo> xzs=serviceDictInfoService.findXzDict();
model.addAttribute("xzs", xzs);
List<ServiceDictInfo> lables=serviceDictInfoService.findLableDict();
model.addAttribute("lables", lables);
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException e) {
// TODO Auto-generated catch block
logger.error("打开新增IP窗口失败",e);
e.printStackTrace();
}
}
}
}else{
logger.error("未获取到正确的serviceId");
}
return "/cfg/complexCfgForm";
}
@RequestMapping(value = {"updateForm"})
public String updateStringCfgForm(String tableName,int action,long cfgId,String cfgName,Integer serviceId,Model model,HttpServletRequest request,HttpServletResponse response) {
model.addAttribute("cfgName", cfgName);
model.addAttribute("serviceId", serviceId);
model.addAttribute("action", action);
model.addAttribute("tableName", tableName);
if(!StringUtils.isBlank(tableName)){
logger.info("table name is "+tableName);
ComplexkeywordCfg searchBean=new ComplexkeywordCfg();
searchBean.setCfgId(cfgId);
searchBean.setTableName(tableName);
ComplexkeywordCfg cfg=complexStringCfgService.getStringCfgById(searchBean);
model.addAttribute("_cfg", cfg);
List<RequestInfo> requestInfos=requestInfoService.getAllRequestInfo();
model.addAttribute("requestInfos", requestInfos);
List<ServiceDictInfo> fls=serviceDictInfoService.findAllFlDict();
model.addAttribute("fls", fls);
List<ServiceDictInfo> xzs=serviceDictInfoService.findAllXzDict();
model.addAttribute("xzs", xzs);
List<ServiceDictInfo> lables=serviceDictInfoService.findAllLableDict();
model.addAttribute("lables", lables);
}else if(serviceId!=null){
ServiceConfigInfo serviceConfigInfo=serviceConfigInfoService.findSysServiceConfigInfo(serviceId);
if(serviceConfigInfo!=null){
tableName=serviceConfigInfo.getTableName();
if(!StringUtils.isBlank(tableName)){
logger.info("table name is "+tableName);
ComplexkeywordCfg searchBean=new ComplexkeywordCfg();
searchBean.setCfgId(cfgId);
searchBean.setTableName(tableName);
ComplexkeywordCfg cfg=complexStringCfgService.getStringCfgById(searchBean);
model.addAttribute("_cfg", cfg);
List<RequestInfo> requestInfos=requestInfoService.getAllRequestInfo();
model.addAttribute("requestInfos", requestInfos);
List<ServiceDictInfo> fls=serviceDictInfoService.findAllFlDict();
model.addAttribute("fls", fls);
List<ServiceDictInfo> xzs=serviceDictInfoService.findAllXzDict();
model.addAttribute("xzs", xzs);
List<ServiceDictInfo> lables=serviceDictInfoService.findAllLableDict();
model.addAttribute("lables", lables);
}
}
}else{
logger.error("未获取到正确的表名");
}
return "/cfg/complexCfgForm";
}
/**
*
* addStringCfg(新增IP配置)
* (这里描述这个方法适用条件 可选)
* @return
*String
* @exception
* @since 1.0.0
*/
@RequestMapping(value = {"saveOrUpdateCfg"})
public String saveOrUpdateStringCfg(String cfgName,Model model, ComplexkeywordCfg cfg) {
model.addAttribute("cfgName",cfgName);
model.addAttribute("cfgType","complex");
logger.info("saveOrUpdateStringCfg loaded");
if(cfg==null){
logger.error("无法保存空的配置!");
addMessage(model,"保存失败!");
}else if(!StringUtils.isBlank(cfg.getTableName())){
int serviceId=cfg.getServiceId();
long compileId=getCompileId(cfg);
cfg.setCreatorId(cfg.getCurrentUser().getId());
cfg.setCreateTime(new Date());
cfg.setIsValid(Constants.VALID_NO);
cfg.setIsAudit(Constants.AUDIT_NOT_YET);
cfg.setCompileId(compileId);
if(cfg.getCfgId()==null){
cfg.setCreatorId(cfg.getCurrentUser().getId());
cfg.setCreateTime(new Date());
complexStringCfgService.addStringCfg(cfg);
}else{
cfg.setEditorId(cfg.getCurrentUser().getId());
cfg.setEditTime(new Date());
complexStringCfgService.updateStringCfg(cfg);
}
model.addAttribute("serviceId",serviceId);
model.addAttribute("action",cfg.getAction());
addMessage(model,"保存成功,正在为您跳转页面...");
}else if(cfg.getServiceId()!=null){
int serviceId=cfg.getServiceId();
ServiceConfigInfo serviceConfigInfo=serviceConfigInfoService.findSysServiceConfigInfo(serviceId);
if(serviceConfigInfo!=null){
String tableName=serviceConfigInfo.getTableName();
if(!StringUtils.isBlank(tableName)){
long compileId=getCompileId(cfg);
cfg.setTableName(tableName);
cfg.setCreatorId(cfg.getCurrentUser().getId());
cfg.setCreateTime(new Date());
cfg.setIsValid(Constants.VALID_NO);
cfg.setIsAudit(Constants.AUDIT_NOT_YET);
cfg.setCompileId(compileId);
if(cfg.getCfgId()==null){
cfg.setCreatorId(cfg.getCurrentUser().getId());
cfg.setCreateTime(new Date());
complexStringCfgService.addStringCfg(cfg);
}else{
cfg.setEditorId(cfg.getCurrentUser().getId());
cfg.setEditTime(new Date());
complexStringCfgService.updateStringCfg(cfg);
}
model.addAttribute("serviceId",serviceId);
model.addAttribute("action",cfg.getAction());
addMessage(model,"保存成功,正在为您跳转页面...");
}
}
}else{
addMessage(model,"保存失败!");
logger.error("无法确定IP配置的表名");
}
return "/cfg/resultPage";//StringEscapeUtils.escapeHtml4("?serviceId="+cfg.getServiceId()+"&action="+cfg.getAction()+"&cfgName="+cfgName);
}
/**
*
* auditStringCfg(审核IP配置)
* (这里描述这个方法适用条件 可选)
* @return
*String
* @exception
* @since 1.0.0
*/
@RequestMapping(value = {"auditCfg"})
public String auditStringCfg(String cfgName,ComplexkeywordCfg cfg,Model model) {
model.addAttribute("cfgName", cfgName);
if(cfg==null){
logger.error("无法审核空的配置!");
}else if(!StringUtils.isBlank(cfg.getTableName())){
int audit=complexStringCfgService.getIsAudit(cfg);
if(audit==Constants.AUDIT_YES&&cfg.getIsAudit()!=Constants.AUDIT_NOT_YES){
logger.error("审核通过的配置只能取消审核通过!");
}else{
cfg.setAuditorId(cfg.getCurrentUser().getId());
cfg.setAuditTime(new Date());
if(cfg.getIsAudit()==Constants.AUDIT_NOT_YES){//取消审核通过设置有效标志为0
cfg.setIsValid(Constants.VALID_NO);
}else if(cfg.getIsAudit()==Constants.AUDIT_YES){//审核通过设置有效标志为1
cfg.setIsValid(Constants.VALID_YES);
}
int result=complexStringCfgService.auditStringCfg(cfg);
}
}else if(cfg.getServiceId()!=null){
int serviceId=cfg.getServiceId();
ServiceConfigInfo serviceConfigInfo=serviceConfigInfoService.findSysServiceConfigInfo(serviceId);
if(serviceConfigInfo!=null){
String tableName=serviceConfigInfo.getTableName();
if(!StringUtils.isBlank(tableName)){
cfg.setTableName(tableName);
int audit=complexStringCfgService.getIsAudit(cfg);
if(audit==Constants.AUDIT_YES&&cfg.getIsAudit()!=Constants.AUDIT_NOT_YES){
logger.error("审核通过的配置只能取消审核通过!");
}else{
cfg.setAuditorId(cfg.getCurrentUser().getId());
cfg.setAuditTime(new Date());
if(cfg.getIsAudit()==Constants.AUDIT_NOT_YES){//取消审核通过设置有效标志为0
cfg.setIsValid(Constants.VALID_NO);
}else if(cfg.getIsAudit()==Constants.AUDIT_YES){//审核通过设置有效标志为1
cfg.setIsValid(Constants.VALID_YES);
}
int result=complexStringCfgService.auditStringCfg(cfg);
}
}
}
}else{
logger.error("无法确定IP配置的表名");
}
return "redirect:" + adminPath + "/cfg/complex/list?serviceId="+cfg.getServiceId()+"&action="+cfg.getAction()+"&cfgName"+cfgName;
}
/**
*
* auditStringCfg(删除IP配置逻辑删除)
* (这里描述这个方法适用条件 可选)
* @return
*String
* @exception
* @since 1.0.0
*/
@RequestMapping(value = {"deleteCfg"})
public String deleteStringCfg(String tableName,int action,long cfgId,String cfgName,Integer serviceId,Model model) {
model.addAttribute("serviceId", serviceId);
model.addAttribute("cfgName", cfgName);
model.addAttribute("action", action);
model.addAttribute("cfgType","complex");
if(!StringUtils.isBlank(tableName)){
int audit=complexStringCfgService.getIsAudit(tableName,cfgId);
//未审核时可删除
if(audit!=Constants.AUDIT_YES){
ComplexkeywordCfg cfg=new ComplexkeywordCfg();
cfg.setCfgId(cfgId);
cfg.setTableName(tableName);
cfg.setEditorId(cfg.getCurrentUser().getId());
cfg.setEditTime(new Date());
cfg.setIsValid(Constants.VALID_DEL);
int result=complexStringCfgService.deleteStringCfg(cfg);
addMessage(model,"删除成功,正在为您跳转页面...");
}else{
logger.error("通过审核的配置不能删除!");
}
}else if(serviceId!=null){
ServiceConfigInfo serviceConfigInfo=serviceConfigInfoService.findSysServiceConfigInfo(serviceId);
if(serviceConfigInfo!=null){
tableName=serviceConfigInfo.getTableName();
if(!StringUtils.isBlank(tableName)){
ComplexkeywordCfg cfg=new ComplexkeywordCfg();
cfg.setCfgId(cfgId);
cfg.setTableName(tableName);
int audit=complexStringCfgService.getIsAudit(cfg);
//未审核时可删除
if(audit!=Constants.AUDIT_YES){
cfg.setEditorId(cfg.getCurrentUser().getId());
cfg.setEditTime(new Date());
cfg.setIsValid(Constants.VALID_DEL);
int result=complexStringCfgService.deleteStringCfg(cfg);
addMessage(model,"删除成功,正在为您跳转页面...");
}else{
logger.error("通过审核的配置不能删除!");
}
}
}
}else{
logger.error("无法确定IP配置的表名");
}
return "/cfg/resultPage";
}
/**
*
* getCompileId(获取编译ID)
* (这里描述这个方法适用条件 可选)
* @return
*long
* @exception
* @since 1.0.0
*/
protected long getCompileId(BaseCfg cfg){
return 0;
}
}