diff --git a/src/main/java/com/nis/web/controller/systemService/SystemServiceController.java b/src/main/java/com/nis/web/controller/systemService/SystemServiceController.java index 84fadeafa..b37624c0b 100644 --- a/src/main/java/com/nis/web/controller/systemService/SystemServiceController.java +++ b/src/main/java/com/nis/web/controller/systemService/SystemServiceController.java @@ -1,20 +1,44 @@ package com.nis.web.controller.systemService; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.apache.shiro.authz.annotation.RequiresPermissions; 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.servlet.mvc.support.RedirectAttributes; import com.nis.domain.Page; +import com.nis.domain.ServiceConfigInfo; import com.nis.domain.SystemServiceInfo; +import com.nis.util.StringUtil; import com.nis.web.controller.BaseController; +import com.nis.web.security.UserUtils; @Controller -@RequestMapping("${adminPath}/sysService") +@RequestMapping("${adminPath}/systemService") public class SystemServiceController extends BaseController { + //TODO 异常处理 + + @ModelAttribute + public SystemServiceInfo get(Long id) { + if (!StringUtil.isEmpty(id)){ +// SystemServiceInfo systemServiceInfo = new SystemServiceInfo(); +// systemServiceInfo.setId(id); + return systemServiceService.get(id); + }else{ + return new SystemServiceInfo(); + } + } + + @RequiresPermissions("system:service:view") @RequestMapping(value = "list") public String list(Model model, SystemServiceInfo systemServiceInfo, HttpServletRequest request, HttpServletResponse response) { Page page = systemServiceService.findPage(new Page(request, response, 1), systemServiceInfo); @@ -22,16 +46,81 @@ public class SystemServiceController extends BaseController { return "/systemService/list"; } - @RequestMapping(value = "form") + @RequiresPermissions("system:service:edit") + @RequestMapping(value = "systemServiceform") public String detail(Model model, SystemServiceInfo systemServiceInfo) { - return "/sysService/form"; + return "/systemService/form"; } + @RequiresPermissions("system:service:edit") @RequestMapping(value = "save") - public String save(Model model, SystemServiceInfo systemServiceInfo) { - systemServiceInfo = systemServiceService.get(systemServiceInfo); - model.addAttribute("systemServiceInfo", systemServiceInfo); - return ""; + public String save(Model model, SystemServiceInfo systemServiceInfo, HttpServletRequest request, RedirectAttributes redirectAttributes) { + Date now = new Date(); + + //新增 + if (systemServiceInfo.getId() == null) { + systemServiceInfo.setCreateTime(now); + systemServiceInfo.setCreator(UserUtils.getUser()); + systemServiceInfo.setIsValid(1); + } + //更新 + else { + systemServiceInfo.setEditTime(now); + systemServiceInfo.setEditor(UserUtils.getUser()); + } + + //接收serviceConfigInfo + String[] reqSciIds = request.getParameterValues("sciId"); + String[] sciIsValids = request.getParameterValues("sciIsValid"); + String[] reqTableNames = request.getParameterValues("tableName"); + String[] reqTableTypes = request.getParameterValues("tableType"); + String[] reqTableDescs = request.getParameterValues("tableDesc"); + String[] reqMaatTables = request.getParameterValues("maatTable"); + + //新增的serviceConfigInfo + List insertServiceConfigInfoList = new ArrayList(); + //更新的serviceConfigInfo + List updateServiceConfigInfoList = new ArrayList(); + + if (reqSciIds != null && reqSciIds.length > 0) { + for (int i = 0; i < reqSciIds.length; i++) { + ServiceConfigInfo sci = new ServiceConfigInfo(); + sci.setId(Long.valueOf(reqSciIds[i])); + sci.setTableName(reqTableNames[i]); + sci.setIsValid(Integer.valueOf(sciIsValids[i])); + sci.setTableType(Integer.valueOf(reqTableTypes[i])); + sci.setTableDesc(reqTableDescs[i]); + sci.setMaatTable(reqMaatTables[i]); + sci.setServiceId(systemServiceInfo.getServiceId()); + + if (sci.getId() == 0) { + insertServiceConfigInfoList.add(sci); + } else { + updateServiceConfigInfoList.add(sci); + } + } + + } + + try { + systemServiceService.save(systemServiceInfo, insertServiceConfigInfoList, updateServiceConfigInfoList); + addMessage(redirectAttributes, "保存成功"); + } catch (Exception e) { + addMessage(redirectAttributes, "保存失败:" + e.getMessage()); + e.printStackTrace(); + } + + return "redirect:" + adminPath + "/systemService/list"; + } + + @RequiresPermissions("system:service:edit") + @RequestMapping(value = "delete") + public String delete(Model model, SystemServiceInfo systemServiceInfo, HttpServletRequest request, HttpServletResponse response) { + systemServiceService.deleteService(systemServiceInfo); + Page page = systemServiceService.findPage(new Page(request, response, 1), systemServiceInfo); + model.addAttribute("page", page); + addMessage(model, "删除成功"); + return "/systemService/list"; } diff --git a/src/main/java/com/nis/web/dao/systemService/ServiceConfigInfoDao.xml b/src/main/java/com/nis/web/dao/systemService/ServiceConfigInfoDao.xml index 3daa36498..eaebed82d 100644 --- a/src/main/java/com/nis/web/dao/systemService/ServiceConfigInfoDao.xml +++ b/src/main/java/com/nis/web/dao/systemService/ServiceConfigInfoDao.xml @@ -1,6 +1,7 @@ + @@ -10,6 +11,7 @@ + + + + insert into service_config_info ( + table_name, table_desc, table_type, maat_table, service_id, is_valid + ) values ( + #{tableName}, #{tableDesc}, #{tableType}, #{maatTable}, #{serviceId}, #{isValid} + ) + + + + update + service_config_info + set + table_name=#{tableName}, + table_desc=#{tableDesc}, + table_type=#{tableType}, + maat_table=#{maatTable}, + service_id=#{serviceId}, + is_valid=#{isValid} + where id=#{id} + + \ No newline at end of file diff --git a/src/main/java/com/nis/web/dao/systemService/SystemServiceInfoDao.xml b/src/main/java/com/nis/web/dao/systemService/SystemServiceInfoDao.xml index b427a5c49..de138f6db 100644 --- a/src/main/java/com/nis/web/dao/systemService/SystemServiceInfoDao.xml +++ b/src/main/java/com/nis/web/dao/systemService/SystemServiceInfoDao.xml @@ -49,7 +49,7 @@ - select ssi.id, ssi.service_id, @@ -87,4 +87,36 @@ service_id=#{service_id} and is_valid=1 + + insert into system_service_info ( + service_id, service_name, service_desc, action, is_valid, service_type, + creator_id, create_time + ) values( + #{serviceId}, #{serviceName}, #{serviceDesc}, #{action}, #{isValid}, #{serviceType}, + #{creator.id}, #{createTime} + ) + + + + update + system_service_info + set + service_id=#{serviceId}, + service_name=#{serviceName}, + service_desc=#{serviceDesc}, + action=#{action}, + service_type=#{serviceType}, + editor_id=#{editor.id}, + edit_time=#{editTime} + where id=#{id} + + + + update + system_service_info + set + is_valid=0 + where id=#{id} + + \ No newline at end of file diff --git a/src/main/java/com/nis/web/service/systemService/SystemServiceService.java b/src/main/java/com/nis/web/service/systemService/SystemServiceService.java index 949c11838..2fc49d88f 100644 --- a/src/main/java/com/nis/web/service/systemService/SystemServiceService.java +++ b/src/main/java/com/nis/web/service/systemService/SystemServiceService.java @@ -1,12 +1,61 @@ package com.nis.web.service.systemService; +import java.util.List; + +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import com.nis.domain.ServiceConfigInfo; import com.nis.domain.SystemServiceInfo; +import com.nis.util.Collections3; +import com.nis.web.dao.systemService.ServiceConfigInfoDao; import com.nis.web.dao.systemService.SystemServiceInfoDao; import com.nis.web.service.CrudService; @Service public class SystemServiceService extends CrudService{ + + @Autowired + private ServiceConfigInfoDao serviceConfigInfoDao; + public void deleteService(SystemServiceInfo systemServiceInfo) { + List serviceConfigInfoList = dao.get(systemServiceInfo).getServiceConfigInfoList(); + for (ServiceConfigInfo sci : serviceConfigInfoList) { + sci.setIsValid(0); + serviceConfigInfoDao.update(sci); + } + + dao.delete(systemServiceInfo); + } + + public void save(SystemServiceInfo systemServiceInfo, List insertServiceConfigInfoList, + List updateServiceConfigInfoList) { + //新增 + if (systemServiceInfo.getId() == null) { + dao.insert(systemServiceInfo); + + if (!Collections3.isEmpty(insertServiceConfigInfoList)) { + for (ServiceConfigInfo sci : insertServiceConfigInfoList) { + serviceConfigInfoDao.insert(sci); + } + } + } + //更新 + else { + dao.update(systemServiceInfo); + + if (!Collections3.isEmpty(insertServiceConfigInfoList)) { + for (ServiceConfigInfo sci : insertServiceConfigInfoList) { + serviceConfigInfoDao.insert(sci); + } + } + if (!Collections3.isEmpty(updateServiceConfigInfoList)) { + for (ServiceConfigInfo sci : updateServiceConfigInfoList) { + serviceConfigInfoDao.update(sci); + } + } + } + + } + } diff --git a/src/main/webapp/WEB-INF/tags/sys/message.tag b/src/main/webapp/WEB-INF/tags/sys/message.tag index 7103c7aab..bd46fd1e0 100644 --- a/src/main/webapp/WEB-INF/tags/sys/message.tag +++ b/src/main/webapp/WEB-INF/tags/sys/message.tag @@ -5,6 +5,6 @@ -
${content}
+
${content}
\ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/systemService/form.jsp b/src/main/webapp/WEB-INF/views/systemService/form.jsp new file mode 100644 index 000000000..0519733db --- /dev/null +++ b/src/main/webapp/WEB-INF/views/systemService/form.jsp @@ -0,0 +1,255 @@ +<%@ page contentType="text/html;charset=UTF-8" %> +<%@ include file="/WEB-INF/include/taglib.jsp"%> + + + 系统业务管理表单 + + + + + + + +
+ + +

+ 系统业务管理 +

+ +
+
+
+
+
+ 系统业务详情
+
+ +
+
+ + + + + + +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ +
+ + 请选择 + 阻断 + 监测 + 封堵白名单 + 监测白名单 + 封堵监测白名单 + 灰名单 + +
+
+ +
+ +
+ + 请选择 + 单域 + 多域 + +
+
+ +
+ +
+ +
+ + +
+
+ +
+
+ + + + *表名: + + + *表类型: + + + + + *MAAT表名: + +
+
+ *表描述: + + + +
+
+
+
+
+ +
+ +
+ +
+
+ +
+
+
+ + <%-- --%> + +
+
+
+
+ +
+
+
+
+
+
+ + + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/systemService/list.jsp b/src/main/webapp/WEB-INF/views/systemService/list.jsp index 7ae8714da..499b0fa64 100644 --- a/src/main/webapp/WEB-INF/views/systemService/list.jsp +++ b/src/main/webapp/WEB-INF/views/systemService/list.jsp @@ -2,22 +2,36 @@ <%@ include file="/WEB-INF/include/taglib.jsp"%> -系统业务类型管理 + 系统业务类型管理列表 + +

@@ -33,33 +47,46 @@ function page(n,s){

-
- +
+ + -
+ +
- 动作 : - - 请选择 - 阻断 - 监测 - 封堵白名单 - 监测白名单 - 封堵监测白名单 - 灰名单 - - 类型 : - - 请选择 - 单域 - 多域 - - 名称 : - - + + 动作 : + + 请选择 + 阻断 + 监测 + 封堵白名单 + 监测白名单 + 封堵监测白名单 + 灰名单 + + + + + 类型 : + + 请选择 + 单域 + 多域 + + + + + 名称 : + + + + + +
@@ -99,8 +126,10 @@ function page(n,s){ ${ssi.serviceDesc } - 修改 - 删除 + + 修改 + 删除 + diff --git a/src/main/webapp/static/pages/css/systemService.css b/src/main/webapp/static/pages/css/systemService.css new file mode 100644 index 000000000..c53ec48d8 --- /dev/null +++ b/src/main/webapp/static/pages/css/systemService.css @@ -0,0 +1,57 @@ +/* global */ +select, input { + border: 1px solid #c2cad8; +} + +/* list */ +.search-table { + margin-bottom: 10px; + height: 30px; +} +.search-item { + margin-right: 10px; +} +.search-item input, .search-item select { + height: 30px !important; +} +.search-item button { + margin-bottom:4px; +} + +/* form */ +.child-input { + width: 160px !important; + display: inline !important; + margin: 6px 5px 6px 5px; +} +.child-input-desc { + width: 320px !important; + display: inline !important; + margin: 6px 5px 6px 5px; +} +.child-label { + text-align: right; + padding-top: 7px; + margin: 6px 5px 6px 5px; +} +.child-required { + color: #e02222; + font-size: 12px; + padding-left: 6px; +} +.datatable-index { + width: 14px; + display: inline-block; +} +#datatables select { + height: 34px; + vertical-align: middle; +} +.del-button { + float: right; +} +.table-list { + margin-top: 15px; + margin-bottom: 15px; + background-color: #F8F8FF; +} \ No newline at end of file