From 7d81ce01560d384f15212edc40ebeaa9924913f9 Mon Sep 17 00:00:00 2001 From: wlzboy <66905212@qq.com> Date: 星期日, 21 九月 2025 19:12:53 +0800 Subject: [PATCH] feat:新增评价功能 --- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbCallbackLogServiceImpl.java | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 52 insertions(+), 0 deletions(-) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbCallbackLogServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbCallbackLogServiceImpl.java index 82e079a..0dbb53b 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbCallbackLogServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbCallbackLogServiceImpl.java @@ -1,11 +1,19 @@ package com.ruoyi.system.service.impl; import java.util.List; +import java.util.Map; +import java.util.Date; +import java.util.HashMap; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ruoyi.system.mapper.TbCallbackLogMapper; import com.ruoyi.system.domain.TbCallbackLog; import com.ruoyi.system.service.ITbCallbackLogService; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.TypeReference; +import com.ruoyi.common.utils.HttpUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * 鍥炶皟璁板綍Service涓氬姟灞傚鐞� @@ -14,6 +22,8 @@ @Service public class TbCallbackLogServiceImpl implements ITbCallbackLogService { + private static final Logger log = LoggerFactory.getLogger(TbCallbackLogServiceImpl.class); + @Autowired private TbCallbackLogMapper tbCallbackLogMapper; @@ -88,4 +98,46 @@ { return tbCallbackLogMapper.deleteTbCallbackLogById(id); } + + /** + * 閲嶈瘯鍥炶皟 + */ + @Override + public int retryTbCallbackLogByIds(Long[] ids) { + int successCount = 0; + for (Long id : ids) { + TbCallbackLog callbackLog = tbCallbackLogMapper.selectTbCallbackLogById(id); + if (callbackLog != null) { + try { + // 瑙f瀽鍘熷璇锋眰鍙傛暟 + Map<String, String> params = JSON.parseObject(callbackLog.getRequestParams(), + new TypeReference<Map<String, String>>() {}); + + // 杞崲key鐨勯瀛楁瘝涓哄ぇ鍐� + Map<String, String> capitalizedParams = new HashMap<>(); + params.forEach((key, value) -> { + String capitalizedKey = key.substring(0, 1).toUpperCase() + key.substring(1); + capitalizedParams.put(capitalizedKey, value); + }); + + // 閲嶆柊鍙戦�佸洖璋� + String response = HttpUtil.post(callbackLog.getCallbackUrl(), capitalizedParams); + if (response != null) { + callbackLog.setRetryCount(callbackLog.getRetryCount()+1); + callbackLog.setResponseResult(response); + callbackLog.setStatus("1"); // 鏇存柊鐘舵�佷负鎴愬姛 + successCount++; + tbCallbackLogMapper.updateTbCallbackLog(callbackLog); + } + } catch (Exception e) { + log.error("閲嶈瘯鍥炶皟澶辫触锛孖D: " + id + ", 閿欒: " + e.getMessage()); + callbackLog.setErrorMsg(e.getMessage()); + callbackLog.setStatus("0"); // 鏇存柊鐘舵�佷负澶辫触 + tbCallbackLogMapper.updateTbCallbackLog(callbackLog); + } + } + } + return successCount; + } + } \ No newline at end of file -- Gitblit v1.9.1