Browse Source

Merge branch 'dev_customize' into dev

dev_shibei_match
sunyuchao 5 years ago
parent
commit
06be3329b0
  1. 96
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/CustomerFunctionRoleDTO.java
  2. 29
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/CustomerFunctionRoleListFormDTO.java
  3. 18
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/FunctionDetailFromDTO.java
  4. 27
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/RoleListFormDTO.java
  5. 37
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/SaveCustomerFunctionRoleFormDTO.java
  6. 26
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/CustomerFunctionRoleListResultDTO.java
  7. 6
      epmet-module/oper-customize/oper-customize-server/pom.xml
  8. 3
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/CustomerFunctionDetailController.java
  9. 123
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/CustomerFunctionRoleController.java
  10. 62
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/CustomerFunctionRoleDao.java
  11. 66
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/entity/CustomerFunctionRoleEntity.java
  12. 71
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/excel/CustomerFunctionRoleExcel.java
  13. 47
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/redis/CustomerFunctionRoleRedis.java
  14. 2
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/CustomerFunctionDetailService.java
  15. 114
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/CustomerFunctionRoleService.java
  16. 72
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/CustomerFunctionDetailServiceImpl.java
  17. 154
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/CustomerFunctionRoleServiceImpl.java
  18. 15
      epmet-module/oper-customize/oper-customize-server/src/main/resources/db/migration/V0.0.7__customer_function_role.sql
  19. 39
      epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/CustomerFunctionRoleDao.xml
  20. 6
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java
  21. 28
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/GetRoleKeyListFormDTO.java
  22. 46
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/ResiGovRoleListResultDTO.java
  23. 44
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/ResiGovRoleResultDTO.java
  24. 7
      epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java
  25. 5
      epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java
  26. 17
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/GovStaffRoleController.java
  27. 14
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/RoleController.java
  28. 7
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/GovStaffRoleTemplateDao.java
  29. 7
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/RoleDao.java
  30. 9
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StaffRoleDao.java
  31. 9
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserRoleDao.java
  32. 7
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/GovStaffRoleService.java
  33. 9
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/RoleService.java
  34. 27
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/GovStaffRoleServiceImpl.java
  35. 26
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/RoleServiceImpl.java
  36. 9
      epmet-user/epmet-user-server/src/main/resources/mapper/GovStaffRoleTemplateDao.xml
  37. 8
      epmet-user/epmet-user-server/src/main/resources/mapper/RoleDao.xml
  38. 12
      epmet-user/epmet-user-server/src/main/resources/mapper/StaffRoleDao.xml
  39. 12
      epmet-user/epmet-user-server/src/main/resources/mapper/UserRoleDao.xml

96
epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/CustomerFunctionRoleDTO.java

@ -0,0 +1,96 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
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-09-07
*/
@Data
public class CustomerFunctionRoleDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 唯一标识
*/
private String id;
/**
* 客户Id
*/
private String customerId;
/**
* 功能ID(function.ID)
*/
private String functionId;
/**
* 所属APP(工作端:gov居民端:resi)
*/
private String fromApp;
/**
* 角色Key值
*/
private String roleKey;
/**
* 角色名称
*/
private String roleName;
/**
* 删除标识0.未删除 1.已删除
*/
private Integer delFlag;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
}

29
epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/CustomerFunctionRoleListFormDTO.java

@ -0,0 +1,29 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.List;
/**
* 查询客户定制功能角色列表--接口入参
*
* @author sun
*/
@Data
public class CustomerFunctionRoleListFormDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 客户Id
*/
@NotBlank(message = "客户Id不能为空", groups = {AddUserInternalGroup.class })
private String customerId;
/**
* 定制功能ID
*/
@NotBlank(message = "功能ID不能为空", groups = {AddUserInternalGroup.class })
private String functionId;
public interface AddUserInternalGroup {}
}

18
epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/FunctionDetailFromDTO.java

@ -5,6 +5,7 @@ import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.List;
/**
* 查询客户定制功能列表-接口入参
@ -25,11 +26,26 @@ public class FunctionDetailFromDTO implements Serializable {
*/
@NotBlank(message = "客户Id不能为空", groups = {AddUserShowGroup.class})
private String customerId;
/**
* 网格ID
*/
@NotBlank(message = "网格Id不能为空", groups = {AddUserShowGroup.class})
private String gridId;
/**
* resi居民端work工作端
* resi居民端gov工作端
*/
@NotBlank(message = "所属端不能为空", groups = {AddUserInternalGroup.class, AddUserShowGroup.class})
private String clientType;
/**
* token中userId
*/
private String userId;
/**
* 用户角色key集合
*/
private List<String> roleKeyList;
}

27
epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/RoleListFormDTO.java

@ -0,0 +1,27 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* 客户定制功能角色设置--接口入参
*
* @author sun
*/
@Data
public class RoleListFormDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 角色Key
*/
@NotBlank(message = "角色key不能为空", groups = {AddUserInternalGroup.class })
private String roleKey;
/**
* 角色名称
*/
@NotBlank(message = "角色名称不能为空", groups = {AddUserInternalGroup.class })
private String roleName;
public interface AddUserInternalGroup {}
}

37
epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/SaveCustomerFunctionRoleFormDTO.java

