package com.nq.service.impl; import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.pagehelper.PageHelper; import com.google.common.collect.Lists; import com.nq.common.ServerResponse; import com.nq.dao.StockDzMapper; import com.nq.dao.StockMapper; import com.nq.pojo.Stock; import com.nq.pojo.StockDz; import com.nq.pojo.reponse.RPageInfo; import com.nq.service.StockDzService; import com.nq.utils.stock.sina.StockApi; import com.nq.utils.timeutil.DateTimeUtil; import com.nq.vo.stock.StockDzVo; import com.nq.vo.stock.StockListVO; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.bind.annotation.RequestParam; import javax.servlet.http.HttpServletRequest; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Objects; import java.util.concurrent.CompletableFuture; /** * @author Administrator * @description 针对表【stock_dz】的数据库操作Service实现 * @createDate 2022-12-03 17:09:01 */ @Service @Slf4j public class StockDzServiceImpl extends ServiceImpl implements StockDzService{ @Autowired private StockDzMapper stockDzMapper; @Autowired private SiteSettingServiceImpl siteSettingService; @Autowired private StockMapper stockMapper; @Override public ServerResponse getDzList(int pageNum, int pageSize, String orderBy, String keyWords, HttpServletRequest request) { PageHelper.startPage(pageNum, pageSize); String formatDate = DateUtil.format(new Date(), DatePattern.NORM_DATETIME_PATTERN); List stockTypeDz = stockMapper.findStockTypeDz(orderBy, keyWords,formatDate); RPageInfo pageInfo = new RPageInfo(); pageInfo.setList(stockTypeDz); return ServerResponse.createBySuccess(pageInfo); } @Override public ServerResponse addByAdmin(String stockCode, String stockNum, String password, String startTime, String endTime, String discount,Integer period,String nowPrice,Integer switchType) { if (stockCode == null || stockCode.equals("")||stockNum == null || stockNum.equals("")|| startTime == null || startTime.equals("")||endTime == null || endTime.equals("") || period == null || nowPrice == null){ return ServerResponse.createByErrorMsg("参数不能为空"); } QueryWrapper queryWrapper = new QueryWrapper(); queryWrapper.eq("stock_code",stockCode); Stock stock = stockMapper.selectOne(queryWrapper); if (stock == null){ return ServerResponse.createByErrorMsg("股票代码不存在"); } StockDz stockDz = new StockDz(); stockDz.setStockName(stock.getStockName()); stockDz.setStockCode(stock.getStockCode()); stockDz.setStockType(stock.getStockType()); stockDz.setStockGid(stock.getStockGid()); stockDz.setStockSpell(stock.getStockSpell()); stockDz.setIsLock(stock.getIsLock()); stockDz.setIsShow(1); stockDz.setAddTime(new Date()); stockDz.setSpreadRate(stock.getSpreadRate()); stockDz.setIncreaseRatio(BigDecimal.ZERO); stockDz.setStockNum(Integer.valueOf(stockNum)); stockDz.setPassword(password); stockDz.setStartTime(DateTimeUtil.strToDate(startTime)); stockDz.setEndTime(DateTimeUtil.strToDate(endTime)); // stockDz.setDiscount(new BigDecimal(discount)); stockDz.setPeriod(period); stockDz.setSwitchType(switchType); stockDz.setNowPrice(new BigDecimal(nowPrice)); int res = stockDzMapper.insert(stockDz); if (res > 0) { return ServerResponse.createBySuccessMsg("添加成功"); } return ServerResponse.createByErrorMsg("添加失败"); } @Override public ServerResponse getDzListByAdmin(String Keywords) { List list = null; // log.info("Keywords:{}",Keywords); if (Keywords != null && !"".equals(Keywords)){ list = stockDzMapper.selectList(new QueryWrapper().like("stock_name", Keywords).or().like("stock_code", Keywords).or().like("stock_type", Keywords)); }else { list = stockDzMapper.selectList(new QueryWrapper().orderByDesc("id")); } log.info("list:{}",list); return ServerResponse.createBySuccess(list); } @Override public ServerResponse updByAdmin(StockDz model) { Long count = stockDzMapper.selectCount(new LambdaQueryWrapper() .eq(StockDz::getStockCode, model.getStockCode()) .ne(StockDz::getId,model.getId())); if(count > 0){ return ServerResponse.createByErrorMsg("股票代码已存在"); } return stockDzMapper.updateById(model) > 0 ? ServerResponse.createBySuccess("修改成功") : ServerResponse.createByErrorMsg("修改失败"); } @Override public ServerResponse deleteByAdmin(String id) { int res = stockDzMapper.deleteById(id); if (res > 0) { return ServerResponse.createBySuccess("删除成功"); } return ServerResponse.createByErrorMsg("删除失败"); } }