Commit 55971329 by guojuxing

记录服务所化时间

parent 73089d39
...@@ -20,9 +20,7 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -20,9 +20,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.HashMap; import java.util.*;
import java.util.List;
import java.util.Map;
@Service("tapdMessageApiService") @Service("tapdMessageApiService")
public class TapdMessageApiServiceImpl implements TapdMessageApiService { public class TapdMessageApiServiceImpl implements TapdMessageApiService {
...@@ -59,6 +57,8 @@ public class TapdMessageApiServiceImpl implements TapdMessageApiService { ...@@ -59,6 +57,8 @@ public class TapdMessageApiServiceImpl implements TapdMessageApiService {
@Override @Override
public ServiceResponse<String> handleTapdMessage(String tapdMessageStr) { public ServiceResponse<String> handleTapdMessage(String tapdMessageStr) {
long starTime = System.currentTimeMillis();
//接收tapd消息数据 //接收tapd消息数据
TapdMessageDTO tapdMessageDTO = JSON.parseObject(tapdMessageStr, TapdMessageDTO.class); TapdMessageDTO tapdMessageDTO = JSON.parseObject(tapdMessageStr, TapdMessageDTO.class);
String event = tapdMessageDTO.getEvent(); String event = tapdMessageDTO.getEvent();
...@@ -71,6 +71,7 @@ public class TapdMessageApiServiceImpl implements TapdMessageApiService { ...@@ -71,6 +71,7 @@ public class TapdMessageApiServiceImpl implements TapdMessageApiService {
logger.info("TAPD发送了缺陷删除事件,缺陷id:{} ", tapdMessageDTO.getId()); logger.info("TAPD发送了缺陷删除事件,缺陷id:{} ", tapdMessageDTO.getId());
handleResult = handleTapdBugDelete(tapdMessageDTO); handleResult = handleTapdBugDelete(tapdMessageDTO);
} }
logger.info("tapd同步数据到udesk所花时间:{}", System.currentTimeMillis() - starTime);
return ServiceResponse.success(handleResult); return ServiceResponse.success(handleResult);
} }
...@@ -127,13 +128,16 @@ public class TapdMessageApiServiceImpl implements TapdMessageApiService { ...@@ -127,13 +128,16 @@ public class TapdMessageApiServiceImpl implements TapdMessageApiService {
JSONObject updateTicketRequestBody = new JSONObject(); JSONObject updateTicketRequestBody = new JSONObject();
JSONObject udeskTicketUpdate = new JSONObject(); JSONObject udeskTicketUpdate = new JSONObject();
JSONObject customFields = new JSONObject(); JSONObject customFields = new JSONObject();
//suspended:跟踪 PM_audited:pm审核 变成已处理状态 // //suspended:跟踪 PM_audited:pm审核 变成已处理状态
boolean needToBeResolved = "suspended".equals(latestBugFromTAPD.getStatus()) || "PM_audited".equals(latestBugFromTAPD.getStatus()); // boolean needToBeResolved = "suspended".equals(latestBugFromTAPD.getStatus()) || "PM_audited".equals(latestBugFromTAPD.getStatus());
if (needToBeResolved) { // if (needToBeResolved) {
udeskTicketUpdate.put("status_id", udeskTapdRelMap.get("resolved" + UdeskConstant.MAP_UDESK_ID_VALUE_SUFFIX)); // udeskTicketUpdate.put("status_id", udeskTapdRelMap.get("resolved" + UdeskConstant.MAP_UDESK_ID_VALUE_SUFFIX));
} else { // } else {
udeskTicketUpdate.put("status_id", udeskTapdRelMap.get(latestBugFromTAPD.getStatus() + UdeskConstant.MAP_UDESK_ID_VALUE_SUFFIX)); // 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)); udeskTicketUpdate.put("priority_id", udeskTapdRelMap.get(priorityEN + UdeskConstant.MAP_UDESK_ID_VALUE_SUFFIX));
// key:value,value为null的话,不会被序列化. 为了防止误操作,如果TAPD的缺陷的严重程度为空,并不会去更新udesk中的严重程度. // key:value,value为null的话,不会被序列化. 为了防止误操作,如果TAPD的缺陷的严重程度为空,并不会去更新udesk中的严重程度.
customFields.put(UdeskConstant.UDESK_FIELD_SEVERITY, customFields.put(UdeskConstant.UDESK_FIELD_SEVERITY,
...@@ -151,12 +155,15 @@ public class TapdMessageApiServiceImpl implements TapdMessageApiService { ...@@ -151,12 +155,15 @@ public class TapdMessageApiServiceImpl implements TapdMessageApiService {
udeskEnterpriseService.updateStatus(dataBaseTicket.getId(), statusEn); udeskEnterpriseService.updateStatus(dataBaseTicket.getId(), statusEn);
} }
// 更新数据库中的数据 注: 放在udesk操作完成之后 // 更新数据库中的数据 注: 放在udesk操作完成之后
if (needToBeResolved) { // if (needToBeResolved) {
dataBaseTicket.setStatusEn(udeskTapdRelMap.get("resolved" + UdeskConstant.MAP_UDESK_NAME_SUFFIX)); // dataBaseTicket.setStatusEn(udeskTapdRelMap.get("resolved" + UdeskConstant.MAP_UDESK_NAME_SUFFIX));
} else { // } else {
dataBaseTicket // dataBaseTicket
.setStatusEn(udeskTapdRelMap.get(latestBugFromTAPD.getStatus() + UdeskConstant.MAP_UDESK_NAME_SUFFIX)); // .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.setPriority(priorityCN);
dataBaseTicket.setSeverity(severityCN); dataBaseTicket.setSeverity(severityCN);
dataBaseTicket.setStatusTapd(latestBugFromTAPD.getStatus()); dataBaseTicket.setStatusTapd(latestBugFromTAPD.getStatus());
...@@ -369,4 +376,67 @@ public class TapdMessageApiServiceImpl implements TapdMessageApiService { ...@@ -369,4 +376,67 @@ public class TapdMessageApiServiceImpl implements TapdMessageApiService {
} }
return true; 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 { ...@@ -70,6 +70,8 @@ public class UdeskMessageApiServiceImpl implements UdeskMessageApiService {
@Override @Override
public ServiceResponse<String> saveUdeskMessage(UdeskMessageDTO messageDTO) { public ServiceResponse<String> saveUdeskMessage(UdeskMessageDTO messageDTO) {
long starTime = System.currentTimeMillis();
TabUdeskMessage tabUdeskMessage = new TabUdeskMessage(); TabUdeskMessage tabUdeskMessage = new TabUdeskMessage();
tabUdeskMessage.setEvent(messageDTO.getEvent()); tabUdeskMessage.setEvent(messageDTO.getEvent());
tabUdeskMessage.setMsgBody(messageDTO.getMsgBody()); tabUdeskMessage.setMsgBody(messageDTO.getMsgBody());
...@@ -317,6 +319,7 @@ public class UdeskMessageApiServiceImpl implements UdeskMessageApiService { ...@@ -317,6 +319,7 @@ public class UdeskMessageApiServiceImpl implements UdeskMessageApiService {
udeskBaseApiService.saveUdeskException(exceptionRecord); udeskBaseApiService.saveUdeskException(exceptionRecord);
} }
} }
logger.info("udesk同步数据到tapd所花时间:{}", System.currentTimeMillis() - starTime);
return null; 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