From cdd6551b190b981b807a3b95e9635c559ccc769d Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期一, 19 五月 2025 09:45:07 +0800
Subject: [PATCH] git ch

---
 server/service/src/main/java/com/doumee/service/system/impl/SystemUserServiceImpl.java |   87 +++++++++++++++++++++++++++++--------------
 1 files changed, 58 insertions(+), 29 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 f93f8c0..45e92a2 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,23 @@
 
 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.model.Company;
+import com.doumee.dao.business.model.CompanyDepartment;
+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 +73,9 @@
 
     @Autowired
     private DepartmentDataPermissionAware departmentDataPermissionAware;
+
+    @Autowired
+    private CompanyDepartmentMapper companyDepartmentMapper;
 
     @Override
     public Integer create(SystemUser systemUser) {
@@ -148,7 +160,7 @@
 //            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());
@@ -170,29 +182,25 @@
     @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);
-        }
+        IPage<Company> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+        Utils.MP.blankToNull(pageWrap.getModel());
+        pageWrap.getModel().setType(Constants.UserType.COMPANY.getKey());//鏌ヨ浼佷笟绫诲瀷
         // 鎵ц鏌ヨ
-        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));
+        MPJLambdaWrapper<SystemUser> wrapper = new MPJLambdaWrapper<>();
+        wrapper .selectAll(SystemUser.class)
+                .select("(select count(distinct(a.company_id) from company_permisson a where a.user_id=t.id and a.ideleted=0 and a.type=1)",SystemUser::getAuthNum)
+                .selectAs(Company::getName,SystemUser::getCompanyName)
+                .selectAs(CompanyDepartment::getName,SystemUser::getDepartmentName)
+                .leftJoin(Company.class,Company::getId,SystemUser::getCompanyId)
+                .leftJoin(CompanyDepartment.class,CompanyDepartment::getId,SystemUser::getDepartmentId)
+                .eq( pageWrap.getModel().getDepartmentId() !=null,SystemUser::getDepartmentId, pageWrap.getModel().getDepartmentId())
+                .eq( pageWrap.getModel().getStatus() !=null,SystemUser::getStatus, pageWrap.getModel().getStatus())
+                .like(StringUtils.isNotBlank(pageWrap.getModel().getMobile()),SystemUser::getMobile, pageWrap.getModel().getMobile())
+                .like(StringUtils.isNotBlank(pageWrap.getModel().getRealname()),SystemUser::getRealname, pageWrap.getModel().getRealname())
+                .like(StringUtils.isNotBlank(pageWrap.getModel().getUsername()),SystemUser::getUsername, pageWrap.getModel().getUsername())
+                .like(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()),SystemUser::getCompanyName, pageWrap.getModel().getCompanyName());
+        IPage<SystemUserListVO> result =  systemUserMapper.selectJoinPage(page,SystemUserListVO.class,wrapper);
+        return  PageData.from(result);
     }
 
     @Override
@@ -261,14 +269,12 @@
         Utils.MP.blankToNull(pageWrap.getModel());
         queryWrapper.selectAll(SystemUser.class);
         queryWrapper.eq(SystemUser::getDeleted, Constants.ZERO);
-        queryWrapper.and(StringUtils.isNotBlank(pageWrap.getModel().getUsername()),ms->ms.like(SystemUser::getUsername,pageWrap.getModel().getUsername())
-        .or().like(SystemUser::getMobile,pageWrap.getModel().getUsername())
+        queryWrapper.and(StringUtils.isNotBlank(pageWrap.getModel().getUsername()),
+                ms->ms.like(SystemUser::getUsername,pageWrap.getModel().getUsername())
+                    .or().like(SystemUser::getMobile,pageWrap.getModel().getUsername())
                 .or().like(SystemUser::getRealname,pageWrap.getModel().getUsername())
         );
         queryWrapper.orderByDesc(SystemUser::getCreateTime);
-
-
-
         IPage<SystemUser> result = systemUserJoinMapper.selectJoinPage(page, SystemUser.class, queryWrapper);
 
         return PageData.from(result);
@@ -287,13 +293,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