| | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void batchSaveRevenueShare(RevenueShareSaveDTO request) { |
| | | // 校验:必须包含 fieldType 0-4 各一条 |
| | | // 校验:必须包含 fieldType 0-6 各一条 |
| | | Set<Integer> fieldTypes = request.getItems().stream() |
| | | .map(RevenueShareItemDTO::getFieldType) |
| | | .collect(Collectors.toSet()); |
| | | if (fieldTypes.size() != Constants.FIVE) { |
| | | if (fieldTypes.size() != Constants.SEVEN) { |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), |
| | | "必须包含企业寄(0)、个人寄(1)、企业取(2)、个人取(3)、配送员(4)共5条数据"); |
| | | "必须包含异地企业寄(0)、异地个人寄(1)、异地企业取(2)、异地个人取(3)、配送员(4)、就地企业存(5)、就地个人存(6)共7条数据"); |
| | | } |
| | | for (int i = 0; i <= Constants.FOUR; i++) { |
| | | for (int i = 0; i <= Constants.SIX; i++) { |
| | | if (!fieldTypes.contains(i)) { |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), |
| | | "缺少类型" + i + "的数据"); |
| | |
| | | Map<String, PricingRule> existingMap = rules.stream() |
| | | .collect(Collectors.toMap(PricingRule::getFieldA, r -> r)); |
| | | |
| | | // 固定返回5条:企业寄(0)、个人寄(1)、企业取(2)、个人取(3)、配送员(4) |
| | | // 固定返回7条:异地企业寄(0)、异地个人寄(1)、异地企业取(2)、异地个人取(3)、配送员(4)、就地企业存(5)、就地个人存(6) |
| | | List<RevenueShareVO> result = new ArrayList<>(); |
| | | String[] typeNames = {"企业寄", "个人寄", "企业取", "个人取", "配送员"}; |
| | | for (int i = 0; i <= Constants.FOUR; i++) { |
| | | String[] typeNames = {"异地企业寄件", "异地个人寄件", "异地企业取件", "异地个人取件", "配送员", "就地企业存件", "就地个人存件"}; |
| | | for (int i = 0; i <= Constants.SIX; i++) { |
| | | RevenueShareVO vo = new RevenueShareVO(); |
| | | vo.setFieldType(i); |
| | | vo.setFieldTypeName(typeNames[i]); |