@ -0,0 +1,37 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.List;
/**
* 客户定制功能角色设置--接口入参
*
* @author sun
*/
@Data
public class SaveCustomerFunctionRoleFormDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 客户Id
*/
@NotBlank(message = "客户Id不能为空", groups = {AddUserInternalGroup.class })
private String customerId;
/**
* 定制功能ID
*/
@NotBlank(message = "功能ID不能为空", groups = {AddUserInternalGroup.class })
private String functionId;
/**
* 所属APP(工作端:gov居民端:resi)
*/
@NotBlank(message = "所属App不能为空", groups = {AddUserInternalGroup.class })
private String fromApp;
/**
* 角色信息集合
*/
private List<RoleListFormDTO> roleList;
public interface AddUserInternalGroup {}
}

26
epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/CustomerFunctionRoleListResultDTO.java

@ -0,0 +1,26 @@
package com.epmet.dto.result;
import com.epmet.dto.form.RoleListFormDTO;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* 查询客户定制功能角色列表--接口返参
*
* @author sun
*/
@Data
public class CustomerFunctionRoleListResultDTO implements Serializable {
private static final long serialVersionUID = 2971689193155710437L;
/**
* 角色Key
*/
private String roleKey;
/**
* 角色名称
*/
private String roleName;
}

6
epmet-module/oper-customize/oper-customize-server/pom.xml

@ -64,6 +64,12 @@
<version>2.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.epmet</groupId>
<artifactId>epmet-user-client</artifactId>
<version>2.0.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>

3
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/CustomerFunctionDetailController.java

@ -18,6 +18,7 @@
package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.constant.AppClientConstant;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ExcelUtils;
@ -105,6 +106,7 @@ public class CustomerFunctionDetailController {
@PostMapping("resifunctiondetaillist")
public Result<List<FunctionDetailResultDTO>> resiFunctionDetail(@LoginUser TokenDto tokenDto, @RequestBody FunctionDetailFromDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, FunctionDetailFromDTO.AddUserShowGroup.class);
formDTO.setUserId(tokenDto.getUserId());
return new Result<List<FunctionDetailResultDTO>>().ok(customerFunctionDetailService.resiAndWorkFunctionDetail(formDTO));
}
@ -118,6 +120,7 @@ public class CustomerFunctionDetailController {
public Result<List<FunctionDetailResultDTO>> workFunctionDetail(@LoginUser TokenDto tokenDto, @RequestBody FunctionDetailFromDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, FunctionDetailFromDTO.AddUserInternalGroup.class);
formDTO.setCustomerId(tokenDto.getCustomerId());
formDTO.setUserId(tokenDto.getUserId());
return new Result<List<FunctionDetailResultDTO>>().ok(customerFunctionDetailService.resiAndWorkFunctionDetail(formDTO));
}

123
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/CustomerFunctionRoleController.java

@ -0,0 +1,123 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.dto.CustomerFunctionRoleDTO;
import com.epmet.dto.form.CustomerFunctionRoleListFormDTO;
import com.epmet.dto.form.SaveCustomerFunctionRoleFormDTO;
import com.epmet.dto.result.CustomerFunctionRoleListResultDTO;
import com.epmet.excel.CustomerFunctionRoleExcel;
import com.epmet.service.CustomerFunctionRoleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
/**
* 客户定制功能角色列表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-09-07
*/
@RestController
@RequestMapping("customerfunctionrole")
public class CustomerFunctionRoleController {
@Autowired
private CustomerFunctionRoleService customerFunctionRoleService;
@GetMapping("page")
public Result<PageData<CustomerFunctionRoleDTO>> page(@RequestParam Map<String, Object> params){
PageData<CustomerFunctionRoleDTO> page = customerFunctionRoleService.page(params);
return new Result<PageData<CustomerFunctionRoleDTO>>().ok(page);
}
@GetMapping("{id}")
public Result<CustomerFunctionRoleDTO> get(@PathVariable("id") String id){
CustomerFunctionRoleDTO data = customerFunctionRoleService.get(id);
return new Result<CustomerFunctionRoleDTO>().ok(data);
}
@PostMapping
public Result save(@RequestBody CustomerFunctionRoleDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
customerFunctionRoleService.save(dto);
return new Result();
}
@PutMapping
public Result update(@RequestBody CustomerFunctionRoleDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
customerFunctionRoleService.update(dto);
return new Result();
}
@DeleteMapping
public Result delete(@RequestBody String[] ids){
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
customerFunctionRoleService.delete(ids);
return new Result();
}
@GetMapping("export")
public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<CustomerFunctionRoleDTO> list = customerFunctionRoleService.list(params);
ExcelUtils.exportExcelToTarget(response, null, list, CustomerFunctionRoleExcel.class);
}
/**
* @param tokenDTO formDTO
* @return
* @author sun
* @Description 客户定制功能角色设置
*/
@PostMapping("savecustomerfunctionrole")
public Result saveCustomerFunctionRole(@LoginUser TokenDto tokenDTO, @RequestBody SaveCustomerFunctionRoleFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO, SaveCustomerFunctionRoleFormDTO.AddUserInternalGroup.class);
customerFunctionRoleService.saveCustomerFunctionRole(formDTO);
return new Result();
}
/**
* @param tokenDTO formDTO
* @return
* @author sun
* @Description 查询客户定制功能角色列表
*/
@PostMapping("customerfunctionrolelist")
public Result<List<CustomerFunctionRoleListResultDTO>> customerFunctionRoleList(@LoginUser TokenDto tokenDTO, @RequestBody CustomerFunctionRoleListFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO, CustomerFunctionRoleListFormDTO.AddUserInternalGroup.class);
return new Result<List<CustomerFunctionRoleListResultDTO>>().ok(customerFunctionRoleService.customerFunctionRoleList(formDTO));
}
}

