| | |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.vci.ubcs.code.entity.CodeClassify; |
| | | import com.vci.ubcs.code.entity.SystemClassifyRole; |
| | | import com.vci.ubcs.code.enumpack.FrameworkDataLCStatus; |
| | | import com.vci.ubcs.code.mapper.SystemClassifyRoleMapper; |
| | |
| | | import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil; |
| | | import com.vci.ubcs.starter.web.pagemodel.Tree; |
| | | import jodd.util.StringUtil; |
| | | import org.springblade.core.log.exception.ServiceException; |
| | | import org.springblade.core.secure.utils.AuthUtil; |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.Date; |
| | | import java.util.Iterator; |
| | | import java.util.List; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | @Service |
| | | public class CodeApplyWebManagementServiceImpl extends ServiceImpl<SystemClassifyRoleMapper, SystemClassifyRole> implements ICodeApplyWebManagementService { |
| | |
| | | */ |
| | | @Resource |
| | | private RevisionModelUtil revisionModelUtil; |
| | | @Resource |
| | | private CodeClassifyServiceImpl classifyService; |
| | | |
| | | |
| | | @Override |
| | |
| | | QueryWrapper<SystemClassifyRole> wrapper = new QueryWrapper<>(); |
| | | wrapper.eq("systemOid",systemOid); |
| | | wrapper.eq("systemId",systemId); |
| | | List<SystemClassifyRole> systemClassifyRoles = this.listByIds(roleList.stream().map(SystemClassifyRole ::getOid).collect(Collectors.toList())); |
| | | this.remove(wrapper); |
| | | List<SystemClassifyRole> newSCRoles = new ArrayList<>(); |
| | | //数据处理 |
| | | systemClassifyRoles.stream().forEach(classifyRole ->{ |
| | | classifyRole.setCreator(String.valueOf(AuthUtil.getUser().getUserId())); |
| | | classifyRole.setCreateTime(new Date()); |
| | | classifyRole.setLastModifier(String.valueOf(AuthUtil.getUser().getUserId())); |
| | | classifyRole.setLastModifyTime(new Date()); |
| | | classifyRole.setTs(new Date()); |
| | | }); |
| | | newSCRoles.addAll(systemClassifyRoles); |
| | | //处理新选择的数据 |
| | | roleList.stream().forEach(systemClassifyRole -> { |
| | | if(StringUtil.isBlank(systemClassifyRole.getOid())){ |
| | | DefaultAttrAssimtUtil.addDefaultAttrAssimt(systemClassifyRole,"systemClassifyRole"); |
| | | systemClassifyRole.setSystemId(systemId); |
| | | systemClassifyRole.setSystemOid(systemOid); |
| | | }else{ |
| | | systemClassifyRole.setCreator(String.valueOf(AuthUtil.getUser().getUserId())); |
| | | systemClassifyRole.setCreateTime(new Date()); |
| | | systemClassifyRole.setLastModifier(String.valueOf(AuthUtil.getUser().getUserId())); |
| | | systemClassifyRole.setLastModifyTime(new Date()); |
| | | systemClassifyRole.setTs(new Date()); |
| | | systemClassifyRole.setTenantId(AuthUtil.getTenantId()); |
| | | systemClassifyRole.setSelected(true); |
| | | newSCRoles.add(systemClassifyRole); |
| | | } |
| | | systemClassifyRole.setTenantId(AuthUtil.getTenantId()); |
| | | }); |
| | | //保存 |
| | | this.saveBatch(roleList); |
| | | this.saveBatch(newSCRoles); |
| | | return R.success("操作成功"); |
| | | } |
| | | |
| | |
| | | }); |
| | | return tree; |
| | | } |
| | | |
| | | @Override |
| | | public List<Tree> getAuthTree(HashMap<String, String> paramMap) { |
| | | //查询已经授权了的分类 |
| | | List<CodeClassify> listClassifyRole = baseMapper.getListClassifyRole(paramMap.get("systemOid"), paramMap.get("systemId"), paramMap.get("library")); |
| | | if(listClassifyRole.size() == 0){ |
| | | throw new ServiceException("还未授权,请联系编码资源管理系统管理员授权!"); |
| | | } |
| | | List<CodeClassifyVO> voList = classifyService.codeClassifyDO2VOs(listClassifyRole); |
| | | TreeWrapperOptions treeWrapperOptions = new TreeWrapperOptions(classifyService.PARENT_FIELD_NAME); |
| | | //转换成树形结构 |
| | | List<Tree> tree= revisionModelUtil.doList2Trees(voList,treeWrapperOptions,(CodeClassifyVO s) ->{ |
| | | //可以在这里处理树节点的显示 |
| | | return s.getId() + " " + s.getName() + (FrameworkDataLCStatus.DISABLED.getValue().equalsIgnoreCase(s |
| | | .getLcStatus()) ? (" 【停用】 ") : ""); |
| | | }); |
| | | return tree; |
| | | } |
| | | } |