TdCCustBusinessDaoImpl.java 5.85 KB
package com.zteits.business.dao.impl;

import org.apache.commons.collections4.CollectionUtils;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.zteits.business.dao.TdCCustBusinessDao;
import com.zteits.business.domain.*;
import com.zteits.business.mapper.TdCBusinessOrderParkRecordMapper;
import com.zteits.business.mapper.TdCCustBusinessMapper;
import com.zteits.business.mapper.smapper.TdCBusinessOrderParkRecordSMapper;
import com.zteits.clouds.api.apibase.constants.DataStatusEnum;
import com.zteits.clouds.api.dto.business.dto.TdCBusinessOrderParkCouponSummaryDTO;
import com.zteits.clouds.api.dto.business.param.TdCBusinessOrderParkRecordRequest;
import com.zteits.clouds.api.dto.business.param.TdCCustBusinessRequest;
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.Date;
import java.util.List;

@Component("com.zteits.business.dao.impl.TdCCustBusinessDaoImpl")
public class TdCCustBusinessDaoImpl implements  TdCCustBusinessDao {
    @Autowired
    private TdCCustBusinessMapper tdCCustBusinessMapper;

    @Autowired
    private TdCBusinessOrderParkRecordMapper tdCBusinessOrderParkRecordMapper;

    @Autowired
    private TdCBusinessOrderParkRecordSMapper tdCBusinessOrderParkRecordSMapper;

    @Override
    public int saveTdCCustBusiness(TdCCustBusiness tdCCustBusiness) {
        if(tdCCustBusiness.getCreateDate()==null){
            tdCCustBusiness.setCreateDate(new Date());
        }
        return tdCCustBusinessMapper.insertSelective(tdCCustBusiness);
    }

    @Override
    public int updateByExampleSelective(TdCCustBusiness record, TdCCustBusinessExample example) {
        return tdCCustBusinessMapper.updateByExampleSelective(record,example);
    }

    @Override
    public int updateByPrimaryKeySelective(TdCCustBusiness record) {
        return tdCCustBusinessMapper.updateByPrimaryKeySelective(record);
    }

    @Override
    public List<TdCCustBusiness> selectByExample(TdCCustBusinessExample example) {
        return tdCCustBusinessMapper.selectByExample(example);
    }

    @Override
    public TdCCustBusiness queryByPrimaryKey(Long id) {
        return tdCCustBusinessMapper.selectByPrimaryKey(id);
    }

    @Override
    public List<TdCCustBusiness> queryTdCCustBusiness(TdCCustBusinessRequest request) {
        TdCCustBusinessExample example = new TdCCustBusinessExample();
        TdCCustBusinessExample.Criteria sql = example.createCriteria();
        if(!StringUtils.isEmpty(request.getCustId())){
            sql.andCustIdEqualTo(request.getCustId());
        }

        if(!StringUtils.isEmpty(request.getBusinessName())){
            sql.andBusinessNameEqualTo(request.getBusinessName());
        }

        if(!StringUtils.isEmpty(request.getOrgId())){
            sql.andOrgIdEqualTo(request.getOrgId());
        }
        sql.andDataStateEqualTo(DataStatusEnum.DATA_STATUS_VALID.value());
       return tdCCustBusinessMapper.selectByExample(example);
    }

    @Override
    public int batchDeleteTdCCustBusinessByPrimaryKey(List<Long> ids, String opId, String opName) {
        TdCCustBusiness record = new TdCCustBusiness();
        record.setModifyEmpid(opId);
        record.setModifyDate(new Date());
        record.setDataState(DataStatusEnum.DATA_STATUS_NO_VALID.value());
        TdCCustBusinessExample example = new TdCCustBusinessExample();
        example.createCriteria().andIdIn(ids);
        return tdCCustBusinessMapper.updateByExampleSelective(record,example);
    }

    @Override
    public PageInfo<TdCCustBusiness> queryTdCCustBusinessForPage(TdCCustBusinessRequest request) {
        PageHelper.startPage(request.getBaseRequest().getPageNum(), request.getBaseRequest().getPageSize());
        TdCCustBusinessExample example = new TdCCustBusinessExample();
        TdCCustBusinessExample.Criteria sql = example.createCriteria();

        if(!StringUtils.isEmpty(request.getBusinessName())){
            sql.andBusinessNameLike("%"+request.getBusinessName()+"%");
        }

        if(!StringUtils.isEmpty(request.getUserPhone())){
            sql.andUserPhoneLike("%"+request.getUserPhone()+"%");
        }

        if(!StringUtils.isEmpty(request.getOrgId())){
            sql.andOrgIdEqualTo(request.getOrgId());
        }
        sql.andDataStateEqualTo(1);
        List<TdCCustBusiness> list = tdCCustBusinessMapper.selectByExample(example);
        if (CollectionUtils.isNotEmpty(list)) {
            return new PageInfo<TdCCustBusiness>(list);
        }
        return new PageInfo<>(new ArrayList<TdCCustBusiness>());
    }

    @Override
    public PageInfo<TdCBusinessOrderParkRecord> queryBusinessParkOrderForPage(TdCBusinessOrderParkRecordRequest request) {
        PageHelper.startPage(request.getBaseRequest().getPageNum(), request.getBaseRequest().getPageSize());
        //20220629修改页面只查询券已使用的停车记录信息
        List<TdCBusinessOrderParkRecord> list = tdCBusinessOrderParkRecordSMapper.queryBusinessOrderParkRecordForPageList(request);

        if (CollectionUtils.isNotEmpty(list)) {
            return new PageInfo<TdCBusinessOrderParkRecord>(list);
        }
        return new PageInfo<>(new ArrayList<>());
    }

    @Override
    public TdCBusinessOrderParkCouponSummary parkingCouponSummary(TdCBusinessOrderParkRecordRequest request) {
        TdCBusinessOrderParkCouponSummary summary = new TdCBusinessOrderParkCouponSummary();
        TdCBusinessOrderParkCouponSummaryDTO dto = tdCBusinessOrderParkRecordSMapper.queryParkingCouponSummary(request);
        if(dto != null){
            BeanUtils.copyProperties(dto,summary);
        }else{
            summary.setDicountFeeAll(0L);
            summary.setOrderActFeeAll(0L);
            summary.setOrderTotalFeeAll(0L);
        }
        return summary;
    }
}