Kaynağa Gözat

用户增加数据权限

wangyangyang 4 yıl önce
ebeveyn
işleme
6b8cb44423

+ 2 - 1
user_center/src/main/java/com/huaxu/dao/UserMapper.java

@@ -4,6 +4,7 @@ import com.huaxu.entity.UserEntity;
 import java.io.Serializable;
 import java.util.List;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.huaxu.model.ProgramItem;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -22,7 +23,7 @@ public interface UserMapper extends BaseMapper<UserEntity> {
      * @param  page 
      * @param  userEntity 实体类
      */
-     Page<UserEntity> findPage(IPage<UserEntity> page, @Param("user") UserEntity userEntity);
+     Page<UserEntity> findPage(IPage<UserEntity> page, @Param("user") UserEntity userEntity, @Param("userType") String userType,@Param("list") Long[] list);
 
      UserEntity findUserById(Serializable id);
 

+ 14 - 2
user_center/src/main/java/com/huaxu/service/UserService.java

@@ -8,6 +8,7 @@ import com.huaxu.entity.UserEntity;
 import com.huaxu.entity.UserRoleEntity;
 import com.huaxu.entity.UserTagEntity;
 import com.huaxu.model.LoginUser;
+import com.huaxu.model.ProgramItem;
 import com.huaxu.util.UserUtil;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -40,8 +41,19 @@ public class UserService extends ServiceImpl<UserMapper,UserEntity> {
 	 */
 	public IPage<UserEntity> findPage(IPage<UserEntity> page, UserEntity userEntity) {
 		LoginUser currentUser = UserUtil.getCurrentUser();
-		userEntity.setTenantId(currentUser.getTenantId());
-		Page<UserEntity> userPage = userMapper.findPage(page, userEntity);
+		List<ProgramItem> programItems = new ArrayList<ProgramItem>();
+		Long[] ids = null;
+		if (currentUser != null) {
+			userEntity.setTenantId(currentUser.getTenantId());
+			programItems = currentUser.getProgramItemList();
+			if (programItems!=null &&programItems.size() > 0) {
+				ids = new Long[programItems.size()];
+				for ( int i=0;i< programItems.size();i++) {
+					ids[i]= Long.valueOf(programItems.get(i).getOrgId());
+				}
+			}
+		}
+		Page<UserEntity> userPage = userMapper.findPage(page, userEntity, currentUser.getType(), ids);
 		return userPage;
 	}
 

+ 12 - 0
user_center/src/main/resources/mapper/UserMapper.xml

@@ -97,6 +97,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                      or a.COMPANY_ORG_ID = #{user.companyOrgId}
                   )
             </if>
+           <if test="userType != null  and userType != '' and '2'.toString() == userType.toString() and list != null">
+                and ( a.DEPT_ORG_ID in
+                       <foreach collection="list" item="item" open="(" close=")" separator=",">
+                           #{item}
+                       </foreach>
+                       or
+                     a.COMPANY_ORG_ID in
+                        <foreach collection="list" item="item" open="(" close=")" separator=",">
+                            #{item}
+                        </foreach>
+                )
+           </if>
 		</where>
         order by a.date_create desc
 	 </select>