TdCFileDaoImpl.java 3.75 KB
package com.zteits.pay.dao.impl;

import java.util.List;

import org.apache.commons.collections4.CollectionUtils;
import com.zteits.clouds.api.apibase.constants.DataStatusEnum;
import com.zteits.clouds.api.dto.pay.param.SysFileGetBySourceIdAndTypeRequest;
import com.zteits.pay.dao.TdCFileDao;
import com.zteits.pay.domain.TdCFile;
import com.zteits.pay.domain.TdCFileExample;
import com.zteits.pay.mapper.TdCFileMapper;
import com.zteits.pay.mapper.smapper.TdCFileSMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

/**
 * Copyright: Copyright (c) 2017  zteits
 *
 * @ClassName: com.zteits.pay.dao.impl
 * @Description:
 * @version: v1.0.0
 * @author: atao
 * @date: 2017/7/11   下午7:27
 * Modification History:
 * Date         Author          Version      Description
 * ---------------------------------------------------------*
 * 2017/7/11      atao          v1.0.0          创建
 */
@Component
public class TdCFileDaoImpl implements TdCFileDao {

    @Autowired
    private TdCFileSMapper tdCFileSMapper;
    @Autowired
    private TdCFileMapper tdCFileMapper;

    @Override
    public List<TdCFile> getFilesBySourceIdAndType(String sourceId, Integer fileType) {
        TdCFileExample example = new TdCFileExample();
        example.createCriteria().andDataStateEqualTo(DataStatusEnum.DATA_STATUS_VALID.value())
            .andSourceIdEqualTo(sourceId)
            .andFileTypeEqualTo(fileType);
        return tdCFileMapper.selectByExample(example);
    }

    @Override
    public List<TdCFile> getFilesBySourceIdsAndTypes(List<String> sourceId, List<Integer> fileType) {
        TdCFileExample example = new TdCFileExample();
        example.createCriteria().andDataStateEqualTo(DataStatusEnum.DATA_STATUS_VALID.value())
            .andSourceIdIn(sourceId)
            .andFileTypeIn(fileType);
        return tdCFileMapper.selectByExample(example);
    }

    @Override
    public Integer updateFileState(TdCFile tdCFile) {
        return tdCFileSMapper.updateFileState(tdCFile);
    }

    @Override
    public Integer saveFilesBySourceIdAndType(TdCFile tdCFile) {
        return tdCFileMapper.insertSelective(tdCFile);
    }

    @Override
    public Integer deleteFilesByIds(List<Long> ids) {

        TdCFile tdCFile = new TdCFile();
        tdCFile.setDataState(DataStatusEnum.DATA_STATUS_NO_VALID.value());
        TdCFileExample example = new TdCFileExample();
        example.createCriteria().andDataStateEqualTo(DataStatusEnum.DATA_STATUS_VALID.value())
            .andIdIn(ids);
        return tdCFileMapper.updateByExampleSelective(tdCFile, example);

    }

    @Override
    public Integer deleteFilesBySourceIdAndType(SysFileGetBySourceIdAndTypeRequest request) {

        TdCFile tdCFile = new TdCFile();
        tdCFile.setDataState(DataStatusEnum.DATA_STATUS_NO_VALID.value());

        TdCFileExample example = new TdCFileExample();
        example.createCriteria().andDataStateEqualTo(DataStatusEnum.DATA_STATUS_VALID.value())
            .andSourceIdEqualTo(request.getSourceId())
            .andFileTypeEqualTo(request.getFileType());
        return tdCFileMapper.updateByExampleSelective(tdCFile, example);
    }

    @Override
    public TdCFile getFilesBySourceIdAndTypeLimt1(String sourceId, Integer fileType,Integer filState) {
        TdCFileExample example = new TdCFileExample();
        example.createCriteria().andDataStateEqualTo(DataStatusEnum.DATA_STATUS_VALID.value())
                .andSourceIdEqualTo(sourceId)
                .andFileTypeEqualTo(fileType)
                .andFileStateEqualTo(filState);
        List<TdCFile> tdCFiles = tdCFileMapper.selectByExample(example);
        if(!CollectionUtils.isEmpty(tdCFiles)){
            return tdCFiles.get(0);
        }
        return new TdCFile();
    }
}