62
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/CustomerFunctionRoleDao.java

@ -0,0 +1,62 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.CustomerFunctionRoleDTO;
import com.epmet.dto.form.CustomerFunctionRoleListFormDTO;
import com.epmet.dto.form.FunctionDetailFromDTO;
import com.epmet.dto.form.SaveCustomerFunctionRoleFormDTO;
import com.epmet.dto.result.CustomerFunctionRoleListResultDTO;
import com.epmet.entity.CustomerFunctionRoleEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 客户定制功能角色列表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-09-07
*/
@Mapper
public interface CustomerFunctionRoleDao extends BaseDao<CustomerFunctionRoleEntity> {
/**
* @author sun
* @Description 根据客户Id删除客户功能角色信息
*/
void delByCustomerId(SaveCustomerFunctionRoleFormDTO formDTO);
/**
* @param formDTO
* @return
* @author sun
* @Description 查询客户定制功能角色列表
*/
List<CustomerFunctionRoleListResultDTO> selectCustomerFunctionRoleList(CustomerFunctionRoleListFormDTO formDTO);
/**
* @param formDTO
* @return
* @author sun
* @Description 根据用户拥有的角色查询客户的定制功能
*/
List<String> selectFunctionList(FunctionDetailFromDTO formDTO);
}

66
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/entity/CustomerFunctionRoleEntity.java

@ -0,0 +1,66 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
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-09-07
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("customer_function_role")
public class CustomerFunctionRoleEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户Id
*/
private String customerId;
/**
* 功能ID(function.ID)
*/
private String functionId;
/**
* 所属APP(工作端:gov居民端:resi)
*/
private String fromApp;
/**
* 角色Key值
*/
private String roleKey;
/**
* 角色名称
*/
private String roleName;
}

71
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/excel/CustomerFunctionRoleExcel.java

@ -0,0 +1,71 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
import java.util.Date;
/**
* 客户定制功能角色列表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-09-07
*/
@Data
public class CustomerFunctionRoleExcel {
@Excel(name = "唯一标识")
private String id;
@Excel(name = "客户Id ")
private String customerId;
@Excel(name = "功能ID(function.ID)")
private String functionId;
@Excel(name = "所属APP(工作端:gov、居民端:resi)")
private String fromApp;
@Excel(name = "角色Key值")
private String roleKey;
@Excel(name = "角色名称")
private String roleName;
@Excel(name = "删除标识:0.未删除 1.已删除")
private Integer delFlag;
@Excel(name = "乐观锁")
private Integer revision;
@Excel(name = "创建人")
private String createdBy;
@Excel(name = "创建时间")
private Date createdTime;
@Excel(name = "更新人")
private String updatedBy;
@Excel(name = "更新时间")
private Date updatedTime;
}

47
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/redis/CustomerFunctionRoleRedis.java

@ -0,0 +1,47 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.redis;
import com.epmet.commons.tools.redis.RedisUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* 客户定制功能角色列表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-09-07
*/
@Component
public class CustomerFunctionRoleRedis {
@Autowired
private RedisUtils redisUtils;
public void delete(Object[] ids) {
}
public void set(){
}
public String get(String id){
return null;
}
}

2
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/CustomerFunctionDetailService.java

@ -102,7 +102,7 @@ public interface CustomerFunctionDetailService extends BaseService<CustomerFunct
* @param formDTO
* @return
* @Author sun
* @Description 根据所属端和客户Id查询客户定制功能列表
* @Description 居民端工作端根据所属端和客户Id查询客户定制功能列表
**/
List<FunctionDetailResultDTO> resiAndWorkFunctionDetail(FunctionDetailFromDTO formDTO);

114
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/CustomerFunctionRoleService.java

