From a11465387cb67853ef9252a679c43ef2ff75d718 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期五, 24 四月 2026 19:12:52 +0800
Subject: [PATCH] 提交
---
smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java | 37 ++++++++++++++++++++++++++++++++++++-
1 files changed, 36 insertions(+), 1 deletions(-)
diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
index 53b97f1..9b04a47 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -16,6 +16,7 @@
import com.smartor.config.PhoneUtils;
import com.smartor.domain.DTO.ServiceSubtaskDetailDTO;
import com.smartor.domain.*;
+import com.smartor.domain.VO.HeLibraryCountVO;
import com.smartor.domain.VO.ServiceSubtaskCotinueCountVO;
import com.smartor.domain.entity.ServiceSubtaskEntity;
import com.smartor.mapper.*;
@@ -31,6 +32,7 @@
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.RequestBody;
import java.math.BigDecimal;
import java.math.RoundingMode;
@@ -3589,7 +3591,8 @@
map.put("content", sendMagParam.getContent());
String result = HttpUtil.postJsonRequest(xhsmsPath, new Gson().toJson(map));
redisCache.setCacheObject(subTaskId + "recordAccept-hungup", "1", 10, TimeUnit.MINUTES);
- if (StringUtils.isNotEmpty(serviceSubtask.getRemark())) serviceSubtask.setRemark("鐢佃瘽鍙戦�佹嫆鎺�,鐭俊琛ュ伩鍙戦�佹垚鍔�");
+ if (StringUtils.isNotEmpty(serviceSubtask.getRemark()))
+ serviceSubtask.setRemark("鐢佃瘽鍙戦�佹嫆鎺�,鐭俊琛ュ伩鍙戦�佹垚鍔�");
else serviceSubtask.setRemark("鐭俊琛ュ伩鍙戦�佹垚鍔�");
serviceSubtask.setSendstate(3L);
serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
@@ -4172,6 +4175,38 @@
}
}
+ @Override
+ public Map<String, Object> getHeLibraryCount(@RequestBody HeLibraryCountVO heLibraryCountVO) {
+ if (ObjectUtils.isEmpty(heLibraryCountVO)) {
+ return new HashMap<>();
+ }
+ // 1. 鏌ヨ鍒嗙粍缁熻锛堝彂閫佹�婚噺銆佸彂閫佹垚鍔熼噺銆佸凡璇婚噺锛�
+ List<Map<String, Object>> groupStats = serviceSubtaskMapper.getHeLibraryCount(heLibraryCountVO);
+
+ // 2. 璁$畻鍚勭粍鐨勫彂閫佹垚鍔熺巼鍜屽凡璇荤巼
+ List<Map<String, Object>> result = new ArrayList<>();
+ if (CollectionUtils.isNotEmpty(groupStats)) {
+ for (Map<String, Object> row : groupStats) {
+ long totalCount = row.get("totalCount") != null ? ((Number) row.get("totalCount")).longValue() : 0L;
+ long sendSuccessCount = row.get("sendSuccessCount") != null ? ((Number) row.get("sendSuccessCount")).longValue() : 0L;
+ long readCount = row.get("readCount") != null ? ((Number) row.get("readCount")).longValue() : 0L;
+ // 鍙戦�佹垚鍔熺巼
+ double sendSuccessRate = totalCount > 0 ? (double) sendSuccessCount / totalCount : 0.0;
+ // 宸茶鐜囷紙鍩轰簬鍙戦�佹垚鍔熺殑鏁伴噺璁$畻锛�
+ double readRate = sendSuccessCount > 0 ? (double) readCount / sendSuccessCount : 0.0;
+ row.put("sendSuccessRate", sendSuccessRate);
+ row.put("readRate", readRate);
+ result.add(row);
+ }
+ }
+
+ Map<String, Object> resultMap = new HashMap<>();
+ resultMap.put("list", result);
+ resultMap.put("total", result.size());
+ return resultMap;
+ }
+
+
private Boolean saveServiceSubtaskDetail(ServiceSubtask serviceSubtask) {
Boolean result = true;
//3.4 濡傛灉3.1鎴�3.2涓簍rue鐨勮瘽锛屾牴鎹畉ype鍒ゆ柇浠�涔堢被鍨�
--
Gitblit v1.9.3