From f63d3a3be83fea258e7920efccd2567b6a511bb3 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期四, 16 一月 2025 16:52:46 +0800
Subject: [PATCH] 最新版本541200007

---
 server/system_service/src/main/java/com/doumee/service/system/impl/SystemUserServiceImpl.java |  122 ++++++++++++++++++++++++++++++++++------
 1 files changed, 102 insertions(+), 20 deletions(-)

diff --git a/server/system_service/src/main/java/com/doumee/service/system/impl/SystemUserServiceImpl.java b/server/system_service/src/main/java/com/doumee/service/system/impl/SystemUserServiceImpl.java
index 31d410b..0d52a93 100644
--- a/server/system_service/src/main/java/com/doumee/service/system/impl/SystemUserServiceImpl.java
+++ b/server/system_service/src/main/java/com/doumee/service/system/impl/SystemUserServiceImpl.java
@@ -2,15 +2,18 @@
 
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+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.model.PageData;
-import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.Member;
+import com.doumee.service.business.third.model.PageData;
+import com.doumee.service.business.third.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.system.SystemUserJoinMapper;
 import com.doumee.dao.system.SystemUserMapper;
 import com.doumee.dao.system.dto.QuerySystemUserDTO;
-import com.doumee.dao.system.model.SystemDepartment;
 import com.doumee.dao.system.model.SystemUser;
 import com.doumee.dao.system.vo.SystemDepartmentListVO;
 import com.doumee.dao.system.vo.SystemUserListVO;
@@ -31,7 +34,7 @@
 
 import java.util.ArrayList;
 import java.util.List;
-import java.util.stream.Collectors;
+import java.util.Objects;
 
 /**
  * 绯荤粺鐢ㄦ埛Service瀹炵幇
@@ -112,14 +115,27 @@
 
     @Override
     public SystemUser findOne(SystemUser systemUser) {
-        Wrapper<SystemUser> wrapper = new QueryWrapper<>(systemUser);
-        return systemUserMapper.selectOne(wrapper);
+        QueryWrapper<SystemUser> wrapper = new QueryWrapper<SystemUser>(systemUser);
+        return systemUserMapper.selectOne(wrapper.lambda().last("limit 1"));
     }
 
     @Override
     public List<SystemUser> findList(SystemUser systemUser) {
-        Wrapper<SystemUser> wrapper = new QueryWrapper<>(systemUser);
-        return systemUserMapper.selectList(wrapper);
+        MPJLambdaWrapper<SystemUser> wrapper = new MPJLambdaWrapper<>();
+        wrapper.selectAll(SystemUser.class )
+                .selectAs(Company::getName,SystemUser::getCompanyName)
+                .eq(SystemUser::getDeleted,Constants.ZERO)
+                .leftJoin(Company.class,Company::getId,SystemUser::getCompanyId)
+                .eq( systemUser.getCompanyId() !=null,SystemUser::getCompanyId,systemUser.getCompanyId())
+                .eq( systemUser.getCompanyType() !=null,Company::getType,systemUser.getCompanyType())
+                .like(StringUtils.isNotBlank(systemUser.getRealname()),SystemUser::getRealname,systemUser.getRealname())
+                .like(StringUtils.isNotBlank(systemUser.getMobile()),SystemUser::getMobile,systemUser.getMobile())
+                .like(StringUtils.isNotBlank(systemUser.getUsername()),SystemUser::getUsername,systemUser.getUsername())
+                .like(StringUtils.isNotBlank(systemUser.getCompanyName()),Company::getName,systemUser.getCompanyName())
+                .orderByAsc( Company::getPinyin )
+                .orderByAsc(SystemUser::getPinyin)
+    ;
+        return systemUserMapper.selectJoinList(SystemUser.class,wrapper);
     }
 
     @Override
@@ -139,6 +155,15 @@
             List<Integer> collect = list.stream().map(s -> s.getId()).collect(Collectors.toList());
             pageWrap.getModel().setDepartmentIds(collect);
         }*/
+
+        //鏌ヨ鐗规畩鐨�42浜洪厤缃�
+        if(Objects.nonNull(pageWrap.getModel()) && Constants.equalsInteger(pageWrap.getModel().getQuerySpecial(),Constants.ONE)){
+            String companySpecialId = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.SPECIAL_COMPANY_ID).getCode();
+            if(StringUtils.isNotBlank(companySpecialId)){
+                pageWrap.getModel().setCompanySpecialId(companySpecialId);
+            }
+        }
+
         // 鎵ц鏌ヨ
         PageHelper.startPage(pageWrap.getPage(), pageWrap.getCapacity());
         List<SystemUserListVO> userList = systemUserMapper.selectManageList(pageWrap.getModel(), pageWrap.getOrderByClause());
@@ -149,6 +174,19 @@
 //            user.setPositions(systemPositionService.findByUserId(user.getId()));
         }
         return PageData.from(new PageInfo<>(userList));
+    }
+    @Override
+    public PageData<SystemUser> findDriverPage(PageWrap<SystemUser> pageWrap) {
+        IPage<SystemUser> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+        QueryWrapper<SystemUser> queryWrapper = new QueryWrapper<>();
+        Utils.MP.blankToNull(pageWrap.getModel());
+        queryWrapper.lambda()
+                .like(StringUtils.isNotBlank(pageWrap.getModel().getRealname()),SystemUser::getRealname,pageWrap.getModel().getRealname())
+                .like(StringUtils.isNotBlank(pageWrap.getModel().getMobile()),SystemUser::getMobile,pageWrap.getModel().getMobile())
+                .like(StringUtils.isNotBlank(pageWrap.getModel().getUsername()),SystemUser::getUsername,pageWrap.getModel().getUsername())
+                .eq( pageWrap.getModel().getType()!=null,SystemUser::getType,pageWrap.getModel().getType())
+                .eq (SystemUser::getDeleted,Constants.ZERO);
+        return PageData.from(systemUserMapper.selectPage(page, queryWrapper));
     }
 
     @Override
