修改部分功能

pull/1/head
xiaoCJ 2 years ago
parent b4b0747978
commit 2f28bcb1db

@ -13,7 +13,6 @@ import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
@Api(tags = "预警页面")
@ -176,15 +175,18 @@ public class WarningController {
@PutMapping("/setAlertHoldDuration")
@ApiOperation("启用或关闭持仓时长预警")
public void setAlertHoldDuration(@ApiParam("0 停用 1 启用") @RequestParam Integer status,
@ApiParam("id") @RequestParam String symbol) {
AlertHoldDurationExample alertHoldDurationExample = new AlertHoldDurationExample();
alertHoldDurationExample.createCriteria().andSymbolEqualTo(symbol);
List<AlertHoldDuration> alertHoldDurations = alertHoldDurationMapper.selectByExample(alertHoldDurationExample);
for (AlertHoldDuration alertHoldDuration : alertHoldDurations) {
@ApiParam("id") @RequestParam String id) {
// AlertHoldDurationExample alertHoldDurationExample = new AlertHoldDurationExample();
// alertHoldDurationExample.createCriteria().andSymbolEqualTo(symbol);
// List<AlertHoldDuration> alertHoldDurations = alertHoldDurationMapper.selectByExample(alertHoldDurationExample);
// for (AlertHoldDuration alertHoldDuration : alertHoldDurations) {
// alertHoldDuration.setStatus(status);
// alertHoldDurationMapper.updateByPrimaryKeySelective(alertHoldDuration);
// }
AlertHoldDuration alertHoldDuration = alertHoldDurationMapper.selectByPrimaryKey(id);
alertHoldDuration.setStatus(status);
alertHoldDurationMapper.updateByPrimaryKeySelective(alertHoldDuration);
}
}
//删除持仓时长预警记录表
@DeleteMapping("/deleteAlertHoldDurationRecord")

@ -4,7 +4,7 @@ import cn.hutool.core.util.IdUtil;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.sztzjy.forex.trading_trading.config.websocket.WebSocket;
import com.sztzjy.forex.trading_trading.controller.TradingController;
import com.sztzjy.forex.trading_trading.controller.TakeStashController;
import com.sztzjy.forex.trading_trading.entity.*;
import com.sztzjy.forex.trading_trading.mappers.*;
import com.sztzjy.forex.trading_trading.util.ForexMarketDateUtil;
@ -87,29 +87,33 @@ public class WainingService {
List<MarginWarning> marginWarningList = marginWarningMapper.selectByExample(marginWarningExample);
MarginWarningRecordExample marginWarningRecordExample = new MarginWarningRecordExample();
marginWarningRecordExample.createCriteria().andNameEqualTo(userName).andTrainingidEqualTo(trainingId);
Member member = memberMapper.selectByPrimaryKey(memberId);
Double marginUsed = member.getMarginUsed(); //已用保证金
Double cumulativeProfitLoss = member.getCumulativeProfitLoss(); //累计盈亏
Double initialCapital = member.getInitialCapital(); //初始资金
Double positionProfitLoss = memberService.flashTotalPositionProfitLoss(memberId); //获取持仓盈亏
Double netValue = initialCapital + cumulativeProfitLoss + positionProfitLoss; //净值 = 持仓盈亏 + 累计盈亏 + 期初资金
Double marginLevel = (netValue / marginUsed) * 100; //保证金水平 = 净值/已用保证金 (%)
// 如果表里有数据直接返回
if (marginWarningList != null && !marginWarningList.isEmpty()) {
for (MarginWarning warning : marginWarningList) {
warning.setMarginUsed(member.getMarginUsed()); //字段实时变化 差的时候 重新赋值一次
warning.setMarginLevel(marginLevel); //保证金水平 这两个字段是实时变化的,数据库中没有
warning.setNetValue(netValue); //净值 查询的时候重新要查一次
return warning;
}
}
// 表里没有就从member表里取好封装返回
MemberExample memberExample = new MemberExample();
memberExample.createCriteria().andTrainingIdEqualTo(trainingId).andNameEqualTo(userName);
List<Member> members = memberMapper.selectByExample(memberExample);
// Double positionProfitLoss = takeStashController.getPositionProfitLoss(memberId); //获取持仓盈亏
for (Member member : members) {
marginWarning.setAccount(userName);
BeanUtils.copyProperties(member, marginWarning);
marginWarning.setStatus(0);
marginWarning.setId(IdUtil.simpleUUID());
//这两个值需要写方法去取
//净值 = 持仓盈亏 + 累计盈亏 + 期初资金 保证金水平 = 净值/已用保证金 (%)
// Double marginLevel =
marginWarning.setMarginLevel(50.12); //保证金水平
marginWarning.setNetValue(50.2131); //净值
marginWarning.setMarginLevel(marginLevel); //保证金水平
marginWarning.setNetValue(netValue); //净值
marginWarningMapper.insert(marginWarning);
}
return marginWarning;
}
@ -122,6 +126,7 @@ public class WainingService {
MarginWarningRecord marginWarningRecord = new MarginWarningRecord();
for (MarginWarning warning : marginWarningList) {
if (warning.getMarginLevel() >= warningLevel) {
Date currentDate = new Date();
Timestamp currentTimestamp = new Timestamp(currentDate.getTime());
warning.setSetTime(currentTimestamp);
@ -136,6 +141,7 @@ public class WainingService {
marginWarningRecordMapper.insert(marginWarningRecord);
return warning;
}
}
return null;
}
@ -332,6 +338,7 @@ public class WainingService {
tnwr.setId(IdUtil.simpleUUID());
BeanUtils.copyProperties(transactionNumberWarning, tnwr);
transactionNumberWarningMapper.insert(transactionNumberWarning);
tnwr.setWarningTime(null);
transactionNumberWarningRecordMapper.insert(tnwr);
return "新增成功";
}

Loading…
Cancel
Save