+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.dto;
+
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Data;
+
+
+/**
+ * 权限范围表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2020-04-24
+ */
+@Data
+public class OperationScopeDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * id
+ */
+ private String id;
+
+ /**
+ * 范围key
+ */
+ private String scopeKey;
+
+ /**
+ * 范围名称
+ */
+ private String scopeName;
+
+ /**
+ * 是否删除,0:未删除,1:已删除
+ */
+ private Integer delFlag;
+
+ /**
+ * 乐观锁
+ */
+ private Integer revision;
+
+ /**
+ * 创建者id
+ */
+ private String createdBy;
+
+ /**
+ * 创建时间
+ */
+ private Date createdTime;
+
+ /**
+ * 更新者id
+ */
+ private String updatedBy;
+
+ /**
+ * 更新时间
+ */
+ private Date updatedTime;
+
+}
\ No newline at end of file
diff --git a/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/RoleScopeDTO.java b/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/RoleScopeDTO.java
new file mode 100644
index 0000000000..17f8866215
--- /dev/null
+++ b/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/RoleScopeDTO.java
@@ -0,0 +1,86 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.dao;
+
+import com.epmet.commons.mybatis.dao.BaseDao;
+import com.epmet.dto.result.RoleOpeScopeResultDTO;
+import com.epmet.entity.OperationScopeEntity;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.context.annotation.Scope;
+
+import java.util.List;
+import java.util.Set;
+
+/**
+ * 权限范围表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2020-04-24
+ */
+@Mapper
+public interface OperationScopeDao extends BaseDao {
+
+ /**
+ * 查询角色的操作key对应操作范围列表
+ * @param roleId 角色id
+ * @param operationKey 操作key
+ * @return
+ */
+ Set listOperationScopesByRoleId(@Param("roleId") String roleId,
+ @Param("operationKey") String operationKey);
+}
\ No newline at end of file
diff --git a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/redis/RoleOperationRedis.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/dao/RoleScopeDao.java
similarity index 61%
rename from epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/redis/RoleOperationRedis.java
rename to epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/dao/RoleScopeDao.java
index d57c02ebde..60982f5528 100644
--- a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/redis/RoleOperationRedis.java
+++ b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/dao/RoleScopeDao.java
@@ -15,33 +15,19 @@
* along with this program. If not, see .
*/
-package com.epmet.redis;
+package com.epmet.dao;
-import com.epmet.commons.tools.redis.RedisUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
+import com.epmet.commons.mybatis.dao.BaseDao;
+import com.epmet.entity.RoleScopeEntity;
+import org.apache.ibatis.annotations.Mapper;
/**
- * 角色能进行那些操作
+ * 角色能操作哪些范围
*
* @author generator generator@elink-cn.com
- * @since v1.0.0 2020-04-22
+ * @since v1.0.0 2020-04-24
*/
-@Component
-public class RoleOperationRedis {
- @Autowired
- private RedisUtils redisUtils;
-
- public void delete(Object[] ids) {
-
- }
-
- public void set(){
-
- }
-
- public String get(String id){
- return null;
- }
-
+@Mapper
+public interface RoleScopeDao extends BaseDao {
+
}
\ No newline at end of file
diff --git a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/entity/OperationScopeEntity.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/entity/OperationScopeEntity.java
new file mode 100644
index 0000000000..2fd6b18361
--- /dev/null
+++ b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/entity/OperationScopeEntity.java
@@ -0,0 +1,51 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+
+/**
+ * 权限范围表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2020-04-24
+ */
+@Data
+@EqualsAndHashCode(callSuper=false)
+@TableName("operation_scope")
+public class OperationScopeEntity extends BaseEpmetEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 范围key
+ */
+ private String scopeKey;
+
+ /**
+ * 范围名称
+ */
+ private String scopeName;
+
+}
diff --git a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/entity/RoleScopeEntity.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/entity/RoleScopeEntity.java
new file mode 100644
index 0000000000..2c3c6f21dc
--- /dev/null
+++ b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/entity/RoleScopeEntity.java
@@ -0,0 +1,56 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
+import com.epmet.commons.tools.page.PageData;
+import com.epmet.commons.tools.utils.ConvertUtils;
+import com.epmet.commons.tools.constant.FieldConstant;
+import com.epmet.dao.OperationScopeDao;
+import com.epmet.dto.OperationScopeDTO;
+import com.epmet.entity.OperationScopeEntity;
+import com.epmet.service.OperationScopeService;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 权限范围表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2020-04-24
+ */
+@Service
+public class OperationScopeServiceImpl extends BaseServiceImpl implements OperationScopeService {
+
+
+ @Override
+ public PageData page(Map params) {
+ IPage page = baseDao.selectPage(
+ getPage(params, FieldConstant.CREATED_TIME, false),
+ getWrapper(params)
+ );
+ return getPageData(page, OperationScopeDTO.class);
+ }
+
+ @Override
+ public List list(Map params) {
+ List entityList = baseDao.selectList(getWrapper(params));
+
+ return ConvertUtils.sourceToTarget(entityList, OperationScopeDTO.class);
+ }
+
+ private QueryWrapper getWrapper(Map params){
+ String id = (String)params.get(FieldConstant.ID_HUMP);
+
+ QueryWrapper wrapper = new QueryWrapper<>();
+ wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
+
+ return wrapper;
+ }
+
+ @Override
+ public OperationScopeDTO get(String id) {
+ OperationScopeEntity entity = baseDao.selectById(id);
+ return ConvertUtils.sourceToTarget(entity, OperationScopeDTO.class);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void save(OperationScopeDTO dto) {
+ OperationScopeEntity entity = ConvertUtils.sourceToTarget(dto, OperationScopeEntity.class);
+ insert(entity);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void update(OperationScopeDTO dto) {
+ OperationScopeEntity entity = ConvertUtils.sourceToTarget(dto, OperationScopeEntity.class);
+ updateById(entity);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void delete(String[] ids) {
+ // 逻辑删除(@TableLogic 注解)
+ baseDao.deleteBatchIds(Arrays.asList(ids));
+ }
+
+}
\ No newline at end of file
diff --git a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/RoleOperationServiceImpl.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/RoleOperationServiceImpl.java
index bb6d914d2e..a690363b33 100644
--- a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/RoleOperationServiceImpl.java
+++ b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/RoleOperationServiceImpl.java
@@ -27,7 +27,6 @@ import com.epmet.dao.RoleOperationDao;
import com.epmet.dto.RoleOperationDTO;
import com.epmet.dto.result.RoleOperationResultDTO;
import com.epmet.entity.RoleOperationEntity;
-import com.epmet.redis.RoleOperationRedis;
import com.epmet.service.RoleOperationService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -47,9 +46,6 @@ import java.util.Map;
@Service
public class RoleOperationServiceImpl extends BaseServiceImpl implements RoleOperationService {
- @Autowired
- private RoleOperationRedis roleOperationRedis;
-
@Override
public PageData page(Map params) {
IPage page = baseDao.selectPage(
diff --git a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/RoleScopeServiceImpl.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/RoleScopeServiceImpl.java
new file mode 100644
index 0000000000..bff52f8d64
--- /dev/null
+++ b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/RoleScopeServiceImpl.java
@@ -0,0 +1,100 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
+import com.epmet.commons.tools.page.PageData;
+import com.epmet.commons.tools.utils.ConvertUtils;
+import com.epmet.commons.tools.constant.FieldConstant;
+import com.epmet.dao.RoleScopeDao;
+import com.epmet.dto.RoleScopeDTO;
+import com.epmet.entity.RoleScopeEntity;
+import com.epmet.service.RoleScopeService;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 角色能操作哪些范围
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2020-04-24
+ */
+@Service
+public class RoleScopeServiceImpl extends BaseServiceImpl implements RoleScopeService {
+
+ @Override
+ public PageData page(Map params) {
+ IPage page = baseDao.selectPage(
+ getPage(params, FieldConstant.CREATED_TIME, false),
+ getWrapper(params)
+ );
+ return getPageData(page, RoleScopeDTO.class);
+ }
+
+ @Override
+ public List list(Map params) {
+ List entityList = baseDao.selectList(getWrapper(params));
+
+ return ConvertUtils.sourceToTarget(entityList, RoleScopeDTO.class);
+ }
+
+ private QueryWrapper getWrapper(Map params){
+ String id = (String)params.get(FieldConstant.ID_HUMP);
+
+ QueryWrapper wrapper = new QueryWrapper<>();
+ wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
+
+ return wrapper;
+ }
+
+ @Override
+ public RoleScopeDTO get(String id) {
+ RoleScopeEntity entity = baseDao.selectById(id);
+ return ConvertUtils.sourceToTarget(entity, RoleScopeDTO.class);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void save(RoleScopeDTO dto) {
+ RoleScopeEntity entity = ConvertUtils.sourceToTarget(dto, RoleScopeEntity.class);
+ insert(entity);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void update(RoleScopeDTO dto) {
+ RoleScopeEntity entity = ConvertUtils.sourceToTarget(dto, RoleScopeEntity.class);
+ updateById(entity);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void delete(String[] ids) {
+ // 逻辑删除(@TableLogic 注解)
+ baseDao.deleteBatchIds(Arrays.asList(ids));
+ }
+
+}
\ No newline at end of file
diff --git a/epmet-module/gov-access/gov-access-server/src/main/resources/db.migration/epmet_gov_access.sql b/epmet-module/gov-access/gov-access-server/src/main/resources/db.migration/epmet_gov_access.sql
index bcc1d74a5d..93d8c2a148 100644
--- a/epmet-module/gov-access/gov-access-server/src/main/resources/db.migration/epmet_gov_access.sql
+++ b/epmet-module/gov-access/gov-access-server/src/main/resources/db.migration/epmet_gov_access.sql
@@ -10,6 +10,7 @@ CREATE TABLE `operation_scope` (
`ID` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'id',
`SCOPE_KEY` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '范围key',
`SCOPE_NAME` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '范围名称',
+ `SCOPE_INDEX` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '范围序号',
`DEL_FLAG` tinyint(1) NULL DEFAULT NULL COMMENT '是否删除,0:未删除,1:已删除',
`REVISION` int(10) NULL DEFAULT NULL COMMENT '乐观锁',
`CREATED_BY` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建者id',
@@ -61,7 +62,8 @@ CREATE TABLE `role_operation` (
CREATE TABLE `role_scope` (
`ID` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`ROLE_ID` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '角色ID',
- `SCOPE_KEY` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '范围Key',
+ `OPERATION_KEY` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '操作Key',
+ `SCOPE_KEY` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '范围Key',
`DEL_FLAG` tinyint(1) NULL DEFAULT NULL COMMENT '是否删除,0:未删除,1:已删除',
`REVISION` int(10) NULL DEFAULT NULL COMMENT '乐观锁',
`CREATED_BY` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建者id',
diff --git a/epmet-module/gov-access/gov-access-server/src/main/resources/mapper/OperationScopeDao.xml b/epmet-module/gov-access/gov-access-server/src/main/resources/mapper/OperationScopeDao.xml
new file mode 100644
index 0000000000..ab6839e941
--- /dev/null
+++ b/epmet-module/gov-access/gov-access-server/src/main/resources/mapper/OperationScopeDao.xml
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/epmet-module/gov-access/gov-access-server/src/main/resources/mapper/RoleScopeDao.xml b/epmet-module/gov-access/gov-access-server/src/main/resources/mapper/RoleScopeDao.xml
new file mode 100644
index 0000000000..fdca928212
--- /dev/null
+++ b/epmet-module/gov-access/gov-access-server/src/main/resources/mapper/RoleScopeDao.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/controller/AccessController.java b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/controller/AccessController.java
index 173e19243a..61944d3939 100644
--- a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/controller/AccessController.java
+++ b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/controller/AccessController.java
@@ -30,7 +30,7 @@ public class AccessController {
private AccessService accessService;
/**
- * 查询用户可操作功能列表(包含缓存)
+ * 查询用户可操作功能列表(同时更新缓存)
* @param tokenDto
* @param staffOperationDTO
* @return
diff --git a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/GovAccessFeignClient.java b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/GovAccessFeignClient.java
index 8cb514ad3f..b41a5e59ca 100644
--- a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/GovAccessFeignClient.java
+++ b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/GovAccessFeignClient.java
@@ -16,7 +16,7 @@ import java.util.List;
* @Description
* @Author sun
*/
-@FeignClient(name = ServiceConstant.GOV_ACCESS_SERVER, fallback = GovAccessFeignClientFallback.class)
+@FeignClient(name = ServiceConstant.GOV_ACCESS_SERVER, fallback = GovAccessFeignClientFallback.class, url = "localhost:8099")
public interface GovAccessFeignClient {
/**
diff --git a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java
index 737988fd0b..8c03d28764 100644
--- a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java
+++ b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java
@@ -2,6 +2,7 @@ package com.epmet.feign;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.Result;
+import com.epmet.dto.CustomerAgencyDTO;
import com.epmet.dto.form.LatestGridFormDTO;
import com.epmet.dto.result.CustomerGridByUserIdResultDTO;
import com.epmet.dto.result.LatestCustomerResultDTO;
@@ -49,4 +50,11 @@ public interface GovOrgFeignClient {
@PostMapping(value = "/gov/org/customerstaffgrid/getstaffgrid")
Result getStaffGrid(@RequestBody LatestGridFormDTO latestGridFormDTO);
+ /**
+ * 根据Id查询agency
+ * @param agencyId
+ * @return
+ */
+ @PostMapping("/gov/org/agency/{agencyId}")
+ Result getAgencyById(@PathVariable("agencyId") String agencyId);
}
diff --git a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java
index 818a325666..128f81bd50 100644
--- a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java
+++ b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java
@@ -3,6 +3,7 @@ package com.epmet.feign.fallback;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.ModuleUtils;
import com.epmet.commons.tools.utils.Result;
+import com.epmet.dto.CustomerAgencyDTO;
import com.epmet.dto.form.LatestGridFormDTO;
import com.epmet.dto.result.CustomerGridByUserIdResultDTO;
import com.epmet.dto.result.LatestCustomerResultDTO;
@@ -28,6 +29,11 @@ public class GovOrgFeignClientFallBack implements GovOrgFeignClient {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getStaffGrid",latestGridFormDTO);
}
+ @Override
+ public Result getAgencyById(String agencyId) {
+ return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getAgencyById", agencyId);
+ }
+
@Override
public Result getLatestCustomer(String userId) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getLatestCustomer", userId);
diff --git a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/impl/AccessServiceImpl.java b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/impl/AccessServiceImpl.java
index 1da258978a..d76e2e2f34 100644
--- a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/impl/AccessServiceImpl.java
+++ b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/impl/AccessServiceImpl.java
@@ -1,14 +1,20 @@
package com.epmet.service.impl;
+import com.epmet.commons.tools.exception.EpmetErrorCode;
+import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.utils.CpUserDetailRedis;
import com.epmet.commons.tools.utils.Result;
+import com.epmet.dto.CustomerAgencyDTO;
import com.epmet.dto.GovStaffRoleDTO;
import com.epmet.dto.form.StaffPermCacheFormDTO;
import com.epmet.dto.form.StaffRoleFormDTO;
import com.epmet.dto.result.RoleOperationResultDTO;
import com.epmet.feign.EpmetUserFeignClient;
import com.epmet.feign.GovAccessFeignClient;
+import com.epmet.feign.GovOrgFeignClient;
import com.epmet.service.AccessService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
@@ -21,12 +27,17 @@ import java.util.Set;
@Service
public class AccessServiceImpl implements AccessService {
+ private static Logger logger = LoggerFactory.getLogger(AccessServiceImpl.class);
+
@Autowired
private EpmetUserFeignClient userFeignClient;
@Autowired
private GovAccessFeignClient govAccessFeignClient;
+ @Autowired
+ private GovOrgFeignClient govOrgFeignClient;
+
@Autowired
private CpUserDetailRedis cpUserDetailRedis;
@@ -49,24 +60,46 @@ public class AccessServiceImpl implements AccessService {
roleDTOS.addAll(gridResult.getData());
}
- // 拼装
+ // 拼装操作key列表
Set opeKeys = new HashSet<>();
+ // 角色ID列表
+ Set roleIds = new HashSet<>();
roleDTOS.forEach(roleDto -> {
String roleId = roleDto.getId();
- List roleOperations = govAccessFeignClient.listOperationsByRoleId(roleId).getData();
- roleOperations.forEach(roleOpe -> {
- if (roleOpe != null) {
- opeKeys.add(roleOpe.getOperationKey());
- }
- });
+ Result> result = govAccessFeignClient.listOperationsByRoleId(roleId);
+ if (result.getCode() != 0) {
+ // 获取operation异常
+ logger.error("调用GovAccess,根据RoleId查询Operation列表失败:{}", result.getMsg());
+ throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode());
+ }
+ List roleOperations = result.getData();
+ // 角色id
+ roleIds.add(roleDto.getId());
+ if (!CollectionUtils.isEmpty(roleOperations)) {
+ roleOperations.forEach(roleOpe -> {
+ if (roleOpe != null) {
+ opeKeys.add(roleOpe.getOperationKey());
+ }
+ });
+ }
});
+ // 查询该直属机关的orgIdPath
+ Result agencyById = govOrgFeignClient.getAgencyById(agencyId);
+ if (agencyById.getCode() != 0 || agencyById.getData() == null) {
+ logger.error("根据当前机构id[{}]查询pids失败:{}", agencyId, agencyById.getMsg());
+ throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode());
+ }
+
// 将最新权限缓存到redis,为了尽量统一操作入口,调用gov-access接口实现
StaffPermCacheFormDTO staffPermCacheFormDTO = new StaffPermCacheFormDTO();
staffPermCacheFormDTO.setApp(app);
staffPermCacheFormDTO.setClient(client);
staffPermCacheFormDTO.setStaffId(staffId);
staffPermCacheFormDTO.setPermissions(opeKeys);
+ staffPermCacheFormDTO.setRoleIdList(roleIds);
+ // 拼接orgIdPath
+ staffPermCacheFormDTO.setOrgIdPath(String.format("%s:%s", agencyById.getData().getPids(), agencyId));
govAccessFeignClient.updatePermissionCache(staffPermCacheFormDTO);
return opeKeys;
}
diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/CustomerAgencyDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/CustomerAgencyDTO.java
index 7b9abc9de6..f7380580b4 100644
--- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/CustomerAgencyDTO.java
+++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/CustomerAgencyDTO.java
@@ -75,7 +75,7 @@ public class CustomerAgencyDTO implements Serializable {
/**
* 地区编码
*/
- private Integer areaCode;
+ private String areaCode;
/**
* 删除标识
diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/CustomerIdDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/CustomerIdDTO.java
new file mode 100644
index 0000000000..d18a182d1e
--- /dev/null
+++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/CustomerIdDTO.java
@@ -0,0 +1,27 @@
+package com.epmet.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 根据userId查询customerId 的DTO
+ * @Auther zxc
+ * @Create 2020-04-24 15:57
+ */
+@Data
+public class CustomerIdDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * userId 用户id
+ */
+ private String userId;
+
+ /**
+ * customerId 客户id
+ */
+ private String customerId;
+
+}
diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddAgencyFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddAgencyFormDTO.java
index 7cb0a69b27..1e7cd65f80 100644
--- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddAgencyFormDTO.java
+++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddAgencyFormDTO.java
@@ -20,6 +20,7 @@ package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
import java.io.Serializable;
@@ -37,7 +38,7 @@ public class AddAgencyFormDTO implements Serializable {
* 上级机关组织Id(当前机关组织添加下级组织)
*/
@NotBlank(message = "上级机关组织ID不能为空")
- private String pid;
+ private String parentAgencyId;
/**
* 机构组织名称
@@ -52,27 +53,31 @@ public class AddAgencyFormDTO implements Serializable {
* 市级: city
* 省级:province) 机关级别(社区级:community,乡(镇、街道)级:street,区县级: district,市级: city省级:province)
*/
+ @NotBlank(message = "机关级别不能为空")
private String level;
/**
* 地区编码
*/
- private Integer areaCode;
-
- /**
- * 国家
- */
- private String district;
+ @NotBlank(message = "地区编码不能为空")
+ private String areaCode;
/**
* 省份
*/
+ @NotBlank(message = "省级名称不能为空")
private String province;
/**
* 城市
*/
+ @NotBlank(message = "市级名称不能为空")
private String city;
+ /**
+ * 区县
+ */
+ @NotBlank(message = "区县名称不能为空")
+ private String district;
}
\ No newline at end of file
diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddDepartmentFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddDepartmentFormDTO.java
index 1188979f4a..e03ad75034 100644
--- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddDepartmentFormDTO.java
+++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddDepartmentFormDTO.java
@@ -16,20 +16,10 @@ package com.epmet.dto.form;
* along with this program. If not, see .
*/
-
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
-import java.util.List;
-
-/**
- * 添加部门人员DTO
- * @Auther zxc
- * @Create 2020-04-24 14:51
-import javax.validation.constraints.NotBlank;
-import java.io.Serializable;
-
/**
* 添加部门-接口入参
@@ -41,16 +31,6 @@ public class AddDepartmentFormDTO implements Serializable {
private static final long serialVersionUID = 1L;
- /**
- *部门id
- */
- private String departmentId;
-
- /**
- * 选中人员id
- */
- private List selectedList;
-
/**
* 所属组织机构ID(customer_agency.id)
*/
@@ -60,11 +40,13 @@ public class AddDepartmentFormDTO implements Serializable {
/**
* 部门名称
*/
+ @NotBlank(message = "部门名称不能为空")
private String departmentName;
/**
* 部门职责
*/
+ @NotBlank(message = "部门职责不能为空")
private String departmentDuty;
diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddDepartmentStaffFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddDepartmentStaffFormDTO.java
new file mode 100644
index 0000000000..96503be98e
--- /dev/null
+++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddDepartmentStaffFormDTO.java
@@ -0,0 +1,31 @@
+package com.epmet.dto.form;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * 添加部门人员DTO
+ * @Auther zxc
+ * @Create 2020-04-24 14:51
+ */
+@Data
+public class AddDepartmentStaffFormDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ *部门id
+ */
+ @NotBlank(message = "部门id不能为空")
+ private String departmentId;
+
+ /**
+ * 选中人员id
+ */
+ @NotBlank(message = "选中人员不能为空")
+ private List selectedList;
+
+}
\ No newline at end of file
diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/EditGridFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/EditGridFormDTO.java
index 2c5556f7a3..b22e5048f9 100644
--- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/EditGridFormDTO.java
+++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/EditGridFormDTO.java
@@ -18,6 +18,11 @@ public class EditGridFormDTO implements Serializable {
*/
private String gridId;
+ /**
+ * pid 当前机关id
+ */
+ private String agencyId;
+
/**
* 网格名称
*/
diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/StaffSubmitFromDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/StaffSubmitFromDTO.java
index 87ffa6f26b..0f368af813 100644
--- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/StaffSubmitFromDTO.java
+++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/StaffSubmitFromDTO.java
@@ -16,6 +16,10 @@ import java.util.List;
@Data
public class StaffSubmitFromDTO implements Serializable {
private static final long serialVersionUID = 1L;
+ /**
+ * 客户ID
+ */
+ private String customerId;
/**
* 机关ID
*/
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java
index b8b8300489..7f192ee942 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java
@@ -17,18 +17,21 @@
package com.epmet.controller;
+import com.epmet.commons.tools.annotation.LoginUser;
+import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
+import com.epmet.commons.tools.validator.ValidatorUtils;
+import com.epmet.dto.CustomerAgencyDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.AddAgencyResultDTO;
import com.epmet.dto.result.AgencyListResultDTO;
import com.epmet.dto.result.AgencysResultDTO;
import com.epmet.dto.result.SubAgencyResultDTO;
+import com.epmet.entity.CustomerAgencyEntity;
import com.epmet.service.AgencyService;
+import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
import java.util.List;
@@ -52,7 +55,8 @@ public class AgencyController {
* @Description 添加组织
*/
@PostMapping("addagency")
- public Result addAgency(@RequestBody AddAgencyFormDTO formDTO) {
+ public Result addAgency(@LoginUser TokenDto tokenDTO, @RequestBody AddAgencyFormDTO formDTO) {
+ ValidatorUtils.validateEntity(formDTO);
return agencyService.addAgency(formDTO);
}
@@ -63,7 +67,8 @@ public class AgencyController {
* @Description 组织名称编辑
*/
@PostMapping("editagency")
- public Result editAgency(@RequestBody EditAgencyFormDTO formDTO) {
+ public Result editAgency(@LoginUser TokenDto tokenDTO, @RequestBody EditAgencyFormDTO formDTO) {
+ ValidatorUtils.validateEntity(formDTO);
return agencyService.editAgency(formDTO);
}
@@ -74,7 +79,8 @@ public class AgencyController {
* @Description 删除组织机关
*/
@PostMapping("removeagency")
- public Result removeAgency(@RequestBody RemoveAgencyFormDTO formDTO) {
+ public Result removeAgency(@LoginUser TokenDto tokenDTO, @RequestBody RemoveAgencyFormDTO formDTO) {
+ ValidatorUtils.validateEntity(formDTO);
return agencyService.removeAgency(formDTO);
}
@@ -85,7 +91,8 @@ public class AgencyController {
* @Description 组织首页-获取组织机构信息
*/
@PostMapping("agencydetail")
- public Result agencyDetail(@RequestBody AgencydetailFormDTO formDTO) {
+ public Result agencyDetail(@LoginUser TokenDto tokenDTO, @RequestBody AgencydetailFormDTO formDTO) {
+ ValidatorUtils.validateEntity(formDTO);
return agencyService.agencyDetail(formDTO);
}
@@ -96,7 +103,8 @@ public class AgencyController {
* @Description 组织首页-下级机关列表
*/
@PostMapping("subagencylist")
- public Result subAgencyList(@RequestBody SubAgencyFormDTO formDTO) {
+ public Result subAgencyList(@LoginUser TokenDto tokenDTO, @RequestBody SubAgencyFormDTO formDTO) {
+ ValidatorUtils.validateEntity(formDTO);
return agencyService.subAgencyList(formDTO);
}
@@ -107,7 +115,25 @@ public class AgencyController {
* @Description 获取组织列表
*/
@PostMapping("agencylist")
- public Result> agencyList(@RequestBody AgencyListFormDTO formDTO) {
+ public Result> agencyList(@LoginUser TokenDto tokenDTO, @RequestBody AgencyListFormDTO formDTO) {
+ ValidatorUtils.validateEntity(formDTO);
return agencyService.agencyList(formDTO);
}
+
+ /**
+ * 根据Id查询agency
+ * @param agencyId
+ * @return
+ */
+ @PostMapping("{agencyId}")
+ public Result getAgencyById(@PathVariable("agencyId") String agencyId) {
+ CustomerAgencyEntity agency = agencyService.getAgencyById(agencyId);
+ CustomerAgencyDTO customerAgencyDTO = new CustomerAgencyDTO();
+ if (agency != null) {
+ BeanUtils.copyProperties(agency, customerAgencyDTO);
+ return new Result().ok(customerAgencyDTO);
+ }
+ return new Result();
+ }
+
}
\ No newline at end of file
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/DepartmentController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/DepartmentController.java
index 2a748a9507..2373876d5c 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/DepartmentController.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/DepartmentController.java
@@ -30,9 +30,15 @@ public class DepartmentController {
@Autowired
private CustomerStaffAgencyService customerStaffAgencyService;
+ /**
+ * 添加部门人员
+ * @param tokenDto
+ * @param addDepartmentStaffFormDTO
+ * @return
+ */
@PostMapping(value = "adddepartmentstaff")
- public Result addDepartmentStaff(@LoginUser TokenDto tokenDto, @RequestBody AddDepartmentFormDTO addDepartmentFormDTO){
- return null;
+ public Result addDepartmentStaff(@LoginUser TokenDto tokenDto, @RequestBody AddDepartmentStaffFormDTO addDepartmentStaffFormDTO){
+ return departmentService.addDepartmentStaff(tokenDto,addDepartmentStaffFormDTO);
}
/**
@@ -42,7 +48,8 @@ public class DepartmentController {
* @Description 添加部门
*/
@PostMapping("adddepartment")
- public Result addDepartment(@RequestBody AddDepartmentFormDTO formDTO) {
+ public Result addDepartment(@LoginUser TokenDto tokenDTO, @RequestBody AddDepartmentFormDTO formDTO) {
+ ValidatorUtils.validateEntity(formDTO);
return departmentService.addDepartment(formDTO);
}
@@ -53,7 +60,8 @@ public class DepartmentController {
* @Description 部门信息修改
*/
@PostMapping("editdepartment")
- public Result editDepartment(@RequestBody EditDepartmentFormDTO formDTO) {
+ public Result editDepartment(@LoginUser TokenDto tokenDTO, @RequestBody EditDepartmentFormDTO formDTO) {
+ ValidatorUtils.validateEntity(formDTO);
return departmentService.editDepartment(formDTO);
}
@@ -64,7 +72,8 @@ public class DepartmentController {
* @Description 删除部门
*/
@PostMapping("removedepartment")
- public Result removeDepartment(@RequestBody RemoveDepartmentFormDTO formDTO) {
+ public Result removeDepartment(@LoginUser TokenDto tokenDTO, @RequestBody RemoveDepartmentFormDTO formDTO) {
+ ValidatorUtils.validateEntity(formDTO);
return departmentService.removeDepartment(formDTO);
}
@@ -75,7 +84,8 @@ public class DepartmentController {
* @Description 获取部门详情
*/
@PostMapping("departmentdetail")
- public Result departmentDetail(@RequestBody DepartmentdetailFormDTO formDTO) {
+ public Result departmentDetail(@LoginUser TokenDto tokenDTO, @RequestBody DepartmentdetailFormDTO formDTO) {
+ ValidatorUtils.validateEntity(formDTO);
return departmentService.departmentDetail(formDTO);
}
@@ -86,7 +96,8 @@ public class DepartmentController {
* @Description 组织首页-获取机关下部门列表
*/
@PostMapping("departmentinagencylist")
- public Result departmentInAgencyList(@RequestBody DepartmentInAgencyFormDTO formDTO) {
+ public Result departmentInAgencyList(@LoginUser TokenDto tokenDTO, @RequestBody DepartmentInAgencyFormDTO formDTO) {
+ ValidatorUtils.validateEntity(formDTO);
return departmentService.departmentInAgencyList(formDTO);
}
@@ -97,7 +108,8 @@ public class DepartmentController {
* @Description 获取机构下部门列表
*/
@PostMapping("departmentlist")
- public Result> departmentList(@RequestBody DepartmentListFormDTO formDTO) {
+ public Result> departmentList(@LoginUser TokenDto tokenDTO, @RequestBody DepartmentListFormDTO formDTO) {
+ ValidatorUtils.validateEntity(formDTO);
return departmentService.departmentList(formDTO);
}
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java
index ba82240496..aa3e8ddf5e 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java
@@ -21,6 +21,7 @@ import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.CustomerGridDTO;
import com.epmet.dto.CustomerStaffGridDTO;
+import com.epmet.dto.UserIdDTO;
import com.epmet.dto.form.CustomerGridFormDTO;
import com.epmet.dto.form.DeleteGridFormDTO;
import com.epmet.dto.form.ListCustomerGridFormDTO;
@@ -110,7 +111,7 @@ public interface CustomerGridDao extends BaseDao {
* @param gridName
* @return
*/
- String selectGridIdByGridName(@Param("gridName")String gridName);
+ String selectGridIdByGridName(@Param("gridName")String gridName,@Param("agencyId")String pid);
/**
* 编辑网格信息
@@ -124,6 +125,14 @@ public interface CustomerGridDao extends BaseDao {
*/
void deleteGrid(DeleteGridFormDTO deleteGridFormDTO);
+ /**
+ *
+ * @Description 根据gridId查询userId
+ * @Author zxc
+ * @CreatedTime 2020/4/26 10:08
+ */
+ List selectUserIdByGrid(@Param("gridId")String gridId);
+
/**
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffDepartmentDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffDepartmentDao.java
index dfdba500d7..2f103d1daf 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffDepartmentDao.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffDepartmentDao.java
@@ -33,5 +33,19 @@ import java.util.List;
@Mapper
public interface CustomerStaffDepartmentDao extends BaseDao {
+ /**
+ *
+ * @param departmentId
+ * @return
+ * * @Author sun
+ * @Description 查询部门下工作人员的用户Id集合
+ */
List selectUserIdByDepartmentId(@Param("departmentId") String departmentId);
+
+ /**
+ * 修改部门人数
+ * @param
+ * @auther zxc
+ */
+ void updateDepartmentStaffCount(@Param("addCount")Integer addCount,@Param("departmentId")String departmentId);
}
\ No newline at end of file
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/CustomerAgencyEntity.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/CustomerAgencyEntity.java
index 5549845d66..6a669609eb 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/CustomerAgencyEntity.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/CustomerAgencyEntity.java
@@ -75,7 +75,7 @@ public class CustomerAgencyEntity extends BaseEpmetEntity {
/**
* 地区编码
*/
- private Integer areaCode;
+ private String areaCode;
/**
* 总人数
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/CustomerAgencyExcel.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/CustomerAgencyExcel.java
index 346963be94..7edffbcc60 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/CustomerAgencyExcel.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/CustomerAgencyExcel.java
@@ -53,7 +53,7 @@ public class CustomerAgencyExcel {
private String level;
@Excel(name = "地区编码")
- private Integer areaCode;
+ private String areaCode;
@Excel(name = "删除标识")
private String delFlag;
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java
index 5ccd374e31..9f9638ae34 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java
@@ -3,6 +3,18 @@ package com.epmet.feign;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.*;
+import com.epmet.dto.CustomerStaffDTO;
+import com.epmet.dto.CustomerStaffGridDTO;
+import com.epmet.dto.StaffGridListDTO;
+import com.epmet.dto.form.AddDepartmentStaffFormDTO;
+import com.epmet.dto.form.DepartmentInStaffFormDTO;
+import com.epmet.dto.form.StaffInfoFromDTO;
+import com.epmet.dto.form.StaffSubmitFromDTO;
+import com.epmet.dto.form.StaffsInAgencyFromDTO;
+import com.epmet.dto.result.DepartInStaffListResultDTO;
+import com.epmet.dto.result.StaffDetailResultDTO;
+import com.epmet.dto.result.StaffInfoResultDTO;
+import com.epmet.dto.result.StaffInitResultDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.dto.CustomerStaffDTO;
@@ -33,6 +45,11 @@ public interface EpmetUserFeignClient {
@PostMapping(value = "/epmetuser/customerstaff/getstaffinfobyuserid")
Result getCustomerStaffInfoByUserId(@RequestBody CustomerStaffDTO formDTO);
+ /**
+ * 获取网格下人员具体信息(头像、名字...)
+ * @param customerStaffGridDTOS
+ * @return
+ */
@PostMapping("/epmetuser/customerstaff/selectstaffgridlistbyuserid")
Result> getStaffGridList(@RequestBody List customerStaffGridDTOS);
@@ -44,8 +61,13 @@ public interface EpmetUserFeignClient {
@PostMapping("/epmetuser/customerstaff/staffsinagency")
Result> getStaffInfoForHome(StaffsInAgencyFromDTO fromDTO);
+ /**
+ * 获取网格下未禁用的人员数量
+ * @param userIdDTO
+ * @return
+ */
@PostMapping(value = "/epmetuser/customerstaff/selectgridstaffcountbyuserid")
- Result selectGridStaffCountByUserId(@RequestBody UserIdDTO userIdDTO);
+ Result selectGridStaffCountByUserId(@RequestBody List userIdDTO);
/**
* 工作人员列表
@@ -79,7 +101,7 @@ public interface EpmetUserFeignClient {
* @return Result
*/
@PostMapping("/epmetuser/customerstaff/addstaff")
- Result addStaff(@RequestBody StaffSubmitFromDTO fromDTO);
+ Result addStaff(@RequestBody StaffSubmitFromDTO fromDTO);
/**
* 人员编辑
@@ -115,7 +137,15 @@ public interface EpmetUserFeignClient {
* @Description 根据客户Id及userId集合查询用户基本信息
*/
@PostMapping("/epmetuser/customerstaff/getdepartmentstafflist")
- Result> getDepartmentStaffList(DepartmentInStaffFormDTO departmentInStaffFormDTO);
+ Result> getDepartmentStaffList(@RequestBody DepartmentInStaffFormDTO departmentInStaffFormDTO);
+
+ /**
+ * 根据userId查询customerId
+ * @param addDepartmentStaffFormDTO
+ * @auther zxc
+ */
+ @PostMapping("/epmetuser/customerstaff/selectcustomeridbyuserid")
+ Result> selectCustomerIdByUserId(AddDepartmentStaffFormDTO addDepartmentStaffFormDTO);
/**
* @Description 通过userId列表查询未被禁用的用户信息
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java
index 809771ee5a..639d83d1b5 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java
@@ -4,6 +4,18 @@ import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.ModuleUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.*;
+import com.epmet.dto.CustomerStaffDTO;
+import com.epmet.dto.CustomerStaffGridDTO;
+import com.epmet.dto.StaffGridListDTO;
+import com.epmet.dto.form.AddDepartmentStaffFormDTO;
+import com.epmet.dto.form.DepartmentInStaffFormDTO;
+import com.epmet.dto.form.StaffInfoFromDTO;
+import com.epmet.dto.form.StaffSubmitFromDTO;
+import com.epmet.dto.form.StaffsInAgencyFromDTO;
+import com.epmet.dto.result.DepartInStaffListResultDTO;
+import com.epmet.dto.result.StaffDetailResultDTO;
+import com.epmet.dto.result.StaffInfoResultDTO;
+import com.epmet.dto.result.StaffInitResultDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.dto.CustomerStaffDTO;
@@ -35,7 +47,7 @@ public class EpmetUserFeignClientFallBack implements EpmetUserFeignClient {
}
@Override
- public Result selectGridStaffCountByUserId(UserIdDTO userIdDTO) {
+ public Result selectGridStaffCountByUserId(List userIdDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "selectGridStaffCountByUserId", userIdDTO);
}
@@ -61,7 +73,7 @@ public class EpmetUserFeignClientFallBack implements EpmetUserFeignClient {
}
@Override
- public Result addStaff(StaffSubmitFromDTO fromDTO) {
+ public Result addStaff(StaffSubmitFromDTO fromDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "addStaff", fromDTO);
}
@@ -79,6 +91,11 @@ public class EpmetUserFeignClientFallBack implements EpmetUserFeignClient {
public Result disabledStaff(StaffInfoFromDTO fromDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "disabledStaff", fromDTO);
}
+ @Override
+ public Result> selectCustomerIdByUserId(AddDepartmentStaffFormDTO addDepartmentStaffFormDTO) {
+ return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "selectCustomerIdByUserId", addDepartmentStaffFormDTO);
+ }
+
@Override
public Result> enableStaffMsgList(CommonUserIdListFormDTO userIdList) {
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/AgencyService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/AgencyService.java
index f2edc0c462..d09e56ba05 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/AgencyService.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/AgencyService.java
@@ -23,6 +23,7 @@ import com.epmet.dto.result.AddAgencyResultDTO;
import com.epmet.dto.result.AgencyListResultDTO;
import com.epmet.dto.result.AgencysResultDTO;
import com.epmet.dto.result.SubAgencyResultDTO;
+import com.epmet.entity.CustomerAgencyEntity;
import java.util.List;
@@ -80,4 +81,11 @@ public interface AgencyService {
* @Description 获取组织列表
*/
Result> agencyList(AgencyListFormDTO formDTO);
+
+ /**
+ * 根据Id查询
+ * @param agencyId
+ * @return
+ */
+ CustomerAgencyEntity getAgencyById(String agencyId);
}
\ No newline at end of file
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/DepartmentService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/DepartmentService.java
index c23a4cc984..b2562ef67a 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/DepartmentService.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/DepartmentService.java
@@ -17,7 +17,9 @@
package com.epmet.service;
+import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
+import com.epmet.dto.CustomerIdDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
@@ -78,6 +80,13 @@ public interface DepartmentService {
*/
Result> departmentList(DepartmentListFormDTO formDTO);
+ /**
+ * 添加部门人员
+ * @param addDepartmentStaffFormDTO
+ * @return
+ */
+ Result addDepartmentStaff(TokenDto tokenDto,AddDepartmentStaffFormDTO addDepartmentStaffFormDTO);
+
/**
* @Description 部门人员移除
* @Param CommonDepartmentStaffInfoFormDTO
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java
index a71c53e80a..f1901d64cf 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java
@@ -28,6 +28,7 @@ import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.entity.CustomerAgencyEntity;
import com.epmet.service.AgencyService;
+import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -65,14 +66,19 @@ public class AgencyServiceImpl implements AgencyService {
entity.setOrganizationName(formDTO.getAgencyName());
entity.setTotalUser(NumConstant.ZERO);
//1:查询上级机关信息
- CustomerAgencyEntity parentEntity = customerAgencyDao.selectById(formDTO.getPid());
+ CustomerAgencyEntity parentEntity = customerAgencyDao.selectById(formDTO.getParentAgencyId());
+ if (null == parentEntity) {
+ log.error(CustomerAgencyConstant.SAVE_EXCEPTION);
+ throw new RenException(CustomerAgencyConstant.SAVE_EXCEPTION);
+ }
+ entity.setPid(parentEntity.getId());
entity.setCustomerId(parentEntity.getCustomerId());
- if (null == parentEntity.getPid()) {
+ if (StringUtils.isBlank(parentEntity.getPid())) {
entity.setPids(parentEntity.getId());
entity.setAllParentName(parentEntity.getOrganizationName());
} else {
- entity.setPids(":" + parentEntity.getId());
- entity.setAllParentName("-" + parentEntity.getOrganizationName());
+ entity.setPids(parentEntity.getPids()+":" + parentEntity.getId());
+ entity.setAllParentName(parentEntity.getAllParentName()+"-" + parentEntity.getOrganizationName());
}
//2:保存组织信息
if (customerAgencyDao.insert(entity) < NumConstant.ONE) {
@@ -121,7 +127,14 @@ public class AgencyServiceImpl implements AgencyService {
result.setMsg(EpmetErrorCode.NOT_DEL_AGENCY.getMsg());
return result;
}
- //2:删除当前机关组织(逻辑删)
+ //2:不存在下级机关,本级存在工作人员的不能删除
+ CustomerAgencyEntity entity = customerAgencyDao.selectById(formDTO.getAgencyId());
+ if (null != entity && entity.getTotalUser() > NumConstant.ZERO) {
+ result.setCode(EpmetErrorCode.NOT_DEL_AGENCY_PER.getCode());
+ result.setMsg(EpmetErrorCode.NOT_DEL_AGENCY_PER.getMsg());
+ return result;
+ }
+ //3:删除当前机关组织(逻辑删)
if (customerAgencyDao.deleteById(formDTO.getAgencyId()) < NumConstant.ONE) {
log.error(CustomerAgencyConstant.DEL_EXCEPTION);
throw new RenException(CustomerAgencyConstant.DEL_EXCEPTION);
@@ -184,4 +197,9 @@ public class AgencyServiceImpl implements AgencyService {
List agencyList = customerAgencyDao.selectAgencyList(formDTO.getAgencyId());
return new Result>().ok(agencyList);
}
+
+ @Override
+ public CustomerAgencyEntity getAgencyById(String agencyId) {
+ return customerAgencyDao.selectById(agencyId);
+ }
}
\ No newline at end of file
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java
index ff76c2faa9..6889e34433 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java
@@ -192,6 +192,7 @@ public class CustomerGridServiceImpl extends BaseServiceImpl griddetail(CustomerGridFormDTO customerGridFormDTO) {
GridDetailResultDTO griddetail = baseDao.griddetail(customerGridFormDTO);
List customerStaffGridDTOS = baseDao.selectUserIdByGridId(customerGridFormDTO);
+ //获取人员具体信息(头像、名字...)
Result> staffGridList = epmetUserFeignClient.getStaffGridList(customerStaffGridDTOS);
griddetail.setStaffGridList(staffGridList.getData());
return new Result().ok(griddetail);
@@ -200,6 +201,10 @@ public class CustomerGridServiceImpl extends BaseServiceImpl addGrid(TokenDto tokenDto, AddGridFormDTO addGridFormDTO) {
+ String checkGridName = baseDao.selectGridIdByGridName(addGridFormDTO.getGridName(),addGridFormDTO.getAgencyId());
+ if (checkGridName!=null){
+ return new Result().error(EpmetErrorCode.NOT_ADD_GRID.getCode());
+ }
CustomerGridEntity customerGridEntity = new CustomerGridEntity();
customerGridEntity.setCustomerId(baseDao.selectCustomerIdByUserId(tokenDto.getUserId()));
customerGridEntity.setGridName(addGridFormDTO.getGridName());
@@ -211,7 +216,7 @@ public class CustomerGridServiceImpl extends BaseServiceImpl().ok(addGridResultDTO);
@@ -225,6 +230,10 @@ public class CustomerGridServiceImpl extends BaseServiceImpl userIdDTOS = baseDao.selectUserIdByGrid(deleteGridFormDTO.getGridId());
deleteGridFormDTO.setUserId(tokenDto.getUserId());
- Result gridStaffCountDTOResult = epmetUserFeignClient.selectGridStaffCountByUserId(userIdDTO);
+ Result gridStaffCountDTOResult = epmetUserFeignClient.selectGridStaffCountByUserId(userIdDTOS);
if (gridStaffCountDTOResult.getData().getEnableCount()==0){
baseDao.deleteGrid(deleteGridFormDTO);
}else {
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/DepartmentServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/DepartmentServiceImpl.java
index 12b8739b6e..670236e098 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/DepartmentServiceImpl.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/DepartmentServiceImpl.java
@@ -20,12 +20,14 @@ package com.epmet.service.impl;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.RenException;
+import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.constant.CustomerDepartmentConstant;
import com.epmet.dao.CustomerAgencyDao;
import com.epmet.dao.CustomerDepartmentDao;
import com.epmet.dao.CustomerStaffDepartmentDao;
+import com.epmet.dto.CustomerIdDTO;
import com.epmet.dto.CustomerDepartmentDTO;
import com.epmet.dto.CustomerStaffDepartmentDTO;
import com.epmet.dto.StaffRoleDTO;
@@ -33,6 +35,7 @@ import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.entity.CustomerAgencyEntity;
import com.epmet.entity.CustomerDepartmentEntity;
+import com.epmet.entity.CustomerStaffDepartmentEntity;
import com.epmet.feign.EpmetUserFeignClient;
import com.epmet.service.CustomerDepartmentService;
import com.epmet.service.CustomerStaffDepartmentService;
@@ -207,6 +210,32 @@ public class DepartmentServiceImpl implements DepartmentService {
return new Result>().ok(departmentList);
}
+ /**
+ * 添加部门人员
+ * @param tokenDto
+ * @param addDepartmentStaffFormDTO
+ * @return
+ */
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public Result addDepartmentStaff(TokenDto tokenDto,AddDepartmentStaffFormDTO addDepartmentStaffFormDTO) {
+ CustomerStaffDepartmentEntity customerStaffDepartmentEntity = new CustomerStaffDepartmentEntity();
+ Result> listResult = epmetUserFeignClient.selectCustomerIdByUserId(addDepartmentStaffFormDTO);
+ List data = listResult.getData();
+ customerStaffDepartmentEntity.setDepartmentId(addDepartmentStaffFormDTO.getDepartmentId());
+ customerStaffDepartmentEntity.setCreatedBy(tokenDto.getUserId());
+ customerStaffDepartmentEntity.setUpdatedBy(tokenDto.getUserId());
+ customerStaffDepartmentEntity.setDelFlag("0");
+ customerStaffDepartmentEntity.setRevision(0);
+ for (CustomerIdDTO customerIdDTO : data) {
+ customerStaffDepartmentEntity.setUserId(customerIdDTO.getUserId());
+ customerStaffDepartmentEntity.setCustomerId(customerIdDTO.getCustomerId());
+ customerStaffDepartmentDao.insert(customerStaffDepartmentEntity);
+ }
+ customerStaffDepartmentDao.updateDepartmentStaffCount(data.size(),addDepartmentStaffFormDTO.getDepartmentId());
+ return new Result();
+ }
+
/**
* @Description 部门人员移除
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java
index db4e263508..dcdb8087f7 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java
@@ -1,8 +1,10 @@
package com.epmet.service.impl;
+import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.CustomerStaffAgencyDTO;
+import com.epmet.dto.CustomerStaffDTO;
import com.epmet.dto.form.StaffInfoFromDTO;
import com.epmet.dto.form.StaffSubmitFromDTO;
import com.epmet.dto.form.StaffsInAgencyFromDTO;
@@ -11,6 +13,7 @@ import com.epmet.dto.result.StaffInfoResultDTO;
import com.epmet.dto.result.StaffInitResultDTO;
import com.epmet.dto.result.StaffsInAgencyResultDTO;
import com.epmet.entity.CustomerAgencyEntity;
+import com.epmet.entity.CustomerStaffAgencyEntity;
import com.epmet.feign.EpmetUserFeignClient;
import com.epmet.feign.OperCrmFeignClient;
import com.epmet.service.CustomerAgencyService;
@@ -18,7 +21,9 @@ import com.epmet.service.CustomerStaffAgencyService;
import com.epmet.service.StaffService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
@@ -43,11 +48,17 @@ public class StaffServiceImpl implements StaffService {
StaffsInAgencyResultDTO resultDTO = new StaffsInAgencyResultDTO();
//获取机关所在客户ID和人员总数
CustomerAgencyEntity customerAgencyEntity = customerAgencyService.selectById(fromDTO.getAgencyId());
+ if (null == customerAgencyEntity) {
+ resultDTO.setStaffList(new ArrayList<>());
+ resultDTO.setStaffCount(0);
+ return new Result().ok(resultDTO);
+ }
resultDTO.setStaffCount(customerAgencyEntity.getTotalUser());
fromDTO.setCustomerId(customerAgencyEntity.getCustomerId());
List customerStaffAgencyList = customerStaffAgencyService.getCustomerStaffAgencyList(fromDTO).getData();
if (null == customerStaffAgencyList || customerStaffAgencyList.size() == 0) {
- return new Result().ok(null);
+ resultDTO.setStaffList(new ArrayList<>());
+ return new Result().ok(resultDTO);
}
//提取所有userID
List staffIds = customerStaffAgencyList.stream().map(CustomerStaffAgencyDTO::getUserId).collect(Collectors.toList());
@@ -62,6 +73,9 @@ public class StaffServiceImpl implements StaffService {
public Result> getStaffList(StaffsInAgencyFromDTO fromDTO) {
//获取机关所在客户ID
CustomerAgencyEntity customerAgencyEntity = customerAgencyService.selectById(fromDTO.getAgencyId());
+ if (null == customerAgencyEntity) {
+ return new Result>().ok(new ArrayList<>());
+ }
fromDTO.setCustomerId(customerAgencyEntity.getCustomerId());
List customerStaffAgencyList = customerStaffAgencyService.getCustomerStaffAgencyList(fromDTO).getData();
if (null == customerStaffAgencyList || customerStaffAgencyList.size() == 0) {
@@ -71,8 +85,7 @@ public class StaffServiceImpl implements StaffService {
List staffIds = customerStaffAgencyList.stream().map(CustomerStaffAgencyDTO::getUserId).collect(Collectors.toList());
fromDTO.setStaffList(staffIds);
//获取用户列表
- Result> staffInfoListResult = epmetUserFeignClient.getStaffInfoForHome(fromDTO);
- return null;
+ return epmetUserFeignClient.getStaffList(fromDTO);
}
@Override
@@ -90,24 +103,47 @@ public class StaffServiceImpl implements StaffService {
}
@Override
+ @Transactional(rollbackFor = Exception.class)
public Result addStaff(TokenDto tokenDto, StaffSubmitFromDTO fromDTO) {
+ CustomerAgencyEntity customerAgencyEntity = customerAgencyService.selectById(fromDTO.getAgencyId());
fromDTO.setApp(tokenDto.getApp());
fromDTO.setClient(tokenDto.getClient());
- Result result = epmetUserFeignClient.addStaff(fromDTO);
- //机关总人数加一
- if (result.success()) {
- CustomerAgencyEntity customerAgencyEntity = customerAgencyService.selectById(fromDTO.getAgencyId());
- customerAgencyEntity.setTotalUser(customerAgencyEntity.getTotalUser() + 1);
- customerAgencyService.updateById(customerAgencyEntity);
+ fromDTO.setCustomerId(customerAgencyEntity.getCustomerId());
+ Result result = epmetUserFeignClient.addStaff(fromDTO);
+
+ if (!result.success()) {
+ if (result.getCode() != EpmetErrorCode.SERVER_ERROR.getCode()) {
+ return new Result().error(result.getCode(), result.getMsg());
+ }
+ return new Result().error(EpmetErrorCode.STAFF_ADD_FAILED.getCode(), EpmetErrorCode.STAFF_ADD_FAILED.getMsg());
}
+ //人员机关关系表
+ CustomerStaffAgencyEntity customerStaffAgencyEntity = new CustomerStaffAgencyEntity();
+ customerStaffAgencyEntity.setCustomerId(customerAgencyEntity.getCustomerId());
+ customerStaffAgencyEntity.setUserId(result.getData().getUserId());
+ customerStaffAgencyEntity.setAgencyId(customerAgencyEntity.getId());
+ customerStaffAgencyService.insert(customerStaffAgencyEntity);
+ //机关总人数加一
+ customerAgencyEntity.setTotalUser(customerAgencyEntity.getTotalUser() + 1);
+ customerAgencyService.updateById(customerAgencyEntity);
return new Result();
}
@Override
public Result editStaff(TokenDto tokenDto, StaffSubmitFromDTO fromDTO) {
+ CustomerAgencyEntity customerAgencyEntity = customerAgencyService.selectById(fromDTO.getAgencyId());
+ fromDTO.setCustomerId(customerAgencyEntity.getCustomerId());
+
fromDTO.setApp(tokenDto.getApp());
fromDTO.setClient(tokenDto.getClient());
- return epmetUserFeignClient.editStaff(fromDTO);
+ Result result = epmetUserFeignClient.editStaff(fromDTO);
+ if (!result.success()) {
+ if (result.getCode() != EpmetErrorCode.SERVER_ERROR.getCode()) {
+ return new Result().error(result.getCode(), result.getMsg());
+ }
+ return new Result().error(EpmetErrorCode.STAFF_EDIT_FAILED.getCode(), EpmetErrorCode.STAFF_EDIT_FAILED.getMsg());
+ }
+ return result;
}
@Override
diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/epmet_gov_org.sql b/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/epmet_gov_org.sql
index f4d0e47dc7..aa68f1c8fa 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/epmet_gov_org.sql
+++ b/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/epmet_gov_org.sql
@@ -110,4 +110,6 @@ ALTER TABLE customer_agency ADD (
PROVINCE VARCHAR (32) DEFAULT NULL COMMENT '省份',
CITY VARCHAR (32) DEFAULT NULL COMMENT '城市',
DISTRICT VARCHAR (32) DEFAULT NULL COMMENT '区县'
-);
\ No newline at end of file
+);
+
+ALTER TABLE customer_agency MODIFY AREA_CODE VARCHAR(10) NOT NULL;
\ No newline at end of file
diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml
index 90b926b729..a849c06edf 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml
+++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml
@@ -24,8 +24,8 @@
@@ -194,6 +195,17 @@
id = #{gridId}
+
+
+ SELECT
+ user_id
+ FROM
+ customer_staff_grid
+ WHERE
+ grid_id = #{gridId}
+ AND del_flag = 0
+
+
SELECT
diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffDepartmentDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffDepartmentDao.xml
index 86c597d402..6f13998784 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffDepartmentDao.xml
+++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffDepartmentDao.xml
@@ -3,18 +3,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
SELECT
user_id
@@ -22,9 +10,19 @@
customer_staff_department
WHERE
del_flag = '0'
- AND department_id = #{}
+ AND department_id = #{departmentId}
+
+
+ UPDATE
+ customer_department
+ SET
+ total_user = total_user + #{addCount}
+ WHERE
+ id = #{departmentId}
+
+
\ No newline at end of file
diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/GovStaffRoleDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/GovStaffRoleDTO.java
index 78905406ba..9bc2f4c4de 100644
--- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/GovStaffRoleDTO.java
+++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/GovStaffRoleDTO.java
@@ -23,7 +23,7 @@ import lombok.Data;
/**
- * 政府端角色表
+ * 政府端角色字典表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-04-22
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerStaffController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerStaffController.java
index 8a1afe94d0..8af4a38647 100644
--- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerStaffController.java
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerStaffController.java
@@ -27,6 +27,10 @@ import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.dto.*;
import com.epmet.dto.form.*;
+import com.epmet.dto.CustomerStaffDTO;
+import com.epmet.dto.CustomerStaffGridDTO;
+import com.epmet.dto.StaffGridListDTO;
+import com.epmet.dto.form.*;
import com.epmet.dto.result.DepartInStaffListResultDTO;
import com.epmet.dto.result.StaffDetailResultDTO;
import com.epmet.dto.result.StaffInfoResultDTO;
@@ -150,11 +154,6 @@ public class CustomerStaffController {
return customerStaffService.getCustomerStaffInfoByUserId(formDTO);
}
- @PostMapping(value = "selectgridstaffcountbyuserid")
- public Result selectGridStaffCountByUserId(@RequestBody UserIdDTO userIdDTO){
- return customerStaffService.selectGridStaffCountByUserId(userIdDTO);
- }
-
/**
* 组织首页-工作人员列表
* @param fromDTO
@@ -175,6 +174,22 @@ public class CustomerStaffController {
return customerStaffService.getStaffList(fromDTO);
}
+ /**
+ * 查询网格下未被禁用人员
+ * @param userIdDTO
+ * @auther zxc
+ */
+ @PostMapping(value = "selectgridstaffcountbyuserid")
+ public Result selectGridStaffCountByUserId(@RequestBody List userIdDTO){
+ return customerStaffService.selectGridStaffCountByUserId(userIdDTO);
+ }
+
+
+ @PostMapping(value = "selectcustomeridbyuserid")
+ public Result> selectCustomerIdByUserId(@RequestBody AddDepartmentStaffFormDTO addDepartmentStaffFormDTO){
+ return customerStaffService.selectCustomerIdByUserId(addDepartmentStaffFormDTO);
+ }
+
/**
* 人员添加页面初始化
*
@@ -204,7 +219,7 @@ public class CustomerStaffController {
* @return Result
*/
@PostMapping("addstaff")
- public Result addStaff(@RequestBody StaffSubmitFromDTO fromDTO){
+ public Result addStaff(@RequestBody StaffSubmitFromDTO fromDTO){
return customerStaffService.addStaff(fromDTO);
}
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StaffRoleController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StaffRoleController.java
index f246940807..a16c1ec5d3 100644
--- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StaffRoleController.java
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StaffRoleController.java
@@ -1,5 +1,7 @@
package com.epmet.controller;
+import com.epmet.commons.mybatis.entity.DataScope;
+import com.epmet.commons.tools.annotation.RequirePermission;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dto.GovStaffRoleDTO;
@@ -68,7 +70,7 @@ public class StaffRoleController {
ValidatorUtils.validateEntity(staffRoleFormDTO, StaffRoleFormDTO.GetStaffsInRole.class);
String roleKey = staffRoleFormDTO.getRoleKey();
String orgId = staffRoleFormDTO.getOrgId();
- List staffRoleDTOS = staffRoleService.listStaffsInRole(roleKey, orgId);
+ List staffRoleDTOS = staffRoleService.listStaffsInRole(roleKey, orgId , DataScope.getDefault());
return new Result>().ok(staffRoleDTOS);
}
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/CustomerStaffDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/CustomerStaffDao.java
index 775cb008df..7936c026c8 100644
--- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/CustomerStaffDao.java
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/CustomerStaffDao.java
@@ -20,10 +20,7 @@ package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.*;
-import com.epmet.dto.form.CustomerStaffFormDTO;
-import com.epmet.dto.form.StaffInfoFromDTO;
-import com.epmet.dto.form.DepartmentInStaffFormDTO;
-import com.epmet.dto.form.StaffsInAgencyFromDTO;
+import com.epmet.dto.form.*;
import com.epmet.dto.result.DepartInStaffListResultDTO;
import com.epmet.dto.result.StaffInfoResultDTO;
import com.epmet.dto.result.CommonStaffInfoResultDTO;
@@ -67,7 +64,7 @@ public interface CustomerStaffDao extends BaseDao {
* @param userIdDTO
* @return
*/
- GridStaffCountDTO selectGridStaffCountByUserId(UserIdDTO userIdDTO);
+ GridStaffCountDTO selectGridStaffCountByUserId(List userIdDTO);
/**
* 根据userId查询查询网格下的用户信息
*
@@ -118,6 +115,13 @@ public interface CustomerStaffDao extends BaseDao {
*/
List selectDepartmentStaffList(DepartmentInStaffFormDTO fromDTO);
+ /**
+ *
+ * @param departmentStaffFormDTO
+ * @auther zxc
+ */
+ List selectCustomerIdByUserId(AddDepartmentStaffFormDTO departmentStaffFormDTO);
+
/**
* @Description 根据UserId列表查询用信息,过滤掉被禁用的,包含未激活的
* @Param List
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/CustomerStaffService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/CustomerStaffService.java
index 3956c86fc5..67a4b279ef 100644
--- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/CustomerStaffService.java
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/CustomerStaffService.java
@@ -21,7 +21,7 @@ import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.*;
-import com.epmet.dto.form.CustomerGridFormDTO;
+import com.epmet.dto.form.*;
import com.epmet.dto.CustomerStaffDTO;
import com.epmet.dto.CustomerStaffGridDTO;
import com.epmet.dto.StaffGridListDTO;
@@ -181,7 +181,7 @@ public interface CustomerStaffService extends BaseService {
* @param fromDTO 参数
* @return Result
*/
- Result addStaff(StaffSubmitFromDTO fromDTO);
+ Result addStaff(StaffSubmitFromDTO fromDTO);
/**
* 人员编辑
@@ -212,7 +212,7 @@ public interface CustomerStaffService extends BaseService {
* @param userIdDTO
* @return
*/
- Result selectGridStaffCountByUserId(UserIdDTO userIdDTO);
+ Result selectGridStaffCountByUserId(List userIdDTO);
/**
* @param fromDTO
@@ -222,6 +222,13 @@ public interface CustomerStaffService extends BaseService {
*/
Result> getDepartmentStaffList(DepartmentInStaffFormDTO fromDTO);
+ /**
+ * 根据userId查询customerId
+ * @param: addDepartmentStaffFormDTO
+ * @auther: zxc
+ */
+ Result> selectCustomerIdByUserId(AddDepartmentStaffFormDTO addDepartmentStaffFormDTO);
+
/**
* @Description 通过userId列表查询未被禁用的用户信息
* @Param CommonUserIdListFormDTO :: getUserIdList
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StaffRoleService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StaffRoleService.java
index 456a88b720..39680248cb 100644
--- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StaffRoleService.java
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StaffRoleService.java
@@ -17,6 +17,7 @@
package com.epmet.service;
+import com.epmet.commons.mybatis.entity.DataScope;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.Result;
@@ -103,7 +104,7 @@ public interface StaffRoleService extends BaseService {
* @param orgId
* @return
*/
- List listStaffsInRole(String roleKey, String orgId);
+ List listStaffsInRole(String roleKey, String orgId, DataScope dataScope);
/**
* 清空工作人员权限
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java
index 459b27acd0..28e22a28f7 100644
--- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java
@@ -19,6 +19,7 @@ package com.epmet.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.epmet.commons.mybatis.entity.DataScope;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode;
@@ -32,6 +33,17 @@ import com.epmet.dao.CustomerStaffDao;
import com.epmet.dto.*;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
+import com.epmet.dto.form.*;
+import com.epmet.dto.CustomerStaffDTO;
+import com.epmet.dto.CustomerStaffGridDTO;
+import com.epmet.dto.GovStaffRoleDTO;
+import com.epmet.dto.StaffGridListDTO;
+import com.epmet.dto.StaffRoleDTO;
+import com.epmet.dto.result.StaffDetailResultDTO;
+import com.epmet.dto.result.DepartInStaffListResultDTO;
+import com.epmet.dto.result.StaffInfoResultDTO;
+import com.epmet.dto.result.StaffInitResultDTO;
+import com.epmet.dto.result.StaffRoleResultDTO;
import com.epmet.dto.CustomerStaffDTO;
import com.epmet.dto.CustomerStaffGridDTO;
import com.epmet.dto.StaffGridListDTO;
@@ -54,6 +66,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
@@ -77,6 +90,7 @@ public class CustomerStaffServiceImpl extends BaseServiceImpl page(Map params) {
IPage page = baseDao.selectPage(
@@ -171,12 +185,18 @@ public class CustomerStaffServiceImpl extends BaseServiceImpl> getStaffInfoForHome(StaffsInAgencyFromDTO fromDTO) {
List list = baseDao.selectCustomerStaffList(fromDTO);
+ if (null == list) {
+ list = new ArrayList<>();
+ }
return new Result>().ok(list);
}
@Override
public Result> getStaffList(StaffsInAgencyFromDTO fromDTO) {
List list = baseDao.selectStaffList(fromDTO);
+ if (null == list) {
+ list = new ArrayList<>();
+ }
return new Result>().ok(list);
}
@@ -187,7 +207,7 @@ public class CustomerStaffServiceImpl extends BaseServiceImpl roleList = govStaffRoleService.getGovStaffRoleList(govStaffRoleDTO);
if (null == roleList || roleList.size() == 0) {
- return new Result().ok(null);
+ return new Result().error(EpmetErrorCode.SERVER_ERROR.getCode(), EpmetErrorCode.SERVER_ERROR.getMsg());
}
List staffRoleList = roleList.stream().map(p -> {
StaffRoleResultDTO staffRoleResultDTO = new StaffRoleResultDTO();
@@ -238,7 +258,14 @@ public class CustomerStaffServiceImpl extends BaseServiceImpl addStaff(StaffSubmitFromDTO fromDTO) {
+ CustomerStaffFormDTO customerStaffFormDTO = new CustomerStaffFormDTO();
+ customerStaffFormDTO.setCustomerId(fromDTO.getCustomerId());
+ customerStaffFormDTO.setMobile(fromDTO.getMobile());
+ CustomerStaffDTO customerStaffDTO = baseDao.selectListCustomerStaffInfo(customerStaffFormDTO);
+ if (null != customerStaffDTO) {
+ return new Result().error(EpmetErrorCode.MOBILE_USED.getCode(), EpmetErrorCode.MOBILE_USED.getMsg());
+ }
//USER表插入数据
UserEntity userEntity = new UserEntity();
userEntity.setFromApp(fromDTO.getApp());
@@ -246,6 +273,7 @@ public class CustomerStaffServiceImpl extends BaseServiceImpl().ok(ConvertUtils.sourceToTarget(staffEntity, CustomerStaffDTO.class));
}
@Override
@Transactional(rollbackFor = Exception.class)
public Result editStaff(StaffSubmitFromDTO fromDTO) {
+ CustomerStaffFormDTO customerStaffFormDTO = new CustomerStaffFormDTO();
+ customerStaffFormDTO.setCustomerId(fromDTO.getCustomerId());
+ customerStaffFormDTO.setMobile(fromDTO.getMobile());
+ CustomerStaffDTO customerStaffDTO = baseDao.selectListCustomerStaffInfo(customerStaffFormDTO);
+ if (!fromDTO.getStaffId().equals(customerStaffDTO.getUserId())) {
+ return new Result().error(EpmetErrorCode.MOBILE_USED.getCode(), EpmetErrorCode.MOBILE_USED.getMsg());
+ }
+
CustomerStaffEntity customerStaffEntity = baseDao.selectByUserId(fromDTO.getStaffId());
//Customer_Staff表插入数据
CustomerStaffEntity staffEntity = new CustomerStaffEntity();
@@ -327,18 +363,19 @@ public class CustomerStaffServiceImpl extends BaseServiceImpl selectGridStaffCountByUserId(UserIdDTO userIdDTO) {
- Result gridStaffCountDTOResult = new Result();
- GridStaffCountDTO gridStaffCountDTO = baseDao.selectGridStaffCountByUserId(userIdDTO);
- gridStaffCountDTOResult.setData(gridStaffCountDTO);
- return gridStaffCountDTOResult;
- }
+ /**
+ * 根据userId查询网格下未被禁用的人员数量
+ *
+ * @param userIdDTO
+ * @return
+ */
+ @Override
+ public Result selectGridStaffCountByUserId(List userIdDTO) {
+ Result gridStaffCountDTOResult = new Result();
+ GridStaffCountDTO gridStaffCountDTO = baseDao.selectGridStaffCountByUserId(userIdDTO);
+ gridStaffCountDTOResult.setData(gridStaffCountDTO);
+ return gridStaffCountDTOResult;
+ }
@Override
public Result> getDepartmentStaffList(DepartmentInStaffFormDTO formDTO) {
@@ -348,7 +385,7 @@ public class CustomerStaffServiceImpl extends BaseServiceImpl staffRoleDTOS = staffRoleService.listStaffsInRole(UserRoleConstant.DEPT_LEADER, formDTO.getDepartmentId());
+ List staffRoleDTOS = staffRoleService.listStaffsInRole(UserRoleConstant.DEPT_LEADER, formDTO.getDepartmentId(), DataScope.getDefault());
staffRoleDTOS.forEach(roleDto -> {
staffList.stream().filter(staffDto ->
roleDto.getStaffId().equals(staffDto.getStaffId())).findAny().ifPresent(result ->
@@ -357,6 +394,15 @@ public class CustomerStaffServiceImpl extends BaseServiceImpl>().ok(staffList);
}
+ /**
+ * @param: addDepartmentStaffFormDTO
+ * @auther: zxc
+ */
+ @Override
+ public Result> selectCustomerIdByUserId(AddDepartmentStaffFormDTO addDepartmentStaffFormDTO) {
+ return new Result>().ok(baseDao.selectCustomerIdByUserId(addDepartmentStaffFormDTO));
+ }
+
/**
* @Description 通过userId列表查询未被禁用的用户信息
* @Param CommonUserIdListFormDTO :: getUserIdList
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffRoleServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffRoleServiceImpl.java
index c9ca5f516f..30af740a8b 100644
--- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffRoleServiceImpl.java
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffRoleServiceImpl.java
@@ -19,6 +19,8 @@ package com.epmet.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.epmet.commons.mybatis.annotation.DataFilter;
+import com.epmet.commons.mybatis.entity.DataScope;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
@@ -113,7 +115,7 @@ public class StaffRoleServiceImpl extends BaseServiceImpl listStaffsInRole(String roleKey, String orgId) {
+ public List listStaffsInRole(String roleKey, String orgId, DataScope dataScope) {
return baseDao.listStaffIdsByRoleKeyAndOrgId(roleKey, orgId);
}
diff --git a/epmet-user/epmet-user-server/src/main/resources/db/migration/epmet_user.sql b/epmet-user/epmet-user-server/src/main/resources/db/migration/epmet_user.sql
index 10c5d34b4c..4ff85ae479 100644
--- a/epmet-user/epmet-user-server/src/main/resources/db/migration/epmet_user.sql
+++ b/epmet-user/epmet-user-server/src/main/resources/db/migration/epmet_user.sql
@@ -139,4 +139,8 @@ INSERT INTO `gov_staff_role_template` VALUES ('4', 'manager', '管理员', NULL,
INSERT INTO `gov_staff_role_template` VALUES ('5', 'staff', '工作人员', NULL, 0, NULL, NULL, NULL, NULL, NULL);
INSERT INTO `gov_staff_role_template` VALUES ('6', 'grid_manager', '网格长', NULL, 0, NULL, NULL, NULL, NULL, NULL);
INSERT INTO `gov_staff_role_template` VALUES ('7', 'grid_party_director', '网格党建指导员', NULL, 0, NULL, NULL, NULL, NULL, NULL);
-INSERT INTO `gov_staff_role_template` VALUES ('8', 'grid_member', '网格员', NULL, 0, NULL, NULL, NULL, NULL, NULL);
\ No newline at end of file
+INSERT INTO `gov_staff_role_template` VALUES ('8', 'grid_member', '网格员', NULL, 0, NULL, NULL, NULL, NULL, NULL);
+
+-- --2020-04-26
+ALTER TABLE customer_staff MODIFY COLUMN `EMAIL` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '邮箱' ;
+ALTER TABLE customer_staff MODIFY COLUMN `ADDRESS` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '地址';
\ No newline at end of file
diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/CustomerStaffDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/CustomerStaffDao.xml
index e65d4e86db..9f96127f78 100644
--- a/epmet-user/epmet-user-server/src/main/resources/mapper/CustomerStaffDao.xml
+++ b/epmet-user/epmet-user-server/src/main/resources/mapper/CustomerStaffDao.xml
@@ -44,41 +44,54 @@
-
+
SELECT
count(*) AS enableCount
FROM
customer_staff
WHERE
- user_id = #{userId}
+ user_id in
+
+ #{staff.userId}
+
AND del_flag = 0
AND enable_flag = 'enable'
SELECT
- cs.USER_ID AS "staffId",
- cs.REAL_NAME AS "staffName",
- cs.GENDER AS "gender",
- IFNULL(cs.HEAD_PHOTO, "") AS "staffHeadPhoto",
- cs.ENABLE_FLAG AS "enableFlag",
- gsr.ROLE_NAME AS "roleName"
+ cs.USER_ID AS "staffId",
+ cs.REAL_NAME AS "staffName",
+ cs.GENDER AS "gender",
+ IFNULL( cs.HEAD_PHOTO, "" ) AS "staffHeadPhoto",
+ cs.ENABLE_FLAG AS "enableFlag",
+ role.ROLE_NAME AS "roleName"
FROM
- customer_staff cs
- LEFT JOIN staff_role sr ON cs.USER_ID = sr.STAFF_ID
- AND sr.DEL_FLAG = '0'
- AND sr.ORG_ID = #{agencyId}
+ customer_staff cs
+ LEFT JOIN (
+ SELECT
+ sr.STAFF_ID,
+ sr.ROLE_ID,
+ gsr.ROLE_NAME
+ FROM
+ staff_role sr
LEFT JOIN gov_staff_role gsr ON sr.ROLE_ID = gsr.ID
AND gsr.DEL_FLAG = '0'
AND gsr.CUSTOMER_ID = #{customerId}
+ WHERE
+ sr.DEL_FLAG = '0'
+ AND sr.ORG_ID = #{agencyId}
AND gsr.ROLE_KEY = 'agency_leader'
+ ) role ON cs.USER_ID = role.STAFF_ID
WHERE
- cs.DEL_FLAG = '0'
+ cs.DEL_FLAG = '0'
AND cs.CUSTOMER_ID = #{customerId}
- AND cs.USER_ID in
+ AND cs.USER_ID IN
#{userId}
- ORDER BY gsr.ROLE_NAME DESC, cs.CREATED_TIME DESC
+ ORDER BY
+ role.ROLE_NAME DESC,
+ cs.CREATED_TIME DESC
LIMIT 12
@@ -108,7 +121,7 @@
#{userId}
- ORDER BY convert(cs.REAL_NAME using gbk) asc ASC
+ ORDER BY convert(cs.REAL_NAME using gbk) ASC
SELECT
@@ -146,6 +159,22 @@
ORDER BY CONVERT (real_name USING gbk) ASC
+
+
+ SELECT
+ user_id AS userId,
+ customer_id AS customerId
+ FROM
+ customer_staff
+ WHERE
+ user_id in
+
+ #{item}
+
+ AND del_flag = 0
+ AND enable_flag = 'enable'
+
+
SELECT