@ -0,0 +1,114 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.CustomerFunctionRoleDTO;
import com.epmet.dto.form.CustomerFunctionRoleListFormDTO;
import com.epmet.dto.form.SaveCustomerFunctionRoleFormDTO;
import com.epmet.dto.result.CustomerFunctionRoleListResultDTO;
import com.epmet.entity.CustomerFunctionRoleEntity;
import java.util.List;
import java.util.Map;
/**
* 客户定制功能角色列表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-09-07
*/
public interface CustomerFunctionRoleService extends BaseService<CustomerFunctionRoleEntity> {
/**
* 默认分页
*
* @param params
* @return PageData<CustomerFunctionRoleDTO>
* @author generator
* @date 2020-09-07
*/
PageData<CustomerFunctionRoleDTO> page(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<CustomerFunctionRoleDTO>
* @author generator
* @date 2020-09-07
*/
List<CustomerFunctionRoleDTO> list(Map<String, Object> params);
/**
* 单条查询
*
* @param id
* @return CustomerFunctionRoleDTO
* @author generator
* @date 2020-09-07
*/
CustomerFunctionRoleDTO get(String id);
/**
* 默认保存
*
* @param dto
* @return void
* @author generator
* @date 2020-09-07
*/
void save(CustomerFunctionRoleDTO dto);
/**
* 默认更新
*
* @param dto
* @return void
* @author generator
* @date 2020-09-07
*/
void update(CustomerFunctionRoleDTO dto);
/**
* 批量删除
*
* @param ids
* @return void
* @author generator
* @date 2020-09-07
*/
void delete(String[] ids);
/**
* @param formDTO
* @return
* @author sun
* @Description 客户定制功能角色设置
*/
void saveCustomerFunctionRole(SaveCustomerFunctionRoleFormDTO formDTO);
/**
* @param formDTO
* @return
* @author sun
* @Description 查询客户定制功能角色列表
*/
List<CustomerFunctionRoleListResultDTO> customerFunctionRoleList(CustomerFunctionRoleListFormDTO formDTO);
}

72
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/CustomerFunctionDetailServiceImpl.java

@ -20,6 +20,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.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.AppClientConstant;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode;
@ -28,10 +29,7 @@ import com.epmet.commons.tools.page.PageData;
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.dao.CustomerFunctionDao;
import com.epmet.dao.CustomerFunctionDetailDao;
import com.epmet.dao.FunctionCustomizedDao;
import com.epmet.dao.FunctionShoppingHistoryDao;
import com.epmet.dao.*;
import com.epmet.dto.CustomerFunctionDetailDTO;
import com.epmet.dto.FunctionCustomizedDTO;
import com.epmet.dto.FunctionShoppingHistoryDTO;
@ -40,6 +38,7 @@ import com.epmet.dto.result.*;
import com.epmet.entity.CustomerFunctionDetailEntity;
import com.epmet.entity.CustomerFunctionEntity;
import com.epmet.entity.FunctionShoppingHistoryEntity;
import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.redis.CustomerFunctionDetailRedis;
import com.epmet.service.CustomerFunctionDetailService;
import com.epmet.service.FunctionShoppingHistoryService;
@ -49,6 +48,7 @@ import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import rx.internal.util.LinkedArrayList;
import java.util.*;
import java.util.stream.Collectors;
@ -73,6 +73,10 @@ public class CustomerFunctionDetailServiceImpl extends BaseServiceImpl<CustomerF
private CustomerFunctionDao customerFunctionDao;
@Autowired
private FunctionShoppingHistoryDao functionShoppingHistoryDao;
@Autowired
private EpmetUserOpenFeignClient epmetUserOpenFeignClient;
@Autowired
private CustomerFunctionRoleDao customerFunctionRoleDao;
@Override
public PageData<CustomerFunctionDetailDTO> page(Map<String, Object> params) {
@ -127,27 +131,63 @@ public class CustomerFunctionDetailServiceImpl extends BaseServiceImpl<CustomerF
}
/**
* @param formDTO
* @param formDTO
* @return
* @Author sun
* @Description 根据所属端和客户Id查询客户定制功能列表
* @Description 根据所属端和客户Id查询客户定制功能列表
**/
@Override
public List<FunctionDetailResultDTO> resiAndWorkFunctionDetail(FunctionDetailFromDTO formDTO) {
//根据客户Id和所属端查询客户定制功能列表数据
List<FunctionDetailResultDTO> restltList = new LinkedList<>();
//1.根据客户Id和所属端查询客户定制功能列表数据
logger.info(String.format("根据客户Id和所属端查询客户定制功能列表,对应客户Id->%s,所属端->%s", formDTO.getCustomerId(), formDTO.getClientType()));
List<FunctionDetailResultDTO> list = baseDao.selectFunctionDetailList(formDTO);
try {
String join = String.join(",", new ArrayList<>());
String customerParameter = java.net.URLEncoder.encode(join, "utf-8");
list.forEach(l->{
l.setCustomerParameter(customerParameter);
if (null != list && list.size() > NumConstant.ZERO) {
//1-1.设置自定义json数据(暂时为空)
try {
String join = String.join(",", new ArrayList<>());
String customerParameter = java.net.URLEncoder.encode(join, "utf-8");
list.forEach(l -> {
l.setCustomerParameter(customerParameter);
});
} catch (Exception e) {
logger.error("CustomerFunctionDetailServiceImpl.resiAndWorkFunctionDetail->集合参数URLEncode失败");
throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode(), e.getMessage());
}
//2.调用user服务,获取用户角色信息
GetRoleKeyListFormDTO dto = new GetRoleKeyListFormDTO();
dto.setUserId(formDTO.getUserId());
dto.setFromApp(formDTO.getClientType());
//居民端需要传网格Id 热心居民的角色是在网格里的
if(AppClientConstant.APP_RESI.equals(formDTO.getClientType())){
dto.setGridId(formDTO.getGridId());
}
Result<List<String>> result = epmetUserOpenFeignClient.getUserRoleKeyList(dto);
if (!result.success()) {
logger.error(String.format("调用user服务,获取用户角色信息失败,用户Id:%s ,所属端:%s", formDTO.getUserId(), formDTO.getClientType()));
throw new RenException(result.getCode());
}
//未查询到角色数据则不能查看定制功能(居民端陌生人无任何角色)
if (null == result || result.getData().size() < NumConstant.ONE) {
return restltList;
}
formDTO.setRoleKeyList(result.getData());
//3.根据用户拥有的角色查询客户的定制功能
List<String> listFunctionIds = customerFunctionRoleDao.selectFunctionList(formDTO);
//4.封装结果数据
list.forEach(l -> {
listFunctionIds.forEach(id -> {
if (id.equals(l.getFunctionId())) {
restltList.add(l);
}
});
});
} catch (Exception e) {
logger.error("CustomerFunctionDetailServiceImpl.resiAndWorkFunctionDetail->集合参数URLEncode失败");
throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode(), e.getMessage());
}
return list;
return restltList;
}
@Override

154
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/CustomerFunctionRoleServiceImpl.java

@ -0,0 +1,154 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
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.exception.ErrorCode;
import com.epmet.commons.tools.exception.RenException;
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.CustomerFunctionRoleDao;
import com.epmet.dto.CustomerFunctionRoleDTO;
import com.epmet.dto.form.CustomerFunctionRoleListFormDTO;
import com.epmet.dto.form.RoleListFormDTO;
import com.epmet.dto.form.SaveCustomerFunctionRoleFormDTO;
import com.epmet.dto.result.CustomerFunctionRoleListResultDTO;
import com.epmet.entity.CustomerFunctionRoleEntity;
import com.epmet.redis.CustomerFunctionRoleRedis;
import com.epmet.service.CustomerFunctionRoleService;
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.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
/**
* 客户定制功能角色列表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-09-07
*/
@Service
public class CustomerFunctionRoleServiceImpl extends BaseServiceImpl<CustomerFunctionRoleDao, CustomerFunctionRoleEntity> implements CustomerFunctionRoleService {
@Autowired
private CustomerFunctionRoleRedis customerFunctionRoleRedis;
@Override
public PageData<CustomerFunctionRoleDTO> page(Map<String, Object> params) {
IPage<CustomerFunctionRoleEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false),
getWrapper(params)
);
return getPageData(page, CustomerFunctionRoleDTO.class);
}
@Override
public List<CustomerFunctionRoleDTO> list(Map<String, Object> params) {
List<CustomerFunctionRoleEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, CustomerFunctionRoleDTO.class);
}
private QueryWrapper<CustomerFunctionRoleEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
QueryWrapper<CustomerFunctionRoleEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
return wrapper;
}
@Override
public CustomerFunctionRoleDTO get(String id) {
CustomerFunctionRoleEntity entity = baseDao.selectById(id);
return ConvertUtils.sourceToTarget(entity, CustomerFunctionRoleDTO.class);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void save(CustomerFunctionRoleDTO dto) {
CustomerFunctionRoleEntity entity = ConvertUtils.sourceToTarget(dto, CustomerFunctionRoleEntity.class);
insert(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(CustomerFunctionRoleDTO dto) {
CustomerFunctionRoleEntity entity = ConvertUtils.sourceToTarget(dto, CustomerFunctionRoleEntity.class);
updateById(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
// 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids));
}
/**
* @param formDTO
* @return
* @author sun
* @Description 客户定制功能角色设置
*/
@Override
public void saveCustomerFunctionRole(SaveCustomerFunctionRoleFormDTO formDTO) {
List<CustomerFunctionRoleEntity> listEntity = new ArrayList<>();
//1.封装数据
List<RoleListFormDTO> roleList = formDTO.getRoleList();
roleList.forEach(role->{
CustomerFunctionRoleEntity entity = new CustomerFunctionRoleEntity();
entity.setCustomerId(formDTO.getCustomerId());
entity.setFunctionId(formDTO.getFunctionId());
entity.setFromApp(formDTO.getFromApp());
entity.setRoleKey(role.getRoleKey());
entity.setRoleName(role.getRoleName());
listEntity.add(entity);
});
//2.先按客户Id、功能Id执行删除操作
baseDao.delByCustomerId(formDTO);
//3.批量新增
if(!insertBatch(listEntity)){
throw new RenException("定制功能角色设置失败");
}
}
/**
* @param formDTO
* @return
* @author sun
* @Description 查询客户定制功能角色列表
*/
@Override
public List<CustomerFunctionRoleListResultDTO> customerFunctionRoleList(CustomerFunctionRoleListFormDTO formDTO) {
//1.根据客户Id、功能Id查询客户定制功能设置的角色列表
return baseDao.selectCustomerFunctionRoleList(formDTO);
}
}

15
epmet-module/oper-customize/oper-customize-server/src/main/resources/db/migration/V0.0.7__customer_function_role.sql

@ -0,0 +1,15 @@
CREATE TABLE `customer_function_role` (
`ID` varchar(64) NOT NULL COMMENT '唯一标识',
`CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户Id ',
`FUNCTION_ID` varchar(64) NOT NULL COMMENT '功能ID(function.ID)',
`FROM_APP` varchar(32) NOT NULL COMMENT '所属APP(工作端:gov、居民端:resi)',
`ROLE_KEY` varchar(32) NOT NULL COMMENT '角色Key值',
`ROLE_NAME` varchar(32) NOT NULL COMMENT '角色名称',
`DEL_FLAG` int(11) NOT NULL COMMENT '删除标识:0.未删除 1.已删除',
`REVISION` int(11) NOT NULL COMMENT '乐观锁',
`CREATED_BY` varchar(32) NOT NULL COMMENT '创建人',
`CREATED_TIME` datetime NOT NULL COMMENT '创建时间',
`UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人',
`UPDATED_TIME` datetime NOT NULL COMMENT '更新时间',
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='客户定制功能角色列表';

39
epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/CustomerFunctionRoleDao.xml

@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.CustomerFunctionRoleDao">
<select id="selectCustomerFunctionRoleList" resultType="com.epmet.dto.result.CustomerFunctionRoleListResultDTO">
SELECT
role_key AS "roleKey",
role_name AS "roleName"
FROM
customer_function_role
WHERE
del_flag = '0'
AND customer_id = #{customerId}
AND function_id = #{functionId}
</select>
<select id="selectFunctionList" resultType="java.lang.String">
SELECT
DISTINCT
FUNCTION_ID
FROM customer_function_role
WHERE del_flag = '0'
AND customer_id = #{customerId}
AND from_app = #{clientType}
<foreach collection="roleKeyList" item="roleKey" index="index" open="AND ( " separator=" OR " close=")">
role_key = #{roleKey}
</foreach>
</select>
<delete id="delByCustomerId">
DELETE
FROM customer_function_role
WHERE customer_id = #{customerId}
AND function_id = #{functionId}
</delete>
</mapper>

6
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java

@ -477,9 +477,9 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService
Result<GridInfoResultDTO> gridInfoResult = govOrgFeignClient.queryGridInfo(partyMemberInfo.getGridId());
String gridFullPath = "";
if (gridInfoResult.success() && null != gridInfoResult.getData()) {
gridFullPath = String.format("%s-%s-%s", gridInfoResult.getData().getStreetName(),
gridInfoResult.getData().getCommnuityName(),
gridInfoResult.getData().getGridName());
gridFullPath = String.format("%s-%s-%s", null == gridInfoResult.getData().getStreetName() ? "" : gridInfoResult.getData().getStreetName(),
null == gridInfoResult.getData().getCommnuityName() ? "" : gridInfoResult.getData().getCommnuityName(),
null == gridInfoResult.getData().getGridName() ? "" : gridInfoResult.getData().getGridName());
gridFullPath = gridFullPath.replaceAll("--", "").trim();
}
resultDTO.setGridFullPath(gridFullPath);

28
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/GetRoleKeyListFormDTO.java

@ -0,0 +1,28 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description 获取用户拥有的角色key集合-接口入参
* @Author sun
*/
@Data
public class GetRoleKeyListFormDTO implements Serializable{
private static final long serialVersionUID = -7994579456530273809L;
/**
* 用户Id
* */
private String userId;
/**
* 网格Id
* */
private String gridId;
/**
* 所属端居民端resi 工作端gov
* */
private String fromApp;
}

46
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/ResiGovRoleListResultDTO.java

@ -0,0 +1,46 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* 获取居民端工作端人员角色列表--接口返参
*
* @author sun
*/
@Data
public class ResiGovRoleListResultDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 居民端角色列表
*/
private List<ResiGovRoleResultDTO> resiRoleList;
/**
* 工作端角色列表
*/
private List<ResiGovRoleResultDTO> govRoleList;
}

44
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/ResiGovRoleResultDTO.java

@ -0,0 +1,44 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* 获取居民端工作端人员角色列表--接口返参
*
* @author sun
*/
@Data
public class ResiGovRoleResultDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 角色key
*/
private String roleKey;
/**
* 角色名称
*/
private String roleName;
}

7
epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java

@ -306,4 +306,11 @@ public interface EpmetUserOpenFeignClient {
*/
@PostMapping("epmetuser/staffrole/changeroleorg")
Result changeRoleOrg(@RequestBody StaffRoleDTO formDTO);
/**
* @Author sun
* @Description 居民端-查询用户角色key列表
**/
@PostMapping("epmetuser/role/getuserrolekeylist")
Result<List<String>> getUserRoleKeyList(@RequestBody GetRoleKeyListFormDTO dto);
}

5
epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java

@ -205,4 +205,9 @@ public class EpmetUserOpenFeignClientFallback implements EpmetUserOpenFeignClien
public Result changeRoleOrg(StaffRoleDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "changeRoleOrg", formDTO);
}
@Override
public Result<List<String>> getUserRoleKeyList(GetRoleKeyListFormDTO dto) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getUserRoleKeyList", dto);
}
}

