From 31972e4e67e07d826a0a802f19a00492e8db7966 Mon Sep 17 00:00:00 2001 From: dengjun Date: Mon, 18 Nov 2024 15:52:49 +0800 Subject: [PATCH] update --- .../wsnet/cargo/controller/ApiController.java | 1 + .../cargo/controller/BrandController.java | 8 +- .../cargo/controller/CityController.java | 109 ++++++++++++++++++ .../cargo/controller/EmployeeController.java | 4 +- .../controller/EnterpriseController.java | 9 +- .../cargo/controller/ManifestController.java | 2 +- .../controller/SailScheduleController.java | 13 ++- .../controller/VehicleTypeController.java | 8 +- .../VehicleTypeDetailController.java | 8 +- .../com/wsnet/cargo/entity/DictBrand.java | 4 +- .../java/com/wsnet/cargo/entity/DictCity.java | 5 +- .../com/wsnet/cargo/entity/DictEmployee.java | 1 - .../wsnet/cargo/entity/DictShipRoutePort.java | 19 ++- .../wsnet/cargo/entity/DictVehicleType.java | 4 +- .../cargo/entity/DictVehicleTypeDetail.java | 4 +- .../wsnet/cargo/enums/GoodsStatusEnums.java | 6 +- .../wsnet/cargo/enums/ShipStatusEnums.java | 6 +- .../java/com/wsnet/cargo/excel/CityExcel.java | 30 +++++ 18 files changed, 208 insertions(+), 33 deletions(-) create mode 100644 wsnet-cargo-sharing-service/src/main/java/com/wsnet/cargo/controller/CityController.java create mode 100644 wsnet-cargo-sharing-service/src/main/java/com/wsnet/cargo/excel/CityExcel.java diff --git a/wsnet-cargo-sharing-service/src/main/java/com/wsnet/cargo/controller/ApiController.java b/wsnet-cargo-sharing-service/src/main/java/com/wsnet/cargo/controller/ApiController.java index 41d4f0a..2024fd5 100644 --- a/wsnet-cargo-sharing-service/src/main/java/com/wsnet/cargo/controller/ApiController.java +++ b/wsnet-cargo-sharing-service/src/main/java/com/wsnet/cargo/controller/ApiController.java @@ -14,4 +14,5 @@ import org.springframework.web.bind.annotation.RestController; @Menu(code = "0301", name = "对外开放接口") @Tag(name = "对外开放接口") public class ApiController extends BaseController { + } diff --git a/wsnet-cargo-sharing-service/src/main/java/com/wsnet/cargo/controller/BrandController.java b/wsnet-cargo-sharing-service/src/main/java/com/wsnet/cargo/controller/BrandController.java index 0bab4b3..223e057 100644 --- a/wsnet-cargo-sharing-service/src/main/java/com/wsnet/cargo/controller/BrandController.java +++ b/wsnet-cargo-sharing-service/src/main/java/com/wsnet/cargo/controller/BrandController.java @@ -32,10 +32,10 @@ public class BrandController extends BaseDictController importExcel(MultipartFile file) throws IOException { + ValidatorFactory vf = Validation.buildDefaultValidatorFactory(); + Validator validator = vf.getValidator(); + // 错误信息 + List errors = new ArrayList<>(); + // 获取所有的城市列表 + Map cityMap = cityService.lambdaQuery().eq(DictCity::getStatus, StatusEnums.active).list() + .stream().collect(Collectors.toMap(s -> s.getCode()+"#$#"+s.getName(), s -> s)); + ExcelUtils.readExcel(file.getInputStream(), CityExcel.class, (rowData) -> { + // 这里只验证格式是否正确,并不验证数据的有效性 + // 对数据进行检验 + Set> set = validator.validate(rowData); + if (!CollectionUtils.isEmpty(set)) { // 验证失败的 + JSONObject o = JSONObject.from(rowData); + o.put("status", set.stream().map(p -> p.getMessage()).collect(Collectors.joining(","))); + errors.add(o); + } + return true; + }, (rowDataList) -> { + if (CollectionUtils.isNotEmpty(errors)) { // 有错误信息,不做处理 + return; + } + List cityList = rowDataList.stream().map(s -> { + if (cityMap.containsKey(s.getAdCode()+"#$#"+s.getName())) { + DictCity city = cityMap.get(s.getAdCode()+"#$#"+s.getName()); + city.setName(s.getName()); + city.setStatus(StatusEnums.active); + return city; + } else { + DictCity city = new DictCity(); + city.setName(s.getName()); + city.setCode(s.getAdCode()); + city.setStatus(StatusEnums.active); + return city; + } + }).collect(Collectors.toList()); + + cityService.saveOrUpdateBatch(cityList); + }); + + if (CollectionUtils.isNotEmpty(errors)) { + return ResultData.fail(JSON.toJSONString(errors)); + } + + return ResultData.success("success"); + } + + @Operation(summary = "城市级联", operationId = "02") + @GetMapping("/list") + public ResultData> getCityList(@RequestParam(required = false,name = "id") @Parameter(description = "id为空时,则省") Long id) { + if (id == null) { + List list = cityService.lambdaQuery().eq(DictCity::getStatus, StatusEnums.active) + .likeLeft(DictCity::getCode, "0000").orderByAsc(DictCity::getCode).list(); + + return ResultData.success(list); + } else { + DictCity city = cityService.getById(id); + if (city == null) { + return ResultData.fail("城市不存在"); + } + String adCode = StringUtils.substring(city.getCode(), 0, 2); + + List list = cityService.lambdaQuery().eq(DictCity::getStatus, StatusEnums.active) + .ne(DictCity::getId, id) + .likeLeft(DictCity::getCode, "00") + .likeRight(DictCity::getCode, adCode) + .orderByAsc(DictCity::getCode).list(); + return ResultData.success(list); + } + } +} diff --git a/wsnet-cargo-sharing-service/src/main/java/com/wsnet/cargo/controller/EmployeeController.java b/wsnet-cargo-sharing-service/src/main/java/com/wsnet/cargo/controller/EmployeeController.java index 8c9b2ea..199129b 100644 --- a/wsnet-cargo-sharing-service/src/main/java/com/wsnet/cargo/controller/EmployeeController.java +++ b/wsnet-cargo-sharing-service/src/main/java/com/wsnet/cargo/controller/EmployeeController.java @@ -25,7 +25,9 @@ public class EmployeeController extends BaseDictController> page(@RequestBody EmployeeQuery query) { CargoApiUser user = (CargoApiUser) UserContext.getUser(); - query.setEnterpriseId(user.getEnterpriseId()); + if (query.getEnterpriseId() == null) { + query.setEnterpriseId(user.getEnterpriseId()); + } query.setFields("*+enterprise@name+wharf@name"); diff --git a/wsnet-cargo-sharing-service/src/main/java/com/wsnet/cargo/controller/EnterpriseController.java b/wsnet-cargo-sharing-service/src/main/java/com/wsnet/cargo/controller/EnterpriseController.java index 8bc6420..1b17c42 100644 --- a/wsnet-cargo-sharing-service/src/main/java/com/wsnet/cargo/controller/EnterpriseController.java +++ b/wsnet-cargo-sharing-service/src/main/java/com/wsnet/cargo/controller/EnterpriseController.java @@ -43,7 +43,6 @@ import java.io.File; import java.io.IOException; import java.nio.file.Path; import java.nio.file.Paths; -import java.time.YearMonth; import java.util.List; import java.util.Set; import java.util.stream.Collectors; @@ -125,8 +124,7 @@ public class EnterpriseController extends BaseDictController getIdImage(@PathVariable Long id) { diff --git a/wsnet-cargo-sharing-service/src/main/java/com/wsnet/cargo/controller/ManifestController.java b/wsnet-cargo-sharing-service/src/main/java/com/wsnet/cargo/controller/ManifestController.java index c0d8803..9c50a95 100644 --- a/wsnet-cargo-sharing-service/src/main/java/com/wsnet/cargo/controller/ManifestController.java +++ b/wsnet-cargo-sharing-service/src/main/java/com/wsnet/cargo/controller/ManifestController.java @@ -232,7 +232,7 @@ public class ManifestController extends BaseController> historyPage(@RequestBody SailScheduleQuery query) { + // 我订阅的码头 + CargoApiUser user = (CargoApiUser) UserContext.getUser(); + // 订阅的码头ID + query.setLoadWharfId(user.getWharfId()); + query.setFields("*+enterprise@name+ship@name+route@name+loadWharf@name+dischargeWharf@name+loadPort@name+dischargePort@name"); + return super.page(query); + } } diff --git a/wsnet-cargo-sharing-service/src/main/java/com/wsnet/cargo/controller/VehicleTypeController.java b/wsnet-cargo-sharing-service/src/main/java/com/wsnet/cargo/controller/VehicleTypeController.java index b6ef013..0ec7374 100644 --- a/wsnet-cargo-sharing-service/src/main/java/com/wsnet/cargo/controller/VehicleTypeController.java +++ b/wsnet-cargo-sharing-service/src/main/java/com/wsnet/cargo/controller/VehicleTypeController.java @@ -34,10 +34,10 @@ public class VehicleTypeController extends BaseDictController