dcs 1 rok pred
rodič
commit
771eb13f2d

+ 11 - 0
virgo.core/src/main/java/com/bosshand/virgo/core/model/MgrRole.java

@@ -20,6 +20,8 @@ public class MgrRole {
 
     private List<MgrRole> children;
 
+    private List<MgrUser> users;
+
     public long getId() {
         return id;
     }
@@ -83,4 +85,13 @@ public class MgrRole {
     public void setChildren(List<MgrRole> children) {
         this.children = children;
     }
+
+    public List<MgrUser> getUsers() {
+        return users;
+    }
+
+    public void setUsers(List<MgrUser> users) {
+        this.users = users;
+    }
+
 }

+ 4 - 4
virgo.core/src/main/resources/mapper/MgrUserMapper.xml

@@ -50,8 +50,8 @@
 </select>
 
 <insert id="insert" parameterType="com.bosshand.virgo.core.model.MgrUser" useGeneratedKeys="true" keyProperty="id">
-	INSERT into mgr_user(name, sex, phone, email, portrait, create_time, rsonal_signature, id_card, practice_certificate, practice_seal, lastOrganizationId)
-	values(#{name}, #{sex}, #{phone}, #{email}, #{portrait}, #{createTime}, #{rsonalSignature}, #{idCard}, #{practiceCertificate}, #{practiceSeal}, #{lastOrganizationId})
+	INSERT into mgr_user(name, sex, phone, email, portrait, create_time, rsonal_signature, id_card, practice_certificate, practice_seal)
+	values(#{name}, #{sex}, #{phone}, #{email}, #{portrait}, #{createTime}, #{rsonalSignature}, #{idCard}, #{practiceCertificate}, #{practiceSeal})
 </insert>
 
 <delete id="delete">
@@ -77,8 +77,8 @@
 			<if test="portrait!=null">portrait=#{portrait},</if>
 			<if test="face!=null">face=#{face},</if>
 			<if test="faceStatus!=0">faceStatus=#{faceStatus},</if>
-			<if test="lastOrganizationId!=null">lastOrganizationId=#{lastOrganizationId},</if>
-			<if test="lastProjectId!=null">lastProjectId=#{lastProjectId},</if>
+			<if test="lastOrganizationId!=0">lastOrganizationId=#{lastOrganizationId},</if>
+			<if test="lastProjectId!=0">lastProjectId=#{lastProjectId},</if>
 			<if test="rsonalSignature!=null">rsonal_signature=#{rsonalSignature},</if>
 			<if test="idCard!=null">id_card=#{idCard},</if>
 			<if test="practiceCertificate!=null">practice_certificate=#{practiceCertificate},</if>

+ 30 - 1
virgo.manager/src/main/java/com/bosshand/virgo/service/RoleService.java

@@ -1,19 +1,29 @@
 package com.bosshand.virgo.service;
 
 import com.bosshand.virgo.core.dao.MgrRoleDao;
+import com.bosshand.virgo.core.dao.MgrUserDao;
+import com.bosshand.virgo.core.dao.MgrUserRoleDao;
 import com.bosshand.virgo.core.model.MgrRole;
+import com.bosshand.virgo.core.model.MgrUserRole;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 
 @Service
-public class RoleService {
+public class RoleService{
 
     @Autowired
     MgrRoleDao mgrRoleDao;
 
+    @Autowired
+    MgrUserDao mgrUserDao;
+
+    @Autowired
+    MgrUserRoleDao mgrUserRoleDao;
+
     public int save(MgrRole mgrRole) {
         return mgrRoleDao.insert(mgrRole);
     }
@@ -28,6 +38,24 @@ public class RoleService {
 
     public List<MgrRole> getList(long projectId, long organizationId) {
         List<MgrRole> list = mgrRoleDao.getList(projectId, organizationId);
+
+        List<MgrUserRole> mgrUserRoleList = mgrUserRoleDao.getOrganizationId(organizationId);
+        List<Long> userIds = new ArrayList<>();
+        for (MgrRole role : list) {
+            userIds.clear();
+            for (MgrUserRole mur : mgrUserRoleList) {
+                if (mur.getRoles() != null) {
+                    List<String> ll = new ArrayList<>(Arrays.asList(mur.getRoles().split(",")));
+                    if (ll.contains(String.valueOf(role.getId()))) {
+                        userIds.add(mur.getUserId());
+                    }
+                }
+            }
+            if (userIds.size() > 0) {
+                role.setUsers(mgrUserDao.getIds(userIds));
+            }
+        }
+
         List<Long> ids = new ArrayList<>();
         list.forEach(ls -> {
             if (ls.getParentId() == -1) {
@@ -72,4 +100,5 @@ public class RoleService {
         }
         return nodeList;
     }
+
 }