ec727ad82a54863b9797f680c68d831e8482d329.svn-base 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. package org.jeecg.modules.system.service.impl;
  2. import com.alibaba.fastjson.JSONObject;
  3. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  4. import org.apache.poi.ss.formula.functions.T;
  5. import org.jeecg.common.api.vo.Result;
  6. import org.jeecg.common.constant.CommonConstant;
  7. import org.jeecg.common.util.ImportExcelUtil;
  8. import org.jeecg.common.util.PmsUtil;
  9. import org.jeecg.modules.quartz.service.IQuartzJobService;
  10. import org.jeecg.modules.system.entity.SysRole;
  11. import org.jeecg.modules.system.mapper.SysRoleMapper;
  12. import org.jeecg.modules.system.mapper.SysUserMapper;
  13. import org.jeecg.modules.system.service.ISysRoleService;
  14. import org.jeecgframework.poi.excel.ExcelImportUtil;
  15. import org.jeecgframework.poi.excel.entity.ImportParams;
  16. import org.springframework.beans.factory.annotation.Autowired;
  17. import org.springframework.stereotype.Service;
  18. import org.springframework.transaction.annotation.Transactional;
  19. import org.springframework.web.multipart.MultipartFile;
  20. import java.io.File;
  21. import java.util.ArrayList;
  22. import java.util.Arrays;
  23. import java.util.List;
  24. /**
  25. * <p>
  26. * 角色表 服务实现类
  27. * </p>
  28. *
  29. * @Author scott
  30. * @since 2018-12-19
  31. */
  32. @Service
  33. public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> implements ISysRoleService {
  34. @Autowired
  35. SysRoleMapper sysRoleMapper;
  36. @Autowired
  37. SysUserMapper sysUserMapper;
  38. @Override
  39. public Result importExcelCheckRoleCode(MultipartFile file, ImportParams params) throws Exception {
  40. List<Object> listSysRoles = ExcelImportUtil.importExcel(file.getInputStream(), SysRole.class, params);
  41. int totalCount = listSysRoles.size();
  42. List<String> errorStrs = new ArrayList<>();
  43. // 去除 listSysRoles 中重复的数据
  44. for (int i = 0; i < listSysRoles.size(); i++) {
  45. String roleCodeI =((SysRole)listSysRoles.get(i)).getRoleCode();
  46. for (int j = i + 1; j < listSysRoles.size(); j++) {
  47. String roleCodeJ =((SysRole)listSysRoles.get(j)).getRoleCode();
  48. // 发现重复数据
  49. if (roleCodeI.equals(roleCodeJ)) {
  50. errorStrs.add("第 " + (j + 1) + " 行的 roleCode 值:" + roleCodeI + " 已存在,忽略导入");
  51. listSysRoles.remove(j);
  52. break;
  53. }
  54. }
  55. }
  56. // 去掉 sql 中的重复数据
  57. Integer errorLines=0;
  58. Integer successLines=0;
  59. List<String> list = ImportExcelUtil.importDateSave(listSysRoles, ISysRoleService.class, errorStrs, CommonConstant.SQL_INDEX_UNIQ_SYS_ROLE_CODE);
  60. errorLines+=list.size();
  61. successLines+=(listSysRoles.size()-errorLines);
  62. return ImportExcelUtil.imporReturnRes(errorLines,successLines,list);
  63. }
  64. @Override
  65. @Transactional(rollbackFor = Exception.class)
  66. public boolean deleteRole(String roleid) {
  67. //1.删除角色和用户关系
  68. sysRoleMapper.deleteRoleUserRelation(roleid);
  69. //2.删除角色和权限关系
  70. sysRoleMapper.deleteRolePermissionRelation(roleid);
  71. //3.删除角色
  72. this.removeById(roleid);
  73. return true;
  74. }
  75. @Override
  76. @Transactional(rollbackFor = Exception.class)
  77. public boolean deleteBatchRole(String[] roleIds) {
  78. //1.删除角色和用户关系
  79. sysUserMapper.deleteBathRoleUserRelation(roleIds);
  80. //2.删除角色和权限关系
  81. sysUserMapper.deleteBathRolePermissionRelation(roleIds);
  82. //3.删除角色
  83. this.removeByIds(Arrays.asList(roleIds));
  84. return true;
  85. }
  86. }