| 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 */@Servicepublic 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;    }}
 |