package com.nq.service.impl;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.nq.common.ServerResponse;
|
import com.nq.dao.SiteVipRobMapper;
|
import com.nq.dao.StockMapper;
|
import com.nq.pojo.SiteVipRob;
|
import com.nq.pojo.Stock;
|
import com.nq.pojo.UserPurchaseApplication;
|
import com.nq.service.ISiteVipRobService;
|
import org.slf4j.Logger;
|
import org.slf4j.LoggerFactory;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import java.math.BigDecimal;
|
import java.util.Date;
|
import java.util.List;
|
|
@Service("iSiteVipRobService")
|
public class SiteVipRobServiceImpl extends ServiceImpl<SiteVipRobMapper, SiteVipRob> implements ISiteVipRobService {
|
private static final Logger log = LoggerFactory.getLogger(SiteVipRobServiceImpl.class);
|
|
@Autowired
|
SiteVipRobMapper siteVipRobMapper;
|
@Autowired
|
StockMapper stockMapper;
|
|
@Override
|
public ServerResponse insert(SiteVipRob siteVipRob) {
|
// 构造查询条件
|
LambdaQueryWrapper<SiteVipRob> wrapper = new LambdaQueryWrapper<>();
|
wrapper.eq(SiteVipRob::getStockCode, siteVipRob.getStockCode());
|
if(siteVipRob.getStockChg().compareTo(new BigDecimal(0)) < 0 || siteVipRob.getStockChg().compareTo(new BigDecimal(100)) >= 0){
|
return ServerResponse.createByErrorMsg("涨跌幅在0~100之间");
|
}
|
// 查询是否存在相同的股票代码设置
|
List<SiteVipRob> list = list(wrapper);
|
if (!list.isEmpty()) {
|
return ServerResponse.createByErrorMsg("该股票代码设置已存在");
|
}
|
Stock stock = stockMapper.findStockByCode(siteVipRob.getStockCode());
|
if(null == stock){
|
return ServerResponse.createByErrorMsg("股票代码不存在");
|
}
|
// 设置创建时间
|
siteVipRob.setCreateTime(new Date());
|
|
// 执行保存操作
|
if (save(siteVipRob)) {
|
return ServerResponse.createBySuccessMsg("添加成功");
|
} else {
|
return ServerResponse.createByErrorMsg("添加失败");
|
}
|
}
|
|
|
@Override
|
public ServerResponse modify(SiteVipRob siteVipRob) {
|
// 构造查询条件
|
LambdaQueryWrapper<SiteVipRob> wrapper = new LambdaQueryWrapper<>();
|
wrapper.eq(SiteVipRob::getStockCode, siteVipRob.getStockCode())
|
.ne(SiteVipRob::getId, siteVipRob.getId());
|
if(siteVipRob.getStockChg().compareTo(new BigDecimal(0)) < 0 || siteVipRob.getStockChg().compareTo(new BigDecimal(100)) >= 0){
|
return ServerResponse.createByErrorMsg("涨跌幅在0~100之间");
|
}
|
// 查询是否存在相同的股票代码设置
|
List<SiteVipRob> list = list(wrapper);
|
if (!list.isEmpty()) {
|
return ServerResponse.createByErrorMsg("该股票代码设置已存在");
|
}
|
Stock stock = stockMapper.findStockByCode(siteVipRob.getStockCode());
|
if(null == stock){
|
return ServerResponse.createByErrorMsg("股票代码不存在");
|
}
|
// 更新修改时间
|
siteVipRob.setUpdateTime(new Date());
|
|
// 执行更新操作
|
if (updateById(siteVipRob)) {
|
return ServerResponse.createBySuccessMsg("修改成功");
|
} else {
|
return ServerResponse.createByErrorMsg("修改失败");
|
}
|
}
|
|
|
@Override
|
public ServerResponse list(String keyword, Integer status, int pageNum, int pageSize) {
|
// 创建分页对象
|
Page<SiteVipRob> page = new Page<>(pageNum, pageSize);
|
|
// 构造查询条件
|
LambdaQueryWrapper<SiteVipRob> wrapper = new LambdaQueryWrapper<>();
|
wrapper.and(q -> q.like(SiteVipRob::getStockCode, keyword).or().like(SiteVipRob::getName, keyword));
|
if (status != null) {
|
wrapper.eq(SiteVipRob::getStatus, status);
|
}
|
wrapper.orderByDesc(SiteVipRob::getCreateTime);
|
// 执行分页查询
|
IPage<SiteVipRob> resultPage = page(page, wrapper);
|
|
// 返回分页结果
|
return ServerResponse.createBySuccess(resultPage);
|
}
|
|
|
@Override
|
public SiteVipRob getByStockCode(String stockCode) {
|
LambdaQueryWrapper<SiteVipRob> wrapper = new LambdaQueryWrapper<SiteVipRob>().eq(SiteVipRob::getStockCode, stockCode);
|
return siteVipRobMapper.selectOne(wrapper);
|
}
|
|
@Override
|
public ServerResponse updateStatus(Integer id,Integer status) {
|
SiteVipRob siteVipRob = siteVipRobMapper.selectById(id);
|
siteVipRob.setStatus(status);
|
siteVipRob.setUpdateTime(new Date());
|
// 执行更新操作
|
if (updateById(siteVipRob)) {
|
return ServerResponse.createBySuccessMsg("修改成功");
|
} else {
|
return ServerResponse.createByErrorMsg("修改失败");
|
}
|
}
|
|
}
|