package com.nq.service.impl; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.nq.Repository.ExchangeRateRepository; import com.nq.common.ServerResponse; import com.nq.dao.ExchangeRateMapper; import com.nq.pojo.ExchangeRate; import com.nq.service.ExchangeRateService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletRequest; import java.util.Date; import java.util.List; @Service public class ExchangeRateServiceImpl implements ExchangeRateService { private static final Logger log = LoggerFactory.getLogger(ExchangeRateServiceImpl.class); @Autowired ExchangeRateRepository exchangeRateRepository; @Autowired ExchangeRateMapper exchangeRateMapper; @Override public ServerResponse getInfoPage(Integer pageNum, Integer pageSize) { try { PageHelper.startPage(pageNum, pageSize); List exchangeRateList = exchangeRateMapper.selectList(null); // 获取分页信息 PageInfo pageInfo = new PageInfo<>(exchangeRateList); return ServerResponse.createBySuccess(pageInfo); } catch (Exception e) { log.error(e.getMessage(), e); } return ServerResponse.createByError(); } @Override public ServerResponse getInfo() { try { List exchangeRateList = exchangeRateMapper.selectList(null); return ServerResponse.createBySuccess(exchangeRateList); } catch (Exception e) { log.error(e.getMessage(), e); } return ServerResponse.createByError(); } @Override public ServerResponse updateRate(ExchangeRate model, HttpServletRequest request) { try { //新增 if (model.getId() == null) { //查询该货币汇率是否存在 ExchangeRate exchangeRate = exchangeRateRepository.findExchangeRateByCurrencyAndConversionCurrency(model.getCurrency(), model.getConversionCurrency()).orElse(null); if (exchangeRate != null) { return ServerResponse.createByErrorMsg("当前货币转换已存在"); } model.setUpdateTime(new Date()); model = exchangeRateRepository.saveAndFlush(model); } else { //修改 ExchangeRate exchangeRate = exchangeRateRepository.findById(model.getId()).orElse(null); if (exchangeRate == null) { return ServerResponse.createByErrorMsg("修改失败,记录不存在!"); } //只能修改汇率 exchangeRate.setRata(model.getRata()); exchangeRate.setUpdateTime(new Date()); model = exchangeRateRepository.saveAndFlush(exchangeRate); } model = exchangeRateRepository.saveAndFlush(model); return ServerResponse.createBySuccess("操作成功", model); } catch (Exception e) { log.error(e.getMessage(), e); } return ServerResponse.createByError(); } }