|
|
@ -1,15 +1,20 @@ |
|
|
package com.inspect.simulator.service.impl; |
|
|
package com.inspect.simulator.service.impl; |
|
|
|
|
|
|
|
|
|
|
|
import com.alibaba.nacos.client.config.common.GroupKey; |
|
|
import com.google.gson.Gson; |
|
|
import com.google.gson.Gson; |
|
|
import com.inspect.simulator.domain.result.PatrolResult; |
|
|
import com.inspect.simulator.domain.result.PatrolResult; |
|
|
|
|
|
import com.inspect.simulator.domain.result.PatrolUpdataLog; |
|
|
import com.inspect.simulator.domain.result.upper.*; |
|
|
import com.inspect.simulator.domain.result.upper.*; |
|
|
import com.inspect.simulator.mapper.PatrolResultMapper; |
|
|
import com.inspect.simulator.mapper.PatrolResultMapper; |
|
|
|
|
|
import com.inspect.simulator.service.IPatrolUpdataLogService; |
|
|
import com.inspect.simulator.service.PatrolResultService; |
|
|
import com.inspect.simulator.service.PatrolResultService; |
|
|
import com.inspect.simulator.service.remote.UpperRemoteService; |
|
|
import com.inspect.simulator.service.remote.UpperRemoteService; |
|
|
import com.inspect.simulator.utils.DateUtils; |
|
|
import com.inspect.simulator.utils.DateUtils; |
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
import org.slf4j.Logger; |
|
|
import org.slf4j.Logger; |
|
|
import org.slf4j.LoggerFactory; |
|
|
import org.slf4j.LoggerFactory; |
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
|
|
import org.springframework.beans.factory.annotation.Value; |
|
|
import org.springframework.scheduling.annotation.Scheduled; |
|
|
import org.springframework.scheduling.annotation.Scheduled; |
|
|
import org.springframework.stereotype.Service; |
|
|
import org.springframework.stereotype.Service; |
|
|
import retrofit2.Call; |
|
|
import retrofit2.Call; |
|
|
@ -20,18 +25,32 @@ import java.util.stream.Collectors; |
|
|
|
|
|
|
|
|
@Service |
|
|
@Service |
|
|
public class PatrolResultServiceImpl implements PatrolResultService { |
|
|
public class PatrolResultServiceImpl implements PatrolResultService { |
|
|
|
|
|
|
|
|
|
|
|
@Value("${upper.stationCode:30000001-112967078}") |
|
|
|
|
|
private String stationCode; |
|
|
|
|
|
|
|
|
|
|
|
@Value("${upper.provinceCode:330000}") |
|
|
|
|
|
private String provinceCode; |
|
|
|
|
|
|
|
|
|
|
|
@Value("${upper.voltLevel:800}") |
|
|
|
|
|
private String voltLevel; |
|
|
private static String token; |
|
|
private static String token; |
|
|
|
|
|
|
|
|
private static final String MLLM_FILTER = "0"; |
|
|
private static final String MLLM_FILTER = "0"; |
|
|
|
|
|
|
|
|
private static final String FITLER_FILTER = "1"; |
|
|
private static final String FITLER_FILTER = "1"; |
|
|
|
|
|
|
|
|
|
|
|
private static final Set<String> VALID_RESULT_CODES = new HashSet<>(Arrays.asList("0", "1")); |
|
|
|
|
|
|
|
|
private final Logger log = LoggerFactory.getLogger(this.getClass()); |
|
|
private final Logger log = LoggerFactory.getLogger(this.getClass()); |
|
|
|
|
|
|
|
|
private final UpperRemoteService upperRemoteService; |
|
|
private final UpperRemoteService upperRemoteService; |
|
|
|
|
|
|
|
|
private final PatrolResultMapper patrolResultMapper; |
|
|
private final PatrolResultMapper patrolResultMapper; |
|
|
|
|
|
|
|
|
|
|
|
@Autowired |
|
|
|
|
|
private IPatrolUpdataLogService patrolUpdataLogService; |
|
|
|
|
|
|
|
|
public PatrolResultServiceImpl(PatrolResultMapper patrolResultMapper, UpperRemoteService upperRemoteService) { |
|
|
public PatrolResultServiceImpl(PatrolResultMapper patrolResultMapper, UpperRemoteService upperRemoteService) { |
|
|
this.patrolResultMapper = patrolResultMapper; |
|
|
this.patrolResultMapper = patrolResultMapper; |
|
|
this.upperRemoteService = upperRemoteService; |
|
|
this.upperRemoteService = upperRemoteService; |
|
|
@ -83,7 +102,8 @@ public class PatrolResultServiceImpl implements PatrolResultService { |
|
|
log.info("[{}] [{}] sendPatrolResultToUpperSystem", threadId, execTime); |
|
|
log.info("[{}] [{}] sendPatrolResultToUpperSystem", threadId, execTime); |
|
|
// 查询当天的巡检结果 |
|
|
// 查询当天的巡检结果 |
|
|
String createTimeStr = DateUtils.parseDateToStr("yyyy-MM-dd", date); |
|
|
String createTimeStr = DateUtils.parseDateToStr("yyyy-MM-dd", date); |
|
|
// createTimeStr = "2024-06-19"; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// createTimeStr = "2025-03-27"; |
|
|
List<PatrolResult> patrolResults = patrolResultMapper.selectCurrentPatrolResultList(createTimeStr); |
|
|
List<PatrolResult> patrolResults = patrolResultMapper.selectCurrentPatrolResultList(createTimeStr); |
|
|
if (patrolResults == null || patrolResults.size() <= 0) { |
|
|
if (patrolResults == null || patrolResults.size() <= 0) { |
|
|
log.info("[{}] [{}] sendPatrolResultToUpperSystem no data", threadId, execTime); |
|
|
log.info("[{}] [{}] sendPatrolResultToUpperSystem no data", threadId, execTime); |
|
|
@ -91,7 +111,8 @@ public class PatrolResultServiceImpl implements PatrolResultService { |
|
|
} |
|
|
} |
|
|
try { |
|
|
try { |
|
|
String token = getOrRefreshToken(false); |
|
|
String token = getOrRefreshToken(false); |
|
|
MessageBody messageBody = prepareMessageBody(patrolResults); |
|
|
|
|
|
|
|
|
Set<Long> lineIds = new HashSet<>(); |
|
|
|
|
|
MessageBody messageBody = prepareMessageBody(patrolResults, lineIds); |
|
|
MessageResult messageResult = messageNotify(token, messageBody); |
|
|
MessageResult messageResult = messageNotify(token, messageBody); |
|
|
|
|
|
|
|
|
if (messageResult == null || !messageResult.getSuccess()) { |
|
|
if (messageResult == null || !messageResult.getSuccess()) { |
|
|
@ -100,11 +121,54 @@ public class PatrolResultServiceImpl implements PatrolResultService { |
|
|
messageResult = messageNotify(token, messageBody); |
|
|
messageResult = messageNotify(token, messageBody); |
|
|
} |
|
|
} |
|
|
log.info("sendPatrolResultToUpperSystem messageResult: {}", messageResult); |
|
|
log.info("sendPatrolResultToUpperSystem messageResult: {}", messageResult); |
|
|
if (messageResult != null && messageResult.getSuccess()) { |
|
|
|
|
|
|
|
|
if (messageResult != null && messageResult.getSuccess() && lineIds.size() > 0) { |
|
|
// 成功则更新数据库中上送状态 |
|
|
// 成功则更新数据库中上送状态 |
|
|
Set<Long> lineIds = patrolResults.stream().map(PatrolResult::getLineId).collect(Collectors.toSet()); |
|
|
|
|
|
int row = patrolResultMapper.updatePatrolResultUpStatus(lineIds); |
|
|
int row = patrolResultMapper.updatePatrolResultUpStatus(lineIds); |
|
|
log.info("[{}] [{}] sendPatrolResultToUpperSystem updatePatrolResultUpStatus row:{}", threadId, execTime, row); |
|
|
log.info("[{}] [{}] sendPatrolResultToUpperSystem updatePatrolResultUpStatus row:{}", threadId, execTime, row); |
|
|
|
|
|
List<MessageData> samples = messageBody.getSamples(); |
|
|
|
|
|
// 记录上送初筛正常的数据 |
|
|
|
|
|
List<MessageData> filterDataList = samples.stream().filter(messageData -> "0".equals(messageData.getFitlerResultCode()) && StringUtils.isEmpty(messageData.getMllmResultCode())).collect(Collectors.toList()); |
|
|
|
|
|
Map<GroupKeyStatic, List<MessageData>> staticFilterListMap = filterDataList.stream().collect(Collectors.groupingBy(p -> new GroupKeyStatic(p.getAlgorithmsType(), p.getFitlerResultCode()))); |
|
|
|
|
|
Map<GroupKeyStatic,Integer> staticFilterResultMap = new HashMap<>(); |
|
|
|
|
|
for (Map.Entry<GroupKeyStatic, List<MessageData>> groupKeyStaticListEntry : staticFilterListMap.entrySet()) { |
|
|
|
|
|
GroupKeyStatic groupKey = groupKeyStaticListEntry.getKey(); |
|
|
|
|
|
List<MessageData> messageDatas = groupKeyStaticListEntry.getValue(); |
|
|
|
|
|
staticFilterResultMap.put(groupKey, messageDatas.size()); |
|
|
|
|
|
} |
|
|
|
|
|
List<PatrolUpdataLog> updataLogs = new ArrayList<>(); |
|
|
|
|
|
for (Map.Entry<GroupKeyStatic, Integer> groupKeyStaticIntegerEntry : staticFilterResultMap.entrySet()) { |
|
|
|
|
|
PatrolUpdataLog patrolUpdataLog = new PatrolUpdataLog(); |
|
|
|
|
|
GroupKeyStatic groupKey = groupKeyStaticIntegerEntry.getKey(); |
|
|
|
|
|
int count = groupKeyStaticIntegerEntry.getValue(); |
|
|
|
|
|
patrolUpdataLog.setAlgorithmsType(groupKey.getAlgorithmsType()); |
|
|
|
|
|
patrolUpdataLog.setResultCode(groupKey.getResultCode()); |
|
|
|
|
|
patrolUpdataLog.setUpNum(String.valueOf(count)); |
|
|
|
|
|
patrolUpdataLog.setCreateTime(date); |
|
|
|
|
|
patrolUpdataLog.setFilter(FITLER_FILTER); |
|
|
|
|
|
updataLogs.add(patrolUpdataLog); |
|
|
|
|
|
} |
|
|
|
|
|
// 记录初筛缺陷(大模型正常,缺陷)数据 |
|
|
|
|
|
List<MessageData> mllmDataList = samples.stream().filter(messageData -> StringUtils.isNotEmpty(messageData.getMllmResultCode())).collect(Collectors.toList()); |
|
|
|
|
|
Map<GroupKeyStatic, List<MessageData>> staticMllmListMap = mllmDataList.stream().collect(Collectors.groupingBy(p -> new GroupKeyStatic(p.getAlgorithmsType(), p.getMllmResultCode()))); |
|
|
|
|
|
Map<GroupKeyStatic,Integer> staticMllmResultMap = new HashMap<>(); |
|
|
|
|
|
for (Map.Entry<GroupKeyStatic, List<MessageData>> groupKeyStaticListEntry : staticMllmListMap.entrySet()) { |
|
|
|
|
|
GroupKeyStatic groupKey = groupKeyStaticListEntry.getKey(); |
|
|
|
|
|
List<MessageData> messageDatas = groupKeyStaticListEntry.getValue(); |
|
|
|
|
|
staticMllmResultMap.put(groupKey, messageDatas.size()); |
|
|
|
|
|
} |
|
|
|
|
|
for (Map.Entry<GroupKeyStatic, Integer> groupKeyStaticIntegerEntry : staticMllmResultMap.entrySet()) { |
|
|
|
|
|
PatrolUpdataLog patrolUpdataLog = new PatrolUpdataLog(); |
|
|
|
|
|
GroupKeyStatic groupKey = groupKeyStaticIntegerEntry.getKey(); |
|
|
|
|
|
int count = groupKeyStaticIntegerEntry.getValue(); |
|
|
|
|
|
patrolUpdataLog.setAlgorithmsType(groupKey.getAlgorithmsType()); |
|
|
|
|
|
patrolUpdataLog.setResultCode(groupKey.getResultCode()); |
|
|
|
|
|
patrolUpdataLog.setUpNum(String.valueOf(count)); |
|
|
|
|
|
patrolUpdataLog.setCreateTime(date); |
|
|
|
|
|
patrolUpdataLog.setFilter(MLLM_FILTER); |
|
|
|
|
|
updataLogs.add(patrolUpdataLog); |
|
|
|
|
|
} |
|
|
|
|
|
log.info("updataLogs size:{},updataLogs: {}", updataLogs.size(), updataLogs); |
|
|
|
|
|
boolean b = patrolUpdataLogService.saveBatch(updataLogs); |
|
|
} else { |
|
|
} else { |
|
|
log.error("[{}] [{}] sendPatrolResultToUpperSystem failed", threadId, execTime); |
|
|
log.error("[{}] [{}] sendPatrolResultToUpperSystem failed", threadId, execTime); |
|
|
} |
|
|
} |
|
|
@ -112,7 +176,6 @@ public class PatrolResultServiceImpl implements PatrolResultService { |
|
|
log.error("sendPatrolResultToUpperSystem Exception", e); |
|
|
log.error("sendPatrolResultToUpperSystem Exception", e); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
private String getOrRefreshToken(Boolean isTokenExpired) { |
|
|
private String getOrRefreshToken(Boolean isTokenExpired) { |
|
|
if (token == null || isTokenExpired) { |
|
|
if (token == null || isTokenExpired) { |
|
|
TokenParam tokenParam = new TokenParam(); |
|
|
TokenParam tokenParam = new TokenParam(); |
|
|
@ -139,32 +202,147 @@ public class PatrolResultServiceImpl implements PatrolResultService { |
|
|
return token; |
|
|
return token; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
private MessageBody prepareMessageBody(List<PatrolResult> patrolResults) { |
|
|
|
|
|
|
|
|
private MessageBody prepareMessageBody(List<PatrolResult> patrolResults, Set<Long> lineIds) { |
|
|
MessageBody messageBody = new MessageBody(); |
|
|
MessageBody messageBody = new MessageBody(); |
|
|
messageBody.setProvinceCode("330000"); |
|
|
|
|
|
messageBody.setStationCode("30000001-112967078"); |
|
|
|
|
|
messageBody.setVoltLevel("800"); |
|
|
|
|
|
|
|
|
// 绍兴站 |
|
|
|
|
|
// messageBody.setProvinceCode("330000"); |
|
|
|
|
|
// messageBody.setStationCode("30000001-112967078"); |
|
|
|
|
|
// 灵州站 |
|
|
|
|
|
// messageBody.setProvinceCode("640000"); |
|
|
|
|
|
// messageBody.setStationCode("1cc010d8a78a598ccb52fb470301531cbff88e26c5"); |
|
|
|
|
|
// messageBody.setVoltLevel("800"); |
|
|
|
|
|
messageBody.setProvinceCode(provinceCode); |
|
|
|
|
|
messageBody.setStationCode(stationCode); |
|
|
|
|
|
messageBody.setVoltLevel(voltLevel); |
|
|
List<MessageData> samples = new ArrayList<>(); |
|
|
List<MessageData> samples = new ArrayList<>(); |
|
|
for (PatrolResult patrolResult : patrolResults) { |
|
|
|
|
|
MessageData sample = new MessageData(); |
|
|
|
|
|
sample.setAreaName(patrolResult.getAreaName()); |
|
|
|
|
|
sample.setDeviceName(patrolResult.getDeviceName()); |
|
|
|
|
|
sample.setPointName(patrolResult.getDeviceName()); |
|
|
|
|
|
sample.setTime(DateUtils.format(DateUtils.yyyyMMddHHmmss2, patrolResult.getCreateTime())); |
|
|
|
|
|
sample.setAlgorithmsName(patrolResult.getAlgorithmsName()); |
|
|
|
|
|
sample.setAlgorithmsType(patrolResult.getAlgorithmsType()); |
|
|
|
|
|
sample.setSampleRaw(patrolResult.getFilePath()); |
|
|
|
|
|
|
|
|
|
|
|
sample.setFitlerDefect(FITLER_FILTER.equals(patrolResult.getFilter()) ? patrolResult.getResImgUrl() : ""); |
|
|
|
|
|
sample.setMllmDefect(MLLM_FILTER.equals(patrolResult.getFilter()) ? patrolResult.getResImgUrl() : ""); |
|
|
|
|
|
sample.setFitlerDiffBase(FITLER_FILTER.equals(patrolResult.getFilter()) ? patrolResult.getImageNormalUrlPath() : ""); |
|
|
|
|
|
String resultType = StringUtils.isEmpty(patrolResult.getResultType()) ? patrolResult.getResultType() : ("1".equals(patrolResult.getResultType()) ? "0" : "1"); |
|
|
|
|
|
sample.setFitlerResultCode(FITLER_FILTER.equals(patrolResult.getFilter()) ? resultType : ""); |
|
|
|
|
|
sample.setMllmResultCode(MLLM_FILTER.equals(patrolResult.getFilter()) ? resultType : ""); |
|
|
|
|
|
samples.add(sample); |
|
|
|
|
|
|
|
|
if (patrolResults == null) { |
|
|
|
|
|
return messageBody; |
|
|
} |
|
|
} |
|
|
|
|
|
Map<GroupKey, List<PatrolResult>> groupedResults = patrolResults.stream() |
|
|
|
|
|
.collect(Collectors.groupingBy(p -> new GroupKey( |
|
|
|
|
|
p.getLineId(), |
|
|
|
|
|
p.getDeviceName(), |
|
|
|
|
|
p.getCreateTime(), |
|
|
|
|
|
p.getAlgorithmsType() |
|
|
|
|
|
))); |
|
|
|
|
|
|
|
|
|
|
|
groupedResults.forEach((key, group) -> { |
|
|
|
|
|
MessageData sample = new MessageData(); |
|
|
|
|
|
PatrolResult firstPr = group.get(0); |
|
|
|
|
|
sample.setAreaName(firstPr.getAreaName()); |
|
|
|
|
|
sample.setDeviceName(firstPr.getDeviceName()); |
|
|
|
|
|
sample.setPointName(firstPr.getPointName()); |
|
|
|
|
|
sample.setTime(DateUtils.format(DateUtils.yyyyMMddHHmmss2, firstPr.getCreateTime())); |
|
|
|
|
|
sample.setSampleRaw(firstPr.getFilePath()); |
|
|
|
|
|
sample.setAlgorithmsName(firstPr.getAlgorithmsName()); |
|
|
|
|
|
sample.setAlgorithmsType(firstPr.getAlgorithmsType()); |
|
|
|
|
|
|
|
|
|
|
|
// 处理同一分组内的不同filter结果 |
|
|
|
|
|
group.forEach(pr -> { |
|
|
|
|
|
// result type是检测出来有缺陷的 0是缺陷 1是正常 2是异常(异常不算是缺陷比如图片抓拍失败为空算是异常,或者是大模型服务挂掉分析失败也是异常,这种的不算是缺陷) |
|
|
|
|
|
String resultType = pr.getResultType(); |
|
|
|
|
|
if (StringUtils.isNotEmpty(resultType)) { |
|
|
|
|
|
if ("1".equals(pr.getResultType())) { |
|
|
|
|
|
resultType = "0"; |
|
|
|
|
|
} else if ("0".equals(pr.getResultType())) { |
|
|
|
|
|
resultType = "1"; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
String filter = pr.getFilter(); |
|
|
|
|
|
|
|
|
|
|
|
if (MLLM_FILTER.equals(filter)) { |
|
|
|
|
|
sample.setMllmDefect(pr.getResImgUrl()); |
|
|
|
|
|
sample.setMllmResultCode(resultType); |
|
|
|
|
|
} else if (FITLER_FILTER.equals(filter)) { |
|
|
|
|
|
sample.setFitlerDefect(pr.getResImgUrl()); |
|
|
|
|
|
sample.setFitlerDiffBase(pr.getImageNormalUrlPath()); |
|
|
|
|
|
sample.setFitlerResultCode(resultType); |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
// 上传大模型正常0和缺陷1的图片,忽略异常的图片,初筛正常的图片(去掉表计识别) |
|
|
|
|
|
if (isValidResultCode(sample.getMllmResultCode()) || ("0".equals(sample.getFitlerResultCode()) && StringUtils.isEmpty(sample.getMllmResultCode()))) { |
|
|
|
|
|
samples.add(sample); |
|
|
|
|
|
lineIds.add(firstPr.getLineId()); |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
messageBody.setSamples(samples); |
|
|
messageBody.setSamples(samples); |
|
|
log.info("samples size: {},messageBody: {}", samples.size(), messageBody); |
|
|
log.info("samples size: {},messageBody: {}", samples.size(), messageBody); |
|
|
return messageBody; |
|
|
return messageBody; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private boolean isValidResultCode(String resultCode) { |
|
|
|
|
|
return VALID_RESULT_CODES.contains(resultCode); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 分组键,用于分组PatrolResult对象 |
|
|
|
|
|
private static class GroupKey { |
|
|
|
|
|
private final Long lineId; |
|
|
|
|
|
private final String deviceName; |
|
|
|
|
|
private final Date createTime; |
|
|
|
|
|
private final String algorithmsType; |
|
|
|
|
|
|
|
|
|
|
|
public GroupKey(Long lineId, String deviceName, Date createTime, String algorithmsType) { |
|
|
|
|
|
this.lineId = lineId; |
|
|
|
|
|
this.deviceName = deviceName; |
|
|
|
|
|
this.createTime = createTime; |
|
|
|
|
|
this.algorithmsType = algorithmsType; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
|
public boolean equals(Object o) { |
|
|
|
|
|
if (this == o) return true; |
|
|
|
|
|
if (o == null || getClass() != o.getClass()) return false; |
|
|
|
|
|
GroupKey groupKey = (GroupKey) o; |
|
|
|
|
|
return Objects.equals(lineId, groupKey.lineId) && |
|
|
|
|
|
Objects.equals(deviceName, groupKey.deviceName) && |
|
|
|
|
|
Objects.equals(createTime, groupKey.createTime) && |
|
|
|
|
|
Objects.equals(algorithmsType, groupKey.algorithmsType); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
|
public int hashCode() { |
|
|
|
|
|
return Objects.hash(lineId, deviceName, createTime, algorithmsType); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private static class GroupKeyStatic { |
|
|
|
|
|
private final String algorithmsType; |
|
|
|
|
|
private final String resultCode; |
|
|
|
|
|
|
|
|
|
|
|
public GroupKeyStatic(String algorithmsType, String resultCode) { |
|
|
|
|
|
this.resultCode = resultCode; |
|
|
|
|
|
this.algorithmsType = algorithmsType; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
|
public boolean equals(Object o) { |
|
|
|
|
|
if (this == o) return true; |
|
|
|
|
|
if (o == null || getClass() != o.getClass()) return false; |
|
|
|
|
|
GroupKeyStatic groupKey = (GroupKeyStatic) o; |
|
|
|
|
|
return Objects.equals(algorithmsType, groupKey.algorithmsType) && |
|
|
|
|
|
Objects.equals(resultCode, groupKey.resultCode); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
|
public int hashCode() { |
|
|
|
|
|
return Objects.hash(algorithmsType, resultCode); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public String getAlgorithmsType() { |
|
|
|
|
|
return algorithmsType; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public String getResultCode() { |
|
|
|
|
|
return resultCode; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
|
public String toString() { |
|
|
|
|
|
return "GroupKeyStatic{" + |
|
|
|
|
|
"algorithmsType='" + algorithmsType + '\'' + |
|
|
|
|
|
", resultCode='" + resultCode + '\'' + |
|
|
|
|
|
'}'; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
} |
|
|
} |