package com.nq.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.nq.dao.StockMapper; import com.nq.dao.StockSettingMapper; import com.nq.pojo.Stock; import com.nq.pojo.StockRealTimeBean; import com.nq.pojo.StockSetting; import com.nq.service.IPriceServices; import com.nq.utils.redis.RedisKeyUtil; import com.nq.utils.timeutil.TimeUtil; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.math.BigDecimal; @Service public class PriceServicesImpl implements IPriceServices { @Resource StockSettingMapper stockSettingMapper; @Resource StockMapper stockMapper; @Override public BigDecimal getNowPrice(String stockCode) { Stock stock = stockMapper.selectOne(new QueryWrapper().eq("stock_code",stockCode)); StockSetting stockSetting = stockSettingMapper.selectOne(new QueryWrapper().eq("stock_code",stockCode)); if(stockSetting != null){ if(TimeUtil.isTradingHour(stockSetting.getStartTime(),stockSetting.getEndTime())){ if(stockSetting.getType().equals("0")){ return new BigDecimal(stockSetting.getPrice()); }else{ StockRealTimeBean stockRealTimeBean = RedisKeyUtil.getCacheRealTimeStock(stock); return new BigDecimal(stockRealTimeBean.getLast()).multiply(new BigDecimal(stockSetting.getPrice())); } } } StockRealTimeBean stockRealTimeBean = RedisKeyUtil.getCacheRealTimeStock(stock); return new BigDecimal(stockRealTimeBean.getLast()); } }