ProcessService.java 2.1 KB
package com.viontech.process;

import com.alibaba.fastjson.JSONObject;
import com.viontech.model.BaseModel;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;

/**
 * .
 *
 * @author 谢明辉
 * @date 2020/8/31
 */
@Service
@Slf4j
public class ProcessService {

    @Resource
    private Process behaviorProcess;
    @Resource
    private Process trafficProcess;
    @Resource
    private Process flowProcess;

    /**
     * 分类处理繁星发来的数据
     *
     * @param jsonStr 繁星发来的数据
     *
     * @return 转换成对接方需要的
     */
    public BaseModel process(String jsonStr) throws Exception {
        JSONObject jsonObject = JSONObject.parseObject(jsonStr);
        String eventCate = jsonObject.getString("event_cate");
        String eventType = jsonObject.getString("event_type");
        if (eventCate == null) {
            log.error("收到繁星发来的一条记录,但eventCate为空");
            return null;
        }
        switch (eventCate) {
            //违法
            case "traffic":
                if ("vehicle".equals(eventType)) {
                    log.info("收到繁星发来的一条违法记录");
                    log.warn("收到繁星发来的一条违法记录");
                    return trafficProcess.process(jsonObject);
                }
//                流量
                else if ("tflow".equals(eventType)) {
                    log.info("收到繁星发来的一条交通流量记录");
                    log.warn("收到繁星发来的一条交通流量记录");
                    return flowProcess.process(jsonObject);
                }
                return null;
            //综治
            case "behavior":
                log.info("收到繁星发来的一条综治记录");
                log.warn("收到繁星发来的一条综治记录");
                return behaviorProcess.process(jsonObject);
            default:
                log.error("收到繁星发来的一条记录,不在博康接收范围内");
                return null;
        }
    }
}