ids) {
this.getBaseMapper().batchDelByIds(ids);
}
diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/GongfuExternalUserServiceImpl.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/GongfuExternalUserServiceImpl.java
index 1598235e..627701f4 100644
--- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/GongfuExternalUserServiceImpl.java
+++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/GongfuExternalUserServiceImpl.java
@@ -1,15 +1,24 @@
package com.nflg.mobilebroken.repository.service.impl;
+import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.nflg.mobilebroken.common.pojo.query.ExternalUserSearchQuery;
import com.nflg.mobilebroken.common.pojo.vo.GongfuExternalUserVO;
import com.nflg.mobilebroken.repository.entity.GongfuExternalUser;
+import com.nflg.mobilebroken.repository.entity.TBaseDepartment;
import com.nflg.mobilebroken.repository.mapper.GongfuExternalUserMapper;
import com.nflg.mobilebroken.repository.service.IGongfuExternalUserService;
+import com.nflg.mobilebroken.repository.service.ITBaseDepartmentService;
import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
+
/**
*
* 服务实现类
@@ -20,8 +29,31 @@ import org.springframework.stereotype.Service;
@Service
public class GongfuExternalUserServiceImpl extends ServiceImpl implements IGongfuExternalUserService {
+ @Resource
+ private ITBaseDepartmentService departmentService;
+
@Override
public IPage search(ExternalUserSearchQuery request) {
+ if (Objects.nonNull(request.getDepartmentId())) {
+ List ids = new ArrayList<>();
+ ids.add(request.getDepartmentId());
+ getChildrenDepartments(request.getDepartmentId(), ids);
+ request.setDepartmentIds(ids);
+ }
return baseMapper.search(request, new Page<>(request.getPage(), request.getPageSize()));
}
+
+ private void getChildrenDepartments(Long deptId, List ids) {
+ List tids = departmentService.lambdaQuery()
+ .select(TBaseDepartment::getId)
+ .eq(TBaseDepartment::getDeptParentId, deptId)
+ .list()
+ .stream()
+ .map(TBaseDepartment::getId)
+ .collect(Collectors.toList());
+ if (CollectionUtil.isNotEmpty(tids)) {
+ ids.addAll(tids);
+ tids.forEach(id -> getChildrenDepartments(id, ids));
+ }
+ }
}
diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/TicketSolutionServiceImpl.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/TicketSolutionServiceImpl.java
index 53590771..369d1742 100644
--- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/TicketSolutionServiceImpl.java
+++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/TicketSolutionServiceImpl.java
@@ -276,6 +276,7 @@ public class TicketSolutionServiceImpl extends ServiceImpl
diff --git a/nflg-mobilebroken-starter/src/main/java/com/nflg/mobilebroken/starter/advice/GlobalRestControllerAdvice.java b/nflg-mobilebroken-starter/src/main/java/com/nflg/mobilebroken/starter/advice/GlobalRestControllerAdvice.java
index e7e36dcb..9c000e84 100644
--- a/nflg-mobilebroken-starter/src/main/java/com/nflg/mobilebroken/starter/advice/GlobalRestControllerAdvice.java
+++ b/nflg-mobilebroken-starter/src/main/java/com/nflg/mobilebroken/starter/advice/GlobalRestControllerAdvice.java
@@ -8,13 +8,16 @@ import com.nflg.mobilebroken.common.exception.NflgException;
import com.nflg.mobilebroken.common.pojo.ApiResult;
import lombok.extern.slf4j.Slf4j;
import org.slf4j.MDC;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
+import org.springframework.util.unit.DataSize;
import org.springframework.validation.FieldError;
import org.springframework.web.bind.MethodArgumentNotValidException;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseStatus;
import org.springframework.web.bind.annotation.RestControllerAdvice;
+import org.springframework.web.multipart.MaxUploadSizeExceededException;
import javax.validation.ConstraintViolation;
import javax.validation.ConstraintViolationException;
@@ -27,6 +30,9 @@ import java.util.stream.Collectors;
@Slf4j
public class GlobalRestControllerAdvice {
+ @Value("${spring.servlet.multipart.max-file-size}")
+ private DataSize maxFileSize;
+
@ExceptionHandler(SQLException.class)
public ApiResult handleSQLException(SQLException ex) {
log.error("数据库错误: ", ex);
@@ -73,4 +79,9 @@ public class GlobalRestControllerAdvice {
public String handleNotLoginException(NotLoginException e) {
return "请重新登录";
}
+
+ @ExceptionHandler(MaxUploadSizeExceededException.class)
+ public ApiResult handleMaxSizeException(MaxUploadSizeExceededException e) {
+ return ApiResult.error(STATE.UploadError, "上传文件不能超过" + maxFileSize.toMegabytes() + "MB!");
+ }
}
\ No newline at end of file