From 50fb58286ed3b718c39a97e0987ee7561a295651 Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期五, 04 七月 2025 17:56:41 +0800 Subject: [PATCH] git ch --- server/service/src/main/java/com/doumee/service/system/impl/SystemUserServiceImpl.java | 70 +++++++++++++++++++++++++++++++--- 1 files changed, 63 insertions(+), 7 deletions(-) diff --git a/server/service/src/main/java/com/doumee/service/system/impl/SystemUserServiceImpl.java b/server/service/src/main/java/com/doumee/service/system/impl/SystemUserServiceImpl.java index 7160b8b..45e92a2 100644 --- a/server/service/src/main/java/com/doumee/service/system/impl/SystemUserServiceImpl.java +++ b/server/service/src/main/java/com/doumee/service/system/impl/SystemUserServiceImpl.java @@ -2,14 +2,23 @@ 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.constants.ResponseStatus; +import com.doumee.core.exception.BusinessException; import com.doumee.core.model.LoginUserInfo; 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.CompanyDepartment; +import com.doumee.dao.business.CompanyDepartmentMapper; +import com.doumee.dao.business.model.Company; +import com.doumee.dao.business.model.CompanyDepartment; +import com.doumee.dao.business.model.Member; import com.doumee.dao.system.SystemUserJoinMapper; import com.doumee.dao.system.SystemUserMapper; import com.doumee.dao.system.dto.QuerySystemUserDTO; @@ -64,6 +73,9 @@ @Autowired private DepartmentDataPermissionAware departmentDataPermissionAware; + + @Autowired + private CompanyDepartmentMapper companyDepartmentMapper; @Override public Integer create(SystemUser systemUser) { @@ -148,7 +160,7 @@ // pageWrap.getModel().setDepartmentIds(collect); } LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); - pageWrap.getModel().setType(loginUserInfo.getType()); +// pageWrap.getModel().setType(loginUserInfo.getType()); if(!Constants.equalsInteger(loginUserInfo.getType(),Constants.ZERO)){ //濡傛灉鏄紒涓氳处鍙� pageWrap.getModel().setCompanyId(loginUserInfo.getCompanyId()); @@ -166,6 +178,29 @@ user.setZhuboRoomUrl(zhuboRoomUrl); } return PageData.from(new PageInfo<>(userList)); + } + @Override + public PageData<SystemUserListVO> findPageCompany(PageWrap<QuerySystemUserDTO> pageWrap) { + // 鏍归儴闂ㄦ潯浠跺鐞嗭紙闇�鏌ヨ鏍归儴闂ㄤ笅鎵�鏈夐儴闂ㄧ殑鐢ㄦ埛锛� + IPage<Company> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); + Utils.MP.blankToNull(pageWrap.getModel()); + pageWrap.getModel().setType(Constants.UserType.COMPANY.getKey());//鏌ヨ浼佷笟绫诲瀷 + // 鎵ц鏌ヨ + MPJLambdaWrapper<SystemUser> wrapper = new MPJLambdaWrapper<>(); + wrapper .selectAll(SystemUser.class) + .select("(select count(distinct(a.company_id) from company_permisson a where a.user_id=t.id and a.ideleted=0 and a.type=1)",SystemUser::getAuthNum) + .selectAs(Company::getName,SystemUser::getCompanyName) + .selectAs(CompanyDepartment::getName,SystemUser::getDepartmentName) + .leftJoin(Company.class,Company::getId,SystemUser::getCompanyId) + .leftJoin(CompanyDepartment.class,CompanyDepartment::getId,SystemUser::getDepartmentId) + .eq( pageWrap.getModel().getDepartmentId() !=null,SystemUser::getDepartmentId, pageWrap.getModel().getDepartmentId()) + .eq( pageWrap.getModel().getStatus() !=null,SystemUser::getStatus, pageWrap.getModel().getStatus()) + .like(StringUtils.isNotBlank(pageWrap.getModel().getMobile()),SystemUser::getMobile, pageWrap.getModel().getMobile()) + .like(StringUtils.isNotBlank(pageWrap.getModel().getRealname()),SystemUser::getRealname, pageWrap.getModel().getRealname()) + .like(StringUtils.isNotBlank(pageWrap.getModel().getUsername()),SystemUser::getUsername, pageWrap.getModel().getUsername()) + .like(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()),SystemUser::getCompanyName, pageWrap.getModel().getCompanyName()); + IPage<SystemUserListVO> result = systemUserMapper.selectJoinPage(page,SystemUserListVO.class,wrapper); + return PageData.from(result); } @Override @@ -234,14 +269,12 @@ Utils.MP.blankToNull(pageWrap.getModel()); queryWrapper.selectAll(SystemUser.class); queryWrapper.eq(SystemUser::getDeleted, Constants.ZERO); - queryWrapper.and(StringUtils.isNotBlank(pageWrap.getModel().getUsername()),ms->ms.like(SystemUser::getUsername,pageWrap.getModel().getUsername()) - .or().like(SystemUser::getMobile,pageWrap.getModel().getUsername()) + queryWrapper.and(StringUtils.isNotBlank(pageWrap.getModel().getUsername()), + ms->ms.like(SystemUser::getUsername,pageWrap.getModel().getUsername()) + .or().like(SystemUser::getMobile,pageWrap.getModel().getUsername()) .or().like(SystemUser::getRealname,pageWrap.getModel().getUsername()) ); queryWrapper.orderByDesc(SystemUser::getCreateTime); - - - IPage<SystemUser> result = systemUserJoinMapper.selectJoinPage(page, SystemUser.class, queryWrapper); return PageData.from(result); @@ -260,13 +293,36 @@ queryWrapper.selectAll(SystemUser.class); queryWrapper.eq(SystemUser::getDeleted, Constants.ZERO) - .eq(SystemUser::getType,pageWrap.getType()); + .eq(SystemUser::getType,pageWrap.getType()) + .eq(SystemUser::getCompanyId,loginUserInfo.getCompanyId()) + ; queryWrapper.orderByDesc(SystemUser::getCreateTime); List<SystemUser> result = systemUserJoinMapper.selectJoinList(SystemUser.class, queryWrapper); return result; } + @Override + public void updateHead(SystemUser systemUser) { + SystemUser model =systemUserJoinMapper.selectById(systemUser.getId()); + if(model ==null) { + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝浜哄憳淇℃伅涓嶅瓨鍦紒"); + } + if(model.getDepartmentId()!=null) { + if(Constants.equalsInteger(systemUser.getHeadStatus(),Constants.ONE)){ + //濡傛灉鏄彇娑堜富绠� + companyDepartmentMapper.update(null,new UpdateWrapper<CompanyDepartment>().lambda() + .eq(CompanyDepartment::getId,model.getDepartmentId()) + .set(CompanyDepartment::getHeadId,model.getId())); + }else{ + //濡傛灉鏄涓轰富绠� + companyDepartmentMapper.update(null,new UpdateWrapper<CompanyDepartment>().lambda() + .eq(CompanyDepartment::getId,model.getDepartmentId()) + .set(CompanyDepartment::getHeadId,null) + ); + } + } + } -- Gitblit v1.9.3