From f284c5ef6a1aa6e9ba5d4e94e4b2abe83b6ea18c Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期三, 31 七月 2024 14:54:44 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ycl-server/src/main/java/com/ycl/platform/service/impl/YwUnitServiceImpl.java | 48 ++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 40 insertions(+), 8 deletions(-) diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/YwUnitServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/YwUnitServiceImpl.java index 35e1fab..4ffd0d0 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/impl/YwUnitServiceImpl.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/YwUnitServiceImpl.java @@ -20,6 +20,7 @@ import com.ycl.system.mapper.SysRoleMapper; import com.ycl.system.mapper.SysUserMapper; import com.ycl.system.mapper.SysUserRoleMapper; +import com.ycl.system.model.LoginUser; import com.ycl.system.page.PageUtil; import com.ycl.platform.service.YwUnitService; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -27,6 +28,7 @@ import com.ycl.utils.SecurityUtils; import org.springframework.stereotype.Service; import org.springframework.beans.BeanUtils; +import org.springframework.transaction.annotation.Transactional; import org.springframework.util.Assert; import java.util.Objects; @@ -56,6 +58,7 @@ * @return */ @Override + @Transactional(rollbackFor = Exception.class) public Result add(YwUnitForm form) { YwUnit entity = YwUnitForm.getEntityByForm(form, null); if(baseMapper.insert(entity) > 0) { @@ -86,6 +89,7 @@ * @return */ @Override + @Transactional(rollbackFor = Exception.class) public Result update(YwUnitForm form) { YwUnit entity = baseMapper.selectById(form.getId()); @@ -111,15 +115,16 @@ * @return */ @Override + @Transactional(rollbackFor = Exception.class) public Result remove(List<String> ids) { - ids.forEach(id -> { - // 鍒犻櫎杩愮淮浜哄憳璐﹀彿 - SysUser sysUser = sysUserMapper.selectUserByUserName(baseMapper.selectById(id).getUnitAdminAccount()); - if (Objects.nonNull(sysUser)) { - sysUserRoleMapper.deleteUserRoleByUserId(sysUser.getUserId()); - sysUserMapper.deleteUserById(sysUser.getUserId()); - } - }); + List<Long> userIds = sysUserMapper.selectUserIdByNames( + baseMapper.selectList( + new LambdaQueryWrapper<YwUnit>().in(YwUnit::getId, ids)) + .stream().map(YwUnit::getUnitAdminAccount).toList()); + if (!userIds.isEmpty()) { + sysUserMapper.deleteUserByIds(userIds.toArray(new Long[0])); + sysUserRoleMapper.deleteUserRoleByUserIds(userIds); + } if(baseMapper.deleteBatchIds(ids) > 0) { return Result.ok("鍒犻櫎鎴愬姛"); } @@ -207,6 +212,33 @@ } @Override + public Result workList() { + List<YwUnitVO> entities = baseMapper.workList(); + return Result.ok().data(entities); + } + + @Override + public void setUnitInfo(LoginUser loginUser) { + // 鍗曚綅绠$悊鍛樻煡璇� + YwUnit unit = new LambdaQueryChainWrapper<>(baseMapper) + .eq(YwUnit::getUnitAdminAccount, loginUser.getUsername()) + .one(); + if (Objects.nonNull(unit)) { + loginUser.setUnitAdmin(Boolean.TRUE); + loginUser.setUnitId(unit.getId()); + } else { + unit = baseMapper.getByUserId(loginUser.getUserId()); + if (Objects.nonNull(unit)) { + loginUser.setUnitAdmin(Boolean.FALSE); + loginUser.setUnitId(unit.getId()); + } + else { + loginUser.setUnitAdmin(Boolean.FALSE); + } + } + } + + @Override public List<YwUnitVO> export(YwUnitQuery query) { // 鍒嗛〉鏉′欢鏌ヨ浣� IPage<YwUnit> page = new LambdaQueryChainWrapper<>(baseMapper) -- Gitblit v1.8.0