17
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/GovStaffRoleController.java

@ -1,11 +1,16 @@
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.ConvertUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.RoleDTO;
import com.epmet.dto.form.GovStaffRoleFormDTO;
import com.epmet.dto.form.IssueInitiatorFormDTO;
import com.epmet.dto.result.GovStaffRoleResultDTO;
import com.epmet.dto.result.GovStaffRoleTemplateDTO;
import com.epmet.dto.result.IssueInitiatorResultDTO;
import com.epmet.dto.result.ResiGovRoleListResultDTO;
import com.epmet.entity.GovStaffRoleEntity;
import com.epmet.service.GovStaffRoleService;
import org.springframework.beans.factory.annotation.Autowired;
@ -59,4 +64,16 @@ public class GovStaffRoleController {
return new Result<List<GovStaffRoleResultDTO>>().ok(roleDTOS);
}
/**
* @param tokenDTO
* @return ResiGovRoleListResultDTO
* @author sun
* @Description 获取居民端工作端人员角色列表
*/
@PostMapping("resigovrolelist")
public Result<ResiGovRoleListResultDTO> resiGovRoleList(@LoginUser TokenDto tokenDTO){
return new Result<ResiGovRoleListResultDTO>().ok(govStaffRoleService.resiGovRoleList());
}
}

