| | |
| | | PricingRule existing = pricingRuleMapper.selectOne(qw); |
| | | |
| | | if (existing != null) { |
| | | // 更新 |
| | | existing.setFieldB(item.getUnitPrice()); |
| | | // 更新(元转分) |
| | | existing.setFieldB(yuanToFen(item.getUnitPrice())); |
| | | existing.setUpdateTime(now); |
| | | pricingRuleMapper.updateById(existing); |
| | | } else { |
| | | // 新建 |
| | | // 新建(元转分) |
| | | PricingRule rule = new PricingRule(); |
| | | rule.setType(Constants.ZERO); |
| | | rule.setFieldA(String.valueOf(item.getCategoryId())); |
| | | rule.setFieldB(item.getUnitPrice()); |
| | | rule.setFieldB(yuanToFen(item.getUnitPrice())); |
| | | rule.setCityId(request.getCityId()); |
| | | rule.setDeleted(Constants.ZERO); |
| | | rule.setCreateTime(now); |
| | |
| | | PricingRule rule = existingMap.get(String.valueOf(category.getId())); |
| | | if (rule != null) { |
| | | vo.setPricingRuleId(rule.getId()); |
| | | vo.setUnitPrice(rule.getFieldB()); |
| | | vo.setUnitPrice(fenToYuan(rule.getFieldB())); |
| | | } |
| | | return vo; |
| | | }).collect(Collectors.toList()); |
| | |
| | | |
| | | if (existing != null) { |
| | | existing.setFieldB(item.getStartDistance()); |
| | | existing.setFieldC(item.getStartPrice()); |
| | | existing.setFieldC(yuanToFen(item.getStartPrice())); |
| | | existing.setFieldD(item.getExtraDistance()); |
| | | existing.setFieldE(item.getExtraPrice()); |
| | | existing.setFieldE(yuanToFen(item.getExtraPrice())); |
| | | existing.setUpdateTime(now); |
| | | pricingRuleMapper.updateById(existing); |
| | | } else { |
| | |
| | | rule.setType(Constants.ONE); |
| | | rule.setFieldA(String.valueOf(item.getCategoryId())); |
| | | rule.setFieldB(item.getStartDistance()); |
| | | rule.setFieldC(item.getStartPrice()); |
| | | rule.setFieldC(yuanToFen(item.getStartPrice())); |
| | | rule.setFieldD(item.getExtraDistance()); |
| | | rule.setFieldE(item.getExtraPrice()); |
| | | rule.setFieldE(yuanToFen(item.getExtraPrice())); |
| | | rule.setCityId(request.getCityId()); |
| | | rule.setDeleted(Constants.ZERO); |
| | | rule.setCreateTime(now); |
| | |
| | | if (rule != null) { |
| | | vo.setPricingRuleId(rule.getId()); |
| | | vo.setStartDistance(rule.getFieldB()); |
| | | vo.setStartPrice(rule.getFieldC()); |
| | | vo.setStartPrice(fenToYuan(rule.getFieldC())); |
| | | vo.setExtraDistance(rule.getFieldD()); |
| | | vo.setExtraPrice(rule.getFieldE()); |
| | | vo.setExtraPrice(fenToYuan(rule.getFieldE())); |
| | | } |
| | | return vo; |
| | | }).collect(Collectors.toList()); |
| | |
| | | PricingRule rule = existingMap.get(String.valueOf(i)); |
| | | if (rule != null) { |
| | | vo.setPricingRuleId(rule.getId()); |
| | | vo.setDepositAmount(rule.getFieldB()); |
| | | vo.setDepositAmount(fenToYuan(rule.getFieldB())); |
| | | } |
| | | result.add(vo); |
| | | } |
| | |
| | | return result; |
| | | } |
| | | |
| | | private String yuanToFen(String yuan) { |
| | | if (yuan == null || yuan.isEmpty()) return "0"; |
| | | return String.valueOf(new BigDecimal(yuan) |
| | | .multiply(new BigDecimal("100")) |
| | | .setScale(0, RoundingMode.HALF_UP) |
| | | .longValue()); |
| | | } |
| | | |
| | | private String fenToYuan(String fen) { |
| | | if (fen == null || fen.isEmpty()) return "0"; |
| | | return new BigDecimal(fen) |
| | | .divide(new BigDecimal("100"), 2, RoundingMode.HALF_UP) |
| | | .toPlainString(); |
| | | } |
| | | |
| | | } |