当前位置: 首页 > news >正文

seo获客seo外贸推广

seo获客,seo外贸推广,上海企业网站,哪个网站做家电批发场景: json大体格式一致,但是 ext_info 扩展字段对象,场景不同字段不同根据某字段类型,不同值,对应不同实现的 Component,处理不同场景这里根据 event,来做不同处理 {"data": {"event"…

场景:

  • json大体格式一致,但是 ext_info 扩展字段对象,场景不同字段不同
  • 根据某字段类型,不同值,对应不同实现的 Component,处理不同场景
  • 这里根据 event,来做不同处理
{"data": {"event": "eventWoMan","event_id": "123","ext_info": {"dist_sex": "女","dist_height": "162"},"target_name": "美女类型json"},"seq": 0
}{"data": {"event": "eventWoMan","event_id": "123","ext_info": {"dist_name": "小树","dist_age": "18"},"target_name": "帅哥类型json"},"seq": 0
}

接收类:

@lombok.Data
public class BusinessMsg<T> {private T data;private int seq;}
import com.fasterxml.jackson.annotation.JsonProperty;@lombok.Data
public class MsgData<T> {private String event;@JsonProperty("event_id")private String eventId;@JsonProperty("ext_info")private T extInfo;@JsonProperty("target_name")private String targetName;}
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;@Data
public class ExtInfoMan {/*** 目标姓名*/@JsonProperty("dist_name")private String distName;/*** 目标年龄*/@JsonProperty("dist_age")private String distAge;}
@Data
public class ExtInfoWoMan {/*** 目标性别*/@JsonProperty("dist_sex")private String distSex;/*** 目标高度*/@JsonProperty("dist_height")private String distHeight;}

处理service:

public interface JsonTService {/*** 预处理消息* @param businessMsg*/String handlerMsg(BusinessMsg<MsgData<JsonNode>> businessMsg);}
@Service("eventMan")
public class JsonManServiceImpl implements JsonTService {@Resourceprivate ObjectMapper objectMapper;@SneakyThrows@Overridepublic String handlerMsg(BusinessMsg<MsgData<JsonNode>> businessMsg) {JsonNode extInfo = businessMsg.getData().getExtInfo();ExtInfoMan exitInfo = objectMapper.treeToValue(extInfo, ExtInfoMan.class);return exitInfo.toString();}
}
@Service("eventWoMan")
public class JsonWoManServiceImpl implements JsonTService {@Resourceprivate ObjectMapper objectMapper;@SneakyThrows@Overridepublic String handlerMsg(BusinessMsg<MsgData<JsonNode>> businessMsg) {JsonNode extInfo = businessMsg.getData().getExtInfo();ExtInfoWoMan extInfoWoMan = objectMapper.treeToValue(extInfo, ExtInfoWoMan.class);return extInfoWoMan.toString();}
}

策略处理

import com.service.JsonTService;
import org.springframework.stereotype.Service;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;/*** @author xiaoshu*/
@Service
public class JsonStrategyContext {private final Map<String, JsonTService> orderStrategyMap = new ConcurrentHashMap<>();public JsonStrategyContext(Map<String, JsonTService> strategyMap) {this.orderStrategyMap.putAll(strategyMap);}public JsonTService getResource(String event){return orderStrategyMap.get(event);}
}

实际接口接收:

	@Resourceprivate JsonStrategyContext jsonStrategyContext;@ApiOperation(value = "泛型处理,同格式json,扩展字段不一")@PostMapping("/revice")public String revice(@RequestBody BusinessMsg<MsgData<JsonNode>> businessMsg){String event = businessMsg.getData().getEvent();return jsonStrategyContext.getResource(event).handlerMsg(businessMsg);}
http://www.khdw.cn/news/59232.html

相关文章:

  • 深圳市住房城乡建设局网站首页线上营销的优势和劣势
  • 第一模板网站上的模板怎么下载百度seo泛解析代发排名
  • 1m宽带做网站银川网站seo
  • 做钢管用哪个门户网站网站外链优化方法
  • 网站开发首选seo实战培训教程
  • wordpress做淘宝的交流插件珠海优化seo
  • 优质视频素材网站广州网站外包
  • 怎么在网站上做按钮代写文案平台
  • 嘉兴 做企业网站百度推广的广告真实可信吗
  • 重庆制作网页设计四川seo整站优化费用
  • 企业展示建设网站如何做seo
  • 手机网站开发多少钱品牌运营
  • 我想做京东网站淘宝怎么做的seo推广怎么做
  • 杭州下沙网站建设海外独立站
  • 微信如何做网站it教育培训机构
  • 儿童摄影网站建设百度引擎搜索网址
  • pc网站怎么做搜索引擎网址有哪些
  • 怎么可以上传自己做的网站网站关键词排名服务
  • 网站3d展示怎么做百度推广代理公司广州
  • 域名有了主机有了如何做网站长春seo网站管理
  • 张家口城乡建设局网站百度搜索热词查询
  • 个人免费网站怎么建设万网域名查询注册商
  • 网站推荐货源培训机构有哪些
  • 成都建站制作自己的网页
  • 西安摩高网站建设海口seo快速排名优化
  • wordpress做单页销售网站爱上链外链购买平台
  • 求个网站2021可用网站seo百度百科
  • 用html做卖珠宝的网站网络营销案例
  • 装修网站开发思路如何建造自己的网站
  • 动态网站开发工程师—asp阳江seo