From b693c55ed17cc94efb45ea595341d443bfd4259d Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期六, 23 十一月 2024 09:19:04 +0800
Subject: [PATCH] git ch

---
 server/service/src/main/java/com/doumee/service/system/impl/SystemUserServiceImpl.java |   98 +++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 95 insertions(+), 3 deletions(-)

diff --git a/server/service/src/main/java/com/doumee/service/system/impl/SystemUserServiceImpl.java b/server/service/src/main/java/com/doumee/service/system/impl/SystemUserServiceImpl.java
index 1e0c554..90b7b16 100644
--- a/server/service/src/main/java/com/doumee/service/system/impl/SystemUserServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/system/impl/SystemUserServiceImpl.java
@@ -2,13 +2,21 @@
 
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.doumee.biz.system.SystemDictDataBiz;
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
+import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Constants;
 import com.doumee.core.utils.Utils;
+import com.doumee.dao.business.CompanyDepartmentMapper;
+import com.doumee.dao.business.model.Company;
+import com.doumee.dao.business.model.CompanyDepartment;
+import com.doumee.dao.business.model.Member;
 import com.doumee.dao.system.SystemUserJoinMapper;
 import com.doumee.dao.system.SystemUserMapper;
 import com.doumee.dao.system.dto.QuerySystemUserDTO;
@@ -25,6 +33,7 @@
 import com.github.pagehelper.PageInfo;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import org.apache.commons.lang3.StringUtils;
+import org.apache.shiro.SecurityUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -62,6 +71,9 @@
 
     @Autowired
     private DepartmentDataPermissionAware departmentDataPermissionAware;
