diff --git a/ad-platform-common/ad-platform-common-core/src/main/java/com/baiye/util/ReadExcelUtils.java b/ad-platform-common/ad-platform-common-core/src/main/java/com/baiye/util/ReadExcelUtils.java new file mode 100644 index 00000000..dc4dd9c4 --- /dev/null +++ b/ad-platform-common/ad-platform-common-core/src/main/java/com/baiye/util/ReadExcelUtils.java @@ -0,0 +1,32 @@ +package com.baiye.util; + +import com.alibaba.excel.EasyExcelFactory; +import com.baiye.constant.DefaultNumberConstants; +import com.baiye.exception.BadRequestException; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.multipart.MultipartFile; + +import java.io.IOException; +import java.util.List; + +/** + * @author Enzo + * @date : 2022/4/2 + */ +@Slf4j +public class ReadExcelUtils { + private ReadExcelUtils(){ + } + + public static List readExcelByClass(MultipartFile file, Class clazz) { + try { + return EasyExcelFactory + .read(file.getInputStream()) + .head(clazz) + .sheet().headRowNumber(DefaultNumberConstants.ONE_NUMBER) + .doReadSync(); + } catch (IOException e) { + throw new BadRequestException("文件解析失败"); + } + } +} diff --git a/manage/ad-platform-management/src/main/java/com/baiye/modules/system/rest/UserController.java b/manage/ad-platform-management/src/main/java/com/baiye/modules/system/rest/UserController.java index 05a5f75c..f411772c 100644 --- a/manage/ad-platform-management/src/main/java/com/baiye/modules/system/rest/UserController.java +++ b/manage/ad-platform-management/src/main/java/com/baiye/modules/system/rest/UserController.java @@ -31,6 +31,7 @@ import com.baiye.modules.system.domain.vo.UserPassVo; import com.baiye.modules.system.service.*; import com.baiye.modules.system.service.dto.CreateUserDTO; import com.baiye.modules.system.service.dto.UserQueryCriteria; +import com.baiye.util.ReadExcelUtils; import com.baiye.util.RsaUtils; import com.baiye.util.SecurityUtils; import io.swagger.annotations.Api; @@ -144,16 +145,8 @@ public class UserController { public ResponseEntity indexConvert(@RequestParam("file") MultipartFile file) { if (file != null && !file.isEmpty()) { UserDto userDto = JSONUtil.toBean(SecurityUtils.getUser(), UserDto.class); - - List userFavorOfExcels; - try { - userFavorOfExcels = EasyExcelFactory.read(file.getInputStream()) - .head(UserFavorOfExcel.class) - .sheet().headRowNumber(DefaultNumberConstants.ONE_NUMBER) - .doReadSync(); - } catch (IOException e) { - throw new BadRequestException(ResponseCode.READ_FILE_ERROR.getDesc()); - } + List userFavorOfExcels = + ReadExcelUtils.readExcelByClass(file, UserFavorOfExcel.class); userService.fileCreateUser(userFavorOfExcels, userDto.getCompanyId(), userDto); } return new ResponseEntity<>(HttpStatus.OK); diff --git a/manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/impl/UserServiceImpl.java b/manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/impl/UserServiceImpl.java index 3f663ee1..445d9960 100644 --- a/manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/impl/UserServiceImpl.java +++ b/manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/impl/UserServiceImpl.java @@ -199,15 +199,7 @@ public class UserServiceImpl implements UserService { } CompanyDto dto = new CompanyDto(); dto.setUserId(userCreateResult.getId()); - List userFavorOfExcels; - try { - userFavorOfExcels = EasyExcelFactory.read(file.getInputStream()) - .head(UserFavorOfExcel.class) - .sheet().headRowNumber(DefaultNumberConstants.ONE_NUMBER) - .doReadSync(); - } catch (IOException e) { - throw new BadRequestException(ResponseCode.READ_FILE_ERROR.getDesc()); - } + List userFavorOfExcels = ReadExcelUtils.readExcelByClass(file, UserFavorOfExcel.class); fileCreateUser(userFavorOfExcels, companyId, Convert.convert(UserDto.class, userCreateResult)); } diff --git a/manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/httpRequest/DoubleCallReq.java b/manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/httpRequest/DoubleCallReq.java index acc8e228..a827f04d 100644 --- a/manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/httpRequest/DoubleCallReq.java +++ b/manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/httpRequest/DoubleCallReq.java @@ -52,11 +52,13 @@ public class DoubleCallReq { //设置重试机制 int count = 0; int flag = 3; - while (count <= flag) { - try { - HttpResponse httpResponse = sendCallReq(JSONUtil.toJsonPrettyStr(doubleCallSystemDTO), reqUrl); + HttpResponse httpResponse; + DoubleCallResponse doubleCallResponse = null; + try { + while (count <= flag) { + httpResponse = sendCallReq(JSONUtil.toJsonPrettyStr(doubleCallSystemDTO), reqUrl); log.info("双呼返回值:{}", httpResponse.body()); - DoubleCallResponse doubleCallResponse = JSONUtil.toBean(httpResponse.body(), DoubleCallResponse.class); + doubleCallResponse = JSONUtil.toBean(httpResponse.body(), DoubleCallResponse.class); if (String.valueOf(DefaultNumberConstants.ZERO_NUMBER).equals(doubleCallResponse.getResult())) { return doubleCallResponse.getSessionId(); } else { @@ -64,13 +66,17 @@ public class DoubleCallReq { log.error("双呼请求失败,response==={}", doubleCallResponse.getReason()); Thread.sleep(3000); } - } catch (Exception e) { - log.error("method【reqTask】 double_call error :{}", e.getMessage()); - e.printStackTrace(); } + } catch (Exception e) { + log.error("method【reqTask】 double_call error :{}", e.getMessage()); + e.printStackTrace(); } - throw new BadRequestException(ResponseCode.CALL_ERROR.getDesc()); + throw new BadRequestException + (doubleCallResponse != null + && doubleCallResponse.getReason() != null + ? doubleCallResponse.getReason() + : ResponseCode.CALL_ERROR.getDesc()); }