1
zj
2026-01-14 63394ae0cff04dc25a1e97170a9775767028d056
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.controller.backend;
 
 import com.nq.common.ServerResponse;
 import com.nq.pojo.StockAI;
 import com.nq.pojo.StockAIOrderPosition;
 import com.nq.service.IStockAiService;
 import com.nq.service.IStockService;
 import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.*;
 
 /**
  * 后台AI产品api
  */
 @Controller
 @RequestMapping({"/admin/stockAi/"})
 public class AdminStockAiController {
 
     @Autowired
     IStockAiService stockAiService;
     @Autowired
     IStockService stockService;
     /**
      * 获取ai交易产品列表
      * @return
      */
     @RequestMapping("getStockAiList.do")
     @ResponseBody
     public ServerResponse getStockAiList(@RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
                                          @RequestParam(value = "pageSize", defaultValue = "5") int pageSize,
                                          @RequestParam(value = "stockType", required = false) String stockType,
                                          @RequestParam(value = "status", required = false) String status,
                                          @RequestParam(value = "name", required = false) String name)   {
         return stockAiService.getAdminStockAiList(pageNum, pageSize, stockType, status, name);
     }
 
     //编辑ai交易产品
     @PostMapping({"editStockAi.do"})
     @ResponseBody
     public ServerResponse editStockAi(StockAI model) {
         return stockAiService.editStockAi(model);
     }
 
     /**
      * 获取ai交易产品订单列表
      * @return
      */
     @RequestMapping("getStockAiOrderList.do")
     @ResponseBody
     public ServerResponse getStockAiOrderList(@RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
                                          @RequestParam(value = "pageSize", defaultValue = "5") int pageSize,
                                          @RequestParam(value = "stockType", required = false) String stockType,
                                          @RequestParam(value = "status", required = false) String status,
                                          @RequestParam(value = "userId", required = false) Integer userId,
                                          @RequestParam(value = "phone", required = false) String phone)   {
         return stockAiService.getAdminStockAiOrderList(pageNum, pageSize, stockType, status, userId, phone);
     }
 
     /**
      * ai订单建仓
      * @param model
      * @return
      */
     @PostMapping({"openPosition.do"})
     @ResponseBody
     public ServerResponse openPosition(StockAIOrderPosition model) {
         if (model == null) {
             return ServerResponse.createByErrorMsg("model is null");
         }
         if (model.getStockAiOrderId() == null) {
             return ServerResponse.createByErrorMsg("stockAiOrderId is null");
         }
         if (model.getStockId() == null || model.getStockNum() == null || model.getStockPrice() == null ||
                 model.getCoverDate() == null || model.getCoverPrice() == null) {
             return ServerResponse.createByErrorMsg("请输入必填参数");
         }
         if (model.getStockNum() <= 0) {
             return ServerResponse.createByErrorMsg("建仓股票数量必须大于0");
         }
         return stockAiService.openPosition(model);
     }
 
     /**
      * ai订单操作
      * @param id   订单id
      * @param status  通过 拒绝 结算(已完成)
      * @return
      */
     @GetMapping({"orderOperation.do"})
     @ResponseBody
     public ServerResponse orderOperation(@RequestParam(value = "id") Long id,
                                          @RequestParam(value = "status") String status) {
         if (id == null) {
             return ServerResponse.createByErrorMsg("id is null");
         }
         if (StringUtils.isBlank(status)) {
             return ServerResponse.createByErrorMsg("status is null");
         }
         return stockAiService.orderOperation(id, status);
     }
 
 
     /**
      * 根据条件查询股票
      * @param pageNum
      * @param pageSize
      * @param keyWords     code 名称 或 spell
      * @return
      */
     @PostMapping({"getStocksByKeyWords.do"})
     @ResponseBody
     public ServerResponse getStocksByKeyWords(@RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
                                               @RequestParam(value = "pageSize", defaultValue = "5") int pageSize,
                                               @RequestParam(value = "keyWords", required = false) String keyWords) {
         return stockService.getStocksByKeyWords(pageNum, pageSize, keyWords);
     }
 
     //建仓列表页
     @PostMapping({"getPositionList.do"})
     @ResponseBody
     public ServerResponse getPositionList(@RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
                                           @RequestParam(value = "pageSize", defaultValue = "5") int pageSize,
                                           @RequestParam(value = "id", required = false) Integer stockAiOrderId) {
         if (stockAiOrderId == null) {
             return ServerResponse.createByErrorMsg("id is null");
         }
         return stockAiService.getPositionList(pageNum, pageSize, stockAiOrderId);
     }
 }