+
+    @Autowired
+    private CompanyDepartmentMapper companyDepartmentMapper;
 
     @Override
     public Integer create(SystemUser systemUser) {
@@ -102,9 +114,16 @@
 
     @Override
     public SystemUser findById(Integer id) {
+        LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+
         MPJLambdaWrapper<SystemUser> queryWrapper = new MPJLambdaWrapper<>();
         queryWrapper.selectAll(SystemUser.class);
         queryWrapper.eq(SystemUser::getId,id );
+        queryWrapper.eq(SystemUser::getType,loginUserInfo.getType() );
+        if(!Constants.equalsInteger(loginUserInfo.getType(),Constants.ZERO)){
+            //濡傛灉鏄紒涓氳处鍙�
+            queryWrapper.eq(SystemUser::getCompanyId,loginUserInfo.getCompanyId() );
+        }
         queryWrapper.orderByDesc(SystemUser::getCreateTime);
         SystemUser  result = systemUserJoinMapper.selectJoinOne( SystemUser.class, queryWrapper);
         return result;
@@ -112,12 +131,18 @@
 
     @Override
     public SystemUser findOne(SystemUser systemUser) {
-        Wrapper<SystemUser> wrapper = new QueryWrapper<>(systemUser);
+        Wrapper<SystemUser> wrapper = new QueryWrapper<SystemUser>(systemUser).last("limit 1");
         return systemUserMapper.selectOne(wrapper);
     }
 
     @Override
     public List<SystemUser> findList(SystemUser systemUser) {
+        LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+        systemUser.setType(loginUserInfo.getType());
+        if(!Constants.equalsInteger(loginUserInfo.getType(),Constants.ZERO)){
+            //濡傛灉鏄紒涓氳处鍙�
+            systemUser.setCompanyId(loginUserInfo.getCompanyId());
+        }
         Wrapper<SystemUser> wrapper = new QueryWrapper<>(systemUser);
         return systemUserMapper.selectList(wrapper);
     }
@@ -131,6 +156,39 @@
 //            List<SystemDepartment> list = systemDepartmentService.findList(new QueryWrapper<>());
 //            List<Integer> collect = list.stream().map(s -> s.getId()).collect(Collectors.toList());
 //            pageWrap.getModel().setDepartmentIds(collect);
+        }
+        LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+//        pageWrap.getModel().setType(loginUserInfo.getType());
+        if(!Constants.equalsInteger(loginUserInfo.getType(),Constants.ZERO)){
+            //濡傛灉鏄紒涓氳处鍙�
+            pageWrap.getModel().setCompanyId(loginUserInfo.getCompanyId());
+        }
+        // 鎵ц鏌ヨ
+        PageHelper.startPage(pageWrap.getPage(), pageWrap.getCapacity());
+        List<SystemUserListVO> userList = systemUserMapper.selectManageList(pageWrap.getModel(), pageWrap.getOrderByClause());
+        String zhuboRoomUrl = systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.ZHUBO_ROOM_URL).getCode();
+
+        for (SystemUserListVO user : userList) {
+            // 鏌ヨ鐢ㄦ埛瑙掕壊鍒楄〃
+            user.setRoles(systemRoleService.findByUserId(user.getId()));
+            // 鏌ヨ鐢ㄦ埛宀椾綅鍒楄〃
+//            user.setPositions(systemPositionService.findByUserId(user.getId()));
+            user.setZhuboRoomUrl(zhuboRoomUrl);
+        }
+        return PageData.from(new PageInfo<>(userList));
+    }
+    @Override
+    public PageData<SystemUserListVO> findPageCompany(PageWrap<QuerySystemUserDTO> pageWrap) {
+        // 鏍归儴闂ㄦ潯浠跺鐞嗭紙闇�鏌ヨ鏍归儴闂ㄤ笅鎵�鏈夐儴闂ㄧ殑鐢ㄦ埛锛�
+        if (pageWrap.getModel().getRootDeptId() != null) {
+//            pageWrap.getModel().setDepartmentIds(getDeptIds(pageWrap.getModel().getRootDeptId()));
+        } else {
+//            List<SystemDepartment> list = systemDepartmentService.findList(new QueryWrapper<>());
+//            List<Integer> collect = list.stream().map(s -> s.getId()).collect(Collectors.toList());
+//            pageWrap.getModel().setDepartmentIds(collect);
+        }
+        if (pageWrap.getModel().getCompanyId() == null) {
+            pageWrap.getModel().setCompanyId(-1);
         }
         // 鎵ц鏌ヨ
         PageHelper.startPage(pageWrap.getPage(), pageWrap.getCapacity());
@@ -202,7 +260,12 @@
 
     @Override
     public PageData<SystemUser> findAllList(PageWrap<SystemUser> pageWrap) {
-
+        LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+        pageWrap.getModel().setType(loginUserInfo.getType());
+        if(!Constants.equalsInteger(loginUserInfo.getType(),Constants.ZERO)){
+            //濡傛灉鏄紒涓氳处鍙�
+            pageWrap.getModel().setCompanyId(loginUserInfo.getCompanyId());
+        }
         IPage<SystemUser> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
         MPJLambdaWrapper<SystemUser> queryWrapper = new MPJLambdaWrapper<>();
         Utils.MP.blankToNull(pageWrap.getModel());
@@ -224,17 +287,46 @@
 
     @Override
     public List<SystemUser> findAllList(SystemUser pageWrap){
+        LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+        pageWrap.setType(loginUserInfo.getType());
+        if(!Constants.equalsInteger(loginUserInfo.getType(),Constants.ZERO)){
+            //濡傛灉鏄紒涓氳处鍙�
+            pageWrap.setCompanyId(loginUserInfo.getCompanyId());
+        }
         MPJLambdaWrapper<SystemUser> queryWrapper = new MPJLambdaWrapper<>();
 
         queryWrapper.selectAll(SystemUser.class);
         queryWrapper.eq(SystemUser::getDeleted, Constants.ZERO)
-                    .eq(SystemUser::getType,pageWrap.getType());
+                    .eq(SystemUser::getType,pageWrap.getType())
+                    .eq(SystemUser::getCompanyId,loginUserInfo.getCompanyId())
+               ;
         queryWrapper.orderByDesc(SystemUser::getCreateTime);
         List<SystemUser> result = systemUserJoinMapper.selectJoinList(SystemUser.class, queryWrapper);
 
         return result;
     }
 
+    @Override
+    public void updateHead(SystemUser systemUser) {
+        SystemUser model  =systemUserJoinMapper.selectById(systemUser.getId());
+        if(model ==null) {
+            throw  new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝浜哄憳淇℃伅涓嶅瓨鍦紒");
+        }
+        if(model.getDepartmentId()!=null) {
+            if(Constants.equalsInteger(systemUser.getHeadStatus(),Constants.ONE)){
+                //濡傛灉鏄彇娑堜富绠�
+                companyDepartmentMapper.update(null,new UpdateWrapper<CompanyDepartment>().lambda()
+                        .eq(CompanyDepartment::getId,model.getDepartmentId())
+                        .set(CompanyDepartment::getHeadId,model.getId()));
+            }else{
+                //濡傛灉鏄涓轰富绠�
+                companyDepartmentMapper.update(null,new UpdateWrapper<CompanyDepartment>().lambda()
+                        .eq(CompanyDepartment::getId,model.getDepartmentId())
+                        .set(CompanyDepartment::getHeadId,null)
+                );
+            }
+        }
+    }
 
 
 

--
Gitblit v1.9.3