diff --git a/src/main/java/com/yuyou/openapi/openapi/api/ABClient.java b/src/main/java/com/yuyou/openapi/openapi/api/ABClient.java index 6f037ab..3d2a875 100644 --- a/src/main/java/com/yuyou/openapi/openapi/api/ABClient.java +++ b/src/main/java/com/yuyou/openapi/openapi/api/ABClient.java @@ -66,6 +66,23 @@ public class ABClient { CommonResponse.createBySuccess() : CommonResponse.createByErrorMessage("调用失败请重试"); } + /** + * 获取上游公司的AB数据推送接口 - 推送到yznew + * + * @return 返回调用信息 + */ + @PostMapping("/api/req/taginfo/yznew") + @ResponseBody + public CommonResponse getDBTagInfoNew(@RequestBody ABClientInterMessageNewVO vo) { + // 记录日志 + log.info("====== [ one request comming,request content is {} ] ======", vo.toString()); + // 转换实体类映射 + List dtos = ABMessageConverter.convertABMessageDTOFromNewVO(vo); + // 调用业务处理接口 返回校验成功的结果 + return abClientService.recordAndSendABClientMsg(dtos) ? + CommonResponse.createBySuccess() : CommonResponse.createByErrorMessage("调用失败请重试"); + } + /** * 获取上游公司的AB数据推送接口 - 推送到时机 * diff --git a/src/main/java/com/yuyou/openapi/openapi/model/convert/ABMessageConverter.java b/src/main/java/com/yuyou/openapi/openapi/model/convert/ABMessageConverter.java index e7c2e30..7aa1099 100644 --- a/src/main/java/com/yuyou/openapi/openapi/model/convert/ABMessageConverter.java +++ b/src/main/java/com/yuyou/openapi/openapi/model/convert/ABMessageConverter.java @@ -7,6 +7,7 @@ import com.yuyou.openapi.openapi.common.security.SecurityService; import com.yuyou.openapi.openapi.model.dataobject.*; import com.yuyou.openapi.openapi.model.dto.ABMessageDTO; import com.yuyou.openapi.openapi.model.dto.LieheMessageDTO; +import com.yuyou.openapi.openapi.model.vo.ABClientInterMessageNewVO; import com.yuyou.openapi.openapi.model.vo.ABClientInterMessageVO; import com.yuyou.openapi.openapi.utils.DateUtils; import lombok.extern.slf4j.Slf4j; @@ -59,6 +60,51 @@ public class ABMessageConverter { return dataList; } + /** + * VO层转为DTO层 修改版 + * @param abMessageVO + * @return + */ + public static List convertABMessageDTOFromNewVO(ABClientInterMessageNewVO abMessageVO) { + ArrayList dataList = new ArrayList<>(); + if (abMessageVO == null){ + return dataList; + } +// List detailInfoList = abMessageVO.getData(); +// if (CollectionUtils.isEmpty(detailInfoList)){ +// return dataList; +// } + ABMessageDTO abMessageDTO = new ABMessageDTO(); + abMessageDTO.setAppId(abMessageVO.getAppId()); + abMessageDTO.setTimestamp(abMessageVO.getTimestamp()); + // 设置默认的坐席ID为 0 + if (abMessageVO.getEmpId() == null){ + abMessageVO.setEmpId(0); + } + // 对特殊的ActName进行处理 + checkSpecailAppNameNew(abMessageVO); + BeanUtils.copyProperties(abMessageVO, abMessageDTO); + dataList.add(abMessageDTO); + +// detailInfoList.forEach( +// each->{ +// ABMessageDTO abMessageDTO = new ABMessageDTO(); +// abMessageDTO.setAppId(abMessageVO.getAppId()); +// abMessageDTO.setTimestamp(abMessageVO.getTimestamp()); +// // 设置默认的坐席ID为 0 +// if (each.getEmpId() == null){ +// each.setEmpId(0); +// } +// // 对特殊的ActName进行处理 +// checkSpecailAppNameNew(each); +// BeanUtils.copyProperties(each, abMessageDTO); +// dataList.add(abMessageDTO); +// } +// ); + + return dataList; + } + /** * VO层转为DTO层 * @param abMessageVO @@ -801,4 +847,23 @@ public class ABMessageConverter { detailInfo.setActName(matchActName); } + + /** + * 对特殊的AppName进行检查处理 + * 例如: + * 待处理 xxxx-1-1 + * 处理后 xxxx-1 + * 无需处理的直接进行返回原值 + * + * @param detailInfo 对需要处理的AppName进行处理 + * @return 返回处理后的结果 + */ + private static void checkSpecailAppNameNew(ABClientInterMessageNewVO detailInfo){ + String actName = detailInfo.getActName(); + String decodeStr = Base64.decodeStr(actName, CharsetUtil.UTF_8); + log.info("test decodeStr str is {}", decodeStr); + String matchActName = StringUtils.substringBeforeLast(decodeStr, "-"); + detailInfo.setActName(matchActName); + } + } diff --git a/src/main/java/com/yuyou/openapi/openapi/model/vo/ABClientInterMessageNewVO.java b/src/main/java/com/yuyou/openapi/openapi/model/vo/ABClientInterMessageNewVO.java new file mode 100644 index 0000000..cdf0cc0 --- /dev/null +++ b/src/main/java/com/yuyou/openapi/openapi/model/vo/ABClientInterMessageNewVO.java @@ -0,0 +1,115 @@ +package com.yuyou.openapi.openapi.model.vo; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.*; + +import java.io.Serializable; +import java.util.List; + +/** + * Copyright (C), 2012 - 2018, qyx + * FileName: ABClientInterMessageVO + * Author: x + * Date: 2020/8/5 2:00 PM + * Description: AB分级标签调用接口映射实体 + * History: + *