ChargerModifyParkRelDaoImpl.java 3.67 KB
package com.zteits.park.dao.impl;

import com.zteits.clouds.api.dto.clouds.param.UpdateBindRegionReq;
import com.zteits.clouds.api.dto.park.dto.ChargerModifyParkRelDTO;
import com.zteits.clouds.api.dto.pda.dto.RegionAreaDTO;
import com.zteits.park.dao.ChargerModifyParkRelDao;
import com.zteits.park.domain.ChargerModifyParkRel;
import com.zteits.park.domain.ChargerModifyParkRelExample;
import com.zteits.park.mapper.ChargerModifyParkRelMapper;
import com.zteits.park.mapper.smapper.ChargerModifyParkRelSMapper;
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 java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * @Description: 收费员与泊位区间修改车牌权限关联关系
 * @Author: zengqc
 * @Date: 2021/7/19 9:42
 */
@Component
public class ChargerModifyParkRelDaoImpl implements ChargerModifyParkRelDao {
    private static final Logger log = LoggerFactory.getLogger(ChargerModifyParkRelDaoImpl.class);
    @Autowired
    private ChargerModifyParkRelMapper chargerModifyParkRelMapper;
    @Autowired
    private ChargerModifyParkRelSMapper chargerModifyParkRelSMapper;

    /**
     * 根据收费员编号,删除之前的关联关系
     *
     * @param chargerCode 收费员编号
     */
    @Override
    public void deleteChargerModifyParkRelByChargerCode(String chargerCode) {
        ChargerModifyParkRelExample example = new ChargerModifyParkRelExample();
        example.createCriteria().andChargerCodeEqualTo(chargerCode);
        int count = chargerModifyParkRelMapper.deleteByExample(example);
        log.info("删除收费员{}关联关系条数{}", chargerCode, count);
    }

    /**
     * 根据收费员编号获取其绑定的泊位区间列表
     *
     * @param chargerCode 收费员编号
     * @return 绑定的泊位区间列表
     */
    @Override
    public List<ChargerModifyParkRelDTO> queryChargerParkRelByChargerCode(String chargerCode) {
        List<ChargerModifyParkRelDTO> chargerModifyParkRelDTOList = new ArrayList<>();
        ChargerModifyParkRelExample example = new ChargerModifyParkRelExample();
        example.createCriteria().andChargerCodeEqualTo(chargerCode);
        List<ChargerModifyParkRel> chargerModifyParkRelList = chargerModifyParkRelMapper.selectByExample(example);

        for (ChargerModifyParkRel rel : chargerModifyParkRelList) {
            ChargerModifyParkRelDTO dto = new ChargerModifyParkRelDTO();
            BeanUtils.copyProperties(rel, dto);
            chargerModifyParkRelDTOList.add(dto);
        }

        return chargerModifyParkRelDTOList;
    }

    /**
     * 保存收费员关联绑定的泊位区间列表
     *
     */
    @Override
    public void saveChargerParkRel(UpdateBindRegionReq regionReq) {
        Date now = new Date();
        List<RegionAreaDTO> bindRegionList = regionReq.getBindRegionList();
        List<ChargerModifyParkRel> relList = new ArrayList<>();
        for (RegionAreaDTO regionAreaDTO : bindRegionList) {
            ChargerModifyParkRel rel = new ChargerModifyParkRel();
            rel.setChargerCode(regionReq.getChargerCode());
            rel.setPlNo(regionAreaDTO.getPlNo());
            rel.setPlName(regionAreaDTO.getPlName());
            rel.setParkAreaCode(regionAreaDTO.getParkAreaCode());
            rel.setParkAreaName(regionAreaDTO.getParkAreaName());

            rel.setCreateOp(regionReq.getsOpId());
            rel.setCreateTime(now);

            relList.add(rel);
        }

        if (relList.size() > 0) {
            this.chargerModifyParkRelSMapper.insertChargerParkRelList(relList);
        }


    }
}