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<StockVipMapper, StockVip>
|
implements StockVipService{
|
@Autowired
|
private StockVipMapper stockVipMapper;
|
@Autowired
|
private SiteSettingServiceImpl siteSettingService;
|
@Autowired
|
private StockMapper stockMapper;
|
@Override
|
public ServerResponse getVipList() {
|
List<StockVip> list = stockVipMapper.selectList(new QueryWrapper<StockVip>().eq("is_show", 1));
|
List<StockVipVo> 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<StockVip> list = null;
|
// log.info("Keywords:{}",Keywords);
|
if (Keywords != null && !"".equals(Keywords)){
|
list = stockVipMapper.selectList(new QueryWrapper<StockVip>().like("stock_name", Keywords).or().like("stock_code", Keywords).or().like("stock_type", Keywords));
|
}else {
|
list = stockVipMapper.selectList(new QueryWrapper<StockVip>().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("删除失败");
|
}
|
}
|