Browse Source

居民端、工作端获取客户定制功能列表接口修改

dev
sunyuchao 5 years ago
parent
commit
139f64cc77
  1. 21
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/FunctionDetailFromDTO.java
  2. 6
      epmet-module/oper-customize/oper-customize-server/pom.xml
  3. 9
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/CustomerFunctionDetailController.java
  4. 12
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/CustomerFunctionRoleDao.java
  5. 12
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/CustomerFunctionDetailService.java
  6. 113
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/CustomerFunctionDetailServiceImpl.java
  7. 4
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/CustomerFunctionRoleServiceImpl.java
  8. 15
      epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/CustomerFunctionRoleDao.xml
  9. 28
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/GetRoleKeyListFormDTO.java
  10. 7
      epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java
  11. 5
      epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java
  12. 14
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/RoleController.java
  13. 9
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StaffRoleDao.java
  14. 9
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserRoleDao.java
  15. 9
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/RoleService.java
  16. 26
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/RoleServiceImpl.java
  17. 12
      epmet-user/epmet-user-server/src/main/resources/mapper/StaffRoleDao.xml
  18. 12
      epmet-user/epmet-user-server/src/main/resources/mapper/UserRoleDao.xml

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

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

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

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

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

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

@ -20,6 +20,8 @@ package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.CustomerFunctionRoleDTO; import com.epmet.dto.CustomerFunctionRoleDTO;
import com.epmet.dto.form.CustomerFunctionRoleListFormDTO; 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.dto.result.CustomerFunctionRoleListResultDTO;
import com.epmet.entity.CustomerFunctionRoleEntity; import com.epmet.entity.CustomerFunctionRoleEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
@ -40,7 +42,7 @@ public interface CustomerFunctionRoleDao extends BaseDao<CustomerFunctionRoleEnt
* @author sun * @author sun
* @Description 根据客户Id删除客户功能角色信息 * @Description 根据客户Id删除客户功能角色信息
*/ */
void delByCustomerId(@Param("customerId") String customerId); void delByCustomerId(SaveCustomerFunctionRoleFormDTO formDTO);
/** /**
* @param formDTO * @param formDTO
@ -49,4 +51,12 @@ public interface CustomerFunctionRoleDao extends BaseDao<CustomerFunctionRoleEnt
* @Description 查询客户定制功能角色列表 * @Description 查询客户定制功能角色列表
*/ */
List<CustomerFunctionRoleListResultDTO> selectCustomerFunctionRoleList(CustomerFunctionRoleListFormDTO formDTO); List<CustomerFunctionRoleListResultDTO> selectCustomerFunctionRoleList(CustomerFunctionRoleListFormDTO formDTO);
/**
* @param formDTO
* @return
* @author sun
* @Description 根据用户拥有的角色查询客户的定制功能
*/
List<String> selectFunctionList(FunctionDetailFromDTO formDTO);
} }

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

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

