RoleService.java 5.9 KB

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