14
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/RoleController.java

@ -17,7 +17,9 @@
package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils;
@ -26,6 +28,7 @@ import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.dto.RoleDTO;
import com.epmet.dto.form.GetRoleKeyListFormDTO;
import com.epmet.excel.RoleExcel;
import com.epmet.service.RoleService;
import org.springframework.beans.factory.annotation.Autowired;
@ -91,4 +94,15 @@ public class RoleController {
ExcelUtils.exportExcelToTarget(response, null, list, RoleExcel.class);
}
/**
* @param formDTO
* @return
* @Author sun
* @Description 居民端-查询用户角色key列表
**/
@PostMapping("getuserrolekeylist")
public Result<List<String>> getUserRoleKeyList(@RequestBody GetRoleKeyListFormDTO formDTO) {
return new Result<List<String>>().ok(roleService.getUserRoleKeyList(formDTO));
}
}

7
epmet-user/epmet-user-server/src/main/java/com/epmet/dao/GovStaffRoleTemplateDao.java

@ -19,6 +19,7 @@ package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.result.GovStaffRoleTemplateDTO;
import com.epmet.dto.result.ResiGovRoleResultDTO;
import com.epmet.entity.GovStaffRoleTemplateEntity;
import org.apache.ibatis.annotations.Mapper;
@ -38,4 +39,10 @@ public interface GovStaffRoleTemplateDao extends BaseDao<GovStaffRoleTemplateEnt
* @return
*/
List<GovStaffRoleTemplateDTO> listValidateRoles();
/**
* @author sun
* @Description 获取工作端角色列表
*/
List<ResiGovRoleResultDTO> selectGovRoleList();
}

