系统业务管理功能

This commit is contained in:
chenjinsong
2018-02-27 10:47:33 +08:00
parent 557e79712d
commit 75038d900c
8 changed files with 574 additions and 39 deletions

View File

@@ -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<SystemServiceInfo> page = systemServiceService.findPage(new Page<SystemServiceInfo>(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<ServiceConfigInfo> insertServiceConfigInfoList = new ArrayList<ServiceConfigInfo>();
//更新的serviceConfigInfo
List<ServiceConfigInfo> updateServiceConfigInfoList = new ArrayList<ServiceConfigInfo>();
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<SystemServiceInfo> page = systemServiceService.findPage(new Page<SystemServiceInfo>(request, response, 1), systemServiceInfo);
model.addAttribute("page", page);
addMessage(model, "删除成功");
return "/systemService/list";
}

View File

@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.nis.web.dao.systemService.ServiceConfigInfoDao" >
<resultMap id="serviceConfigInfo" type="com.nis.domain.ServiceConfigInfo">
<id column="id" property="id"/>
<result column="table_name" property="tableName"/>
@@ -10,6 +11,7 @@
<result column="service_id" property="serviceId"/>
<result column="is_valid" property="isValid"/>
</resultMap>
<select id="findSysServiceConfigInfo" resultType="serviceConfigInfo">
select
id,
@@ -24,4 +26,26 @@
where
service_id=#{service_id} and is_valid=1
</select>
<insert id="insert">
insert into service_config_info (
table_name, table_desc, table_type, maat_table, service_id, is_valid
) values (
#{tableName}, #{tableDesc}, #{tableType}, #{maatTable}, #{serviceId}, #{isValid}
)
</insert>
<update id="update">
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}
</update>
</mapper>

View File

@@ -49,7 +49,7 @@
</if>
</select>
<select id="get">
<select id="get" resultMap="systemServiceInfoMap">
select
ssi.id,
ssi.service_id,
@@ -87,4 +87,36 @@
service_id=#{service_id} and is_valid=1
</select>
<insert id="insert">
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}
)
</insert>
<update id="update">
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>
<update id="delete">
update
system_service_info
set
is_valid=0
where id=#{id}
</update>
</mapper>

View File

@@ -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<SystemServiceInfoDao, SystemServiceInfo>{
@Autowired
private ServiceConfigInfoDao serviceConfigInfoDao;
public void deleteService(SystemServiceInfo systemServiceInfo) {
List<ServiceConfigInfo> serviceConfigInfoList = dao.get(systemServiceInfo).getServiceConfigInfoList();
for (ServiceConfigInfo sci : serviceConfigInfoList) {
sci.setIsValid(0);
serviceConfigInfoDao.update(sci);
}
dao.delete(systemServiceInfo);
}
public void save(SystemServiceInfo systemServiceInfo, List<ServiceConfigInfo> insertServiceConfigInfoList,
List<ServiceConfigInfo> 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);
}
}
}
}
}