package com.zteits.park.dao.impl; import java.util.ArrayList; import java.util.Date; import java.util.List; import com.clouds.common.utils.DateUtil; import com.zteits.clouds.api.apibase.constants.EqpReportEventTypeEnum; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.zteits.clouds.api.apibase.constants.DataStatusEnum; import com.zteits.clouds.api.apibase.constants.ErrorType; import com.zteits.clouds.api.apibase.exception.BizException; import com.zteits.clouds.api.dto.clouds.param.BerthTurnOverQueryRequest; import com.zteits.clouds.api.dto.clouds.param.EqpLogQueryRequest; import com.zteits.clouds.api.dto.park.dto.ParkOccupancyRateDTO; import com.zteits.clouds.api.dto.park.dto.TpPEqpLogDTO; import com.zteits.park.dao.EqpLogDao; import com.zteits.park.domain.BerthTurnOverCountDO; import com.zteits.park.domain.TpPEqpLog; import com.zteits.park.domain.TpPEqpLogSplitTable; import com.zteits.park.mapper.smapper.TpPEqpLogSMapper; @Component public class EqpLogDaoImpl implements EqpLogDao { private static final Logger logger = LoggerFactory.getLogger(EqpLogDaoImpl.class); // @Autowired // private TpPEqpLogMapper tpPEqpLogMapper; @Autowired private TpPEqpLogSMapper tpPEqpLogSMapper; @Override public Boolean insertEqpLog(TpPEqpLog tdPEqpLog) { if(tdPEqpLog.getCreateTime()==null){ tdPEqpLog.setCreateTime(new Date()); } if(tdPEqpLog.getDataState()==null){ tdPEqpLog.setDataState(DataStatusEnum.DATA_STATUS_VALID.value()); } if(tdPEqpLog.getModifyTime()==null){ tdPEqpLog.setModifyTime(new Date()); } TpPEqpLogSplitTable tdPEqpLogs =new TpPEqpLogSplitTable(); BeanUtils.copyProperties(tdPEqpLog, tdPEqpLogs); return tpPEqpLogSMapper.insertSelective(tdPEqpLogs ) > 0; } @Override public List queryBerthTurnOverByHour(BerthTurnOverQueryRequest request) { return tpPEqpLogSMapper.queryBerthTurnOverByHour(request); } @Override public List queryParkOccupancyRate(String tableName, List plNos) { return tpPEqpLogSMapper.queryParkOccupancyRate(tableName, plNos); } @Override public PageInfo queryParkEqpForPageByPlNo(EqpLogQueryRequest request) { //设置分页信息 //set page information PageHelper.startPage(request.getBaseRequest().getPageNum(), request.getBaseRequest().getPageSize()); //query park eqp for list List list = tpPEqpLogSMapper.queryParkEqpForPageByPlNo(request); return (list != null && list.size() >0) ? new PageInfo(list) : new PageInfo(new ArrayList()); } @Override public List queryBerthTurnOverByDay(BerthTurnOverQueryRequest request) { return tpPEqpLogSMapper.queryBerthTurnOverByDay(request); } @Override public PageInfo queryBerthTurnOverDetail(BerthTurnOverQueryRequest request) { if (request.getBaseRequest() == null) { throw new BizException(ErrorType.PARAMM_NULL, "分页参数为空"); } // 1.设置分页信息 PageHelper.startPage(request.getBaseRequest().getPageNum(), request.getBaseRequest().getPageSize()); List list = tpPEqpLogSMapper.queryBerthTurnOverDetail(request); return new PageInfo(list); } @Override public PageInfo queryBerthTurnOverDetailForHour(BerthTurnOverQueryRequest request) { if (request.getBaseRequest() == null) { throw new BizException(ErrorType.PARAMM_NULL, "分页参数为空"); } // 1.设置分页信息 PageHelper.startPage(request.getBaseRequest().getPageNum(), request.getBaseRequest().getPageSize()); List list = tpPEqpLogSMapper.queryBerthTurnOverDetailForHour(request); return new PageInfo(list); } @Override public Boolean insertHeartBeatData(List eqpNos, String eqpIsOnline, EqpReportEventTypeEnum eventTypeEnum) { String yyyyMM = DateUtil.getDateString(DateUtil.YYYYMM); String tableName = "tp_p_eqp_log"+yyyyMM; try{ tpPEqpLogSMapper.insertHeartBeatData(tableName,eqpNos,eqpIsOnline,eventTypeEnum.value()); }catch(Exception e){ logger.error("记录设备心跳日志异常",e); } return true; } }