From 98857678fce3f4139845aa11c3e8563294cb2a30 Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期五, 10 四月 2026 09:54:29 +0800
Subject: [PATCH] 代码生成
---
server/services/src/main/java/com/doumee/service/business/impl/PricingRuleServiceImpl.java | 107 ++++++++++++++++++++++++++---------------------------
1 files changed, 53 insertions(+), 54 deletions(-)
diff --git a/server/services/src/main/java/com/doumee/service/business/impl/PricingRuleServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/PricingRuleServiceImpl.java
index b82f12d..81bb4b4 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/PricingRuleServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/business/impl/PricingRuleServiceImpl.java
@@ -379,66 +379,65 @@
}
@Override
- public Integer createEstimatedDelivery(EstimatedDeliverySaveDTO request) {
- PricingRule rule = new PricingRule();
- rule.setType(Constants.TWO);
- rule.setCityId(request.getCityId());
- rule.setFieldA(request.getDistance());
- rule.setFieldB(request.getDuration());
- rule.setDeleted(Constants.ZERO);
- rule.setCreateTime(new Date());
- rule.setUpdateTime(new Date());
- pricingRuleMapper.insert(rule);
- return rule.getId();
- }
-
- @Override
- public void updateEstimatedDelivery(EstimatedDeliverySaveDTO request) {
- if (request.getId() == null) {
- throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "涓婚敭涓嶈兘涓虹┖");
- }
- PricingRule existing = pricingRuleMapper.selectById(request.getId());
- if (Objects.isNull(existing) || !Constants.equalsInteger(existing.getType(), Constants.TWO)) {
- throw new BusinessException(ResponseStatus.DATA_EMPTY);
- }
- existing.setFieldA(request.getDistance());
- existing.setFieldB(request.getDuration());
- existing.setCityId(request.getCityId());
- existing.setUpdateTime(new Date());
- pricingRuleMapper.updateById(existing);
- }
-
- @Override
- public void deleteEstimatedDelivery(Integer id) {
- PricingRule existing = pricingRuleMapper.selectById(id);
- if (Objects.isNull(existing) || !Constants.equalsInteger(existing.getType(), Constants.TWO)) {
- throw new BusinessException(ResponseStatus.DATA_EMPTY);
- }
- existing.setDeleted(Constants.ONE);
- existing.setUpdateTime(new Date());
- pricingRuleMapper.updateById(existing);
- }
-
- @Override
- public List<EstimatedDeliveryVO> listEstimatedDelivery(Integer cityId) {
+ @Transactional(rollbackFor = Exception.class)
+ public void saveEstimatedDelivery(EstimatedDeliverySaveDTO request) {
+ // 鏌ヨ宸叉湁瑙勫垯 type=2, fieldA=1, cityId, deleted=0
QueryWrapper<PricingRule> qw = new QueryWrapper<>();
qw.lambda()
.eq(PricingRule::getType, Constants.TWO)
+ .eq(PricingRule::getFieldA, "1")
+ .eq(PricingRule::getCityId, request.getCityId())
+ .eq(PricingRule::getDeleted, Constants.ZERO)
+ .last("limit 1");
+ PricingRule existing = pricingRuleMapper.selectOne(qw);
+
+ Date now = new Date();
+ if (existing != null) {
+ // 鏇存柊
+ existing.setFieldB(request.getStartDistance());
+ existing.setFieldC(request.getStartTime());
+ existing.setFieldD(request.getContinueDistance());
+ existing.setFieldE(request.getContinueTime());
+ existing.setUpdateTime(now);
+ pricingRuleMapper.updateById(existing);
+ } else {
+ // 鏂板
+ PricingRule rule = new PricingRule();
+ rule.setType(Constants.TWO);
+ rule.setFieldA("1");
+ rule.setFieldB(request.getStartDistance());
+ rule.setFieldC(request.getStartTime());
+ rule.setFieldD(request.getContinueDistance());
+ rule.setFieldE(request.getContinueTime());
+ rule.setCityId(request.getCityId());
+ rule.setDeleted(Constants.ZERO);
+ rule.setCreateTime(now);
+ rule.setUpdateTime(now);
+ pricingRuleMapper.insert(rule);
+ }
+ }
+
+ @Override
+ public EstimatedDeliveryVO getEstimatedDelivery(Integer cityId) {
+ QueryWrapper<PricingRule> qw = new QueryWrapper<>();
+ qw.lambda()
+ .eq(PricingRule::getType, Constants.TWO)
+ .eq(PricingRule::getFieldA, "1")
.eq(PricingRule::getCityId, cityId)
.eq(PricingRule::getDeleted, Constants.ZERO)
- .orderByAsc(PricingRule::getFieldA);
- List<PricingRule> rules = pricingRuleMapper.selectList(qw);
- if (CollectionUtils.isEmpty(rules)) {
- return new ArrayList<>();
- }
- return rules.stream().map(rule -> {
- EstimatedDeliveryVO vo = new EstimatedDeliveryVO();
+ .last("limit 1");
+ PricingRule rule = pricingRuleMapper.selectOne(qw);
+
+ EstimatedDeliveryVO vo = new EstimatedDeliveryVO();
+ vo.setCityId(cityId);
+ if (rule != null) {
vo.setPricingRuleId(rule.getId());
- vo.setCityId(rule.getCityId());
- vo.setDistance(rule.getFieldA());
- vo.setDuration(rule.getFieldB());
- return vo;
- }).collect(Collectors.toList());
+ vo.setStartDistance(rule.getFieldB());
+ vo.setStartTime(rule.getFieldC());
+ vo.setContinueDistance(rule.getFieldD());
+ vo.setContinueTime(rule.getFieldE());
+ }
+ return vo;
}
@Override
--
Gitblit v1.9.3