SmsTemplateConfigServiceImpl.java 5.46 KB
package com.zteits.park.biz.impl;

import org.apache.commons.collections4.CollectionUtils;
import com.clouds.common.utils.ListCopyUtil;
import com.clouds.common.utils.SequenceUtil;
import com.github.pagehelper.PageInfo;
import com.zteits.clouds.api.apibase.bean.BizResult;
import com.zteits.clouds.api.apibase.bean.PageBean;
import com.zteits.clouds.api.apibase.constants.BasicEnum;
import com.zteits.clouds.api.apibase.constants.SequenceTypeEnum;
import com.zteits.clouds.api.dto.clouds.param.BatchDeleteByPrimaryKeyRequest;
import com.zteits.clouds.api.dto.park.dto.SmsTemplateConfigDTO;
import com.zteits.clouds.api.dto.park.dto.SmsTemplateConfigRltParkingDTO;
import com.zteits.clouds.api.dto.park.param.SmsTemplateConfigRequest;
import com.zteits.clouds.api.dto.park.param.SmsTemplateConfigRltParkingRequest;
import com.zteits.clouds.api.service.park.SmsTemplateConfigService;
import com.zteits.park.dao.SmsTemplateConfigDao;
import com.zteits.park.dao.SmsTemplateConfigRltParkingDao;
import com.zteits.park.domain.SmsTemplateConfig;
import com.zteits.park.domain.SmsTemplateConfigRltParking;
import com.zteits.park.pagepager.PageBeanUtil;
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 org.springframework.util.StringUtils;

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

@Component
public class SmsTemplateConfigServiceImpl implements SmsTemplateConfigService {

    private static final Logger logger = LoggerFactory.getLogger(SmsTemplateConfigServiceImpl.class);

    @Autowired
    private SmsTemplateConfigDao smsTemplateConfigDao;
    @Autowired
    private SmsTemplateConfigRltParkingDao smsTemplateConfigRltParkingDao;
    @Override
    public BizResult<List<SmsTemplateConfigDTO>> querySmsTemplateConfig(SmsTemplateConfigRequest request) {
        List<SmsTemplateConfigDTO> smsTemplateConfigDTOS = new ArrayList<>();
        List<SmsTemplateConfig> smsTemplateConfigs = smsTemplateConfigDao.querySmsTemplateConfig(request);
        if(CollectionUtils.isEmpty(smsTemplateConfigs)){
            return new BizResult<>(smsTemplateConfigDTOS);
        }
        for (SmsTemplateConfig source:smsTemplateConfigs){
            SmsTemplateConfigDTO dto = new SmsTemplateConfigDTO();
            BeanUtils.copyProperties(source,dto);
            smsTemplateConfigDTOS.add(dto);
        }
        return new BizResult<>(smsTemplateConfigDTOS);
    }

    @Override
    public BizResult<PageBean<SmsTemplateConfigDTO>> querySmsTemplateConfigForPage(SmsTemplateConfigRequest request) {
        PageBean<SmsTemplateConfigDTO> pageBean = new PageBean<>();
        PageInfo<SmsTemplateConfig> pageInfo = smsTemplateConfigDao.querySmsTemplateConfigForPage(request);
        if (pageInfo != null && pageInfo.getList() != null && pageInfo.getList().size() > 0) {
            PageBeanUtil.copyProperties(pageInfo, pageBean, SmsTemplateConfigDTO.class);
        }
        this.querySmsTemplateConfigRel(pageBean);
        return new BizResult<>(pageBean);
    }


    private void querySmsTemplateConfigRel(PageBean<SmsTemplateConfigDTO> pageBean) {
        if (null != pageBean && !org.springframework.util.CollectionUtils.isEmpty(pageBean.getDataList())) {
            List<SmsTemplateConfigDTO> dataList = pageBean.getDataList();
            for (SmsTemplateConfigDTO smsTemplateConfigDTO : dataList) {
                if (null == smsTemplateConfigDTO || StringUtils.isEmpty(smsTemplateConfigDTO.getSmsId())) {
                    continue;
                }
                List<SmsTemplateConfigRltParkingDTO> listDTO = new ArrayList<>();
                SmsTemplateConfigRltParkingRequest smsTemplateConfigRltParkingRequest = new SmsTemplateConfigRltParkingRequest();
                smsTemplateConfigRltParkingRequest.setSmsId(smsTemplateConfigDTO.getSmsId());
                smsTemplateConfigRltParkingRequest.setSysCode(BasicEnum.SYS_CODE.getValue());
                List<SmsTemplateConfigRltParking> smsTemplateConfigRltParkings = smsTemplateConfigRltParkingDao.querySmsTemplateConfigRltParking(smsTemplateConfigRltParkingRequest);
                ListCopyUtil.listCopyProperties(smsTemplateConfigRltParkings, listDTO, SmsTemplateConfigRltParkingDTO.class);
                smsTemplateConfigDTO.setRltParkingDTOS(listDTO);
            }

        }
    }
    @Override
    public BizResult<Boolean> batchDeleteSmsTemplateConfigByPrimaryKey(BatchDeleteByPrimaryKeyRequest request) {
        int delenum = smsTemplateConfigDao.batchDeleteSmsTemplateConfigByPrimaryKey(request.getIds(),request.getOpId(),request.getsOpName());
        return new BizResult<>(delenum>0);
    }

    @Override
    public BizResult<Boolean> saveSmsTemplateConfig(SmsTemplateConfigRequest request) {
        SmsTemplateConfig smsTemplateConfig = new SmsTemplateConfig();
        BeanUtils.copyProperties(request,smsTemplateConfig);
        smsTemplateConfig.setSmsId(SequenceUtil.getNextId(SequenceTypeEnum.SMS_NO));
        int saveNum = smsTemplateConfigDao.saveSmsTemplateConfig(smsTemplateConfig);
        return new BizResult<>(saveNum>0);
    }

    @Override
    public BizResult<Boolean> updateByPrimaryKeySelective(SmsTemplateConfigRequest request) {
        SmsTemplateConfig smsTemplateConfig = new SmsTemplateConfig();
        BeanUtils.copyProperties(request,smsTemplateConfig);
        int upNum = smsTemplateConfigDao.updateByPrimaryKeySelective(smsTemplateConfig);
        return new BizResult<>(upNum>0);
    }
}