From 560b781b841c18b8cb179a0603620d85536f2d9a Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期五, 28 三月 2025 12:25:44 +0800
Subject: [PATCH] 优化代码
---
service-community/src/main/java/com/java110/community/cmd/ownerRepair/ListAdminOwnerRepairsCmd.java | 110 ++++++++++++++++++++++++++++++++++---------------------
1 files changed, 68 insertions(+), 42 deletions(-)
diff --git a/service-community/src/main/java/com/java110/community/cmd/ownerRepair/ListAdminOwnerRepairsCmd.java b/service-community/src/main/java/com/java110/community/cmd/ownerRepair/ListAdminOwnerRepairsCmd.java
index b8b07c5..301dc8e 100644
--- a/service-community/src/main/java/com/java110/community/cmd/ownerRepair/ListAdminOwnerRepairsCmd.java
+++ b/service-community/src/main/java/com/java110/community/cmd/ownerRepair/ListAdminOwnerRepairsCmd.java
@@ -20,10 +20,7 @@
import com.java110.utils.cache.MappingCache;
import com.java110.utils.constant.MappingConstant;
import com.java110.utils.exception.CmdException;
-import com.java110.utils.util.Assert;
-import com.java110.utils.util.BeanConvertUtil;
-import com.java110.utils.util.ListUtil;
-import com.java110.utils.util.StringUtil;
+import com.java110.utils.util.*;
import com.java110.vo.ResultVo;
import com.java110.vo.api.junkRequirement.PhotoVo;
import org.springframework.beans.factory.annotation.Autowired;
@@ -33,6 +30,7 @@
import java.text.ParseException;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Date;
import java.util.List;
@Java110Cmd(serviceCode = "ownerRepair.listAdminOwnerRepairs")
@@ -83,51 +81,79 @@
}
int count = repairInnerServiceSMOImpl.queryRepairsCount(ownerRepairDto);
- List<RepairDto> ownerRepairs = new ArrayList<>();
+ List<RepairDto> repairDtos;
if (count > 0) {
- List<RepairDto> repairDtos = repairInnerServiceSMOImpl.queryRepairs(ownerRepairDto);
- for (RepairDto repairDto : repairDtos) {
- //鑾峰彇缁煎悎璇勪环寰楀垎
- String appraiseScoreNumber = repairDto.getAppraiseScore();
- Double appraiseScoreNum = 0.0;
- if (!StringUtil.isEmpty(appraiseScoreNumber)) {
- appraiseScoreNum = Double.parseDouble(appraiseScoreNumber);
- }
- int appraiseScore = (int) Math.ceil(appraiseScoreNum);
- //鑾峰彇涓婇棬閫熷害璇勫垎
- String doorSpeedScoreNumber = repairDto.getDoorSpeedScore();
- Double doorSpeedScoreNum = 0.0;
- if (!StringUtil.isEmpty(doorSpeedScoreNumber)) {
- doorSpeedScoreNum = Double.parseDouble(doorSpeedScoreNumber);
- }
- int doorSpeedScore = (int) Math.ceil(doorSpeedScoreNum);
- //鑾峰彇缁翠慨鍛樻湇鍔¤瘎鍒�
- String repairmanServiceScoreNumber = repairDto.getRepairmanServiceScore();
- Double repairmanServiceScoreNum = 0.0;
- if (!StringUtil.isEmpty(repairmanServiceScoreNumber)) {
- repairmanServiceScoreNum = Double.parseDouble(repairmanServiceScoreNumber);
- }
- int repairmanServiceScore = (int) Math.ceil(repairmanServiceScoreNum);
- //鍙栧緱骞冲潎鍒�
- double averageNumber = (appraiseScoreNum + doorSpeedScoreNum + repairmanServiceScoreNum) / 3.0;
- BigDecimal averageNum = new BigDecimal(averageNumber);
- Double average = averageNum.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
- repairDto.setAppraiseScore(String.valueOf(appraiseScore));
- repairDto.setDoorSpeedScore(String.valueOf(doorSpeedScore));
- repairDto.setRepairmanServiceScore(String.valueOf(repairmanServiceScore));
- repairDto.setAverage(String.valueOf(average));
- ownerRepairs.add(repairDto);
- }
- refreshRepair(ownerRepairs);
+ repairDtos = repairInnerServiceSMOImpl.queryRepairs(ownerRepairDto);
+ computeRepairScore(repairDtos);
+ refreshRepair(repairDtos);
- refreshCommunityName(ownerRepairs);
+ refreshCommunityName(repairDtos);
} else {
- ownerRepairs = new ArrayList<>();
+ repairDtos = new ArrayList<>();
}
- ResponseEntity<String> responseEntity = ResultVo.createResponseEntity((int) Math.ceil((double) count / (double) reqJson.getInteger("row")), count, ownerRepairs);
+ ResponseEntity<String> responseEntity = ResultVo.createResponseEntity((int) Math.ceil((double) count / (double) reqJson.getInteger("row")), count, repairDtos);
context.setResponseEntity(responseEntity);
}
+ /**
+ * 璁$畻璇勫垎
+ *
+ * @param repairDtos
+ */
+ private void computeRepairScore(List<RepairDto> repairDtos) {
+ if (ListUtil.isNull(repairDtos)) {
+ return;
+ }
+ Date finishTime = null;
+ String submitHour;
+ Date timeout = null;
+ for (RepairDto repairDto : repairDtos) {
+ //鑾峰彇缁煎悎璇勪环寰楀垎
+ String appraiseScoreNumber = repairDto.getAppraiseScore();
+ Double appraiseScoreNum = 0.0;
+ if (!StringUtil.isEmpty(appraiseScoreNumber)) {
+ appraiseScoreNum = Double.parseDouble(appraiseScoreNumber);
+ }
+ int appraiseScore = (int) Math.ceil(appraiseScoreNum);
+ //鑾峰彇涓婇棬閫熷害璇勫垎
+ String doorSpeedScoreNumber = repairDto.getDoorSpeedScore();
+ Double doorSpeedScoreNum = 0.0;
+ if (!StringUtil.isEmpty(doorSpeedScoreNumber)) {
+ doorSpeedScoreNum = Double.parseDouble(doorSpeedScoreNumber);
+ }
+ int doorSpeedScore = (int) Math.ceil(doorSpeedScoreNum);
+ //鑾峰彇缁翠慨鍛樻湇鍔¤瘎鍒�
+ String repairmanServiceScoreNumber = repairDto.getRepairmanServiceScore();
+ Double repairmanServiceScoreNum = 0.0;
+ if (!StringUtil.isEmpty(repairmanServiceScoreNumber)) {
+ repairmanServiceScoreNum = Double.parseDouble(repairmanServiceScoreNumber);
+ }
+ int repairmanServiceScore = (int) Math.ceil(repairmanServiceScoreNum);
+ //鍙栧緱骞冲潎鍒�
+ double averageNumber = (appraiseScoreNum + doorSpeedScoreNum + repairmanServiceScoreNum) / 3.0;
+ BigDecimal averageNum = new BigDecimal(averageNumber);
+ Double average = averageNum.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
+ repairDto.setAppraiseScore(String.valueOf(appraiseScore));
+ repairDto.setDoorSpeedScore(String.valueOf(doorSpeedScore));
+ repairDto.setRepairmanServiceScore(String.valueOf(repairmanServiceScore));
+ repairDto.setAverage(String.valueOf(average));
+
+ // 璁$畻鎻愬崟鏃堕暱
+ finishTime = DateUtil.getCurrentDate();
+ if (!StringUtil.isEmpty(repairDto.getFinishTime())) {
+ finishTime = DateUtil.getDateFromStringA(repairDto.getFinishTime());
+ } else {
+ timeout = DateUtil.getDateFromStringA(repairDto.getTimeout());
+ if (finishTime.getTime() > timeout.getTime()) {
+ repairDto.setStateName(repairDto.getStateName() + "(瓒呮椂)");
+ }
+ }
+ submitHour = DateUtil.calculateTimeDifference(repairDto.getCreateTime(), finishTime);
+ repairDto.setSubmitHours(submitHour);
+
+ }
+ }
+
private void refreshCommunityName(List<RepairDto> ownerRepairs) {
if(ListUtil.isNull(ownerRepairs)){
--
Gitblit v1.8.0