liukangdong
2024-12-31 cc43c9e4f1ff6dad52ba64095b7cb40841816809
server/system_service/src/main/java/com/doumee/service/system/impl/SystemUserServiceImpl.java
@@ -2,11 +2,16 @@
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.core.utils.Constants;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.model.Company;
import com.doumee.dao.business.model.SmsEmail;
import com.doumee.dao.business.model.vo.ValidPhoneCodeVO;
import com.doumee.dao.system.SystemUserJoinMapper;
import com.doumee.dao.system.SystemUserMapper;
import com.doumee.dao.system.dto.QuerySystemUserDTO;
@@ -14,6 +19,7 @@
import com.doumee.dao.system.model.SystemUser;
import com.doumee.dao.system.vo.SystemDepartmentListVO;
import com.doumee.dao.system.vo.SystemUserListVO;
import com.doumee.dao.system.vo.UserResponse;
import com.doumee.service.aware.DepartmentDataPermissionAware;
import com.doumee.service.system.SystemDepartmentService;
import com.doumee.service.system.SystemPositionService;
@@ -30,6 +36,7 @@
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
@@ -111,8 +118,8 @@
    @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
@@ -120,17 +127,33 @@
        Wrapper<SystemUser> wrapper = new QueryWrapper<>(systemUser);
        return systemUserMapper.selectList(wrapper);
    }
    @Override
    public List<UserResponse> getUserList(Integer bookingsId) {
        return systemUserMapper.getUserList(new QueryWrapper<UserResponse>()
                .exists(" select 1 from meeting_user_rel u where u.USER_ID = c.id and u.ISDELETED = 0  and u.OBJ_ID = "+bookingsId+" and u.OBJ_TYPE = 1  ")
        );
    }
  
    @Override
    public PageData<SystemUserListVO> findPage(PageWrap<QuerySystemUserDTO> pageWrap) {
        // 根部门条件处理(需查询根部门下所有部门的用户)
        if (pageWrap.getModel().getRootDeptId() != null) {
    /*    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);
        }*/
        //查询特殊的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());
@@ -141,6 +164,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
@@ -198,8 +234,6 @@
    @Override
    public List<SystemUser> findAllList(SystemUser pageWrap) {
        MPJLambdaWrapper<SystemUser> queryWrapper = new MPJLambdaWrapper<>();
        Utils.MP.blankToNull(pageWrap);
        queryWrapper.selectAll(SystemUser.class);
@@ -209,11 +243,7 @@
                .or().like(SystemUser::getRealname,pageWrap.getUsername())
        );
        queryWrapper.orderByDesc(SystemUser::getCreateTime);
        List<SystemUser> result = systemUserJoinMapper.selectJoinList( SystemUser.class, queryWrapper);
        return result;
    }
@@ -221,5 +251,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.orderByDesc(SystemUser::getCreateTime);
        List<SystemUser> result = systemUserJoinMapper.selectJoinList( SystemUser.class, queryWrapper);
        return result;
    }
}