From d4bdd93f306532a24824378eeca8765b299c26f1 Mon Sep 17 00:00:00 2001 From: lsy <18332763730@163.com> Date: Thu, 15 Feb 2018 17:50:05 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E7=BB=84=E7=BB=87=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E5=BC=80=E5=8F=91,=E4=BF=AE=E5=A4=8D=E6=A0=B9?= =?UTF-8?q?=E6=8D=AEid=E5=88=A0=E9=99=A4=E5=A4=9A=E4=B8=AA=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E6=97=B6,id=E6=89=BE=E4=B8=8D=E5=88=B0=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resources/templates/SsmController.ftl | 2 +- .../upms/controller/UpmsLogController.java | 4 +- .../UpmsOrganizationController.java | 3 +- .../controller/UpmsPermissionController.java | 3 +- .../upms/controller/UpmsRoleController.java | 3 +- .../UpmsRolePermissionController.java | 3 +- .../upms/controller/UpmsUserController.java | 3 +- .../UpmsUserOrganizationController.java | 3 +- .../UpmsUserPermissionController.java | 3 +- .../controller/UpmsUserRoleController.java | 3 +- .../fast/upms/dao/UpmsOrganizationMapper.java | 14 ++++ .../fast/upms/pojo/UpmsOrganization.java | 3 +- .../impl/UpmsOrganizationServiceImpl.java | 66 +++++++++++++++++++ .../mappers/UpmsOrganizationMapper.xml | 27 +++++++- 14 files changed, 128 insertions(+), 12 deletions(-) diff --git a/boot-starter/boot-starter-maven-plugin/mybatis-generator-extend-maven-plugin/src/main/resources/templates/SsmController.ftl b/boot-starter/boot-starter-maven-plugin/mybatis-generator-extend-maven-plugin/src/main/resources/templates/SsmController.ftl index 2bce244..9864c97 100644 --- a/boot-starter/boot-starter-maven-plugin/mybatis-generator-extend-maven-plugin/src/main/resources/templates/SsmController.ftl +++ b/boot-starter/boot-starter-maven-plugin/mybatis-generator-extend-maven-plugin/src/main/resources/templates/SsmController.ftl @@ -59,7 +59,7 @@ public class ${pojoName}Controller { @ApiOperation("根据id删除,传入数组") @DeleteMapping - public ServerResponse delete${pojoName}(@NotEmpty(message = BaseConst.BASEMSG_PREFIX+"请传入ids") ArrayList<${mybatisGenerator.primaryKeyType}> ids){ + public ServerResponse delete${pojoName}(@NotEmpty(message = BaseConst.BASEMSG_PREFIX+"请传入ids") @RequestParam("ids") ArrayList<${mybatisGenerator.primaryKeyType}> ids){ return ${varPojoName}Service.deleteByIds(ids); } } diff --git a/ms/upms/src/main/java/com/micro/fast/upms/controller/UpmsLogController.java b/ms/upms/src/main/java/com/micro/fast/upms/controller/UpmsLogController.java index 84ba657..fa70586 100644 --- a/ms/upms/src/main/java/com/micro/fast/upms/controller/UpmsLogController.java +++ b/ms/upms/src/main/java/com/micro/fast/upms/controller/UpmsLogController.java @@ -13,6 +13,7 @@ import org.springframework.validation.BindException; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; +import java.util.ArrayList; import java.util.List; /** @@ -59,7 +60,8 @@ public class UpmsLogController { @ApiOperation("根据id删除,传入数组") @DeleteMapping - public ServerResponse deleteUpmsLog(@NotEmpty(message = BaseConst.BASEMSG_PREFIX+"请传入ids") List ids){ + public ServerResponse deleteUpmsLog(@NotEmpty(message = BaseConst.BASEMSG_PREFIX+"请传入ids") + @RequestParam("ids") ArrayList ids){ return upmsLogService.deleteByIds(ids); } } diff --git a/ms/upms/src/main/java/com/micro/fast/upms/controller/UpmsOrganizationController.java b/ms/upms/src/main/java/com/micro/fast/upms/controller/UpmsOrganizationController.java index f5be208..1c8ca2b 100644 --- a/ms/upms/src/main/java/com/micro/fast/upms/controller/UpmsOrganizationController.java +++ b/ms/upms/src/main/java/com/micro/fast/upms/controller/UpmsOrganizationController.java @@ -13,6 +13,7 @@ import org.springframework.validation.BindException; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; +import java.util.ArrayList; import java.util.List; /** @@ -60,7 +61,7 @@ public class UpmsOrganizationController { @ApiOperation("根据id删除,传入数组") @DeleteMapping - public ServerResponse deleteUpmsOrganization(@NotEmpty(message = BaseConst.BASEMSG_PREFIX+"请传入ids") List ids){ + public ServerResponse deleteUpmsOrganization(@NotEmpty(message = BaseConst.BASEMSG_PREFIX+"请传入ids") @RequestParam("ids") ArrayList ids){ return upmsOrganizationService.deleteByIds(ids); } } diff --git a/ms/upms/src/main/java/com/micro/fast/upms/controller/UpmsPermissionController.java b/ms/upms/src/main/java/com/micro/fast/upms/controller/UpmsPermissionController.java index 93ae0d8..47be9de 100644 --- a/ms/upms/src/main/java/com/micro/fast/upms/controller/UpmsPermissionController.java +++ b/ms/upms/src/main/java/com/micro/fast/upms/controller/UpmsPermissionController.java @@ -13,6 +13,7 @@ import org.springframework.validation.BindException; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; +import java.util.ArrayList; import java.util.List; /** @@ -59,7 +60,7 @@ public class UpmsPermissionController { @ApiOperation("根据id删除,传入数组") @DeleteMapping - public ServerResponse deleteUpmsPermission(@NotEmpty(message = BaseConst.BASEMSG_PREFIX+"请传入ids") List ids){ + public ServerResponse deleteUpmsPermission(@NotEmpty(message = BaseConst.BASEMSG_PREFIX+"请传入ids") @RequestParam("ids") ArrayList ids){ return upmsPermissionService.deleteByIds(ids); } } diff --git a/ms/upms/src/main/java/com/micro/fast/upms/controller/UpmsRoleController.java b/ms/upms/src/main/java/com/micro/fast/upms/controller/UpmsRoleController.java index 753a1e4..a130d17 100644 --- a/ms/upms/src/main/java/com/micro/fast/upms/controller/UpmsRoleController.java +++ b/ms/upms/src/main/java/com/micro/fast/upms/controller/UpmsRoleController.java @@ -13,6 +13,7 @@ import org.springframework.validation.BindException; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; +import java.util.ArrayList; import java.util.List; /** @@ -59,7 +60,7 @@ public class UpmsRoleController { @ApiOperation("根据id删除,传入数组") @DeleteMapping - public ServerResponse deleteUpmsRole(@NotEmpty(message = BaseConst.BASEMSG_PREFIX+"请传入ids") List ids){ + public ServerResponse deleteUpmsRole(@NotEmpty(message = BaseConst.BASEMSG_PREFIX+"请传入ids") @RequestParam("ids") ArrayList ids){ return upmsRoleService.deleteByIds(ids); } } diff --git a/ms/upms/src/main/java/com/micro/fast/upms/controller/UpmsRolePermissionController.java b/ms/upms/src/main/java/com/micro/fast/upms/controller/UpmsRolePermissionController.java index 6a82f55..ccb1930 100644 --- a/ms/upms/src/main/java/com/micro/fast/upms/controller/UpmsRolePermissionController.java +++ b/ms/upms/src/main/java/com/micro/fast/upms/controller/UpmsRolePermissionController.java @@ -13,6 +13,7 @@ import org.springframework.validation.BindException; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; +import java.util.ArrayList; import java.util.List; /** @@ -59,7 +60,7 @@ public class UpmsRolePermissionController { @ApiOperation("根据id删除,传入数组") @DeleteMapping - public ServerResponse deleteUpmsRolePermission(@NotEmpty(message = BaseConst.BASEMSG_PREFIX+"请传入ids") List ids){ + public ServerResponse deleteUpmsRolePermission(@NotEmpty(message = BaseConst.BASEMSG_PREFIX+"请传入ids") @RequestParam("ids") ArrayList ids){ return upmsRolePermissionService.deleteByIds(ids); } } diff --git a/ms/upms/src/main/java/com/micro/fast/upms/controller/UpmsUserController.java b/ms/upms/src/main/java/com/micro/fast/upms/controller/UpmsUserController.java index d6a9435..9d96fff 100644 --- a/ms/upms/src/main/java/com/micro/fast/upms/controller/UpmsUserController.java +++ b/ms/upms/src/main/java/com/micro/fast/upms/controller/UpmsUserController.java @@ -15,6 +15,7 @@ import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import javax.validation.constraints.NotNull; +import java.util.ArrayList; import java.util.List; /** @@ -90,7 +91,7 @@ public class UpmsUserController { @ApiOperation("根据id删除,传入数组") @DeleteMapping public ServerResponse deleteUser( - @NotEmpty(message = BaseConst.BASEMSG_PREFIX + "请传入id") List ids) { + @NotEmpty(message = BaseConst.BASEMSG_PREFIX + "请传入id") @RequestParam("ids") ArrayList ids) { return upmsUserService.deleteByIds(ids); } diff --git a/ms/upms/src/main/java/com/micro/fast/upms/controller/UpmsUserOrganizationController.java b/ms/upms/src/main/java/com/micro/fast/upms/controller/UpmsUserOrganizationController.java index 941a15b..c979dda 100644 --- a/ms/upms/src/main/java/com/micro/fast/upms/controller/UpmsUserOrganizationController.java +++ b/ms/upms/src/main/java/com/micro/fast/upms/controller/UpmsUserOrganizationController.java @@ -13,6 +13,7 @@ import org.springframework.validation.BindException; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; +import java.util.ArrayList; import java.util.List; /** @@ -59,7 +60,7 @@ public class UpmsUserOrganizationController { @ApiOperation("根据id删除,传入数组") @DeleteMapping - public ServerResponse deleteUpmsUserOrganization(@NotEmpty(message = BaseConst.BASEMSG_PREFIX+"请传入ids") List ids){ + public ServerResponse deleteUpmsUserOrganization(@NotEmpty(message = BaseConst.BASEMSG_PREFIX+"请传入ids") @RequestParam("ids") ArrayList ids){ return upmsUserOrganizationService.deleteByIds(ids); } } diff --git a/ms/upms/src/main/java/com/micro/fast/upms/controller/UpmsUserPermissionController.java b/ms/upms/src/main/java/com/micro/fast/upms/controller/UpmsUserPermissionController.java index 4695c40..c572171 100644 --- a/ms/upms/src/main/java/com/micro/fast/upms/controller/UpmsUserPermissionController.java +++ b/ms/upms/src/main/java/com/micro/fast/upms/controller/UpmsUserPermissionController.java @@ -13,6 +13,7 @@ import org.springframework.validation.BindException; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; +import java.util.ArrayList; import java.util.List; /** @@ -59,7 +60,7 @@ public class UpmsUserPermissionController { @ApiOperation("根据id删除,传入数组") @DeleteMapping - public ServerResponse deleteUpmsUserPermission(@NotEmpty(message = BaseConst.BASEMSG_PREFIX+"请传入ids") List ids){ + public ServerResponse deleteUpmsUserPermission(@NotEmpty(message = BaseConst.BASEMSG_PREFIX+"请传入ids") @RequestParam("ids") ArrayList ids){ return upmsUserPermissionService.deleteByIds(ids); } } diff --git a/ms/upms/src/main/java/com/micro/fast/upms/controller/UpmsUserRoleController.java b/ms/upms/src/main/java/com/micro/fast/upms/controller/UpmsUserRoleController.java index ccaa256..7a9ad28 100644 --- a/ms/upms/src/main/java/com/micro/fast/upms/controller/UpmsUserRoleController.java +++ b/ms/upms/src/main/java/com/micro/fast/upms/controller/UpmsUserRoleController.java @@ -13,6 +13,7 @@ import org.springframework.validation.BindException; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; +import java.util.ArrayList; import java.util.List; /** @@ -59,7 +60,7 @@ public class UpmsUserRoleController { @ApiOperation("根据id删除,传入数组") @DeleteMapping - public ServerResponse deleteUpmsUserRole(@NotEmpty(message = BaseConst.BASEMSG_PREFIX+"请传入ids") List ids){ + public ServerResponse deleteUpmsUserRole(@NotEmpty(message = BaseConst.BASEMSG_PREFIX+"请传入ids") @RequestParam("ids") ArrayList ids){ return upmsUserRoleService.deleteByIds(ids); } } diff --git a/ms/upms/src/main/java/com/micro/fast/upms/dao/UpmsOrganizationMapper.java b/ms/upms/src/main/java/com/micro/fast/upms/dao/UpmsOrganizationMapper.java index d980945..9ebf96e 100644 --- a/ms/upms/src/main/java/com/micro/fast/upms/dao/UpmsOrganizationMapper.java +++ b/ms/upms/src/main/java/com/micro/fast/upms/dao/UpmsOrganizationMapper.java @@ -3,16 +3,30 @@ package com.micro.fast.upms.dao; import com.micro.fast.common.dao.SsmMapper; import com.micro.fast.upms.pojo.UpmsOrganization; +import java.util.List; + public interface UpmsOrganizationMapper extends SsmMapper { + @Override int deleteByPrimaryKey(Integer id); + @Override int insert(UpmsOrganization record); + @Override int insertSelective(UpmsOrganization record); + @Override UpmsOrganization selectByPrimaryKey(Integer id); + @Override int updateByPrimaryKeySelective(UpmsOrganization record); + @Override int updateByPrimaryKey(UpmsOrganization record); + + @Override + List selectByCondition(UpmsOrganization record); + + @Override + int deleteByPrimaryKeys(List integers); } \ No newline at end of file diff --git a/ms/upms/src/main/java/com/micro/fast/upms/pojo/UpmsOrganization.java b/ms/upms/src/main/java/com/micro/fast/upms/pojo/UpmsOrganization.java index 42ce9b1..38de87b 100644 --- a/ms/upms/src/main/java/com/micro/fast/upms/pojo/UpmsOrganization.java +++ b/ms/upms/src/main/java/com/micro/fast/upms/pojo/UpmsOrganization.java @@ -3,13 +3,14 @@ package com.micro.fast.upms.pojo; import com.micro.fast.boot.starter.common.response.BaseConst; import org.hibernate.validator.constraints.NotBlank; +import javax.validation.constraints.NotNull; import java.io.Serializable; public class UpmsOrganization implements Serializable { private Integer id; - @NotBlank(message = BaseConst.BASEMSG_PREFIX+"请填写上级组织") + @NotNull(message = BaseConst.BASEMSG_PREFIX+"请填写上级组织") private Integer pid; @NotBlank(message = BaseConst.BASEMSG_PREFIX+"请填写组织名称") diff --git a/ms/upms/src/main/java/com/micro/fast/upms/service/impl/UpmsOrganizationServiceImpl.java b/ms/upms/src/main/java/com/micro/fast/upms/service/impl/UpmsOrganizationServiceImpl.java index 2ef80a5..f6b07d2 100644 --- a/ms/upms/src/main/java/com/micro/fast/upms/service/impl/UpmsOrganizationServiceImpl.java +++ b/ms/upms/src/main/java/com/micro/fast/upms/service/impl/UpmsOrganizationServiceImpl.java @@ -1,5 +1,6 @@ package com.micro.fast.upms.service.impl; +import com.micro.fast.boot.starter.common.response.ServerResponse; import com.micro.fast.common.service.impl.SsmServiceImpl; import com.micro.fast.upms.dao.UpmsOrganizationMapper; import com.micro.fast.upms.pojo.UpmsOrganization; @@ -8,6 +9,8 @@ import org.springframework.beans.factory.InitializingBean; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.List; + /** * @author lsy */ @@ -18,6 +21,69 @@ implements UpmsOrganizationService,InitializingBean { @Autowired private UpmsOrganizationMapper mapper; + @Override + public ServerResponse add(UpmsOrganization pojo) { + if (pojo.getPid() == 0) { + // 如果是创建根节点就检查根节点是否已经被创建 + UpmsOrganization upmsOrganization = new UpmsOrganization(); + upmsOrganization.setPid(0); + List upmsOrganizations = mapper.selectByCondition(upmsOrganization); + if (upmsOrganizations.size() == 0){ + return super.add(pojo); + } else { + return ServerResponse.errorMsg("根节点已经被创建"); + } + } else { + // 如果不是根节点就查询父节点是否存在 + UpmsOrganization upmsOrganization = mapper.selectByPrimaryKey(pojo.getPid()); + if (upmsOrganization == null){ + return ServerResponse.errorMsg("上级组织不存在,请重新输入上级组织id"); + } else { + // 添加添加组织 + return super.add(pojo); + } + } + } + + @Override + public ServerResponse update(UpmsOrganization pojo) { + + if ( pojo.getPid() == 0) { + UpmsOrganization upmsOrganization = new UpmsOrganization(); + upmsOrganization.setPid(0); + List upmsOrganizations = mapper.selectByCondition(pojo); + if (upmsOrganizations.size() == 0) { + return super.update(pojo); + } else { + return ServerResponse.errorMsg("只允许有一个根组织"); + } + } + // 检查上级组织是否存在 + UpmsOrganization upmsOrganization = mapper.selectByPrimaryKey(pojo.getPid()); + if (upmsOrganization == null){ + return ServerResponse.errorMsg("上级组织不存在,请重新输入上级组织id"); + } else { + // 更新组织信息 + return super.update(pojo); + } + } + + @Override + public ServerResponse deleteByIds(List integers) { + // 1. 检查这个id下面还有没有下级组织,如果有就不能删除组织 + UpmsOrganization upmsOrganization = new UpmsOrganization(); + for (Integer integer : integers) { + upmsOrganization.setPid(integer); + List upmsOrganizations = mapper.selectByCondition(upmsOrganization); + if (upmsOrganizations !=null && upmsOrganizations.size() >0){ + // 该部门下有子节点,不允许删除 + return ServerResponse.errorMsg("组织下尚有子组织,请删除部门下子组织后再进行删除操作"); + } + } + //todo 2. 处理组织和用户关联情况 + return super.deleteByIds(integers); + } + /** * 在这个bean初始化完成后覆盖父类的mapper */ diff --git a/ms/upms/src/main/resources/mappers/UpmsOrganizationMapper.xml b/ms/upms/src/main/resources/mappers/UpmsOrganizationMapper.xml index b4c4e99..3a134f5 100644 --- a/ms/upms/src/main/resources/mappers/UpmsOrganizationMapper.xml +++ b/ms/upms/src/main/resources/mappers/UpmsOrganizationMapper.xml @@ -19,7 +19,7 @@ from upms_organization where id = #{id,jdbcType=INTEGER} - + delete from upms_organization where id = #{id,jdbcType=INTEGER} @@ -92,4 +92,29 @@ ctime = #{ctime,jdbcType=BIGINT} where id = #{id,jdbcType=INTEGER} + + + + + + + DELETE FROM upms_organization + WHERE id IN + + #{item} + + \ No newline at end of file