VoiceTemplateDaoImpl.java 5.21 KB
package com.zteits.park.dao.impl;

import com.clouds.common.utils.ListCopyUtil;
import com.github.pagehelper.PageHelper;
import com.zteits.clouds.api.dto.park.dto.ModelTypeInfoDTO;
import com.zteits.clouds.api.dto.park.dto.VoiceTemplateInfoDTO;
import com.zteits.clouds.api.dto.park.param.closecarpark.QueryVoiceTemplateRequest;
import com.zteits.clouds.api.dto.park.param.closecarpark.SaveVoiceTemplateRequest;
import com.zteits.clouds.api.dto.park.param.closecarpark.UpdateVoiceTemplateRequest;
import com.zteits.clouds.api.dto.park.param.closecarpark.ViewVoiceTemplateRequest;
import com.zteits.park.dao.VoiceTemplateListDao;
import com.zteits.park.domain.ParkingLotVoicDefault;
import com.zteits.park.domain.ParkingLotVoicDefaultDisplay;
import com.zteits.park.domain.ParkingLotVoicDefaultExample;
import com.zteits.park.mapper.ParkingLotVoicDefaultDisplayMapper;
import com.zteits.park.mapper.ParkingLotVoicDefaultMapper;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils;

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

@Component
public class VoiceTemplateDaoImpl implements VoiceTemplateListDao {

    @Autowired
    private ParkingLotVoicDefaultMapper parkingLotVoicDefaultMapper;

    @Autowired
    private ParkingLotVoicDefaultDisplayMapper parkingLotVoicDefaultDisplayMapper;


    /**
     * 每一页大小.
     */
    private static final Integer PAGE_SIZE = 500;

    @Override
    public List<VoiceTemplateInfoDTO> queryVoiceTemplate(QueryVoiceTemplateRequest request) {

        List<VoiceTemplateInfoDTO> dtoList = new ArrayList<>();
        ParkingLotVoicDefaultExample example = new ParkingLotVoicDefaultExample();
        ParkingLotVoicDefaultExample.Criteria sql = example.createCriteria();
        if(!StringUtils.isEmpty(request.getModelType())){
            sql.andModelTypeEqualTo(request.getModelType());
        }
        if(!StringUtils.isEmpty(request.getDescription())){
            sql.andDescriptionLike("%"+request.getDescription()+"%");
        }
        // 1.设置分页信息
        PageHelper.startPage(request.getBaseRequest().getPageNum(), request.getBaseRequest().getPageSize());
        List<ParkingLotVoicDefault> parkVoiceList = parkingLotVoicDefaultMapper.selectByExample(example);
        ListCopyUtil.listCopyProperties(parkVoiceList,dtoList, VoiceTemplateInfoDTO.class);
        return dtoList;
    }

    @Override
    public int insertSelective(SaveVoiceTemplateRequest request) {

        if (request == null) {
            return 0;
        }
        ParkingLotVoicDefault parkingLotVoicDefault = new ParkingLotVoicDefault();
        List<ParkingLotVoicDefaultDisplay> displayList = new ArrayList<>();
        BeanUtils.copyProperties(request, parkingLotVoicDefault);
        int flag = parkingLotVoicDefaultMapper.insertSelective(parkingLotVoicDefault);
        int flagDisplay = 0;
        if(request.getTextDetails().size()>0){
            ListCopyUtil.listCopyProperties(request.getTextDetails(),displayList, ParkingLotVoicDefaultDisplay.class);
            for (int i = 0;i<request.getTextDetails().size();i++){
                 displayList.get(i).setTempId(parkingLotVoicDefault.getId());
                 flagDisplay = parkingLotVoicDefaultDisplayMapper.insertSelective(displayList.get(i));
            }

        }
        return flagDisplay;
    }

    @Override
    public int updateVoiceTemplate(UpdateVoiceTemplateRequest request) {
        if (request == null) {
            return 0;
        }
        ParkingLotVoicDefault parkingLotVoicDefault = new ParkingLotVoicDefault();
        List<ParkingLotVoicDefaultDisplay> displayList = new ArrayList<>();
        BeanUtils.copyProperties(request, parkingLotVoicDefault);
        int flag = parkingLotVoicDefaultMapper.updateByPrimaryKeySelective(parkingLotVoicDefault);
        int flagDisplay = 0;
        if(request.getTextDetails().size()>0){
            ListCopyUtil.listCopyProperties(request.getTextDetails(),displayList, ParkingLotVoicDefaultDisplay.class);
            for (int i = 0;i<request.getTextDetails().size();i++){
                flagDisplay = parkingLotVoicDefaultDisplayMapper.updateByPrimaryKeySelective(displayList.get(i));
            }

        }
        return flagDisplay;
    }

    @Override
    public VoiceTemplateInfoDTO viewVoiceTemplate(ViewVoiceTemplateRequest request) {

        ParkingLotVoicDefault  parkingLotVoicDefault = parkingLotVoicDefaultMapper.selectByPrimaryKey(request.getId());
        VoiceTemplateInfoDTO dto = new VoiceTemplateInfoDTO();
        BeanUtils.copyProperties(parkingLotVoicDefault,dto);
  //      ListCopyUtil.listCopyProperties(request.getTextDetails(),displayList, ParkingLotVoicDefaultDisplay.class);

        return dto;
    }

    @Override
    public List<ModelTypeInfoDTO> queryModelType(ViewVoiceTemplateRequest request) {
        List<ModelTypeInfoDTO> dtoList = new ArrayList<>();
        ParkingLotVoicDefaultExample example = new ParkingLotVoicDefaultExample();
        List<ParkingLotVoicDefault>  list = parkingLotVoicDefaultMapper.selectModelTypeByExample(example);
        ListCopyUtil.listCopyProperties(list,dtoList, ModelTypeInfoDTO.class);
        return dtoList;
    }
}