java110
2021-03-22 3a63bde28d2802c818adef25e47b8c98f3ab4b6c
service-job/src/main/java/com/java110/job/smo/impl/DataBusInnerServiceSMOImpl.java
@@ -4,6 +4,8 @@
import com.alibaba.fastjson.JSONObject;
import com.java110.core.base.smo.BaseServiceSMO;
import com.java110.dto.businessDatabus.BusinessDatabusDto;
import com.java110.dto.businessDatabus.CustomBusinessDatabusDto;
import com.java110.dto.tempCarFeeConfig.TempCarPayOrderDto;
import com.java110.entity.order.Business;
import com.java110.intf.job.IDataBusInnerServiceSMO;
import com.java110.job.adapt.IDatabusAdapt;
@@ -12,7 +14,6 @@
import com.java110.vo.ResultVo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
@@ -30,11 +31,13 @@
public class DataBusInnerServiceSMOImpl extends BaseServiceSMO implements IDataBusInnerServiceSMO {
    private static final Logger logger = LoggerFactory.getLogger(DataBusInnerServiceSMOImpl.class);
    public static final String DEFAULT_OPEN_DOOR_PROTOCOL = "ximoOpenDoorAdapt";//吸墨门禁
    public static final String DEFAULT_OPEN_DOOR_PROTOCOL = "openDoorAdapt";//吸墨门禁
    public static final String DEFAULT_START_MACHINE_PROTOCOL = "restartMachineAdapt";//吸墨门禁
    public static final String DEFAULT_RESEND_IOT_PROTOCOL = "reSendIotAdapt";//重新送数据
    public static final String DEFAULT_GET_TEMP_CAR_FEE_ORDER_PROTOCOL = "getTempCarFeeOrderAdapt";//重新送数据
    public static final String DEFAULT_NOTIFY_TEMP_CAR_FEE_ORDER_PROTOCOL = "notifyTempCarFeeOrderAdapt";//重新送数据
    public static final String DEFAULT_DEFAULT_SEND_MACHINE_RECORD = "defaultSendMachineRecordAdapt";//默认设备记录适配器
   // @Autowired
    private IDatabusAdapt databusAdaptImpl;
    @Override
    public boolean exchange(@RequestBody List<Business> businesses) {
@@ -47,9 +50,57 @@
    @Override
    public ResultVo openDoor(@RequestBody JSONObject reqJson) {
        databusAdaptImpl = ApplicationContextFactory.getBean(DEFAULT_OPEN_DOOR_PROTOCOL, IDatabusAdapt.class);
        IDatabusAdapt databusAdaptImpl = ApplicationContextFactory.getBean(DEFAULT_OPEN_DOOR_PROTOCOL, IDatabusAdapt.class);
        return databusAdaptImpl.openDoor(reqJson);
    }
    @Override
    public ResultVo restartMachine(@RequestBody JSONObject reqJson) {
        IDatabusAdapt databusAdaptImpl = ApplicationContextFactory.getBean(DEFAULT_START_MACHINE_PROTOCOL, IDatabusAdapt.class);
        return databusAdaptImpl.restartMachine(reqJson);
    }
    @Override
    public ResultVo resendIot(@RequestBody JSONObject reqJson) {
        IDatabusAdapt databusAdaptImpl = ApplicationContextFactory.getBean(DEFAULT_RESEND_IOT_PROTOCOL, IDatabusAdapt.class);
        return databusAdaptImpl.reSendToIot(reqJson);
    }
    @Override
    public ResultVo getTempCarFeeOrder(@RequestBody TempCarPayOrderDto tempCarPayOrderDto) {
        IDatabusAdapt databusAdaptImpl = ApplicationContextFactory.getBean(DEFAULT_GET_TEMP_CAR_FEE_ORDER_PROTOCOL, IDatabusAdapt.class);
        return databusAdaptImpl.getTempCarFeeOrder(tempCarPayOrderDto);
    }
    @Override
    public ResultVo notifyTempCarFeeOrder(@RequestBody TempCarPayOrderDto tempCarPayOrderDto) {
        IDatabusAdapt databusAdaptImpl = ApplicationContextFactory.getBean(DEFAULT_NOTIFY_TEMP_CAR_FEE_ORDER_PROTOCOL, IDatabusAdapt.class);
        return databusAdaptImpl.notifyTempCarFeeOrder(tempCarPayOrderDto);
    }
    /**
     * 门禁开门记录
     *
     * @param customBusinessDatabusDto
     * @return
     */
    @Override
    public void customExchange(@RequestBody CustomBusinessDatabusDto customBusinessDatabusDto) {
        IDatabusAdapt databusAdaptImpl = null;
        List<BusinessDatabusDto> databusDtos = DatabusCache.getDatabuss();
        for (BusinessDatabusDto databusDto : databusDtos) {
            try {
                if (customBusinessDatabusDto.getBusinessTypeCd().equals(databusDto.getBusinessTypeCd())) {
                    databusAdaptImpl = ApplicationContextFactory.getBean(databusDto.getBeanName(), IDatabusAdapt.class);
                    databusAdaptImpl.customExchange(customBusinessDatabusDto);
                }
            } catch (Exception e) {
                logger.error("执行databus失败", e);
            }
        }
    }
    /**
@@ -60,6 +111,7 @@
     * @param databusDtos databus
     */
    private void doExchange(Business business, List<Business> businesses, List<BusinessDatabusDto> databusDtos) {
        IDatabusAdapt databusAdaptImpl = null;
        for (BusinessDatabusDto databusDto : databusDtos) {
            try {
                if (business.getBusinessTypeCd().equals(databusDto.getBusinessTypeCd())) {