7
epmet-user/epmet-user-server/src/main/java/com/epmet/dao/RoleDao.java

@ -19,6 +19,7 @@ package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.RoleDTO;
import com.epmet.dto.result.ResiGovRoleResultDTO;
import com.epmet.entity.RoleEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -41,4 +42,10 @@ public interface RoleDao extends BaseDao<RoleEntity> {
* @return RoleEntity
*/
RoleEntity selectRoleByKey(RoleEntity param);
/**
* @author sun
* @Description 获取居民端角色列表
*/
List<ResiGovRoleResultDTO> selectResiRoleList();
}

9
epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StaffRoleDao.java

@ -23,6 +23,7 @@ import com.epmet.commons.mybatis.entity.DataScope;
import com.epmet.dto.StaffRoleDTO;
import com.epmet.dto.form.CommonUserFormDTO;
import com.epmet.dto.form.CustomerStaffRoleListFormDTO;
import com.epmet.dto.form.GetRoleKeyListFormDTO;
import com.epmet.dto.result.CustomerStaffRoleListResultDTO;
import com.epmet.dto.result.CustomerStaffRoleResultDTO;
import com.epmet.dto.result.GovStaffRoleResultDTO;
@ -122,4 +123,12 @@ public interface StaffRoleDao extends BaseDao<StaffRoleEntity> {
* @return void
*/
void updateStaffRoleOrgId(StaffRoleDTO dto);
/**
* @param formDTO
* @return
* @Author sun
* @Description 工作端-查询用户角色key列表
**/
List<String> selectStaffRoleKeyList(GetRoleKeyListFormDTO formDTO);
}

9
epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserRoleDao.java

@ -20,6 +20,7 @@ package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.UserRoleDTO;
import com.epmet.dto.form.GetRoleKeyListFormDTO;
import com.epmet.dto.form.UserRoleFormDTO;
import com.epmet.dto.result.UserRoleResultDTO;
import com.epmet.entity.UserRoleEntity;
@ -63,4 +64,12 @@ public interface UserRoleDao extends BaseDao<UserRoleEntity> {
* @Date 14:24 2020-07-23
**/
List<UserRoleResultDTO> getUserRoleInfoByUserId(@Param("userId") String userId);
/**
* @param formDTO
* @return
* @Author sun
* @Description 居民端-查询用户角色key列表
**/
List<String> selectUserRoleKeyList(GetRoleKeyListFormDTO formDTO);
}

7
epmet-user/epmet-user-server/src/main/java/com/epmet/service/GovStaffRoleService.java

@ -22,6 +22,7 @@ import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.GovStaffRoleDTO;
import com.epmet.dto.result.GovStaffRoleResultDTO;
import com.epmet.dto.result.GovStaffRoleTemplateDTO;
import com.epmet.dto.result.ResiGovRoleListResultDTO;
import com.epmet.entity.GovStaffRoleEntity;
import java.util.List;
@ -127,4 +128,10 @@ public interface GovStaffRoleService extends BaseService<GovStaffRoleEntity> {
List<GovStaffRoleTemplateDTO> listRoleTemplates();
GovStaffRoleResultDTO getDTOById(String roleId);
/**
* @author sun
* @Description 获取居民端工作端人员角色列表
*/
ResiGovRoleListResultDTO resiGovRoleList();
}

9
epmet-user/epmet-user-server/src/main/java/com/epmet/service/RoleService.java

@ -20,6 +20,7 @@ package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.RoleDTO;
import com.epmet.dto.form.GetRoleKeyListFormDTO;
import com.epmet.entity.RoleEntity;
import java.util.List;
@ -99,4 +100,12 @@ public interface RoleService extends BaseService<RoleEntity> {
* @return RoleDTO
*/
RoleDTO getRoleByKey(RoleDTO role);
/**
* @param formDTO
* @return
* @Author sun
* @Description 居民端-查询用户角色key列表
**/
List<String> getUserRoleKeyList(GetRoleKeyListFormDTO formDTO);
}

27
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/GovStaffRoleServiceImpl.java