113
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.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; 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.FieldConstant;
import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode; 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.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.dao.CustomerFunctionDao; import com.epmet.dao.*;
import com.epmet.dao.CustomerFunctionDetailDao;
import com.epmet.dao.FunctionCustomizedDao;
import com.epmet.dao.FunctionShoppingHistoryDao;
import com.epmet.dto.CustomerFunctionDetailDTO; import com.epmet.dto.CustomerFunctionDetailDTO;
import com.epmet.dto.FunctionCustomizedDTO; import com.epmet.dto.FunctionCustomizedDTO;
import com.epmet.dto.FunctionShoppingHistoryDTO; import com.epmet.dto.FunctionShoppingHistoryDTO;
@ -40,6 +38,7 @@ import com.epmet.dto.result.*;
import com.epmet.entity.CustomerFunctionDetailEntity; import com.epmet.entity.CustomerFunctionDetailEntity;
import com.epmet.entity.CustomerFunctionEntity; import com.epmet.entity.CustomerFunctionEntity;
import com.epmet.entity.FunctionShoppingHistoryEntity; import com.epmet.entity.FunctionShoppingHistoryEntity;
import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.redis.CustomerFunctionDetailRedis; import com.epmet.redis.CustomerFunctionDetailRedis;
import com.epmet.service.CustomerFunctionDetailService; import com.epmet.service.CustomerFunctionDetailService;
import com.epmet.service.FunctionShoppingHistoryService; 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.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import rx.internal.util.LinkedArrayList;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -73,6 +73,10 @@ public class CustomerFunctionDetailServiceImpl extends BaseServiceImpl<CustomerF
private CustomerFunctionDao customerFunctionDao; private CustomerFunctionDao customerFunctionDao;
@Autowired @Autowired
private FunctionShoppingHistoryDao functionShoppingHistoryDao; private FunctionShoppingHistoryDao functionShoppingHistoryDao;
@Autowired
private EpmetUserOpenFeignClient epmetUserOpenFeignClient;
@Autowired
private CustomerFunctionRoleDao customerFunctionRoleDao;
@Override @Override
public PageData<CustomerFunctionDetailDTO> page(Map<String, Object> params) { public PageData<CustomerFunctionDetailDTO> page(Map<String, Object> params) {
@ -126,6 +130,58 @@ public class CustomerFunctionDetailServiceImpl extends BaseServiceImpl<CustomerF
baseDao.deleteBatchIds(Arrays.asList(ids)); baseDao.deleteBatchIds(Arrays.asList(ids));
} }
/**
* @param formDTO
* @return
* @Author sun
* @Description 根据所属端和客户Id查询客户定制功能列表
**/
@Override
public List<FunctionDetailResultDTO> resiFunctionDetail(FunctionDetailFromDTO formDTO) {
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);
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.setGridId(formDTO.getGridId());
dto.setFromApp(AppClientConstant.APP_RESI);
Result<List<String>> result = epmetUserOpenFeignClient.getUserRoleKeyList(dto);
if (!result.success()) {
throw new RenException(result.getCode());
}
formDTO.setRoleKeyList(result.getData());
//3.根据用户拥有的角色查询客户的定制功能
List<String> listFunctionIds = customerFunctionRoleDao.selectFunctionList(formDTO);
//4.封装结果数据
listFunctionIds.forEach(id -> {
list.forEach(l -> {
if (id.equals(l.getFunctionId())) {
restltList.add(l);
}
});
});
}
return restltList;
}
/** /**
* @param formDTO * @param formDTO
* @return * @return
@ -133,21 +189,48 @@ public class CustomerFunctionDetailServiceImpl extends BaseServiceImpl<CustomerF
* @Description 根据所属端和客户Id查询客户定制功能列表 * @Description 根据所属端和客户Id查询客户定制功能列表
**/ **/
@Override @Override
public List<FunctionDetailResultDTO> resiAndWorkFunctionDetail(FunctionDetailFromDTO formDTO) { public List<FunctionDetailResultDTO> workFunctionDetail(FunctionDetailFromDTO formDTO) {
//根据客户Id和所属端查询客户定制功能列表数据 List<FunctionDetailResultDTO> restltList = new LinkedList<>();
//1.根据客户Id和所属端查询客户定制功能列表数据
logger.info(String.format("根据客户Id和所属端查询客户定制功能列表,对应客户Id->%s,所属端->%s", formDTO.getCustomerId(), formDTO.getClientType())); logger.info(String.format("根据客户Id和所属端查询客户定制功能列表,对应客户Id->%s,所属端->%s", formDTO.getCustomerId(), formDTO.getClientType()));
List<FunctionDetailResultDTO> list = baseDao.selectFunctionDetailList(formDTO); List<FunctionDetailResultDTO> list = baseDao.selectFunctionDetailList(formDTO);
try { if (null != list && list.size() > NumConstant.ZERO) {
String join = String.join(",", new ArrayList<>()); //1-1.设置自定义json数据(暂时为空)
String customerParameter = java.net.URLEncoder.encode(join, "utf-8"); try {
list.forEach(l->{ String join = String.join(",", new ArrayList<>());
l.setCustomerParameter(customerParameter); 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(AppClientConstant.APP_GOV);
Result<List<String>> result = epmetUserOpenFeignClient.getUserRoleKeyList(dto);
if (!result.success()) {
throw new RenException(result.getCode());
}
formDTO.setRoleKeyList(result.getData());
//3.根据用户拥有的角色查询客户的定制功能
List<String> listFunctionIds = customerFunctionRoleDao.selectFunctionList(formDTO);
//4.封装结果数据
listFunctionIds.forEach(id -> {
list.forEach(l -> {
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 @Override

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

@ -129,8 +129,8 @@ public class CustomerFunctionRoleServiceImpl extends BaseServiceImpl<CustomerFun
listEntity.add(entity); listEntity.add(entity);
}); });
//2.先按客户Id执行删除操作 //2.先按客户Id、功能Id执行删除操作
baseDao.delByCustomerId(formDTO.getCustomerId()); baseDao.delByCustomerId(formDTO);
//3.批量新增 //3.批量新增
if(!insertBatch(listEntity)){ if(!insertBatch(listEntity)){

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

@ -15,10 +15,25 @@
AND function_id = #{functionId} AND function_id = #{functionId}
</select> </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 = #{fromApp}
<foreach collection="roleKeyList" item="roleKey" index="index" open="AND ( " separator=" OR " close=")">
role_key = #{roleKey}
</foreach>
</select>
<delete id="delByCustomerId"> <delete id="delByCustomerId">
DELETE DELETE
FROM customer_function_role FROM customer_function_role
WHERE customer_id = #{customerId} WHERE customer_id = #{customerId}
AND function_id = #{functionId}
</delete> </delete>
</mapper> </mapper>

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;
}

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") @PostMapping("epmetuser/staffrole/changeroleorg")
Result changeRoleOrg(@RequestBody StaffRoleDTO formDTO); 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) { public Result changeRoleOrg(StaffRoleDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "changeRoleOrg", 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);
}
} }

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

@ -17,7 +17,9 @@
package com.epmet.controller; package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.page.PageData; 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.ExcelUtils;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils; 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.UpdateGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.dto.RoleDTO; import com.epmet.dto.RoleDTO;
import com.epmet.dto.form.GetRoleKeyListFormDTO;
import com.epmet.excel.RoleExcel; import com.epmet.excel.RoleExcel;
import com.epmet.service.RoleService; import com.epmet.service.RoleService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -91,4 +94,15 @@ public class RoleController {
ExcelUtils.exportExcelToTarget(response, null, list, RoleExcel.class); 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));
}
} }

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.StaffRoleDTO;
import com.epmet.dto.form.CommonUserFormDTO; import com.epmet.dto.form.CommonUserFormDTO;
import com.epmet.dto.form.CustomerStaffRoleListFormDTO; import com.epmet.dto.form.CustomerStaffRoleListFormDTO;
import com.epmet.dto.form.GetRoleKeyListFormDTO;
import com.epmet.dto.result.CustomerStaffRoleListResultDTO; import com.epmet.dto.result.CustomerStaffRoleListResultDTO;
import com.epmet.dto.result.CustomerStaffRoleResultDTO; import com.epmet.dto.result.CustomerStaffRoleResultDTO;
import com.epmet.dto.result.GovStaffRoleResultDTO; import com.epmet.dto.result.GovStaffRoleResultDTO;
@ -122,4 +123,12 @@ public interface StaffRoleDao extends BaseDao<StaffRoleEntity> {
* @return void * @return void
*/ */
void updateStaffRoleOrgId(StaffRoleDTO dto); 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.mybatis.dao.BaseDao;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.UserRoleDTO; import com.epmet.dto.UserRoleDTO;
import com.epmet.dto.form.GetRoleKeyListFormDTO;
import com.epmet.dto.form.UserRoleFormDTO; import com.epmet.dto.form.UserRoleFormDTO;
import com.epmet.dto.result.UserRoleResultDTO; import com.epmet.dto.result.UserRoleResultDTO;
import com.epmet.entity.UserRoleEntity; import com.epmet.entity.UserRoleEntity;
@ -63,4 +64,12 @@ public interface UserRoleDao extends BaseDao<UserRoleEntity> {
* @Date 14:24 2020-07-23 * @Date 14:24 2020-07-23
**/ **/
List<UserRoleResultDTO> getUserRoleInfoByUserId(@Param("userId") String userId); List<UserRoleResultDTO> getUserRoleInfoByUserId(@Param("userId") String userId);
/**
* @param formDTO
* @return
* @Author sun
* @Description 居民端-查询用户角色key列表
**/
List<String> selectUserRoleKeyList(GetRoleKeyListFormDTO formDTO);
} }

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

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.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; 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.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.dao.RoleDao; import com.epmet.dao.RoleDao;
import com.epmet.dao.StaffRoleDao;
import com.epmet.dao.UserRoleDao;
import com.epmet.dto.RoleDTO; import com.epmet.dto.RoleDTO;
import com.epmet.dto.form.GetRoleKeyListFormDTO;
import com.epmet.entity.RoleEntity; import com.epmet.entity.RoleEntity;
import com.epmet.redis.RoleRedis; import com.epmet.redis.RoleRedis;
import com.epmet.service.RoleService; import com.epmet.service.RoleService;
@ -33,6 +37,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -48,6 +53,10 @@ public class RoleServiceImpl extends BaseServiceImpl<RoleDao, RoleEntity> implem
@Autowired @Autowired
private RoleRedis roleRedis; private RoleRedis roleRedis;
@Autowired
private UserRoleDao userRoleDao;
@Autowired
private StaffRoleDao staffRoleDao;
@Override @Override
public PageData<RoleDTO> page(Map<String, Object> params) { 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)); RoleEntity entity = baseDao.selectRoleByKey(ConvertUtils.sourceToTarget(role, RoleEntity.class));
return ConvertUtils.sourceToTarget(entity, RoleDTO.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;
}
} }

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

@ -181,4 +181,16 @@
and sr.ROLE_ID = #{roleId} and sr.ROLE_ID = #{roleId}
and sr.DEL_FLAG='0' and sr.DEL_FLAG='0'
</select> </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> </mapper>

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

@ -88,4 +88,16 @@
ur.USER_ID = #{userId} ur.USER_ID = #{userId}
</where> </where>
</select> </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> </mapper>

Loading…
Cancel
Save