Commit 55971329 by guojuxing

记录服务所化时间

parent 73089d39
......@@ -20,9 +20,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
@Service("tapdMessageApiService")
public class TapdMessageApiServiceImpl implements TapdMessageApiService {
......@@ -59,6 +57,8 @@ public class TapdMessageApiServiceImpl implements TapdMessageApiService {
@Override
public ServiceResponse<String> handleTapdMessage(String tapdMessageStr) {
long starTime = System.currentTimeMillis();
//接收tapd消息数据
TapdMessageDTO tapdMessageDTO = JSON.parseObject(tapdMessageStr, TapdMessageDTO.class);
String event = tapdMessageDTO.getEvent();
......@@ -71,6 +71,7 @@ public class TapdMessageApiServiceImpl implements TapdMessageApiService {
logger.info("TAPD发送了缺陷删除事件,缺陷id:{} ", tapdMessageDTO.getId());
handleResult = handleTapdBugDelete(tapdMessageDTO);
}
logger.info("tapd同步数据到udesk所花时间:{}", System.currentTimeMillis() - starTime);
return ServiceResponse.success(handleResult);
}
......@@ -127,13 +128,16 @@ public class TapdMessageApiServiceImpl implements TapdMessageApiService {
JSONObject updateTicketRequestBody = new JSONObject();
JSONObject udeskTicketUpdate = new JSONObject();
JSONObject customFields = new JSONObject();
//suspended:跟踪 PM_audited:pm审核 变成已处理状态
boolean needToBeResolved = "suspended".equals(latestBugFromTAPD.getStatus()) || "PM_audited".equals(latestBugFromTAPD.getStatus());
if (needToBeResolved) {
udeskTicketUpdate.put("status_id", udeskTapdRelMap.get("resolved" + UdeskConstant.MAP_UDESK_ID_VALUE_SUFFIX));
} else {
udeskTicketUpdate.put("status_id", udeskTapdRelMap.get(latestBugFromTAPD.getStatus() + UdeskConstant.MAP_UDESK_ID_VALUE_SUFFIX));
}
// //suspended:跟踪 PM_audited:pm审核 变成已处理状态
// boolean needToBeResolved = "suspended".equals(latestBugFromTAPD.getStatus()) || "PM_audited".equals(latestBugFromTAPD.getStatus());
// if (needToBeResolved) {
// udeskTicketUpdate.put("status_id", udeskTapdRelMap.get("resolved" + UdeskConstant.MAP_UDESK_ID_VALUE_SUFFIX));
// } else {
// udeskTicketUpdate.put("status_id", udeskTapdRelMap.get(latestBugFromTAPD.getStatus() + UdeskConstant.MAP_UDESK_ID_VALUE_SUFFIX));
// }
udeskTicketUpdate.put("status_id", udeskTapdRelMap.get(getUdeskStatusEnByTapdStatus(latestBugFromTAPD.getStatus()) + UdeskConstant.MAP_UDESK_ID_VALUE_SUFFIX));
udeskTicketUpdate.put("priority_id", udeskTapdRelMap.get(priorityEN + UdeskConstant.MAP_UDESK_ID_VALUE_SUFFIX));
// key:value,value为null的话,不会被序列化. 为了防止误操作,如果TAPD的缺陷的严重程度为空,并不会去更新udesk中的严重程度.
customFields.put(UdeskConstant.UDESK_FIELD_SEVERITY,
......@@ -151,12 +155,15 @@ public class TapdMessageApiServiceImpl implements TapdMessageApiService {
udeskEnterpriseService.updateStatus(dataBaseTicket.getId(), statusEn);
}
// 更新数据库中的数据 注: 放在udesk操作完成之后
if (needToBeResolved) {
dataBaseTicket.setStatusEn(udeskTapdRelMap.get("resolved" + UdeskConstant.MAP_UDESK_NAME_SUFFIX));
} else {
dataBaseTicket
.setStatusEn(udeskTapdRelMap.get(latestBugFromTAPD.getStatus() + UdeskConstant.MAP_UDESK_NAME_SUFFIX));
}
// if (needToBeResolved) {
// dataBaseTicket.setStatusEn(udeskTapdRelMap.get("resolved" + UdeskConstant.MAP_UDESK_NAME_SUFFIX));
// } else {
// dataBaseTicket
// .setStatusEn(udeskTapdRelMap.get(latestBugFromTAPD.getStatus() + UdeskConstant.MAP_UDESK_NAME_SUFFIX));
// }
dataBaseTicket.setStatusEn(udeskTapdRelMap.get(getUdeskStatusEnByTapdStatus(latestBugFromTAPD.getStatus()) + UdeskConstant.MAP_UDESK_NAME_SUFFIX));
dataBaseTicket.setPriority(priorityCN);
dataBaseTicket.setSeverity(severityCN);
dataBaseTicket.setStatusTapd(latestBugFromTAPD.getStatus());
......@@ -369,4 +376,67 @@ public class TapdMessageApiServiceImpl implements TapdMessageApiService {
}
return true;
}
private static String getUdeskStatusEnByTapdStatus(String tapdStatus) {
logger.info("tapd的bug单子状态是:" + tapdStatus);
Set<String> open = new HashSet<>(3);
//新
open.add("new");
//待确认
open.add("unconfirmed");
//重新打开
open.add("reopened");
if (open.contains(tapdStatus)) {
return "new";
}
Set<String> solving = new HashSet<>(6);
//接受/处理
solving.add("in_progress");
//问题已修复
solving.add("resolved");
//测试环境已验证
solving.add("QA_audited");
//已更新
solving.add("acknowledged");
//PM审核
solving.add("PM_audited");
//跟踪
solving.add("suspended");
if (solving.contains(tapdStatus)) {
return "unconfirmed";
}
//
Set<String> resolved = new HashSet<>(5);
//生产环境已验证
resolved.add("verified");
//已拒绝
resolved.add("rejected");
//PM拒绝
resolved.add("PMM_audited");
//已转需求
resolved.add("planning");
//需要创建人说明
resolved.add("feedback");
if (resolved.contains(tapdStatus)) {
return "resolved";
}
Set<String> closed = new HashSet<>(2);
//已关闭
closed.add("closed");
//修正数据后关闭
closed.add("TM_audited");
if (closed.contains(tapdStatus)) {
return "closed";
}
return tapdStatus;
}
}
......@@ -70,6 +70,8 @@ public class UdeskMessageApiServiceImpl implements UdeskMessageApiService {
@Override
public ServiceResponse<String> saveUdeskMessage(UdeskMessageDTO messageDTO) {
long starTime = System.currentTimeMillis();
TabUdeskMessage tabUdeskMessage = new TabUdeskMessage();
tabUdeskMessage.setEvent(messageDTO.getEvent());
tabUdeskMessage.setMsgBody(messageDTO.getMsgBody());
......@@ -317,6 +319,7 @@ public class UdeskMessageApiServiceImpl implements UdeskMessageApiService {
udeskBaseApiService.saveUdeskException(exceptionRecord);
}
}
logger.info("udesk同步数据到tapd所花时间:{}", System.currentTimeMillis() - starTime);
return null;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment