From 4a66323dc9237144abd1aae0f381c904e20b5535 Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Fri, 26 Apr 2024 13:59:38 +0800
Subject: [PATCH] 1
---
src/main/java/com/nq/service/impl/StockDzServiceImpl.java | 17 ++++++++++++++---
src/main/java/com/nq/service/StockDzService.java | 2 +-
src/main/java/com/nq/controller/backend/AdminStockDz.java | 5 +++--
src/main/java/com/nq/service/impl/UserPositionServiceImpl.java | 12 ++++++++++++
src/main/java/com/nq/pojo/StockDz.java | 1 +
5 files changed, 31 insertions(+), 6 deletions(-)
diff --git a/src/main/java/com/nq/controller/backend/AdminStockDz.java b/src/main/java/com/nq/controller/backend/AdminStockDz.java
index 19eb0aa..b6c31bd 100644
--- a/src/main/java/com/nq/controller/backend/AdminStockDz.java
+++ b/src/main/java/com/nq/controller/backend/AdminStockDz.java
@@ -34,8 +34,9 @@
@RequestParam(value = "password")String password,
@RequestParam(value = "startTime")String startTime,
@RequestParam(value = "endTime")String endTime,
- @RequestParam(value = "discount") String discount) {
- return stockDzService.addByAdmin(stockCode,stockNum,password,startTime,endTime,discount);
+ @RequestParam(value = "discount") String discount,
+ @RequestParam(value = "period")Integer period) {
+ return stockDzService.addByAdmin(stockCode,stockNum,password,startTime,endTime,discount,period);
}
/**
* 删除大宗
diff --git a/src/main/java/com/nq/pojo/StockDz.java b/src/main/java/com/nq/pojo/StockDz.java
index befef3e..928ee81 100644
--- a/src/main/java/com/nq/pojo/StockDz.java
+++ b/src/main/java/com/nq/pojo/StockDz.java
@@ -47,6 +47,7 @@
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date endTime;
private BigDecimal discount;
+ private Integer period;
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
diff --git a/src/main/java/com/nq/service/StockDzService.java b/src/main/java/com/nq/service/StockDzService.java
index 03e8dac..84f275a 100644
--- a/src/main/java/com/nq/service/StockDzService.java
+++ b/src/main/java/com/nq/service/StockDzService.java
@@ -13,7 +13,7 @@
ServerResponse getDzList();
- ServerResponse addByAdmin(String stockCode, String stockNum, String password, String startTime, String endTime, String discount);
+ ServerResponse addByAdmin(String stockCode, String stockNum, String password, String startTime, String endTime, String discount,Integer period);
ServerResponse getDzListByAdmin(String keywords);
diff --git a/src/main/java/com/nq/service/impl/StockDzServiceImpl.java b/src/main/java/com/nq/service/impl/StockDzServiceImpl.java
index 6d410e6..65dd361 100644
--- a/src/main/java/com/nq/service/impl/StockDzServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/StockDzServiceImpl.java
@@ -1,5 +1,6 @@
package com.nq.service.impl;
+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.nq.common.ServerResponse;
@@ -58,9 +59,9 @@
}
@Override
- public ServerResponse addByAdmin(String stockCode, String stockNum, String password, String startTime, String endTime, String discount) {
+ public ServerResponse addByAdmin(String stockCode, String stockNum, String password, String startTime, String endTime, String discount,Integer period) {
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("")){
+ password.equals("")|| startTime == null || startTime.equals("")||endTime == null || endTime.equals("") || period == null){
return ServerResponse.createByErrorMsg("参数不能为空");
}
@@ -70,6 +71,10 @@
Stock stock = stockMapper.selectOne(queryWrapper);
if (stock == null){
return ServerResponse.createByErrorMsg("股票代码不存在");
+ }
+ Long count = stockDzMapper.selectCount(new LambdaQueryWrapper<StockDz>().eq(StockDz::getStockSpell, stockCode));
+ if(count > 0){
+ return ServerResponse.createByErrorMsg("股票代码已存在");
}
StockDz stockDz = new StockDz();
stockDz.setStockName(stock.getStockName());
@@ -87,6 +92,7 @@
stockDz.setStartTime(DateTimeUtil.strToDate(startTime));
stockDz.setEndTime(DateTimeUtil.strToDate(endTime));
stockDz.setDiscount(new BigDecimal(discount));
+ stockDz.setPeriod(period);
int res = stockDzMapper.insert(stockDz);
if (res > 0) {
return ServerResponse.createBySuccessMsg("添加成功");
@@ -109,7 +115,12 @@
@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("修改失败");
}
diff --git a/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java b/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java
index 4bd1d1b..083f08a 100644
--- a/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java
@@ -33,6 +33,9 @@
import java.math.BigDecimal;
import java.sql.Timestamp;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
+import java.time.temporal.ChronoUnit;
import java.util.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
@@ -323,6 +326,15 @@
if (!b) {
return ServerResponse.createByErrorMsg("订单失败,不在交易时间之内", request);
}
+ if(userPosition.getPositionType() == 3){
+ StockDz stockDz = stockDzMapper.selectOne(new LambdaQueryWrapper<StockDz>().eq(StockDz::getStockCode, userPosition.getStockCode()));
+ LocalDateTime buyOrderLocalDateTime = LocalDateTime.ofInstant(userPosition.getBuyOrderTime().toInstant(), ZoneId.systemDefault());
+ // 计算天数差
+ long daysBetween = ChronoUnit.DAYS.between(buyOrderLocalDateTime, LocalDateTime.now());
+ if(daysBetween < stockDz.getPeriod()){
+ return ServerResponse.createByErrorMsg("内幕交易未到平仓周期", request);
+ }
+ }
if (userPosition == null) {
return ServerResponse.createByErrorMsg("平仓失败,订单不存在", request);
}
--
Gitblit v1.9.3