UserRoleFacade.java 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. package com.diagbot.facade;
  2. import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
  3. import com.baomidou.mybatisplus.core.metadata.IPage;
  4. import com.diagbot.dto.UserRoleInfoFindDTO;
  5. import com.diagbot.entity.User;
  6. import com.diagbot.entity.UserHospital;
  7. import com.diagbot.entity.UserRole;
  8. import com.diagbot.enums.IsDeleteEnum;
  9. import com.diagbot.exception.CommonErrorCode;
  10. import com.diagbot.exception.CommonException;
  11. import com.diagbot.service.UserRoleService;
  12. import com.diagbot.service.impl.UserRoleServiceImpl;
  13. import com.diagbot.util.BeanUtil;
  14. import com.diagbot.util.DateUtil;
  15. import com.diagbot.util.ListUtil;
  16. import com.diagbot.util.UserUtils;
  17. import com.diagbot.vo.UserHospitalInfoVO;
  18. import com.diagbot.vo.UserInfoVO;
  19. import com.diagbot.vo.UserRoleInfoCancelVO;
  20. import com.diagbot.vo.UserRoleInfoFindVO;
  21. import com.diagbot.vo.UserRoleInfoVO;
  22. import org.springframework.beans.factory.annotation.Autowired;
  23. import org.springframework.beans.factory.support.ManagedMap;
  24. import org.springframework.stereotype.Component;
  25. import java.util.ArrayList;
  26. import java.util.Date;
  27. import java.util.List;
  28. import java.util.Map;
  29. /**
  30. * @author wangfeng
  31. * @Description:
  32. * @date 2020-08-11 9:56
  33. */
  34. @Component
  35. public class UserRoleFacade extends UserRoleServiceImpl {
  36. @Autowired
  37. UserFacade userFacade;
  38. @Autowired
  39. UserHospitalFacade userHospitalFacade;
  40. @Autowired
  41. UserRoleService userRoleService;
  42. @Autowired
  43. HospitalInfoFacade hospitalInfoFacade;
  44. public boolean addUserRoles(UserRoleInfoVO userRoleInfoVO) {
  45. boolean res = false;
  46. Date now = DateUtil.now();
  47. UserInfoVO userInfoVO = new UserInfoVO();
  48. BeanUtil.copyProperties(userRoleInfoVO, userInfoVO);
  49. //建立超级管理员基本信息
  50. User user = userFacade.addUser(userInfoVO);
  51. Long userId = user.getId();
  52. if (userId != null) {
  53. UserHospitalInfoVO userHospitalInfoVO = new UserHospitalInfoVO();
  54. userHospitalInfoVO.setHospitalId(userRoleInfoVO.getHospitalId());
  55. userHospitalInfoVO.setUserId(userId);
  56. userHospitalFacade.addUserHospital(userHospitalInfoVO);
  57. //
  58. UserRole userRole = new UserRole();
  59. userRole.setRoleId(-1L);
  60. userRole.setUserId(userId);
  61. userRole.setCreator(UserUtils.getCurrentPrincipleID());
  62. userRole.setModifier(UserUtils.getCurrentPrincipleID());
  63. userRole.setGmtCreate(now);
  64. userRole.setGmtModified(now);
  65. res = userRoleService.save(userRole);
  66. }
  67. return res;
  68. }
  69. public IPage<UserRoleInfoFindDTO> getUserRoles(UserRoleInfoFindVO userRoleInfoFindVO) {
  70. IPage<UserRoleInfoFindDTO> dataAllIPage = userRoleService.getUserRoleAlls(userRoleInfoFindVO);
  71. List<UserRoleInfoFindDTO> dataAll = dataAllIPage.getRecords();
  72. List<Long> hospitalId = new ArrayList<>();
  73. List<String> modifierid = new ArrayList<>();
  74. for (UserRoleInfoFindDTO data : dataAll) {
  75. hospitalId.add(data.getHospitalId());
  76. modifierid.add(data.getModifier());
  77. }
  78. Map<Long, String> hospitalInfoData = new ManagedMap<>();
  79. Map<String, String> userInfoByIds = new ManagedMap<>();
  80. if (ListUtil.isNotEmpty(hospitalId)) {
  81. hospitalInfoData = hospitalInfoFacade.getHospitalInfoData(hospitalId);
  82. }
  83. if (ListUtil.isNotEmpty(modifierid)) {
  84. userInfoByIds = userFacade.getUserInfoByIds(modifierid);
  85. if (userInfoByIds == null) {
  86. throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "获取所有用户信息失败");
  87. }
  88. }
  89. for (
  90. UserRoleInfoFindDTO userData : dataAll) {
  91. userData.setHospitalName(hospitalInfoData.get(userData.getHospitalId()));
  92. userData.setModifier(userInfoByIds.get(userData.getModifier()));
  93. }
  94. return dataAllIPage.setRecords(dataAll);
  95. }
  96. /**
  97. * @param userRoleInfoCancelVO
  98. * @return
  99. */
  100. public boolean cancelUserRole(UserRoleInfoCancelVO userRoleInfoCancelVO) {
  101. UpdateWrapper<UserRole> userRoleUpdate = new UpdateWrapper<>();
  102. userRoleUpdate.eq("is_deleted", IsDeleteEnum.N.getKey())
  103. .eq("user_id", userRoleInfoCancelVO.getUserId())
  104. .eq("id", userRoleInfoCancelVO.getId())
  105. .eq("role_id", -1);
  106. boolean res = userRoleService.remove(userRoleUpdate);
  107. UpdateWrapper<User> userUpdate = new UpdateWrapper<>();
  108. userUpdate.eq("is_deleted", IsDeleteEnum.N.getKey())
  109. .eq("id", userRoleInfoCancelVO.getUserId());
  110. res = userFacade.remove(userUpdate);
  111. UpdateWrapper<UserHospital> userHospitalUpdate = new UpdateWrapper<>();
  112. userHospitalUpdate.eq("is_deleted", IsDeleteEnum.N.getKey())
  113. .eq("user_id", userRoleInfoCancelVO.getUserId())
  114. .eq("hospital_id", userRoleInfoCancelVO.getHospitalId());
  115. res = userHospitalFacade.remove(userHospitalUpdate);
  116. return res;
  117. }
  118. }