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 |   64 +++++++++++++++++++++++++++++++-
 1 files changed, 62 insertions(+), 2 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 7160b8b..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,14 +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;
@@ -64,6 +71,9 @@
 
     @Autowired
     private DepartmentDataPermissionAware departmentDataPermissionAware;
+
+    @Autowired
+    private CompanyDepartmentMapper companyDepartmentMapper;
 
     @Override
     public Integer create(SystemUser systemUser) {
@@ -148,10 +158,37 @@
 //            pageWrap.getModel().setDepartmentIds(collect);
         }
         LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
-        pageWrap.getModel().setType(loginUserInfo.getType());
+//        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());
@@ -260,13 +297,36 @@
 
         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