ParkingLotEnclosedDaoImpl.java 4.2 KB
package com.zteits.park.dao.impl;

import com.zteits.clouds.api.dto.park.param.DecreaseFreeBerthEnclosedRequest;
import com.zteits.clouds.api.dto.park.param.IncreaseFreeBerthEnclosedRequest;
import com.zteits.clouds.api.dto.park.param.UpdateFreeBerthEnclosedRequest;
import com.zteits.clouds.api.dto.park.param.ViewFreeBerthEnclosedRequest;
import com.zteits.clouds.api.dto.park.param.closecarpark.QueryParkListRequest;
import com.zteits.park.dao.ParkingLotEnclosedDao;
import com.zteits.park.domain.ParkingLotEnclosed;
import com.zteits.park.domain.ParkingLotEnclosedExample;
import com.zteits.park.mapper.ParkingLotEnclosedMapper;
import com.zteits.park.mapper.smapper.ParkingLotEnclosedSMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils;

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

/**
 * 封闭车场扩展信息表
 * @author zegnqc
 * @Date: 2021-02-08
 */
@Component
public class ParkingLotEnclosedDaoImpl implements ParkingLotEnclosedDao {

    @Autowired
    private ParkingLotEnclosedMapper parkingLotEnclosedMapper;

    @Autowired
    private ParkingLotEnclosedSMapper parkingLotEnclosedSMapper;

    /**
     * 根据停车场编号获取对应的封闭车场的扩展信息
     *
     * @param plNo 停车场编号
     * @return 车场扩展信息
     */
    @Override
    public ParkingLotEnclosed selectByPlNo(String plNo) {
        ParkingLotEnclosedExample example = new ParkingLotEnclosedExample();
        example.createCriteria()
                .andPlNoEqualTo(plNo);
        List<ParkingLotEnclosed> parkingLotEnclosedList = parkingLotEnclosedMapper.selectByExample(example);
        if(parkingLotEnclosedList != null && parkingLotEnclosedList.size() > 0){
            return parkingLotEnclosedList.get(0);
        }
        return null;
    }

    /**
     * 根据停车场编号删除
     *
     * @param plNo
     */
    @Override
    public int deleteParkingLotEnclosedByPlNo(String plNo) {
        ParkingLotEnclosedExample example = new ParkingLotEnclosedExample();
        example.createCriteria()
                .andPlNoEqualTo(plNo);
        return this.parkingLotEnclosedMapper.deleteByExample(example);
    }

    /**
     * 新增封闭车场扩展信息
     *
     * @param entity
     */
    @Override
    public void saveParkingLotEnclosed(ParkingLotEnclosed entity) {
        this.parkingLotEnclosedMapper.insert(entity);
    }

    @Override
    public int updateFreeBerthEnclosed(UpdateFreeBerthEnclosedRequest request) {
        ParkingLotEnclosedExample example = new ParkingLotEnclosedExample();
        example.createCriteria().andPlNoEqualTo(request.getPlNo());
        ParkingLotEnclosed record = new ParkingLotEnclosed();
        record.setFreeBerth(request.getFreeBerth());
        record.setModifyTime(new Date());
        return parkingLotEnclosedMapper.updateByExampleSelective(record,example);
    }

    @Override
    public int viewFreeBerthEnclosed(ViewFreeBerthEnclosedRequest request) {
        ParkingLotEnclosedExample example = new ParkingLotEnclosedExample();
        example.createCriteria().andPlNoEqualTo(request.getPlNo());
        List<ParkingLotEnclosed> list =  parkingLotEnclosedMapper.selectByExample(example);
        int count = list.get(0).getFreeBerth();
        return count;
    }

    @Override
    public List<ParkingLotEnclosed> selectFreeBerthNo(QueryParkListRequest request) {
        ParkingLotEnclosedExample example = new ParkingLotEnclosedExample();
        ParkingLotEnclosedExample.Criteria sql = example.createCriteria();
        if(!StringUtils.isEmpty(request.getParkCode())){
            sql.andPlNoEqualTo(request.getParkCode());
        }
        List<ParkingLotEnclosed> list =  parkingLotEnclosedMapper.selectByExample(example);
        return list;
    }

    @Override
    public int decreaseFreeBerthEnclosed(DecreaseFreeBerthEnclosedRequest request) {

        int count = parkingLotEnclosedSMapper.decreaseFreeBerthEnclosed(request);
        return count;
    }

    @Override
    public int increaseFreeBerthEnclosed(IncreaseFreeBerthEnclosedRequest request) {
        int count = parkingLotEnclosedSMapper.increaseFreeBerthEnclosed(request);
        return count;
    }

}