Commit 9a14d86b by guojuxing

udesk和tapd关闭状态不同步到gic侧

parent e9549900
......@@ -191,21 +191,23 @@ public class GicTicketApiServiceImpl implements GicTicketApiService{
@Override
public ServiceResponse<String> closeTicket(Integer ticketId) {
JSONObject param = new JSONObject();
JSONObject updateJson = new JSONObject();
updateJson.put("status_id", UdeskStatusEnum.CLOSED.getValue());
param.put("ticket", updateJson);
LOGGER.info("更新udesk工单,工单Id:{},更新内容为:{}", ticketId, param.toJSONString());
String updateTicketRespStr = UdeskHttpClientUtil
.putUdeskJsonFromJson(UDESK_UPDATE_TICKET + ticketId, param.toJSONString());
LOGGER.info("更新udesk工单,工单返回为:{}", updateTicketRespStr);
UdeskTicketDetailDTO updateDetail = JSON.parseObject(updateTicketRespStr, UdeskTicketDetailDTO.class);
if (updateDetail != null && updateDetail.getCode() == UdeskConstant.UDESK_SUCCESS_CODE) {
//同步gic工单状态
udeskEnterpriseService.close(ticketId);
return ServiceResponse.success(updateDetail.getMessage());
}
return ServiceResponse.failure(ErrorCode.SYSTEM_ERROR.getCode(), updateDetail.getMessage());
// JSONObject param = new JSONObject();
// JSONObject updateJson = new JSONObject();
// updateJson.put("status_id", UdeskStatusEnum.CLOSED.getValue());
// param.put("ticket", updateJson);
// LOGGER.info("更新udesk工单,工单Id:{},更新内容为:{}", ticketId, param.toJSONString());
// String updateTicketRespStr = UdeskHttpClientUtil
// .putUdeskJsonFromJson(UDESK_UPDATE_TICKET + ticketId, param.toJSONString());
// LOGGER.info("更新udesk工单,工单返回为:{}", updateTicketRespStr);
// UdeskTicketDetailDTO updateDetail = JSON.parseObject(updateTicketRespStr, UdeskTicketDetailDTO.class);
// if (updateDetail != null && updateDetail.getCode() == UdeskConstant.UDESK_SUCCESS_CODE) {
// //同步gic工单状态
// udeskEnterpriseService.close(ticketId);
// return ServiceResponse.success(updateDetail.getMessage());
// }
// return ServiceResponse.failure(ErrorCode.SYSTEM_ERROR.getCode(), updateDetail.getMessage());
udeskEnterpriseService.close(ticketId);
return ServiceResponse.success();
}
@Override
......
......@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.udesk.constant.UdeskSharedConstant;
import com.gic.udesk.constant.UdeskStatusEnum;
import com.gic.udesk.dto.*;
import com.gic.udesk.entity.TabUdeskMessage;
import com.gic.udesk.entity.TabUdeskTapdRel;
......@@ -140,7 +141,10 @@ public class TapdMessageApiServiceImpl implements TapdMessageApiService {
return msgId.toString();
}
//同步到gic工单状态
udeskEnterpriseService.updateStatus(dataBaseTicket.getId(), udeskTapdRelMap.get(latestBugFromTAPD.getStatus() + UdeskConstant.MAP_UDESK_NAME_SUFFIX));
String statusEn = udeskTapdRelMap.get(latestBugFromTAPD.getStatus() + UdeskConstant.MAP_UDESK_NAME_SUFFIX);
if (!UdeskStatusEnum.CLOSED.getCode().equals(statusEn)) {
udeskEnterpriseService.updateStatus(dataBaseTicket.getId(), statusEn);
}
// 更新数据库中的数据 注: 放在udesk操作完成之后
dataBaseTicket
.setStatusEn(udeskTapdRelMap.get(latestBugFromTAPD.getStatus() + UdeskConstant.MAP_UDESK_NAME_SUFFIX));
......
......@@ -8,6 +8,7 @@ import java.util.Map;
import javax.annotation.Resource;
import javax.validation.ConstraintViolationException;
import com.gic.udesk.constant.UdeskStatusEnum;
import com.gic.udesk.entity.TabUdeskTapdRel;
import com.gic.udesk.service.*;
import org.apache.commons.lang3.StringUtils;
......@@ -145,9 +146,7 @@ public class UdeskMessageApiServiceImpl implements UdeskMessageApiService {
try {
udeskTicketService.save(tabUdeskTicket);
//同步到gic工单状态
logger.info("同步gic工单状态,ID:{}, 状态:{}", Integer.parseInt(id), ticket.getStatus_en());
udeskEnterpriseService.updateStatus(Integer.parseInt(id), ticket.getStatus_en());
updateGicTicketStatus(Integer.parseInt(id), ticket.getStatus_en());
logger.info("工单id为{}已经保存成功", ticket.getId());
} catch (DataIntegrityViolationException | ConstraintViolationException e) {
logger.info("工单id为{}已经保存失败,重复插入", ticket.getId(), e);
......@@ -260,8 +259,7 @@ public class UdeskMessageApiServiceImpl implements UdeskMessageApiService {
//同步到gic工单状态
logger.info("同步gic工单状态,ID:{}, 状态:{}", Integer.parseInt(id), statusEn);
udeskEnterpriseService.updateStatus(Integer.parseInt(id), statusEn);
updateGicTicketStatus(Integer.parseInt(id), statusEn);
//如果udesk工单状态不等于本地数据库对应的工单状态
if (StringUtils.isNotBlank(statusEn) && !statusEn.equals(tabUdeskTicket.getStatusEn())) {
if (UdeskConstant.CLOSED.equals(tabUdeskTicket.getStatusEn())) {
......@@ -509,4 +507,13 @@ public class UdeskMessageApiServiceImpl implements UdeskMessageApiService {
udeskBaseApiService.saveTapdException(exceptionRecord);
}
}
private void updateGicTicketStatus(Integer ticketId, String status) {
//同步到gic工单状态
logger.info("同步gic工单状态,ID:{}, 状态:{}", ticketId, status);
//添加逻辑:如果是关闭状态,则不同步到gic侧
if (!UdeskStatusEnum.CLOSED.getCode().equals(status)) {
udeskEnterpriseService.updateStatus(ticketId, status);
}
}
}
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