ParkingRuleConfigurationServiceImpl.java 5.27 KB
package com.zteits.park.biz.closecarpark;

import com.clouds.common.utils.ListCopyUtil;
import com.zteits.clouds.api.apibase.bean.BizResult;
import com.zteits.clouds.api.dto.park.dto.*;
import com.zteits.clouds.api.dto.park.param.closecarpark.*;
import com.zteits.clouds.api.service.park.ParkingRuleConfigurationService;
import com.zteits.park.dao.ParkingRuleConfigurationDao;
import com.zteits.park.domain.EnclosedParkingLotConfig;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

@Service
public class ParkingRuleConfigurationServiceImpl implements ParkingRuleConfigurationService {
    private static final Logger logger = LoggerFactory.getLogger(ParkingRuleConfigurationServiceImpl.class);
    @Autowired
    private ParkingRuleConfigurationDao parkingRuleConfigurationDao;

    @Override
    public BizResult<Boolean> saveParkingRuleConfiguration(SaveParkingRuleConfigurationRequest request) {

        EnclosedParkingLotConfig enclosedParkingLotConfig = new EnclosedParkingLotConfig();
        int flag = 0;
        for (int i = 0;i<request.getParkingRulelist().size();i++){
            ParkingRuleDTO dto = request.getParkingRulelist().get(i);
            BeanUtils.copyProperties(dto,enclosedParkingLotConfig);
            enclosedParkingLotConfig.setCreateTime(new Date());
             flag = parkingRuleConfigurationDao.insertSelective(enclosedParkingLotConfig);
        }
        return new BizResult<Boolean>(flag > 0);
    }

    @Override
    public BizResult<Boolean> updateParkingRuleConfiguration(SaveParkingRuleConfigurationRequest request) {

        EnclosedParkingLotConfig enclosedParkingLotConfig = new EnclosedParkingLotConfig();
        int flag = 0;
        for (int i = 0;i<request.getParkingRulelist().size();i++){
            ParkingRuleDTO dto = request.getParkingRulelist().get(i);
            BeanUtils.copyProperties(dto,enclosedParkingLotConfig);
            enclosedParkingLotConfig.setCreateTime(new Date());
            flag = parkingRuleConfigurationDao.updateSelective(enclosedParkingLotConfig);
        }
        return new BizResult<Boolean>(flag > 0);
    }

    @Override
    public BizResult<List<ParkingRuleDTO>> viewParkingRuleConfiguration(ViewParkingRuleConfigurationRequest request) {
        EnclosedParkingLotConfig enclosedParkingLotConfig = new EnclosedParkingLotConfig();
        enclosedParkingLotConfig.setPlNo(request.getPlNo());
        List<ParkingRuleDTO> dtoList = new ArrayList<>();
        List<EnclosedParkingLotConfig> list = parkingRuleConfigurationDao.viewSelective(enclosedParkingLotConfig);
        ListCopyUtil.listCopyProperties(list,dtoList, ParkingRuleDTO.class);
        return new BizResult<>(dtoList);
    }

    @Override
    public BizResult<Integer> queryOutparkDurationTime(QueryOutparkDurationTimeRequest request) {
        Integer outparkDurationTime = null;
        EnclosedParkingLotConfig enclosedParkingLotConfig = new EnclosedParkingLotConfig();
        enclosedParkingLotConfig.setPlNo(request.getPlNo());
        enclosedParkingLotConfig.setConfigType(request.getConfigType());
        List<EnclosedParkingLotConfig> list = parkingRuleConfigurationDao.queryOutparkDurationTime(enclosedParkingLotConfig);
        if(list.size()>0){
            outparkDurationTime = Integer.parseInt(list.get(0).getConfigValue());
        }
        return new BizResult<>(outparkDurationTime);
    }

    @Override
    public BizResult<List<AllConfigDTO>> queryAllRuleConfiguration(QueryAllRuleConfigurationRequest request) {

        List<AllConfigDTO>  dtoList = parkingRuleConfigurationDao.queryAllRuleConfiguration(request);

        return new BizResult<>(dtoList);
    }

    @Override
    public BizResult<Boolean> updateAllRuleConfiguration(UpdateAllRuleConfigurationRequest request) {

        int flag = parkingRuleConfigurationDao.updateAllRuleConfiguration(request);
        return new BizResult<Boolean>(flag > 0);
    }

    @Override
    public BizResult<ParkConfigDTO> queryParkRuleConfiguration(QueryParkRuleConfigurationRequest request) {
        ParkConfigDTO dto = new ParkConfigDTO();
        //停车场规则列表
        List<ConfigDTO> configList = parkingRuleConfigurationDao.queryParkRuleList(request);

        //已填数据
        List<ConfigPlNoDTO> configPlNoList = parkingRuleConfigurationDao.queryPlNoRuleList(request);
        dto.setConfigList(configList);
        dto.setConfigPlNoList(configPlNoList);

        return new BizResult<>(dto);
    }

    @Override
    public BizResult<Boolean> saveParkRuleConfiguration(SaveParkRuleConfigurationRequest request) {

        //先删后新增
        int delFlag = parkingRuleConfigurationDao.delParkRuleConfiguration(request);
        int saveFlag = parkingRuleConfigurationDao.saveParkRuleConfiguration(request);
        return new BizResult<Boolean>(saveFlag >0);
    }

    @Override
    public BizResult<Boolean> isStartSpecialCar(QueryIsStartSpecialRequest request) {
        request.setConfigType("IN_OUT_CONFIG");
        request.setConfigCode("specialCarInFlg");
        int flag = parkingRuleConfigurationDao.isStartSpecialCar(request);
        return new BizResult<Boolean>(flag >0);
    }

}