@@ -205,20 +243,52 @@
 
 
     @Override
-    public List<SystemUser> findAllList(SystemUser pageWrap) {
+    public List<SystemUser> findAllList(SystemUser systemUser) {
 
+        //鏌ヨ鐗规畩鐨�42浜洪厤缃�
+        if( Constants.equalsInteger(systemUser.getQuerySpecial(),Constants.ONE)){
+            String companySpecialId = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.SPECIAL_COMPANY_ID).getCode();
+            if(StringUtils.isNotBlank(companySpecialId)){
+                systemUser.setCompanySpecialId(companySpecialId);
+            }
+        }
 
-        MPJLambdaWrapper<SystemUser> queryWrapper = new MPJLambdaWrapper<>();
-        Utils.MP.blankToNull(pageWrap);
-        queryWrapper.selectAll(SystemUser.class);
-        queryWrapper.eq(SystemUser::getDeleted, Constants.ZERO);
-        queryWrapper.and(StringUtils.isNotBlank(pageWrap.getUsername()),ms->ms.like(SystemUser::getUsername,pageWrap.getUsername())
-        .or().like(SystemUser::getMobile,pageWrap.getUsername())
-                .or().like(SystemUser::getRealname,pageWrap.getUsername())
-        );
-        queryWrapper.orderByDesc(SystemUser::getCreateTime);
-
-        List<SystemUser> result = systemUserJoinMapper.selectJoinList( SystemUser.class, queryWrapper);
+        MPJLambdaWrapper<SystemUser> wrapper = new MPJLambdaWrapper<>();
+        wrapper.selectAll(SystemUser.class )
+                .selectAs(Company::getCompanyNamePath,SystemUser::getCompanyName)
+                .selectAs(Member::getFaceImg,SystemUser::getFaceImg)
+                .eq(SystemUser::getDeleted,Constants.ZERO)
+                .leftJoin(Company.class,Company::getId,SystemUser::getCompanyId)
+                .leftJoin(Member.class,Member::getId,SystemUser::getMemberId)
+                .and(StringUtils.isNotBlank(systemUser.getUsername()),ms->ms.like(SystemUser::getUsername,systemUser.getUsername())
+                        .or().like(SystemUser::getMobile,systemUser.getUsername())
+                        .or().like(SystemUser::getRealname,systemUser.getUsername()))
+                .and(StringUtils.isNotBlank(systemUser.getQueryParam()),ms->ms.like(SystemUser::getUsername,systemUser.getUsername())
+                        .or().like(SystemUser::getMobile,systemUser.getQueryParam())
+                        .or().like(Company::getName,systemUser.getQueryParam())
+                        .or().like(SystemUser::getRealname,systemUser.getQueryParam()))
+                .eq( systemUser.getCompanyId() !=null,SystemUser::getCompanyId,systemUser.getCompanyId())
+                .eq( systemUser.getCompanyType() !=null,Company::getType,systemUser.getCompanyType())
+                .eq( systemUser.getWorkStatus() !=null,Member::getWorkStatus,systemUser.getWorkStatus())
+                .like(StringUtils.isNotBlank(systemUser.getRealname()),SystemUser::getRealname,systemUser.getRealname())
+                .like(StringUtils.isNotBlank(systemUser.getMobile()),SystemUser::getMobile,systemUser.getMobile())
+                .like(StringUtils.isNotBlank(systemUser.getUsername()),SystemUser::getUsername,systemUser.getUsername())
+                .like(StringUtils.isNotBlank(systemUser.getCompanyName()),Company::getName,systemUser.getCompanyName())
+                .apply(StringUtils.isNotBlank(systemUser.getCompanySpecialId())," find_in_set('"+systemUser.getCompanySpecialId()+"',REPLACE(t1.company_path,'/',','))")
+                .orderByAsc( Company::getPinyin )
+                .orderByAsc(SystemUser::getPinyin)
+         ;
+        List<SystemUser> result = systemUserJoinMapper.selectJoinList( SystemUser.class, wrapper);
+        if(result!=null){
+            String prefixUrl = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() +
+                    systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode();
+            for (SystemUser memberInfoDTO:result) {
+                //鎷兼帴鍓嶇紑
+                if (StringUtils.isNotBlank(memberInfoDTO.getFaceImg())) {
+                    memberInfoDTO.setFaceImg(prefixUrl + memberInfoDTO.getFaceImg());
+                }
+            }
+        }
 
         return result;
     }
@@ -227,5 +297,17 @@
 
 
 
+    @Override
+    public List<SystemUser> findInternalList() {
+        MPJLambdaWrapper<SystemUser> queryWrapper = new MPJLambdaWrapper<>();
+        queryWrapper.selectAll(SystemUser.class);
+        queryWrapper.eq(SystemUser::getDeleted, Constants.ZERO);
+        queryWrapper.leftJoin(Company.class,Company::getId,SystemUser::getCompanyId);
+        queryWrapper.eq(Company::getType,Constants.ONE);
+        queryWrapper.orderByAsc(SystemUser::getPinyin);
+        List<SystemUser> result = systemUserJoinMapper.selectJoinList( SystemUser.class, queryWrapper);
+        return result;
+    }
+
 
 }

--
Gitblit v1.9.3