|
|
@@ -24,6 +24,7 @@ import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.util.CollectionUtils;
|
|
|
|
|
|
+import javax.ws.rs.NotFoundException;
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.util.Collections;
|
|
|
import java.util.List;
|
|
|
@@ -52,6 +53,7 @@ public class SmsbDepartmentServiceImpl extends ServiceImpl<SmsbDepartmentMapper
|
|
|
public Response addDepartment(String userId , SmsbDepartmentAdd smsbDepartmentAdd) {
|
|
|
List<SmsbDepartmentDO> departments = this.list(new LambdaQueryWrapper<>(SmsbDepartmentDO.class)
|
|
|
.eq(SmsbDepartmentDO::getTenant, smsbDepartmentAdd.getTenant())
|
|
|
+ .eq(SmsbDepartmentDO::getIsDel , 0)
|
|
|
.eq(SmsbDepartmentDO::getMark, smsbDepartmentAdd.getMark()));
|
|
|
if(!CollectionUtils.isEmpty(departments)){return Response.buildFailure("500",
|
|
|
"部门标识["+smsbDepartmentAdd.getMark()+"]在租户["+smsbDepartmentAdd.getTenant()+"]中已存在!");}
|
|
|
@@ -147,14 +149,8 @@ public class SmsbDepartmentServiceImpl extends ServiceImpl<SmsbDepartmentMapper
|
|
|
|
|
|
@Override
|
|
|
public PageResponse<SmsbSimpleUserCO> queryDepartmentUserList(SmsbDepartmentCmd departmentCmd) {
|
|
|
- if(Objects.nonNull(departmentCmd.getDepartmentId())){
|
|
|
- // 部门id不为空,path过滤
|
|
|
- departmentCmd.setTenant(super.getById(departmentCmd.getDepartmentId()).getPath());
|
|
|
- return departmentUserService.queryUserPageByDeprIds(departmentCmd , 1);
|
|
|
- }else{
|
|
|
- // 部门id为空,tenant过滤
|
|
|
- return departmentUserService.queryUserPageByDeprIds(departmentCmd , 2);
|
|
|
- }
|
|
|
+ return departmentUserService.queryUserPageByDeprIds(departmentCmd ,
|
|
|
+ Objects.nonNull(departmentCmd.getDepartmentId()) ? super.getById(departmentCmd.getDepartmentId()).getPath() : null);
|
|
|
}
|
|
|
|
|
|
private List<SmsbDepartmentCO> getChilde(Long id){
|
|
|
@@ -180,10 +176,14 @@ public class SmsbDepartmentServiceImpl extends ServiceImpl<SmsbDepartmentMapper
|
|
|
*/
|
|
|
@Override
|
|
|
public Response checkOperationAuthority(String userId , String tenant){
|
|
|
- String real = service.queryUserTenant(userId);
|
|
|
- if(service.isExitTargetRole(userId ,Constant.SUPER_ADMIN) ||
|
|
|
- (StringUtils.isNotEmpty(real) && real.equals(tenant) && service.isExitTargetRole(userId , Constant.ROLE_ADMIN))){
|
|
|
- return Response.buildSuccess();
|
|
|
+ try {
|
|
|
+ String real = service.queryUserTenant(userId);
|
|
|
+ if(service.isExitTargetRole(userId ,Constant.SUPER_ADMIN) ||
|
|
|
+ (StringUtils.isNotEmpty(real) && real.equals(tenant) && service.isExitTargetRole(userId , Constant.ROLE_ADMIN))){
|
|
|
+ return Response.buildSuccess();
|
|
|
+ }
|
|
|
+ }catch (NotFoundException ex){
|
|
|
+ return Response.buildFailure("401","无权操作!");
|
|
|
}
|
|
|
return Response.buildFailure("401","无权操作!");
|
|
|
}
|
|
|
@@ -236,4 +236,21 @@ public class SmsbDepartmentServiceImpl extends ServiceImpl<SmsbDepartmentMapper
|
|
|
return Response.buildFailure("500","用户重分组失败!");
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Response queryOneselfDepartTree(String userId) {
|
|
|
+ SmsbSimpleUserCO simpleUser = userService.getOneByUserId(userId);
|
|
|
+ if(Objects.isNull(simpleUser)){return SingleResponse.of(new SmsbDepartmentCO());}
|
|
|
+ if(Objects.isNull(simpleUser.getDepartmentId()) && Objects.isNull(simpleUser.getPath())){
|
|
|
+ return this.queryDepartmentList(simpleUser.getTenant());
|
|
|
+ }
|
|
|
+ log.info("部门id:{}",simpleUser.getDepartmentId());
|
|
|
+ SmsbDepartmentDO department = super.getById(simpleUser.getDepartmentId());
|
|
|
+ SmsbDepartmentCO smsbDepartmentCO = new SmsbDepartmentCO();
|
|
|
+ if(Objects.nonNull(department)){
|
|
|
+ BeanUtils.copyProperties(department , smsbDepartmentCO);
|
|
|
+ smsbDepartmentCO.setChildren(this.getChilde(department.getId()));
|
|
|
+ }
|
|
|
+ return SingleResponse.of(smsbDepartmentCO);
|
|
|
+ }
|
|
|
}
|