From 8d384b6f5e510fd23f30061b0678abceb624c2a3 Mon Sep 17 00:00:00 2001
From: zhaoxiaohao <913652501@qq.com>
Date: Fri, 24 Apr 2020 11:39:25 +0800
Subject: [PATCH] 添加数据权限的功能

---
 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysOrganizationServiceImpl.java |   51 ++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 50 insertions(+), 1 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 d815af8..f217783 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
@@ -158,7 +158,7 @@
         for (Long id : idList
         ) {
             Map<String, Object> map = new HashMap<>();
-            map.put("id", id);
+            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());
@@ -180,15 +180,64 @@
     @Override
     @Transactional
     public boolean saveOrUpdateSer(SysOrganization sysOrganization) {
+        //获取code
+
         if (sysOrganization.getId() == null) {
             //保存
+            String code = this.getCode(sysOrganization);
+            sysOrganization.setOrgCode(code);
             baseMapper.insert(sysOrganization);
         } else {
             //更新
+            SysOrganization sysOrg = baseMapper.selectById(sysOrganization.getId());
+            if(sysOrg.getOrgParentId()!=sysOrganization.getOrgParentId()){
+                String code = this.getCode(sysOrganization);
+                sysOrganization.setOrgCode(code);
+            }
             int i = baseMapper.updateById(sysOrganization);
         }
         redisUtils.hdel(RedisConstant.ORGANIZATION, sysOrganization.getId().toString());
         redisUtils.hset(RedisConstant.ORGANIZATION, sysOrganization.getId().toString(), sysOrganization);
         return true;
     }
+
+
+    /**
+     * 获取自己组织的code
+     * @param sysOrganization
+     * @return
+     */
+    public String getCode(SysOrganization sysOrganization){
+        //获取父级
+        Long orgParentId = sysOrganization.getOrgParentId();
+        if (orgParentId == null) {
+            return null;
+        }
+        SysOrganization sysOrg = baseMapper.selectById(orgParentId);
+        if(sysOrg!=null){
+            String orgCode = sysOrg.getOrgCode();
+            //查询
+            QueryWrapper queryWrapper=new QueryWrapper();
+            queryWrapper.eq("org_parent_id",sysOrg.getId());
+            queryWrapper.orderByAsc("id");
+            List<SysOrganization> list = baseMapper.selectList(queryWrapper);
+            if (list.size()>0) {
+                SysOrganization sysOrganizationLast = list.get(list.size() - 1);
+                String orgCodeLast = sysOrganizationLast.getOrgCode();
+                String orgCodeLastQianZhui=orgCodeLast.substring(0,orgCodeLast.length() - 4);
+                Integer codenum = Integer.valueOf(orgCodeLast.substring(orgCodeLast.length() - 4));
+                String str="0000";
+                str+=(codenum+1);
+                String substring = str.substring(str.length() - 4);
+                return orgCodeLastQianZhui+substring;
+            }else {
+                String fucode = sysOrg.getOrgCode();
+                String str="0001";
+                return fucode+str;
+            }
+
+        }
+        return null;
+    }
+
 }

--
Gitblit v1.8.0