|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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.model.PageData; | 
|---|
|  |  |  | import com.doumee.core.model.PageWrap; | 
|---|
|  |  |  | import com.doumee.core.utils.DateUtil; | 
|---|
|  |  |  | 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.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; | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | 
|---|
|  |  |  | import java.util.ArrayList; | 
|---|
|  |  |  | import java.util.List; | 
|---|
|  |  |  | import java.util.Objects; | 
|---|
|  |  |  | import java.util.stream.Collectors; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 系统用户Service实现 | 
|---|
|  |  |  | 
|---|
|  |  |  | systemUserMapper.updateById(systemUser); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | @Transactional | 
|---|
|  |  |  | public void updateByIdInBatch(List<SystemUser> systemUsers) { | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @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 | 
|---|
|  |  |  | 
|---|
|  |  |  | //            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 | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @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; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public void jobForOpenProhibitStatus() { | 
|---|
|  |  |  | systemUserMapper.update(null,new UpdateWrapper<SystemUser>().lambda() | 
|---|
|  |  |  | .set(SystemUser::getProhibitStatus,Constants.ZERO) | 
|---|
|  |  |  | .set(SystemUser::getErrTimes,Constants.ZERO) | 
|---|
|  |  |  | .setSql(" PROHIBIT_REMARK = '于"+ DateUtil.getCurrDateTime()+"自动解除禁止登录!' ") | 
|---|
|  |  |  | .eq(SystemUser::getProhibitStatus,Constants.ONE) | 
|---|
|  |  |  | .apply("  now() > PROHIBIT_TIME " ) | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|