From 33caf2bb79bb3c561916c91ae386ec772411e2e8 Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期一, 11 五月 2026 18:21:50 +0800
Subject: [PATCH] 代码生成
---
server/services/src/main/java/com/doumee/service/business/impl/PricingRuleServiceImpl.java | 62 ++++++++++++++++++++----------
1 files changed, 41 insertions(+), 21 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 189a914..da48d1e 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
@@ -203,16 +203,16 @@
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);
@@ -252,7 +252,7 @@
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());
@@ -281,9 +281,9 @@
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 {
@@ -291,9 +291,9 @@
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);
@@ -334,9 +334,9 @@
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());
@@ -508,6 +508,11 @@
Date now = new Date();
for (StoreDepositItemDTO item : request.getItems()) {
+ // 鍏冭浆鍒�
+ String depositFen = String.valueOf(new BigDecimal(item.getDepositAmount())
+ .multiply(new BigDecimal("100"))
+ .setScale(0, BigDecimal.ROUND_HALF_UP)
+ .longValue());
QueryWrapper<PricingRule> qw = new QueryWrapper<>();
qw.lambda()
.eq(PricingRule::getType, Constants.THREE)
@@ -518,14 +523,14 @@
PricingRule existing = pricingRuleMapper.selectOne(qw);
if (existing != null) {
- existing.setFieldB(item.getDepositAmount());
+ existing.setFieldB(depositFen);
existing.setUpdateTime(now);
pricingRuleMapper.updateById(existing);
} else {
PricingRule rule = new PricingRule();
rule.setType(Constants.THREE);
rule.setFieldA(String.valueOf(item.getFieldType()));
- rule.setFieldB(item.getDepositAmount());
+ rule.setFieldB(depositFen);
rule.setCityId(request.getCityId());
rule.setDeleted(Constants.ZERO);
rule.setCreateTime(now);
@@ -561,7 +566,7 @@
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);
}
@@ -571,15 +576,15 @@
@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 + "鐨勬暟鎹�");
@@ -629,10 +634,10 @@
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]);
@@ -648,4 +653,19 @@
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();
+ }
+
}
--
Gitblit v1.9.3