From 6ec40d5a0c145ccffd1a28841f1c732f764e3e44 Mon Sep 17 00:00:00 2001 From: zhaoxiaohao <913652501@qq.com> Date: Mon, 20 Apr 2020 17:32:00 +0800 Subject: [PATCH] 添加 部门的拦截的功能 --- kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysOrganizationServiceImpl.java | 100 ++++++++++++++++++++++++++++++++++--------------- 1 files changed, 69 insertions(+), 31 deletions(-) diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysOrganizationServiceImpl.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysOrganizationServiceImpl.java index 9174b7a..d815af8 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysOrganizationServiceImpl.java +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysOrganizationServiceImpl.java @@ -6,14 +6,18 @@ import com.kidgrow.common.model.ResultBody; import com.kidgrow.common.model.SysOrganization; import com.kidgrow.common.service.impl.SuperServiceImpl; +import com.kidgrow.redis.util.RedisConstant; +import com.kidgrow.redis.util.RedisUtils; import com.kidgrow.usercenter.mapper.SysOrganizationMapper; import com.kidgrow.usercenter.service.ISysOrganizationService; import com.kidgrow.usercenter.vo.SysOrganizationVo; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.MapUtils; import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cglib.beans.BeanCopier; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.HashMap; @@ -24,39 +28,46 @@ /** * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br> + * + * @version 1.0 * @Description: 组织架构表<br> * @Project: 用户中心<br> * @CreateDate: Created in 2020-03-31 11:01:35 <br> * @Author: <a href="4345453@kidgrow.com">liuke</a> - * @version 1.0 */ @Slf4j @Service public class SysOrganizationServiceImpl extends SuperServiceImpl<SysOrganizationMapper, SysOrganization> implements ISysOrganizationService { + @Autowired + RedisUtils redisUtils; + /** * 列表 + * * @param params * @return */ @Override - public PageResult<SysOrganization> findList(Map<String, Object> params){ + public PageResult<SysOrganization> findList(Map<String, Object> params) { Page<SysOrganization> page = new Page<>(MapUtils.getInteger(params, "page"), MapUtils.getInteger(params, "limit")); - List<SysOrganization> list = baseMapper.findList(page, params); + List<SysOrganization> list = baseMapper.findList(page, params); return PageResult.<SysOrganization>builder().data(list).code(0).count(page.getTotal()).build(); } /** - * 根据SysOrganization对象当做查询条件进行查询 - * @param sysOrganization - * @return SysOrganization - */ + * 根据SysOrganization对象当做查询条件进行查询 + * + * @param sysOrganization + * @return SysOrganization + */ @Override - public SysOrganization findByObject(SysOrganization sysOrganization){ + public SysOrganization findByObject(SysOrganization sysOrganization) { return baseMapper.findByObject(sysOrganization); } /** * 根据用户 获取组织 + * * @param userId * @return */ @@ -67,6 +78,7 @@ /** * 根据map 查询, 将参数中的 access_token 去掉 + * * @param params * @return */ @@ -75,14 +87,14 @@ //将access_token 参数去掉 params.remove("access_token"); List<SysOrganization> sysOrganizations = baseMapper.selectByMap(params); - List<SysOrganizationVo> sysOrganizationVos=new ArrayList<>(); - sysOrganizations.forEach(e ->{ - if(e.getOrgParentId()!=null){ - SysOrganizationVo sysOrganizationVo=new SysOrganizationVo(); + List<SysOrganizationVo> sysOrganizationVos = new ArrayList<>(); + sysOrganizations.forEach(e -> { + if (e.getOrgParentId() != null) { + SysOrganizationVo sysOrganizationVo = new SysOrganizationVo(); BeanCopier beanCopier = BeanCopier.create(SysOrganization.class, SysOrganizationVo.class, false); - beanCopier.copy(e,sysOrganizationVo,null); + beanCopier.copy(e, sysOrganizationVo, null); SysOrganization sysOrganization = baseMapper.selectById(e.getOrgParentId()); - if(sysOrganization!=null){ + if (sysOrganization != null) { sysOrganizationVo.setOrgParentName(sysOrganization.getOrgName()); } sysOrganizationVos.add(sysOrganizationVo); @@ -93,31 +105,35 @@ /** * 更新状态 + * * @param params * @return */ @Override public ResultBody updateEnabled(Map<String, Object> params) { Long id = MapUtils.getLong(params, "id"); - if(id==null){ + if (id == null) { return ResultBody.failed("请选取一条数据"); } SysOrganization sysOrganization = baseMapper.selectById(id); if (sysOrganization != null) { - sysOrganization.setEnabled(MapUtils.getBoolean(params,"enabled")); + sysOrganization.setEnabled(MapUtils.getBoolean(params, "enabled")); int i = baseMapper.updateById(sysOrganization); - if(i>0){ - return ResultBody.ok(); - }else { + redisUtils.hdel(RedisConstant.ORGANIZATION, sysOrganization.getId().toString()); + redisUtils.hset(RedisConstant.ORGANIZATION, sysOrganization.getId().toString(), sysOrganization); + if (i > 0) { + return ResultBody.ok(); + } else { return ResultBody.failed("更新失败"); } - }else { + } else { return ResultBody.failed("更新失败"); } } /** * 获取树状图 + * * @param params * @return */ @@ -130,27 +146,49 @@ /** * 将数据 封装成 tree (递归方式) + * * @param MyId * @param sysOrganizations * @return */ - public List<Map<String,Object>> getTreeData(Long MyId,List<SysOrganization> sysOrganizations){ - List<Map<String,Object>> listMap=new ArrayList<>(); + public List<Map<String, Object>> getTreeData(Long MyId, List<SysOrganization> sysOrganizations) { + List<Map<String, Object>> listMap = new ArrayList<>(); Map<Long, SysOrganization> collect = sysOrganizations.stream().collect(Collectors.toMap(SysOrganization::getId, SysOrganization -> SysOrganization)); - List<Long> idList = sysOrganizations.stream().filter(e -> e.getOrgParentId()==MyId).map(e -> e.getId()).collect(Collectors.toList()); - for (Long id:idList - ) { - Map<String,Object> map=new HashMap<>(); - map.put("id",id); - map.put("name",collect.get(id).getOrgName()); - map.put("level",collect.get(id).getOrgLevel()); + List<Long> idList = sysOrganizations.stream().filter(e -> e.getOrgParentId() == MyId).map(e -> e.getId()).collect(Collectors.toList()); + for (Long id : idList + ) { + Map<String, Object> map = new HashMap<>(); + map.put("id", id); + map.put("name", collect.get(id).getOrgName()); + map.put("level", collect.get(id).getOrgLevel()); List<Long> childs = sysOrganizations.stream().filter(e -> e.getOrgParentId() == id).map(e -> e.getId()).collect(Collectors.toList()); - if(childs.size()>0){ + if (childs.size() > 0) { List<Map<String, Object>> treeData = getTreeData(id, sysOrganizations); - map.put("children",treeData); + map.put("children", treeData); } listMap.add(map); } return listMap; } + + /** + * 保存或者更新 + * + * @param sysOrganization + * @return + */ + @Override + @Transactional + public boolean saveOrUpdateSer(SysOrganization sysOrganization) { + if (sysOrganization.getId() == null) { + //保存 + baseMapper.insert(sysOrganization); + } else { + //更新 + int i = baseMapper.updateById(sysOrganization); + } + redisUtils.hdel(RedisConstant.ORGANIZATION, sysOrganization.getId().toString()); + redisUtils.hset(RedisConstant.ORGANIZATION, sysOrganization.getId().toString(), sysOrganization); + return true; + } } -- Gitblit v1.8.0