liukangdong
2024-11-05 50353c2ae43cdddb8433358f4ba66bef30c5d628
server/system_service/src/main/java/com/doumee/service/system/impl/SystemUserServiceImpl.java
@@ -7,6 +7,7 @@
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.system.SystemUserJoinMapper;
import com.doumee.dao.system.SystemUserMapper;
import com.doumee.dao.system.dto.QuerySystemUserDTO;
@@ -14,6 +15,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 +32,7 @@
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
@@ -111,8 +114,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 +123,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());
@@ -198,8 +217,6 @@
    @Override
    public List<SystemUser> findAllList(SystemUser pageWrap) {
        MPJLambdaWrapper<SystemUser> queryWrapper = new MPJLambdaWrapper<>();
        Utils.MP.blankToNull(pageWrap);
        queryWrapper.selectAll(SystemUser.class);
@@ -209,11 +226,7 @@
                .or().like(SystemUser::getRealname,pageWrap.getUsername())
        );
        queryWrapper.orderByDesc(SystemUser::getCreateTime);
        List<SystemUser> result = systemUserJoinMapper.selectJoinList( SystemUser.class, queryWrapper);
        return result;
    }
@@ -221,5 +234,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;
    }
}