| | |
| | | package com.nq.service.impl; |
| | | |
| | | import cn.hutool.core.collection.CollectionUtil; |
| | | 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.dao.UserPositionMapper; |
| | | import com.nq.pojo.Stock; |
| | | import com.nq.pojo.StockDz; |
| | | import com.nq.pojo.UserPosition; |
| | | 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 |
| | |
| | | private SiteSettingServiceImpl siteSettingService; |
| | | @Autowired |
| | | private StockMapper stockMapper; |
| | | @Autowired |
| | | private UserPositionMapper userPositionMapper; |
| | | |
| | | @Override |
| | | public ServerResponse getDzList() { |
| | | // List<StockDz> list = stockDzMapper.selectList(new QueryWrapper<StockDz>().eq("is_show", 1)); |
| | | // List<StockDzVo> stockDzVos = Lists.newArrayList(); |
| | | // for (StockDz stockDz : list) { |
| | | // StockListVO stockListVO = SinaStockApi.assembleInStockListVO(SinaStockApi.getInStockDetail(stockDz.getStockCode())); |
| | | // BigDecimal price = new BigDecimal(stockListVO.getNowPrice()).multiply(stockDz.getDiscount()); |
| | | // |
| | | // StockDzVo stockDzVo = new StockDzVo(); |
| | | // stockDzVo.setId(stockDz.getId()); |
| | | // stockDzVo.setStockName(stockDz.getStockName()); |
| | | // stockDzVo.setStockCode(stockDz.getStockCode()); |
| | | // stockDzVo.setPrice(price); |
| | | // stockDzVo.setStockType(stockDz.getStockType()); |
| | | // stockDzVo.setStockGid(stockDz.getStockGid()); |
| | | // stockDzVo.setStockPlate(stockDz.getStockPlate()); |
| | | // stockDzVo.setIsLock(stockDz.getIsLock()); |
| | | // stockDzVo.setStockNum(stockDz.getStockNum()); |
| | | // stockDzVo.setStartTime(stockDz.getStartTime()); |
| | | // stockDzVo.setEndTime(stockDz.getEndTime()); |
| | | // stockDzVos.add(stockDzVo); |
| | | // } |
| | | return ServerResponse.createBySuccess(); |
| | | 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<StockDz> 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) { |
| | | 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("")){ |
| | | 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("参数不能为空"); |
| | | } |
| | | |
| | | Long count = stockDzMapper.selectCount(new LambdaQueryWrapper<StockDz>() |
| | | .eq(StockDz::getStockCode,stockCode)); |
| | | if(count > 0){ |
| | | return ServerResponse.createByErrorMsg("股票代码已存在"); |
| | | } |
| | | |
| | | QueryWrapper queryWrapper = new QueryWrapper(); |
| | | queryWrapper.eq("stock_spell",stockCode); |
| | | 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.setPassword(password); |
| | | stockDz.setStartTime(DateTimeUtil.strToDate(startTime)); |
| | | stockDz.setEndTime(DateTimeUtil.strToDate(endTime)); |
| | | stockDz.setDiscount(new BigDecimal(discount)); |
| | | // 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("添加成功"); |
| | |
| | | |
| | | @Override |
| | | public ServerResponse updByAdmin(StockDz model) { |
| | | // log.info("model:{}",model); |
| | | Long count = stockDzMapper.selectCount(new LambdaQueryWrapper<StockDz>() |
| | | .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) { |
| | | List<UserPosition> userPositions = userPositionMapper.selectList(new LambdaQueryWrapper<>(UserPosition.class).eq(UserPosition::getDzId, id).isNull(UserPosition::getSellOrderId)); |
| | | if(CollectionUtil.isNotEmpty(userPositions)){ |
| | | return ServerResponse.createByErrorMsg("删除失败,当前大宗还有用户持有仓位"); |
| | | } |
| | | int res = stockDzMapper.deleteById(id); |
| | | if (res > 0) { |
| | | return ServerResponse.createBySuccess("删除成功"); |