RoleService.java 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. package com.dk.mdm.service.mst;
  2. import com.dk.common.infrastructure.annotaiton.Pagination;
  3. import com.dk.common.infrastructure.constant.Constant;
  4. import com.dk.common.model.pojo.PageList;
  5. import com.dk.common.response.ResponseResultUtil;
  6. import com.dk.common.response.ResponseResultVO;
  7. import com.dk.mdm.infrastructure.convert.mst.RoleConvert;
  8. import com.dk.mdm.infrastructure.util.AuthUtils;
  9. import com.dk.mdm.model.pojo.mst.Role;
  10. import com.dk.mdm.mapper.mst.RoleMapper;
  11. import com.dk.common.service.BaseService;
  12. import com.dk.common.mapper.BaseMapper;
  13. import com.dk.mdm.model.pojo.mst.RoleFun;
  14. import com.dk.mdm.model.pojo.mst.RoleSensitive;
  15. import com.dk.mdm.model.query.mst.RoleQuery;
  16. import com.dk.mdm.model.response.mst.RoleResponse;
  17. import com.dk.mdm.model.vo.mst.RoleVo;
  18. import com.dk.mdm.model.vo.mst.StaffVO;
  19. import com.dk.mdm.service.common.CommonService;
  20. import org.springframework.stereotype.Service;
  21. import org.springframework.beans.factory.annotation.Autowired;
  22. import org.springframework.transaction.annotation.Transactional;
  23. import java.util.Map;
  24. @Service
  25. @Transactional
  26. public class RoleService extends BaseService<Role> {
  27. @Override
  28. public BaseMapper<Role> getRepository() {
  29. return roleMapper;
  30. }
  31. @Autowired
  32. private RoleMapper roleMapper;
  33. @Autowired
  34. private RoleFunService roleFunService;
  35. @Autowired
  36. private RoleSensitiveService roleSensitiveService;
  37. @Autowired
  38. private RoleConvert roleConvert;
  39. @Autowired
  40. private CommonService commonService;
  41. @Autowired
  42. private AuthUtils authUtils;
  43. /**
  44. * @desc : 重写主键
  45. * @author : 周兴
  46. * @date : 2024/2/29 20:29
  47. */
  48. @Override
  49. public String getPrimaryKey() {
  50. return "role_id";
  51. }
  52. /**
  53. * @desc : 查询角色
  54. * @author : 于继渤
  55. * @date : 2023/1/5 9:39
  56. */
  57. @Pagination
  58. public ResponseResultVO<PageList<RoleResponse>> selectByCond(RoleQuery roleQuery) {
  59. return super.mergeListWithCount(roleQuery, roleMapper.selectByCond(roleQuery),
  60. roleMapper.countByCond(roleQuery));
  61. }
  62. /**
  63. * @desc : 新建角色
  64. * @author : 于继渤
  65. * @date : 2023/1/5 9:39
  66. */
  67. @Transactional(
  68. rollbackFor = {Exception.class}
  69. )
  70. public ResponseResultVO<?> saveRole(RoleVo roleVO) {
  71. Role role = roleConvert.convertToPo(roleVO);
  72. // 获取显示顺序
  73. role.setDisplayNo(commonService.getMaxDisplayNo(Constant.DisplayNoTable.ROLE));
  74. //设置编码
  75. Map<String, Object> uniqueNoteCode = commonService.getUniqueNoteCode(Constant.docNameConstant.ROLE.getName(), true);
  76. role.setRoleId(uniqueNoteCode.get("outId").toString());
  77. role.setRoleCode(uniqueNoteCode.get("outNote").toString());
  78. //新建
  79. roleMapper.insert(role);
  80. //设置角色权限明细
  81. setRoleItem(roleVO, role);
  82. return ResponseResultUtil.success();
  83. }
  84. private void setRoleItem(RoleVo roleVO, Role role) {
  85. if (roleVO.getRoleFunList() != null && roleVO.getRoleFunList().size() > 0 && roleVO.getRoleFunList().get(0).getFunUuid() != null) {
  86. //新建角色功能权限
  87. for (RoleFun roleFun : roleVO.getRoleFunList()) {
  88. roleFun.setRoleId(role.getRoleId());
  89. roleFun.setCpId(role.getCpId());
  90. }
  91. roleFunService.saveRoleFun(roleVO.getRoleFunList());
  92. }
  93. if (roleVO.getRoleSensitiveList() != null && roleVO.getRoleSensitiveList().size() > 0 && roleVO.getRoleSensitiveList().get(0).getSenItemCode()!= null) {
  94. //新建角色敏感信息权限
  95. for (RoleSensitive roleSensitive : roleVO.getRoleSensitiveList()) {
  96. roleSensitive.setRoleId(role.getRoleId());
  97. roleSensitive.setCpId(role.getCpId());
  98. }
  99. roleSensitiveService.saveRoleSensitive(roleVO.getRoleSensitiveList());
  100. }
  101. }
  102. /**
  103. * @desc : 编辑角色
  104. * @author : 于继渤
  105. * @date : 2023/1/5 9:39
  106. */
  107. @Transactional(
  108. rollbackFor = {Exception.class}
  109. )
  110. public ResponseResultVO<?> updateRole(RoleVo roleVO) {
  111. Role role = roleConvert.convertToPo(roleVO);
  112. updateByUuid(role);
  113. if (roleVO.getRoleFunList() != null) {
  114. //删除历史功能权限
  115. roleFunService.deleteRoleId(roleVO.getRoleId());
  116. }
  117. if (roleVO.getRoleSensitiveList() != null) {
  118. //删除历史敏感信息权限
  119. roleSensitiveService.deleteRoleId(roleVO.getRoleId());
  120. }
  121. //设置角色权限明细
  122. setRoleItem(roleVO, role);
  123. return ResponseResultUtil.success();
  124. }
  125. /**
  126. * @desc : 保存方法
  127. * @author : 常皓宁
  128. * @date : 2024/3/7 8:38
  129. */
  130. @Transactional(
  131. rollbackFor = {Exception.class}
  132. )
  133. public ResponseResultVO<?> insert(RoleVo roleVO) {
  134. Role role = roleConvert.convertToPo(roleVO);
  135. // 获取显示顺序
  136. Integer displayNo =commonService.getMaxDisplayNo(Constant.DisplayNoTable.ROLE);
  137. if (displayNo != null) {
  138. //插入序号
  139. role.setDisplayNo(displayNo);
  140. } else {
  141. role.setDisplayNo(0);
  142. }
  143. role.setCpId(authUtils.getStaff().getCpId());
  144. //设置编码
  145. Map<String, Object> uniqueNoteCode = commonService.getUniqueNoteCode(Constant.docNameConstant.ROLE.getName(), true);
  146. role.setRoleId(uniqueNoteCode.get("outId").toString());
  147. role.setRoleCode(uniqueNoteCode.get("outNote").toString());
  148. //新建
  149. roleMapper.insert(role);
  150. return ResponseResultUtil.success();
  151. }
  152. /**
  153. * @desc : 编辑角色
  154. * @author : 常皓宁
  155. * @date : 2024/3/7 8:47
  156. */
  157. @Transactional(
  158. rollbackFor = {Exception.class}
  159. )
  160. public ResponseResultVO<?> update(RoleVo roleVO) {
  161. Role role = roleConvert.convertToPo(roleVO);
  162. updateByUuid(role);
  163. return ResponseResultUtil.success();
  164. }
  165. }