ExchangeRateServiceImpl.java 3.4 KB
package com.lhcredit.project.business.exchangeRate.service;

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

import com.lhcredit.common.utils.StreamUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.lhcredit.project.business.exchangeRate.mapper.ExchangeRateMapper;
import com.lhcredit.project.business.exchangeRate.domain.ExchangeRate;
import com.lhcredit.common.utils.text.Convert;

/**
 * 汇率 服务层实现
 *
 * @author lhcredit
 * @date 2025-03-18
 */
@Service
public class ExchangeRateServiceImpl implements IExchangeRateService {
    @Autowired
    private ExchangeRateMapper exchangeRateMapper;
    @Override
    public ExchangeRate getBySourceForLast(String str){
        ExchangeRate rate=null;
        if (str!=null){
            rate=new ExchangeRate();
            rate.setSourceUrrency(str);
            List<ExchangeRate> exchangeRates = selectExchangeRateList(rate);
            rate=StreamUtils.of(exchangeRates).sorted(Comparator.comparing(ExchangeRate::getCreateTime).reversed()).getFirst();
        }
        if (rate==null) rate=new ExchangeRate();
        return     rate;
    }

    /**
     * 查询汇率信息
     *
     * @param id 汇率ID
     * @return 汇率信息
     */
    @Override
    public ExchangeRate selectExchangeRateById(Integer id) {
        return exchangeRateMapper.selectExchangeRateById(id);
    }

    /**
     * 查询汇率列表
     *
     * @param exchangeRate 汇率信息
     * @return 汇率集合
     */
    @Override
    public List<ExchangeRate> selectExchangeRateList(ExchangeRate exchangeRate) {
        return exchangeRateMapper.selectExchangeRateList(exchangeRate);
    }

    /**
     * 字段转换
     * @param exchangeRate 汇率信息
     * @return 汇率信息
     */
    @Override
    public ExchangeRate changeModel(ExchangeRate exchangeRate) {
//        //这里写各字段转换逻辑
//        if(exchangeRate!=null){
//            if(StringUtils.isNotEmpty(exchangeRate.getXXX())){
//               exchangeRate.setXXX(exchangeRate.getXXX());
//            }
//        }
        return exchangeRate;
    }

    /**
     * 列表转换
     *
     * @param exchangeRateList 汇率集合
     * @return 汇率集合
     */
    @Override
    public List<ExchangeRate> changeModel(List<ExchangeRate> exchangeRateList) {
        List<ExchangeRate> result = new ArrayList<ExchangeRate>();
        if (exchangeRateList.size() > 0) {
            for (ExchangeRate exchangeRate:exchangeRateList){
                result.add(changeModel(exchangeRate));
            }
        }
        return result;
    }

    /**
     * 新增汇率
     *
     * @param exchangeRate 汇率信息
     * @return 结果
     */
    @Override
    public int insertExchangeRate(ExchangeRate exchangeRate) {
        return exchangeRateMapper.insertExchangeRate(exchangeRate);
    }

    /**
     * 修改汇率
     *
     * @param exchangeRate 汇率信息
     * @return 结果
     */
    @Override
    public int updateExchangeRate(ExchangeRate exchangeRate) {
        return exchangeRateMapper.updateExchangeRate(exchangeRate);
    }

    /**
     * 删除汇率对象
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    @Override
    public int deleteExchangeRateByIds(String ids) {
        return exchangeRateMapper.deleteExchangeRateByIds(Convert.toStrArray(ids));
    }

}