@ -27,10 +27,13 @@ import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dao.GovStaffRoleDao;
import com.epmet.dao.GovStaffRoleTemplateDao;
import com.epmet.dao.RoleDao;
import com.epmet.dto.GovStaffRoleDTO;
import com.epmet.dto.form.InitDefaultOperationsFormDTO;
import com.epmet.dto.result.GovStaffRoleResultDTO;
import com.epmet.dto.result.GovStaffRoleTemplateDTO;
import com.epmet.dto.result.ResiGovRoleListResultDTO;
import com.epmet.dto.result.ResiGovRoleResultDTO;
import com.epmet.entity.GovStaffRoleEntity;
import com.epmet.feign.GovAccessFeignClient;
import com.epmet.redis.GovStaffRoleRedis;
@ -66,6 +69,9 @@ public class GovStaffRoleServiceImpl extends BaseServiceImpl<GovStaffRoleDao, Go
@Autowired
private GovAccessFeignClient govAccessFeignClient;
@Autowired
private RoleDao roleDao;
@Override
public PageData<GovStaffRoleDTO> page(Map<String, Object> params) {
IPage<GovStaffRoleEntity> page = baseDao.selectPage(
@ -181,4 +187,25 @@ public class GovStaffRoleServiceImpl extends BaseServiceImpl<GovStaffRoleDao, Go
public GovStaffRoleResultDTO getDTOById(String roleId) {
return govStaffRoleDao.getDTOById(roleId);
}
/**
* @param
* @return ResiGovRoleListResultDTO
* @author sun
* @Description 获取居民端工作端人员角色列表
*/
@Override
public ResiGovRoleListResultDTO resiGovRoleList() {
ResiGovRoleListResultDTO resultDTO = new ResiGovRoleListResultDTO();
//1.查询居民端角色列表
List<ResiGovRoleResultDTO> resiRoleList = roleDao.selectResiRoleList();
//2.查询工作端角色列表
List<ResiGovRoleResultDTO> govRoleList = govStaffRoleTemplateDao.selectGovRoleList();
//3.封装数据并返回
resultDTO.setResiRoleList(resiRoleList);
resultDTO.setGovRoleList(govRoleList);
return resultDTO;
}
}

26
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/RoleServiceImpl.java

@ -20,11 +20,15 @@ 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.constant.AppClientConstant;
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.RoleDao;
import com.epmet.dao.StaffRoleDao;
import com.epmet.dao.UserRoleDao;
import com.epmet.dto.RoleDTO;
import com.epmet.dto.form.GetRoleKeyListFormDTO;
import com.epmet.entity.RoleEntity;
import com.epmet.redis.RoleRedis;
import com.epmet.service.RoleService;
@ -33,6 +37,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;
@ -48,6 +53,10 @@ public class RoleServiceImpl extends BaseServiceImpl<RoleDao, RoleEntity> implem
@Autowired
private RoleRedis roleRedis;
@Autowired
private UserRoleDao userRoleDao;
@Autowired
private StaffRoleDao staffRoleDao;
@Override
public PageData<RoleDTO> page(Map<String, Object> params) {
@ -106,4 +115,21 @@ public class RoleServiceImpl extends BaseServiceImpl<RoleDao, RoleEntity> implem
RoleEntity entity = baseDao.selectRoleByKey(ConvertUtils.sourceToTarget(role, RoleEntity.class));
return ConvertUtils.sourceToTarget(entity, RoleDTO.class);
}
/**
* @param formDTO
* @return
* @Author sun
* @Description 居民端-查询用户角色key列表
**/
@Override
public List<String> getUserRoleKeyList(GetRoleKeyListFormDTO formDTO) {
List<String> list = new ArrayList<>();
if(AppClientConstant.APP_RESI.equals(formDTO.getFromApp())){
list = userRoleDao.selectUserRoleKeyList(formDTO);
}else if(AppClientConstant.APP_GOV.equals(formDTO.getFromApp())){
list = staffRoleDao.selectStaffRoleKeyList(formDTO);
}
return list;
}
}

9
epmet-user/epmet-user-server/src/main/resources/mapper/GovStaffRoleTemplateDao.xml

@ -23,5 +23,14 @@
WHERE DEL_FLAG = 0
</select>
<select id="selectGovRoleList" resultType="com.epmet.dto.result.ResiGovRoleResultDTO">
SELECT
role_key AS "roleKey",
role_name AS "roleName"
FROM gov_staff_role_template
WHERE del_flag = '0'
ORDER BY full_time_only DESC
</select>
</mapper>

8
epmet-user/epmet-user-server/src/main/resources/mapper/RoleDao.xml

@ -27,4 +27,12 @@
and ROLE_KEY = #{roleKey}
and DEL_FLAG = 0
</select>
<select id="selectResiRoleList" resultType="com.epmet.dto.result.ResiGovRoleResultDTO">
SELECT
role_key AS "roleKey",
role_name AS "roleName"
FROM epmet_role
WHERE del_flag = '0'
</select>
</mapper>

12
epmet-user/epmet-user-server/src/main/resources/mapper/StaffRoleDao.xml

@ -181,4 +181,16 @@
and sr.ROLE_ID = #{roleId}
and sr.DEL_FLAG='0'
</select>
<select id="selectStaffRoleKeyList" resultType="java.lang.String">
SELECT
gsr.role_key
FROM
staff_role sr
INNER JOIN gov_staff_role gsr ON sr.role_id = gsr.id
WHERE
sr.del_flag = '0'
AND gsr.del_flag = '0'
AND sr.staff_id = #{userId}
</select>
</mapper>

12
epmet-user/epmet-user-server/src/main/resources/mapper/UserRoleDao.xml

@ -88,4 +88,16 @@
ur.USER_ID = #{userId}
</where>
</select>
<select id="selectUserRoleKeyList" resultType="java.lang.String">
SELECT
DISTINCT
er.role_key
FROM user_role ur
JOIN epmet_role er ON ur.role_id = er.id
WHERE er.del_flag = '0'
AND ur.del_flag = '0'
AND ur.user_id = #{userId}
AND ( ur.grid_id = #{gridId} OR ur.grid_id = 'all' )
</select>
</mapper>

Loading…
Cancel
Save