From d95f6551e8214d69cd0fd511ec693641eb61ba16 Mon Sep 17 00:00:00 2001
From: zengh <123456>
Date: Mon, 01 Aug 2022 10:36:26 +0800
Subject: [PATCH] 1、大屏首页接口修复,解决double类型相加精度问题
---
src/main/java/org/springblade/modules/farmplant/controller/FarmPlantController.java | 41 +++++++++++++++++++++++++++++++++++++----
1 files changed, 37 insertions(+), 4 deletions(-)
diff --git a/src/main/java/org/springblade/modules/farmplant/controller/FarmPlantController.java b/src/main/java/org/springblade/modules/farmplant/controller/FarmPlantController.java
index c34add1..31f80af 100644
--- a/src/main/java/org/springblade/modules/farmplant/controller/FarmPlantController.java
+++ b/src/main/java/org/springblade/modules/farmplant/controller/FarmPlantController.java
@@ -49,6 +49,7 @@
import springfox.documentation.annotations.ApiIgnore;
import javax.validation.Valid;
+import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.*;
@@ -137,7 +138,9 @@
if (res.get(i).getStrainId().equals(count.get(j).getStrainId())){
FarmPlantVO data = new FarmPlantVO();
data.setStrainId(res.get(i).getStrainId());
- data.setArea((Double.parseDouble(res.get(i).getArea()) + Double.parseDouble(count.get(j).getArea()))+"");
+ BigDecimal b1 = new BigDecimal(res.get(i).getArea());
+ BigDecimal b2 = new BigDecimal(count.get(j).getArea());
+ data.setArea(b1.add(b2).doubleValue()+"");
data.setStrainName(res.get(i).getStrainName());
count.set(j,data);
type = false;
@@ -295,11 +298,41 @@
*/
@GetMapping("/pagePalnt")
public R pagePalnt(FarmPlantVO farmPlant, Query query) {
- int i = farmplantService.selectCount();
+ int num = farmplantService.selectCount(farmPlant);
IPage<FarmPlantVO> pages = farmplantService.selectFarmPlantPage(Condition.getPage(query), farmPlant);
+ List<FarmPlantVO> res = pages.getRecords();
+ List<FarmPlantVO> count = new ArrayList<>();
+ //按种类合并种植物
+ for (int i = 0; i < res.size(); i++) {
+ if (i == 0){
+ count.add(res.get(0));
+ }else {
+ boolean type = false;
+ for (int j = 0; j < count.size(); j++) {
+ if (res.get(i).getStrainId().equals(count.get(j).getStrainId())){
+ FarmPlantVO data = new FarmPlantVO();
+ data.setStrainId(res.get(i).getStrainId());
+ BigDecimal b1 = new BigDecimal(res.get(i).getArea());
+ BigDecimal b2 = new BigDecimal(count.get(j).getArea());
+ data.setArea(b1.add(b2).doubleValue()+"");
+ data.setStrainName(res.get(i).getStrainName());
+ data.setUrl(res.get(i).getUrl());
+ count.set(j,data);
+ type = false;
+ break;
+ }else{
+ type = true;
+ }
+ }
+ if (type){
+ count.add(res.get(i));
+ }
+ }
+ }
+
Map map = new HashMap<>();
- map.put("num", i);
- map.put("page", pages);
+ map.put("num", num);
+ map.put("page", count);
return R.data(map);
}
--
Gitblit v1.9.3