peternameyakj
2024-07-14 9b96b21235ee41b47bfdeaa745ee2e56a119e09e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
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("修改失败");
        }
    }
 
}