123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- package org.jeecg.modules.system.service.impl;
- import com.alibaba.fastjson.JSONObject;
- import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
- import org.apache.poi.ss.formula.functions.T;
- import org.jeecg.common.api.vo.Result;
- import org.jeecg.common.constant.CommonConstant;
- import org.jeecg.common.util.ImportExcelUtil;
- import org.jeecg.common.util.PmsUtil;
- import org.jeecg.modules.quartz.service.IQuartzJobService;
- import org.jeecg.modules.system.entity.SysRole;
- import org.jeecg.modules.system.mapper.SysRoleMapper;
- import org.jeecg.modules.system.mapper.SysUserMapper;
- import org.jeecg.modules.system.service.ISysRoleService;
- import org.jeecgframework.poi.excel.ExcelImportUtil;
- import org.jeecgframework.poi.excel.entity.ImportParams;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import org.springframework.transaction.annotation.Transactional;
- import org.springframework.web.multipart.MultipartFile;
- import java.io.File;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.List;
- /**
- * <p>
- * 角色表 服务实现类
- * </p>
- *
- * @Author scott
- * @since 2018-12-19
- */
- @Service
- public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> implements ISysRoleService {
- @Autowired
- SysRoleMapper sysRoleMapper;
- @Autowired
- SysUserMapper sysUserMapper;
- @Override
- public Result importExcelCheckRoleCode(MultipartFile file, ImportParams params) throws Exception {
- List<Object> listSysRoles = ExcelImportUtil.importExcel(file.getInputStream(), SysRole.class, params);
- int totalCount = listSysRoles.size();
- List<String> errorStrs = new ArrayList<>();
- // 去除 listSysRoles 中重复的数据
- for (int i = 0; i < listSysRoles.size(); i++) {
- String roleCodeI =((SysRole)listSysRoles.get(i)).getRoleCode();
- for (int j = i + 1; j < listSysRoles.size(); j++) {
- String roleCodeJ =((SysRole)listSysRoles.get(j)).getRoleCode();
- // 发现重复数据
- if (roleCodeI.equals(roleCodeJ)) {
- errorStrs.add("第 " + (j + 1) + " 行的 roleCode 值:" + roleCodeI + " 已存在,忽略导入");
- listSysRoles.remove(j);
- break;
- }
- }
- }
- // 去掉 sql 中的重复数据
- Integer errorLines=0;
- Integer successLines=0;
- List<String> list = ImportExcelUtil.importDateSave(listSysRoles, ISysRoleService.class, errorStrs, CommonConstant.SQL_INDEX_UNIQ_SYS_ROLE_CODE);
- errorLines+=list.size();
- successLines+=(listSysRoles.size()-errorLines);
- return ImportExcelUtil.imporReturnRes(errorLines,successLines,list);
- }
- @Override
- @Transactional(rollbackFor = Exception.class)
- public boolean deleteRole(String roleid) {
- //1.删除角色和用户关系
- sysRoleMapper.deleteRoleUserRelation(roleid);
- //2.删除角色和权限关系
- sysRoleMapper.deleteRolePermissionRelation(roleid);
- //3.删除角色
- this.removeById(roleid);
- return true;
- }
- @Override
- @Transactional(rollbackFor = Exception.class)
- public boolean deleteBatchRole(String[] roleIds) {
- //1.删除角色和用户关系
- sysUserMapper.deleteBathRoleUserRelation(roleIds);
- //2.删除角色和权限关系
- sysUserMapper.deleteBathRolePermissionRelation(roleIds);
- //3.删除角色
- this.removeByIds(Arrays.asList(roleIds));
- return true;
- }
- }
|