doum
2025-09-19 d8c6b9f7dac473ca1684eff210e29f2c83bff8e7
server/system_service/src/main/java/com/doumee/service/system/impl/SystemUserServiceImpl.java
@@ -5,6 +5,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.doumee.biz.system.SystemDictDataBiz;
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;
@@ -120,8 +121,21 @@
    @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
@@ -229,17 +243,55 @@
    @Override
    public List<SystemUser> findAllList(SystemUser pageWrap) {
        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);
    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> 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)
                .leftJoin(" position p on p.id = t2.POSITION_ID ")
                .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::getSortnum )
                .orderByAsc( " p.SORTNUM " )
                .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;
    }
@@ -252,9 +304,12 @@
        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.orderByDesc(SystemUser::getCreateTime);
        queryWrapper.leftJoin(Company.class,Company::getId,SystemUser::getCompanyId)
                .leftJoin(" position p on p.id = t2.POSITION_ID ");
        queryWrapper.eq(Company::getType,Constants.ONE)
        .orderByAsc( Company::getSortnum )
        .orderByAsc( " p.SORTNUM " )
        .orderByAsc(SystemUser::getPinyin);
        List<SystemUser> result = systemUserJoinMapper.selectJoinList( SystemUser.class, queryWrapper);
        return result;
    }