package com.nq.service.impl; import java.math.BigDecimal; import java.util.Date; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.google.common.collect.Lists; import com.google.gson.Gson; import com.nq.common.ServerResponse; import com.nq.dao.StockMapper; import com.nq.pojo.SiteSetting; import com.nq.pojo.Stock; import com.nq.pojo.StockVip; import com.nq.service.StockVipService; import com.nq.dao.StockVipMapper; import com.nq.utils.DateTimeUtil; import com.nq.utils.stock.lide.LiDeDataUtils; import com.nq.utils.stock.sina.SinaStockApi; import com.nq.vo.stock.StockVipVo; import com.nq.vo.stock.StockListVO; import com.nq.vo.stock.StockVO; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.ObjectUtils; import java.util.List; /** * @author Administrator * @description 针对表【stock_vip】的数据库操作Service实现 * @createDate 2022-12-03 17:09:01 */ @Service @Slf4j public class StockVipServiceImpl extends ServiceImpl implements StockVipService{ @Autowired private StockVipMapper stockVipMapper; @Autowired private SiteSettingServiceImpl siteSettingService; @Autowired private StockMapper stockMapper; @Override public ServerResponse getVipList() { List list = stockVipMapper.selectList(new QueryWrapper().eq("is_show", 1)); List stockVipVos = Lists.newArrayList(); for (StockVip stockVip : list) { StockListVO stockListVO=SinaStockApi.assembleLideStockListVO(LiDeDataUtils.getStock(stockVip.getStockCode())); if(ObjectUtils.isEmpty(stockListVO)){ stockListVO = SinaStockApi.assembleStockListVO(SinaStockApi.getSinaStock(stockVip.getStockGid())); } BigDecimal price = new BigDecimal(stockListVO.getNowPrice()).multiply(stockVip.getDiscount()); StockVipVo stockVipVo = new StockVipVo(); stockVipVo.setId(stockVip.getId()); stockVipVo.setStockName(stockVip.getStockName()); stockVipVo.setStockCode(stockVip.getStockCode()); stockVipVo.setPrice(price); stockVipVo.setStockType(stockVip.getStockType()); stockVipVo.setStockGid(stockVip.getStockGid()); stockVipVo.setStockPlate(stockVip.getStockPlate()); stockVipVo.setIsLock(stockVip.getIsLock()); stockVipVo.setStockNum(stockVip.getStockNum()); stockVipVo.setStartTime(stockVip.getStartTime()); stockVipVo.setEndTime(stockVip.getEndTime()); stockVipVo.setDiscount(stockVip.getDiscount()); stockVipVo.setResidualShare(stockVip.getResidualShare()); stockVipVos.add(stockVipVo); } return ServerResponse.createBySuccess(stockVipVos); } @Override public ServerResponse addByAdmin(String stockCode, String stockNum, String password, String startTime, String endTime, String discount,Integer residualShare) { if (stockCode == null || stockCode.equals("")||stockNum == null || stockNum.equals("")||password == null || discount == null|| discount.equals("")|| password.equals("")|| startTime == null || startTime.equals("")||endTime == null || endTime.equals("")){ return ServerResponse.createByErrorMsg("参数不能为空"); } Stock stock = stockMapper.findStockByCode(stockCode); if (stock == null){ return ServerResponse.createByErrorMsg("股票代码不存在"); } StockVip stockVip = new StockVip(); stockVip.setStockName(stock.getStockName()); stockVip.setStockCode(stock.getStockCode()); stockVip.setStockType(stock.getStockType()); stockVip.setStockGid(stock.getStockGid()); stockVip.setStockPlate(stock.getStockPlate()); stockVip.setIsLock(stock.getIsLock()); stockVip.setIsShow(1); stockVip.setAddTime(new Date()); stockVip.setSpreadRate(stock.getSpreadRate()); stockVip.setIncreaseRatio(BigDecimal.ZERO); stockVip.setStockNum(Integer.valueOf(stockNum)); stockVip.setPassword(password); stockVip.setStartTime(DateTimeUtil.strToDate(startTime)); stockVip.setEndTime(DateTimeUtil.strToDate(endTime)); stockVip.setDiscount(new BigDecimal(discount)); stockVip.setResidualShare(residualShare); int res = stockVipMapper.insert(stockVip); if (res > 0) { return ServerResponse.createBySuccessMsg("添加成功"); } return ServerResponse.createByErrorMsg("添加失败"); } @Override public ServerResponse getVipListByAdmin(String Keywords) { List list = null; // log.info("Keywords:{}",Keywords); if (Keywords != null && !"".equals(Keywords)){ list = stockVipMapper.selectList(new QueryWrapper().like("stock_name", Keywords).or().like("stock_code", Keywords).or().like("stock_type", Keywords)); }else { list = stockVipMapper.selectList(new QueryWrapper().orderByDesc("id")); } log.info("list:{}",list); return ServerResponse.createBySuccess(list); } @Override public ServerResponse updByAdmin(StockVip model) { // log.info("model:{}",model); return stockVipMapper.updateById(model) > 0 ? ServerResponse.createBySuccess("修改成功") : ServerResponse.createByErrorMsg("修改失败"); } @Override public ServerResponse deleteByAdmin(String id) { int res = stockVipMapper.deleteById(id); if (res > 0) { return ServerResponse.createBySuccess("删除成功"); } return ServerResponse.createByErrorMsg("删除失败"); } }