TdCCustBusinessParkDaoImpl.java 6.18 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.TdCCustBusinessParkDao;
import com.zteits.business.domain.TdCCustBusinessPark;
import com.zteits.business.domain.TdCCustBusinessParkExample;
import com.zteits.business.mapper.TdCCustBusinessParkMapper;
import com.zteits.clouds.api.apibase.constants.DataStatusEnum;
import com.zteits.clouds.api.dto.business.param.TdCCustBusinessParkRequest;
import com.zteits.clouds.api.dto.business.param.TdCCustBusinessParkSaveRequest;
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
public class TdCCustBusinessParkDaoImpl implements TdCCustBusinessParkDao {
    @Autowired
    private TdCCustBusinessParkMapper tdCCustBusinessParkMapper;

    @Override
    public int saveTdCCustBusinessPark(TdCCustBusinessParkSaveRequest request) {
        if(request.getCreateDate()==null){
            request.setCreateDate(new Date());
        }
        int num = 0;
        if(CollectionUtils.isNotEmpty(request.getPlNos())){
            for(String plNo : request.getPlNos()){
                TdCCustBusinessPark tdCCustBusinessPark = new TdCCustBusinessPark();
                BeanUtils.copyProperties(request,tdCCustBusinessPark);
                tdCCustBusinessPark.setPlNo(plNo);
                //商户ID+车场ID查询是否重复添加,重复则忽略
                TdCCustBusinessParkExample example = new TdCCustBusinessParkExample();
                TdCCustBusinessParkExample.Criteria sql = example.createCriteria();

                sql.andBusinessIdEqualTo(tdCCustBusinessPark.getBusinessId());
                sql.andPlNoEqualTo(tdCCustBusinessPark.getPlNo());
                sql.andDataStateEqualTo(1);
                List list = tdCCustBusinessParkMapper.selectByExample(example);
                if(CollectionUtils.isNotEmpty(list)){
                    continue;
                }
                int i = tdCCustBusinessParkMapper.insertSelective(tdCCustBusinessPark);
                if (i > 0) {
                    num++;
                }
            }
        }
        return num;
    }

    @Override
    public int updateByExampleSelective(TdCCustBusinessPark record, TdCCustBusinessParkExample example) {
        return tdCCustBusinessParkMapper.updateByExampleSelective(record,example);
    }

    @Override
    public int updateByPrimaryKeySelective(TdCCustBusinessPark record) {
        return tdCCustBusinessParkMapper.updateByPrimaryKeySelective(record);
    }

    @Override
    public List<TdCCustBusinessPark> selectByExample(TdCCustBusinessParkExample example) {
        return tdCCustBusinessParkMapper.selectByExample(example);
    }

    @Override
    public TdCCustBusinessPark queryByPrimaryKey(Long id) {
        return tdCCustBusinessParkMapper.selectByPrimaryKey(id);
    }

    @Override
    public List<TdCCustBusinessPark> queryTdCCustBusinessPark(TdCCustBusinessParkRequest request) {
        return null;
    }

//    @Override
//    public List<TdCCustBusiness> queryTdCCustBusinessPark(TdCCustBusinessParkRequest 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 tdCCustBusinessParkMapper.selectByExample(example);
//    }

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

    @Override
    public int deleteTdCCustBusinessParkByBusinessId(String businessId,Long orgId){
        TdCCustBusinessParkExample example = new TdCCustBusinessParkExample();
        TdCCustBusinessParkExample.Criteria sql = example.createCriteria();

        if (!StringUtils.isEmpty(orgId)) {
            sql.andOrgIdEqualTo(orgId);
        }

        sql.andBusinessIdEqualTo(businessId);
        int num = tdCCustBusinessParkMapper.deleteByExample(example);
        return num;
    }

//    @Override
    public PageInfo<TdCCustBusinessPark> queryTdCCustBusinessParkForPage(TdCCustBusinessParkRequest request) {
        PageHelper.startPage(request.getBaseRequest().getPageNum(), request.getBaseRequest().getPageSize());
        TdCCustBusinessParkExample example = new TdCCustBusinessParkExample();
        TdCCustBusinessParkExample.Criteria sql = example.createCriteria();

        if(!StringUtils.isEmpty(request.getBusinessId())){
            sql.andBusinessIdEqualTo(request.getBusinessId());
        }

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

        if(!StringUtils.isEmpty(request.getPlNo())){
            sql.andPlNoEqualTo(request.getPlNo());
        }

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