From b4b0747978408e83401e047377af7981f21de4b2 Mon Sep 17 00:00:00 2001 From: xiaoCJ <406612557@qq.com> Date: Tue, 1 Aug 2023 17:55:33 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=83=A8=E5=88=86=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/TradingController.java | 2 + .../controller/WarningController.java | 114 +++++--- .../entity/AlertHoldDurationRecord.java | 112 +++---- .../AlertHoldDurationRecordExample.java | 146 +++++----- .../mappers/AlertHoldDurationMapper.java | 5 + .../AlertHoldDurationRecordMapper.java | 28 +- .../service/WainingService.java | 274 ++++++++++-------- .../mappers/AlertHoldDurationRecordMapper.xml | 80 ++--- 8 files changed, 430 insertions(+), 331 deletions(-) diff --git a/src/main/java/com/sztzjy/forex/trading_trading/controller/TradingController.java b/src/main/java/com/sztzjy/forex/trading_trading/controller/TradingController.java index 1f1ce5a..336dc3c 100644 --- a/src/main/java/com/sztzjy/forex/trading_trading/controller/TradingController.java +++ b/src/main/java/com/sztzjy/forex/trading_trading/controller/TradingController.java @@ -269,6 +269,8 @@ public class TradingController { member.setOpeningTrades(openingTrades++);//设置开仓次数 memberService.updateByPrimaryKeySelective(member); // wainingService.compareMarginLevels(member.getMemberId(),member.getTrainingId());//更改可用保证金后 调用预警 + wainingService.compareTransactionNumber(member.getMemberId(),member.getTrainingId()); //比较交易次数的方法 + wainingService.compareMarginLevels(member.getMemberId(),member.getTrainingId());//更改可用保证金后 调用预警 } //判断止损止赢 逻辑:如果方式为买 则止损低于买价 获利高于买价 / 如果方式为卖 则止损高于卖价 获利低于买价 (可以只传一个参数) diff --git a/src/main/java/com/sztzjy/forex/trading_trading/controller/WarningController.java b/src/main/java/com/sztzjy/forex/trading_trading/controller/WarningController.java index 4051959..a138127 100644 --- a/src/main/java/com/sztzjy/forex/trading_trading/controller/WarningController.java +++ b/src/main/java/com/sztzjy/forex/trading_trading/controller/WarningController.java @@ -1,7 +1,6 @@ package com.sztzjy.forex.trading_trading.controller; -import cn.hutool.core.util.IdUtil; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.sztzjy.forex.trading_trading.entity.*; @@ -11,10 +10,10 @@ import com.sztzjy.forex.trading_trading.util.ResultEntity; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; -import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.util.ArrayList; import java.util.List; @Api(tags = "预警页面") @@ -35,6 +34,8 @@ public class WarningController { private TransactionNumberWarningMapper transactionNumberWarningMapper; @Autowired private TransactionNumberWarningRecordMapper transactionNumberWarningRecordMapper; + @Autowired + private MarginWarningRecordMapper marginWarningRecordMapper; //保证金预警页面展示 @GetMapping("/getMarginWarning") @@ -79,16 +80,14 @@ public class WarningController { @DeleteMapping("/deleteMarginWarningRecord") @ApiOperation("保证金预警记录表删除") public void deleteMarginWarningRecord(@RequestParam String id) { - marketWarningRecordMapper.deleteByPrimaryKey(id); + marginWarningRecordMapper.deleteByPrimaryKey(id); } //新增行情预警 @PostMapping("/addMarketWarning") @ApiOperation("新增行情预警") - public void addMarketWarning(@ApiParam("行情预警对象") @RequestBody MarketWarning marketWarning, - @ApiParam("任务ID") @RequestParam String trainingId, - @ApiParam("姓名") @RequestParam String name) { - wainingService.addMarketWarning(marketWarning, trainingId, name); + public void addMarketWarning(@ApiParam("行情预警对象") @RequestBody MarketWarning marketWarning) { + wainingService.addMarketWarning(marketWarning); } //查询行情预警 @@ -109,11 +108,16 @@ public class WarningController { //查询行情预警记录 @GetMapping("/getMarketWarningRecord") @ApiOperation("查询行情预警记录") - public ResultEntity> getMarketWarningRecord(@ApiParam("姓名") @RequestParam String name, - @ApiParam("任务ID") @RequestParam String trainingId) { + public ResultEntity> getMarketWarningRecord(@ApiParam("姓名") @RequestParam String name, + @ApiParam("任务ID") @RequestParam String trainingId, + @ApiParam("首页页码") @RequestParam Integer index, + @ApiParam("页面条数") @RequestParam Integer size) { + PageHelper.startPage(index, size); MarketWarningRecordExample marketWarningRecordExample = new MarketWarningRecordExample(); marketWarningRecordExample.createCriteria().andNameEqualTo(name).andTariningidEqualTo(trainingId); - return new ResultEntity<>(marketWarningRecordMapper.selectByExample(marketWarningRecordExample)); + List marketWarningRecords = marketWarningRecordMapper.selectByExample(marketWarningRecordExample); + PageInfo pageInfo = new PageInfo<>(marketWarningRecords); + return new ResultEntity<>(pageInfo); } //删除行情预警 @@ -144,25 +148,42 @@ public class WarningController { //新增持仓时长预警 @PostMapping("/addAlertHoldDuration") @ApiOperation("新增持仓时长预警") - public void addAlertHoldDuration(@ApiParam("持仓时长预警对象") @RequestBody AlertHoldDuration alertHoldDuration) { - wainingService.addAlertHoldDuration(alertHoldDuration); + public String addAlertHoldDuration(@ApiParam("持仓时长预警对象") @RequestBody AlertHoldDuration alertHoldDuration) { + return wainingService.addAlertHoldDuration(alertHoldDuration); } +// +// //删除持仓时长预警 +// @DeleteMapping("/deleteAlertHoldDuration") +// @ApiOperation("删除持仓时长预警") +// public String deleteAlertHoldDuration(@ApiParam("交易品种") @RequestParam String symbol) { +// AlertHoldDurationExample alertHoldDurationExample = new AlertHoldDurationExample(); +// alertHoldDurationExample.createCriteria().andSymbolEqualTo(symbol); +// alertHoldDurationMapper.deleteByExample(alertHoldDurationExample); +// return "删除成功"; +// } + //删除持仓时长预警 @DeleteMapping("/deleteAlertHoldDuration") @ApiOperation("删除持仓时长预警") - public void deleteAlertHoldDuration(@ApiParam("id") @RequestParam String id) { + public String deleteAlertHoldDuration(@ApiParam("id") @RequestParam String id) { alertHoldDurationMapper.deleteByPrimaryKey(id); + return "删除成功"; } + //启用或关闭持仓时长预警 @PutMapping("/setAlertHoldDuration") @ApiOperation("启用或关闭持仓时长预警") public void setAlertHoldDuration(@ApiParam("0 停用 1 启用") @RequestParam Integer status, - @ApiParam("id") @RequestParam String id) { - AlertHoldDuration alertHoldDuration = alertHoldDurationMapper.selectByPrimaryKey(id); - alertHoldDuration.setStatus(status); - alertHoldDurationMapper.updateByPrimaryKeySelective(alertHoldDuration); + @ApiParam("id") @RequestParam String symbol) { + AlertHoldDurationExample alertHoldDurationExample = new AlertHoldDurationExample(); + alertHoldDurationExample.createCriteria().andSymbolEqualTo(symbol); + List alertHoldDurations = alertHoldDurationMapper.selectByExample(alertHoldDurationExample); + for (AlertHoldDuration alertHoldDuration : alertHoldDurations) { + alertHoldDuration.setStatus(status); + alertHoldDurationMapper.updateByPrimaryKeySelective(alertHoldDuration); + } } //删除持仓时长预警记录表 @@ -176,36 +197,52 @@ public class WarningController { //查询持仓时长预警记录表 @GetMapping("/getAlertHoldDurationRecord") @ApiOperation("查询持仓时长预警记录表") - public ResultEntity> getAlertHoldDurationRecord(@ApiParam("memberId") @RequestParam String memberId, - @ApiParam("memberId") @RequestParam String trainingId) { + public ResultEntity> getAlertHoldDurationRecord(@ApiParam("memberId") @RequestParam String memberId, + @ApiParam("trainingId") @RequestParam String trainingId, + @ApiParam("首页页码") @RequestParam Integer index, + @ApiParam("页面条数") @RequestParam Integer size) { + PageHelper.startPage(index,size); AlertHoldDurationRecordExample alertHoldDurationRecordExample = new AlertHoldDurationRecordExample(); - alertHoldDurationRecordExample.createCriteria().andTariningidEqualTo(trainingId).andMamberidEqualTo(memberId); + alertHoldDurationRecordExample.createCriteria().andTrainingidEqualTo(trainingId).andMemberidEqualTo(memberId); List alertHoldDurationRecords = alertHoldDurationRecordMapper.selectByExample(alertHoldDurationRecordExample); - return new ResultEntity<>(alertHoldDurationRecords); +// List resultAHDR = new ArrayList<>(); +// for (AlertHoldDurationRecord alertHoldDurationRecord : alertHoldDurationRecords) { +// if (alertHoldDurationRecord.getWariningHoldDuration() != null && alertHoldDurationRecord.getWariningTime() != null) +// resultAHDR.add(alertHoldDurationRecord); +// } + PageInfopageInfo = new PageInfo<>(alertHoldDurationRecords); + return new ResultEntity<>(pageInfo); } //查询持仓时长预警表 @GetMapping("/getAlertHoldDuration") @ApiOperation("查询持仓时长预警表") - public ResultEntity> getAlertHoldDuration(@ApiParam("memberId") @RequestParam String memberId, - @ApiParam("memberId") @RequestParam String trainingId) { + public ResultEntity> getAlertHoldDuration(@ApiParam("memberId") @RequestParam String memberId, + @ApiParam("trainingId") @RequestParam String trainingId, + @ApiParam("首页页码") @RequestParam Integer index, + @ApiParam("页面条数") @RequestParam Integer size) { + PageHelper.startPage(index,size); AlertHoldDurationExample alertHoldDurationExample = new AlertHoldDurationExample(); alertHoldDurationExample.createCriteria().andTrainingidEqualTo(trainingId).andMemberidEqualTo(memberId); List alertHoldDurations = alertHoldDurationMapper.selectByExample(alertHoldDurationExample); - return new ResultEntity<>(alertHoldDurations); +// for (AlertHoldDuration alertHoldDuration : alertHoldDurations) { +// return new ResultEntity<>(alertHoldDurationMapper.selectBySymbol(alertHoldDuration.getSymbol())); +// } + PageInfo pageInfo = new PageInfo<>(alertHoldDurations); + return new ResultEntity<>(pageInfo); } //交易次数预警新增 @PostMapping("/addTransactionNumberWarning") @ApiOperation("交易次数预警新增") public String addTransactionNumberWarning(@ApiParam("交易次数预警对象") @RequestBody TransactionNumberWarning transactionNumberWarning) { - return wainingService.addTransactionNumberWarning(transactionNumberWarning); + return wainingService.addTransactionNumberWarning(transactionNumberWarning); } //交易次数预警删除 @DeleteMapping("/deleteTransactionNumberWarning") - @ApiOperation("删除持仓时长预警记录表数据") + @ApiOperation("交易次数预警删除") public void deleteTransactionNumberWarning(@ApiParam("id") @RequestParam String id) { transactionNumberWarningMapper.deleteByPrimaryKey(id); } @@ -213,17 +250,21 @@ public class WarningController { //交易次数预警查询 @GetMapping("/getTransactionNumberWarning") @ApiOperation("交易次数预警查询") - public ResultEntity> getTransactionNumberWarning(@ApiParam("memberId") @RequestParam String memberId, - @ApiParam("memberId") @RequestParam String trainingId) { + public ResultEntity> getTransactionNumberWarning(@ApiParam("memberId") @RequestParam String memberId, + @ApiParam("memberId") @RequestParam String trainingId, + @ApiParam("首页页码") @RequestParam Integer index, + @ApiParam("页面条数") @RequestParam Integer size) { + PageHelper.startPage(index,size); TransactionNumberWarningExample tnwr = new TransactionNumberWarningExample(); tnwr.createCriteria().andTrainingIdEqualTo(trainingId).andMemberIdEqualTo(memberId); List tnwrs = transactionNumberWarningMapper.selectByExample(tnwr); - return new ResultEntity<>(tnwrs); + PageInfo pageInfo = new PageInfo(tnwrs); + return new ResultEntity<>(pageInfo); } //交易次数预警启用或关闭 @PutMapping("/setTransactionNumberWarning") - @ApiOperation("启用或关闭持仓时长预警") + @ApiOperation("交易次数预警启用或关闭") public void setTransactionNumberWarning(@ApiParam("0 停用 1 启用") @RequestParam Integer status, @ApiParam("id") @RequestParam String id) { TransactionNumberWarning alertHoldDuration = transactionNumberWarningMapper.selectByPrimaryKey(id); @@ -235,18 +276,23 @@ public class WarningController { //交易次数预警记录查询 @GetMapping("/getTransactionNumberWarningRecord") @ApiOperation("交易次数预警记录查询") - public ResultEntity> getTransactionNumberWarningRecord(@ApiParam("memberId") @RequestParam String memberId, - @ApiParam("memberId") @RequestParam String trainingId) { + public ResultEntity> getTransactionNumberWarningRecord(@ApiParam("memberId") @RequestParam String memberId, + @ApiParam("memberId") @RequestParam String trainingId, + @ApiParam("首页页码") @RequestParam Integer index, + @ApiParam("页面条数") @RequestParam Integer size) { + PageHelper.startPage(index,size); TransactionNumberWarningRecordExample tnwre = new TransactionNumberWarningRecordExample(); tnwre.createCriteria().andTrainingIdEqualTo(trainingId).andMemberIdEqualTo(memberId); List tnwrs = transactionNumberWarningRecordMapper.selectByExample(tnwre); - return new ResultEntity<>(tnwrs); + PageInfo pageInfo = new PageInfo<>(tnwrs); + return new ResultEntity<>(pageInfo); } //交易次数预警记录删除 @DeleteMapping("/deleteTransactionNumberWarningRecord") - @ApiOperation("删除持仓时长预警记录表数据") + @ApiOperation("交易次数预警记录删除") public void deleteTransactionNumberWarningRecord(@ApiParam("id") @RequestParam String id) { transactionNumberWarningRecordMapper.deleteByPrimaryKey(id); } + } \ No newline at end of file diff --git a/src/main/java/com/sztzjy/forex/trading_trading/entity/AlertHoldDurationRecord.java b/src/main/java/com/sztzjy/forex/trading_trading/entity/AlertHoldDurationRecord.java index a2d6551..4c8820e 100644 --- a/src/main/java/com/sztzjy/forex/trading_trading/entity/AlertHoldDurationRecord.java +++ b/src/main/java/com/sztzjy/forex/trading_trading/entity/AlertHoldDurationRecord.java @@ -8,7 +8,7 @@ public class AlertHoldDurationRecord { * This field was generated by MyBatis Generator. * This field corresponds to the database column sys_alert_hold_duration_record.id * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ private String id; @@ -17,7 +17,7 @@ public class AlertHoldDurationRecord { * This field was generated by MyBatis Generator. * This field corresponds to the database column sys_alert_hold_duration_record.durationID * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ private String durationid; @@ -26,34 +26,34 @@ public class AlertHoldDurationRecord { * This field was generated by MyBatis Generator. * This field corresponds to the database column sys_alert_hold_duration_record.stashId * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ private String stashid; /** * * This field was generated by MyBatis Generator. - * This field corresponds to the database column sys_alert_hold_duration_record.mamberId + * This field corresponds to the database column sys_alert_hold_duration_record.memberId * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ - private String mamberid; + private String memberid; /** * * This field was generated by MyBatis Generator. - * This field corresponds to the database column sys_alert_hold_duration_record.tariningId + * This field corresponds to the database column sys_alert_hold_duration_record.trainingId * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ - private String tariningid; + private String trainingid; /** * * This field was generated by MyBatis Generator. * This field corresponds to the database column sys_alert_hold_duration_record.name * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ private String name; @@ -62,7 +62,7 @@ public class AlertHoldDurationRecord { * This field was generated by MyBatis Generator. * This field corresponds to the database column sys_alert_hold_duration_record.symbol * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ private String symbol; @@ -71,7 +71,7 @@ public class AlertHoldDurationRecord { * This field was generated by MyBatis Generator. * This field corresponds to the database column sys_alert_hold_duration_record.direction * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ private String direction; @@ -80,7 +80,7 @@ public class AlertHoldDurationRecord { * This field was generated by MyBatis Generator. * This field corresponds to the database column sys_alert_hold_duration_record.trading_hour * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ private Date tradingHour; @@ -89,7 +89,7 @@ public class AlertHoldDurationRecord { * This field was generated by MyBatis Generator. * This field corresponds to the database column sys_alert_hold_duration_record.hold_duration * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ private String holdDuration; @@ -98,7 +98,7 @@ public class AlertHoldDurationRecord { * This field was generated by MyBatis Generator. * This field corresponds to the database column sys_alert_hold_duration_record.warining_hold_duration * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ private String wariningHoldDuration; @@ -107,7 +107,7 @@ public class AlertHoldDurationRecord { * This field was generated by MyBatis Generator. * This field corresponds to the database column sys_alert_hold_duration_record.warining_time * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ private Date wariningTime; @@ -117,7 +117,7 @@ public class AlertHoldDurationRecord { * * @return the value of sys_alert_hold_duration_record.id * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ public String getId() { return id; @@ -129,7 +129,7 @@ public class AlertHoldDurationRecord { * * @param id the value for sys_alert_hold_duration_record.id * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ public void setId(String id) { this.id = id == null ? null : id.trim(); @@ -141,7 +141,7 @@ public class AlertHoldDurationRecord { * * @return the value of sys_alert_hold_duration_record.durationID * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ public String getDurationid() { return durationid; @@ -153,7 +153,7 @@ public class AlertHoldDurationRecord { * * @param durationid the value for sys_alert_hold_duration_record.durationID * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ public void setDurationid(String durationid) { this.durationid = durationid == null ? null : durationid.trim(); @@ -165,7 +165,7 @@ public class AlertHoldDurationRecord { * * @return the value of sys_alert_hold_duration_record.stashId * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ public String getStashid() { return stashid; @@ -177,7 +177,7 @@ public class AlertHoldDurationRecord { * * @param stashid the value for sys_alert_hold_duration_record.stashId * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ public void setStashid(String stashid) { this.stashid = stashid == null ? null : stashid.trim(); @@ -185,50 +185,50 @@ public class AlertHoldDurationRecord { /** * This method was generated by MyBatis Generator. - * This method returns the value of the database column sys_alert_hold_duration_record.mamberId + * This method returns the value of the database column sys_alert_hold_duration_record.memberId * - * @return the value of sys_alert_hold_duration_record.mamberId + * @return the value of sys_alert_hold_duration_record.memberId * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ - public String getMamberid() { - return mamberid; + public String getMemberid() { + return memberid; } /** * This method was generated by MyBatis Generator. - * This method sets the value of the database column sys_alert_hold_duration_record.mamberId + * This method sets the value of the database column sys_alert_hold_duration_record.memberId * - * @param mamberid the value for sys_alert_hold_duration_record.mamberId + * @param memberid the value for sys_alert_hold_duration_record.memberId * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ - public void setMamberid(String mamberid) { - this.mamberid = mamberid == null ? null : mamberid.trim(); + public void setMemberid(String memberid) { + this.memberid = memberid == null ? null : memberid.trim(); } /** * This method was generated by MyBatis Generator. - * This method returns the value of the database column sys_alert_hold_duration_record.tariningId + * This method returns the value of the database column sys_alert_hold_duration_record.trainingId * - * @return the value of sys_alert_hold_duration_record.tariningId + * @return the value of sys_alert_hold_duration_record.trainingId * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ - public String getTariningid() { - return tariningid; + public String getTrainingid() { + return trainingid; } /** * This method was generated by MyBatis Generator. - * This method sets the value of the database column sys_alert_hold_duration_record.tariningId + * This method sets the value of the database column sys_alert_hold_duration_record.trainingId * - * @param tariningid the value for sys_alert_hold_duration_record.tariningId + * @param trainingid the value for sys_alert_hold_duration_record.trainingId * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ - public void setTariningid(String tariningid) { - this.tariningid = tariningid == null ? null : tariningid.trim(); + public void setTrainingid(String trainingid) { + this.trainingid = trainingid == null ? null : trainingid.trim(); } /** @@ -237,7 +237,7 @@ public class AlertHoldDurationRecord { * * @return the value of sys_alert_hold_duration_record.name * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ public String getName() { return name; @@ -249,7 +249,7 @@ public class AlertHoldDurationRecord { * * @param name the value for sys_alert_hold_duration_record.name * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ public void setName(String name) { this.name = name == null ? null : name.trim(); @@ -261,7 +261,7 @@ public class AlertHoldDurationRecord { * * @return the value of sys_alert_hold_duration_record.symbol * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ public String getSymbol() { return symbol; @@ -273,7 +273,7 @@ public class AlertHoldDurationRecord { * * @param symbol the value for sys_alert_hold_duration_record.symbol * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ public void setSymbol(String symbol) { this.symbol = symbol == null ? null : symbol.trim(); @@ -285,7 +285,7 @@ public class AlertHoldDurationRecord { * * @return the value of sys_alert_hold_duration_record.direction * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ public String getDirection() { return direction; @@ -297,7 +297,7 @@ public class AlertHoldDurationRecord { * * @param direction the value for sys_alert_hold_duration_record.direction * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ public void setDirection(String direction) { this.direction = direction == null ? null : direction.trim(); @@ -309,7 +309,7 @@ public class AlertHoldDurationRecord { * * @return the value of sys_alert_hold_duration_record.trading_hour * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ public Date getTradingHour() { return tradingHour; @@ -321,7 +321,7 @@ public class AlertHoldDurationRecord { * * @param tradingHour the value for sys_alert_hold_duration_record.trading_hour * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ public void setTradingHour(Date tradingHour) { this.tradingHour = tradingHour; @@ -333,7 +333,7 @@ public class AlertHoldDurationRecord { * * @return the value of sys_alert_hold_duration_record.hold_duration * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ public String getHoldDuration() { return holdDuration; @@ -345,7 +345,7 @@ public class AlertHoldDurationRecord { * * @param holdDuration the value for sys_alert_hold_duration_record.hold_duration * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ public void setHoldDuration(String holdDuration) { this.holdDuration = holdDuration == null ? null : holdDuration.trim(); @@ -357,7 +357,7 @@ public class AlertHoldDurationRecord { * * @return the value of sys_alert_hold_duration_record.warining_hold_duration * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ public String getWariningHoldDuration() { return wariningHoldDuration; @@ -369,7 +369,7 @@ public class AlertHoldDurationRecord { * * @param wariningHoldDuration the value for sys_alert_hold_duration_record.warining_hold_duration * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ public void setWariningHoldDuration(String wariningHoldDuration) { this.wariningHoldDuration = wariningHoldDuration == null ? null : wariningHoldDuration.trim(); @@ -381,7 +381,7 @@ public class AlertHoldDurationRecord { * * @return the value of sys_alert_hold_duration_record.warining_time * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ public Date getWariningTime() { return wariningTime; @@ -393,7 +393,7 @@ public class AlertHoldDurationRecord { * * @param wariningTime the value for sys_alert_hold_duration_record.warining_time * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ public void setWariningTime(Date wariningTime) { this.wariningTime = wariningTime; diff --git a/src/main/java/com/sztzjy/forex/trading_trading/entity/AlertHoldDurationRecordExample.java b/src/main/java/com/sztzjy/forex/trading_trading/entity/AlertHoldDurationRecordExample.java index a0780cb..bf90c91 100644 --- a/src/main/java/com/sztzjy/forex/trading_trading/entity/AlertHoldDurationRecordExample.java +++ b/src/main/java/com/sztzjy/forex/trading_trading/entity/AlertHoldDurationRecordExample.java @@ -9,7 +9,7 @@ public class AlertHoldDurationRecordExample { * This field was generated by MyBatis Generator. * This field corresponds to the database table sys_alert_hold_duration_record * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ protected String orderByClause; @@ -17,7 +17,7 @@ public class AlertHoldDurationRecordExample { * This field was generated by MyBatis Generator. * This field corresponds to the database table sys_alert_hold_duration_record * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ protected boolean distinct; @@ -25,7 +25,7 @@ public class AlertHoldDurationRecordExample { * This field was generated by MyBatis Generator. * This field corresponds to the database table sys_alert_hold_duration_record * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ protected List oredCriteria; @@ -33,7 +33,7 @@ public class AlertHoldDurationRecordExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table sys_alert_hold_duration_record * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ public AlertHoldDurationRecordExample() { oredCriteria = new ArrayList<>(); @@ -43,7 +43,7 @@ public class AlertHoldDurationRecordExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table sys_alert_hold_duration_record * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; @@ -53,7 +53,7 @@ public class AlertHoldDurationRecordExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table sys_alert_hold_duration_record * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ public String getOrderByClause() { return orderByClause; @@ -63,7 +63,7 @@ public class AlertHoldDurationRecordExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table sys_alert_hold_duration_record * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ public void setDistinct(boolean distinct) { this.distinct = distinct; @@ -73,7 +73,7 @@ public class AlertHoldDurationRecordExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table sys_alert_hold_duration_record * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ public boolean isDistinct() { return distinct; @@ -83,7 +83,7 @@ public class AlertHoldDurationRecordExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table sys_alert_hold_duration_record * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ public List getOredCriteria() { return oredCriteria; @@ -93,7 +93,7 @@ public class AlertHoldDurationRecordExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table sys_alert_hold_duration_record * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ public void or(Criteria criteria) { oredCriteria.add(criteria); @@ -103,7 +103,7 @@ public class AlertHoldDurationRecordExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table sys_alert_hold_duration_record * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ public Criteria or() { Criteria criteria = createCriteriaInternal(); @@ -115,7 +115,7 @@ public class AlertHoldDurationRecordExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table sys_alert_hold_duration_record * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); @@ -129,7 +129,7 @@ public class AlertHoldDurationRecordExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table sys_alert_hold_duration_record * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); @@ -140,7 +140,7 @@ public class AlertHoldDurationRecordExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table sys_alert_hold_duration_record * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ public void clear() { oredCriteria.clear(); @@ -152,7 +152,7 @@ public class AlertHoldDurationRecordExample { * This class was generated by MyBatis Generator. * This class corresponds to the database table sys_alert_hold_duration_record * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ protected abstract static class GeneratedCriteria { protected List criteria; @@ -405,143 +405,143 @@ public class AlertHoldDurationRecordExample { return (Criteria) this; } - public Criteria andMamberidIsNull() { - addCriterion("mamberId is null"); + public Criteria andMemberidIsNull() { + addCriterion("memberId is null"); return (Criteria) this; } - public Criteria andMamberidIsNotNull() { - addCriterion("mamberId is not null"); + public Criteria andMemberidIsNotNull() { + addCriterion("memberId is not null"); return (Criteria) this; } - public Criteria andMamberidEqualTo(String value) { - addCriterion("mamberId =", value, "mamberid"); + public Criteria andMemberidEqualTo(String value) { + addCriterion("memberId =", value, "memberid"); return (Criteria) this; } - public Criteria andMamberidNotEqualTo(String value) { - addCriterion("mamberId <>", value, "mamberid"); + public Criteria andMemberidNotEqualTo(String value) { + addCriterion("memberId <>", value, "memberid"); return (Criteria) this; } - public Criteria andMamberidGreaterThan(String value) { - addCriterion("mamberId >", value, "mamberid"); + public Criteria andMemberidGreaterThan(String value) { + addCriterion("memberId >", value, "memberid"); return (Criteria) this; } - public Criteria andMamberidGreaterThanOrEqualTo(String value) { - addCriterion("mamberId >=", value, "mamberid"); + public Criteria andMemberidGreaterThanOrEqualTo(String value) { + addCriterion("memberId >=", value, "memberid"); return (Criteria) this; } - public Criteria andMamberidLessThan(String value) { - addCriterion("mamberId <", value, "mamberid"); + public Criteria andMemberidLessThan(String value) { + addCriterion("memberId <", value, "memberid"); return (Criteria) this; } - public Criteria andMamberidLessThanOrEqualTo(String value) { - addCriterion("mamberId <=", value, "mamberid"); + public Criteria andMemberidLessThanOrEqualTo(String value) { + addCriterion("memberId <=", value, "memberid"); return (Criteria) this; } - public Criteria andMamberidLike(String value) { - addCriterion("mamberId like", value, "mamberid"); + public Criteria andMemberidLike(String value) { + addCriterion("memberId like", value, "memberid"); return (Criteria) this; } - public Criteria andMamberidNotLike(String value) { - addCriterion("mamberId not like", value, "mamberid"); + public Criteria andMemberidNotLike(String value) { + addCriterion("memberId not like", value, "memberid"); return (Criteria) this; } - public Criteria andMamberidIn(List values) { - addCriterion("mamberId in", values, "mamberid"); + public Criteria andMemberidIn(List values) { + addCriterion("memberId in", values, "memberid"); return (Criteria) this; } - public Criteria andMamberidNotIn(List values) { - addCriterion("mamberId not in", values, "mamberid"); + public Criteria andMemberidNotIn(List values) { + addCriterion("memberId not in", values, "memberid"); return (Criteria) this; } - public Criteria andMamberidBetween(String value1, String value2) { - addCriterion("mamberId between", value1, value2, "mamberid"); + public Criteria andMemberidBetween(String value1, String value2) { + addCriterion("memberId between", value1, value2, "memberid"); return (Criteria) this; } - public Criteria andMamberidNotBetween(String value1, String value2) { - addCriterion("mamberId not between", value1, value2, "mamberid"); + public Criteria andMemberidNotBetween(String value1, String value2) { + addCriterion("memberId not between", value1, value2, "memberid"); return (Criteria) this; } - public Criteria andTariningidIsNull() { - addCriterion("tariningId is null"); + public Criteria andTrainingidIsNull() { + addCriterion("trainingId is null"); return (Criteria) this; } - public Criteria andTariningidIsNotNull() { - addCriterion("tariningId is not null"); + public Criteria andTrainingidIsNotNull() { + addCriterion("trainingId is not null"); return (Criteria) this; } - public Criteria andTariningidEqualTo(String value) { - addCriterion("tariningId =", value, "tariningid"); + public Criteria andTrainingidEqualTo(String value) { + addCriterion("trainingId =", value, "trainingid"); return (Criteria) this; } - public Criteria andTariningidNotEqualTo(String value) { - addCriterion("tariningId <>", value, "tariningid"); + public Criteria andTrainingidNotEqualTo(String value) { + addCriterion("trainingId <>", value, "trainingid"); return (Criteria) this; } - public Criteria andTariningidGreaterThan(String value) { - addCriterion("tariningId >", value, "tariningid"); + public Criteria andTrainingidGreaterThan(String value) { + addCriterion("trainingId >", value, "trainingid"); return (Criteria) this; } - public Criteria andTariningidGreaterThanOrEqualTo(String value) { - addCriterion("tariningId >=", value, "tariningid"); + public Criteria andTrainingidGreaterThanOrEqualTo(String value) { + addCriterion("trainingId >=", value, "trainingid"); return (Criteria) this; } - public Criteria andTariningidLessThan(String value) { - addCriterion("tariningId <", value, "tariningid"); + public Criteria andTrainingidLessThan(String value) { + addCriterion("trainingId <", value, "trainingid"); return (Criteria) this; } - public Criteria andTariningidLessThanOrEqualTo(String value) { - addCriterion("tariningId <=", value, "tariningid"); + public Criteria andTrainingidLessThanOrEqualTo(String value) { + addCriterion("trainingId <=", value, "trainingid"); return (Criteria) this; } - public Criteria andTariningidLike(String value) { - addCriterion("tariningId like", value, "tariningid"); + public Criteria andTrainingidLike(String value) { + addCriterion("trainingId like", value, "trainingid"); return (Criteria) this; } - public Criteria andTariningidNotLike(String value) { - addCriterion("tariningId not like", value, "tariningid"); + public Criteria andTrainingidNotLike(String value) { + addCriterion("trainingId not like", value, "trainingid"); return (Criteria) this; } - public Criteria andTariningidIn(List values) { - addCriterion("tariningId in", values, "tariningid"); + public Criteria andTrainingidIn(List values) { + addCriterion("trainingId in", values, "trainingid"); return (Criteria) this; } - public Criteria andTariningidNotIn(List values) { - addCriterion("tariningId not in", values, "tariningid"); + public Criteria andTrainingidNotIn(List values) { + addCriterion("trainingId not in", values, "trainingid"); return (Criteria) this; } - public Criteria andTariningidBetween(String value1, String value2) { - addCriterion("tariningId between", value1, value2, "tariningid"); + public Criteria andTrainingidBetween(String value1, String value2) { + addCriterion("trainingId between", value1, value2, "trainingid"); return (Criteria) this; } - public Criteria andTariningidNotBetween(String value1, String value2) { - addCriterion("tariningId not between", value1, value2, "tariningid"); + public Criteria andTrainingidNotBetween(String value1, String value2) { + addCriterion("trainingId not between", value1, value2, "trainingid"); return (Criteria) this; } @@ -1020,7 +1020,7 @@ public class AlertHoldDurationRecordExample { * This class was generated by MyBatis Generator. * This class corresponds to the database table sys_alert_hold_duration_record * - * @mbg.generated do_not_delete_during_merge Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated do_not_delete_during_merge Fri Jul 28 15:22:21 CST 2023 */ public static class Criteria extends GeneratedCriteria { protected Criteria() { @@ -1032,7 +1032,7 @@ public class AlertHoldDurationRecordExample { * This class was generated by MyBatis Generator. * This class corresponds to the database table sys_alert_hold_duration_record * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ public static class Criterion { private String condition; diff --git a/src/main/java/com/sztzjy/forex/trading_trading/mappers/AlertHoldDurationMapper.java b/src/main/java/com/sztzjy/forex/trading_trading/mappers/AlertHoldDurationMapper.java index c2fa316..38776e4 100644 --- a/src/main/java/com/sztzjy/forex/trading_trading/mappers/AlertHoldDurationMapper.java +++ b/src/main/java/com/sztzjy/forex/trading_trading/mappers/AlertHoldDurationMapper.java @@ -6,6 +6,8 @@ import java.util.List; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + @Mapper public interface AlertHoldDurationMapper { /** @@ -95,4 +97,7 @@ public interface AlertHoldDurationMapper { * @mbg.generated Fri Jul 21 17:12:37 CST 2023 */ int updateByPrimaryKey(AlertHoldDuration record); + + @Select("SELECT DISTINCT symbol FROM sys_alert_hold_duration WHERE symbol = #{symbol}") + ListselectBySymbol(@Param("symbol")String symbol); } \ No newline at end of file diff --git a/src/main/java/com/sztzjy/forex/trading_trading/mappers/AlertHoldDurationRecordMapper.java b/src/main/java/com/sztzjy/forex/trading_trading/mappers/AlertHoldDurationRecordMapper.java index 67bbcde..cd580d3 100644 --- a/src/main/java/com/sztzjy/forex/trading_trading/mappers/AlertHoldDurationRecordMapper.java +++ b/src/main/java/com/sztzjy/forex/trading_trading/mappers/AlertHoldDurationRecordMapper.java @@ -1,18 +1,21 @@ package com.sztzjy.forex.trading_trading.mappers; +import com.sztzjy.forex.trading_trading.entity.AlertHoldDuration; import com.sztzjy.forex.trading_trading.entity.AlertHoldDurationRecord; import com.sztzjy.forex.trading_trading.entity.AlertHoldDurationRecordExample; import java.util.List; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + @Mapper public interface AlertHoldDurationRecordMapper { /** * This method was generated by MyBatis Generator. * This method corresponds to the database table sys_alert_hold_duration_record * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ long countByExample(AlertHoldDurationRecordExample example); @@ -20,7 +23,7 @@ public interface AlertHoldDurationRecordMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table sys_alert_hold_duration_record * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ int deleteByExample(AlertHoldDurationRecordExample example); @@ -28,7 +31,7 @@ public interface AlertHoldDurationRecordMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table sys_alert_hold_duration_record * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ int deleteByPrimaryKey(String id); @@ -36,7 +39,7 @@ public interface AlertHoldDurationRecordMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table sys_alert_hold_duration_record * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ int insert(AlertHoldDurationRecord record); @@ -44,7 +47,7 @@ public interface AlertHoldDurationRecordMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table sys_alert_hold_duration_record * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ int insertSelective(AlertHoldDurationRecord record); @@ -52,7 +55,7 @@ public interface AlertHoldDurationRecordMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table sys_alert_hold_duration_record * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ List selectByExample(AlertHoldDurationRecordExample example); @@ -60,7 +63,7 @@ public interface AlertHoldDurationRecordMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table sys_alert_hold_duration_record * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ AlertHoldDurationRecord selectByPrimaryKey(String id); @@ -68,7 +71,7 @@ public interface AlertHoldDurationRecordMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table sys_alert_hold_duration_record * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ int updateByExampleSelective(@Param("record") AlertHoldDurationRecord record, @Param("example") AlertHoldDurationRecordExample example); @@ -76,7 +79,7 @@ public interface AlertHoldDurationRecordMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table sys_alert_hold_duration_record * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ int updateByExample(@Param("record") AlertHoldDurationRecord record, @Param("example") AlertHoldDurationRecordExample example); @@ -84,7 +87,7 @@ public interface AlertHoldDurationRecordMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table sys_alert_hold_duration_record * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ int updateByPrimaryKeySelective(AlertHoldDurationRecord record); @@ -92,7 +95,10 @@ public interface AlertHoldDurationRecordMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table sys_alert_hold_duration_record * - * @mbg.generated Fri Jul 21 17:10:02 CST 2023 + * @mbg.generated Fri Jul 28 15:22:21 CST 2023 */ int updateByPrimaryKey(AlertHoldDurationRecord record); + + @Select("SELECT DISTINCT symbol FROM sys_alert_hold_duration_record WHERE symbol = #{symbol}") + ListselectBySymbol(@Param("symbol") String symbol); } \ No newline at end of file diff --git a/src/main/java/com/sztzjy/forex/trading_trading/service/WainingService.java b/src/main/java/com/sztzjy/forex/trading_trading/service/WainingService.java index 1da854c..3074454 100644 --- a/src/main/java/com/sztzjy/forex/trading_trading/service/WainingService.java +++ b/src/main/java/com/sztzjy/forex/trading_trading/service/WainingService.java @@ -4,6 +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.entity.*; import com.sztzjy.forex.trading_trading.mappers.*; import com.sztzjy.forex.trading_trading.util.ForexMarketDateUtil; @@ -43,16 +44,19 @@ public class WainingService { @Autowired private TransactionNumberWarningRecordMapper transactionNumberWarningRecordMapper; @Autowired - private WebSocket webSocket; + private TrainingMapper trainingMapper; + @Autowired + private MemberService memberService; + //保证金比较接口 - public String compareMarginLevels(String memberId, String trainingId) { + public void compareMarginLevels(String memberId, String trainingId) { String message = "保证金已到达预警水平!"; MemberExample memberExample = new MemberExample(); memberExample.createCriteria().andMemberIdEqualTo(memberId).andTrainingIdEqualTo(trainingId); List members = memberMapper.selectByExample(memberExample); MarginWarningExample marginWarningExample = new MarginWarningExample(); - marginWarningExample.createCriteria().andMemberIdEqualTo(memberId); + marginWarningExample.createCriteria().andMemberIdEqualTo(memberId).andStatusEqualTo(1); MarginWarningRecordExample mwre = new MarginWarningRecordExample(); List marginWarningList = marginWarningMapper.selectByExample(marginWarningExample); for (MarginWarning marginWarning : marginWarningList) { @@ -73,7 +77,6 @@ public class WainingService { } } } - return message; } //保证金预警查询 @@ -94,18 +97,23 @@ public class WainingService { MemberExample memberExample = new MemberExample(); memberExample.createCriteria().andTrainingIdEqualTo(trainingId).andNameEqualTo(userName); List 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()); - marginWarning.setMarginLevel(50.12); - marginWarning.setNetValue(50.2131); + //这两个值需要写方法去取 + //净值 = 持仓盈亏 + 累计盈亏 + 期初资金 保证金水平 = 净值/已用保证金 (%) +// Double marginLevel = + marginWarning.setMarginLevel(50.12); //保证金水平 + marginWarning.setNetValue(50.2131); //净值 marginWarningMapper.insert(marginWarning); } return marginWarning; } + //保证金预警水平修改保存 public MarginWarning saveWarningLevel(Integer warningLevel, String memberId, String userName, String trainingId) { MarginWarningExample marginWarningExample = new MarginWarningExample(); @@ -149,29 +157,34 @@ public class WainingService { } // 新增行情预警,并在达到预警值时将数据存入记录表 - public void addMarketWarning(MarketWarning marketWarning, String trainingId, String name) { - // 记录表需要设置预警水平和预警时间 为报警时候的值 - String marketWarningId = marketWarning.getId(); - MarketWarningRecord marketWarningRecord = new MarketWarningRecord(); - marketWarning.setTime(new Timestamp(new Date().getTime())); - marketWarning.setTariningid(trainingId); - marketWarning.setName(name); - marketWarningMapper.insert(marketWarning); - BeanUtils.copyProperties(marketWarning, marketWarningRecord); - marketWarningRecord.setMarketWarningId(marketWarningId); - marketWarningRecord.setId(IdUtil.simpleUUID()); - marketWarningRecordMapper.insert(marketWarningRecord); - HashMap objectObjectHashMap = new HashMap<>(); - objectObjectHashMap.put("marketWarningId", marketWarningId); - redisUtil.hmset("marketWarningRecord_" + marketWarningId + "_", objectObjectHashMap); - ComparativeTransactionPrice(); + public void addMarketWarning(MarketWarning marketWarning) { + String trainingId = marketWarning.getTariningid(); + Training training = trainingMapper.selectByPrimaryKey(trainingId); + if (training.getStatus().equals("ONGOING")) { + // 记录表需要设置预警水平和预警时间 为报警时候的值 + String marketWarningId = IdUtil.simpleUUID(); + marketWarning.setId(marketWarningId); + MarketWarningRecord marketWarningRecord = new MarketWarningRecord(); + marketWarning.setTime(new Timestamp(new Date().getTime())); + marketWarningMapper.insert(marketWarning); + BeanUtils.copyProperties(marketWarning, marketWarningRecord); + marketWarningRecord.setMarketWarningId(marketWarningId); + marketWarningRecord.setId(IdUtil.simpleUUID()); + marketWarningRecordMapper.insert(marketWarningRecord); + + HashMap objectObjectHashMap = new HashMap<>(); + objectObjectHashMap.put("marketWarningId", marketWarningId); + redisUtil.hmset("trainingId_" + trainingId + "_marketWarningRecord_" + marketWarningId + "_", objectObjectHashMap); + + comparativeTransactionPrice(); + } } //行情预警,监控用户设置的交易品种当前的交易价格,10S一次 - @Scheduled(fixedRate = 10000) - public void ComparativeTransactionPrice() { + @Scheduled(fixedRate = 120000) + public void comparativeTransactionPrice() { // 从redis取出所有的marketWarning - Set marketWarningSet = redisUtil.keys("marketWarningRecord*"); + Set marketWarningSet = redisUtil.keys("*marketWarningRecord*"); // 从redis取出所有的交易品种的参数 List forexDateList = redisUtil.get("ForexDateList"); Map forexMarketDateMap = forexMarketDateUtil.getForexMarketDateMap(forexDateList); @@ -179,35 +192,38 @@ public class WainingService { for (String key : marketWarningSet) { Map marketWarningMap = redisUtil.hmget(key); String marketWarningId = (String) marketWarningMap.get("marketWarningId"); - MarketWarningRecordExample marketWarningRecordExample = new MarketWarningRecordExample(); - marketWarningRecordExample.createCriteria().andMarketWarningIdEqualTo(marketWarningId); - List marketWarningRecords = marketWarningRecordMapper.selectByExample(marketWarningRecordExample); - for (MarketWarningRecord marketWarningRecord : marketWarningRecords) { - ForexMarketData forexMarketData = forexMarketDateMap.get(marketWarningRecord.getSymbol()); - String sellPic = forexMarketData.getSellPic(); - Double buyPic = forexMarketData.getBuyPic(); - Double sellPicValue = Double.parseDouble(sellPic); + MarketWarning marketWarning = marketWarningMapper.selectByPrimaryKey(marketWarningId); + if (marketWarning != null && marketWarning.getStatus() != null && marketWarning.getStatus() == 1) { + MarketWarningRecordExample marketWarningRecordExample = new MarketWarningRecordExample(); + marketWarningRecordExample.createCriteria().andMarketWarningIdEqualTo(marketWarningId); + List marketWarningRecords = marketWarningRecordMapper.selectByExample(marketWarningRecordExample); + for (MarketWarningRecord marketWarningRecord : marketWarningRecords) { + ForexMarketData forexMarketData = forexMarketDateMap.get(marketWarningRecord.getSymbol()); + String sellPic = forexMarketData.getSellPic(); + Double buyPic = forexMarketData.getBuyPic(); + Double sellPicValue = Double.parseDouble(sellPic); // 2.判断新增的预警是买还是卖 - Double upperBreakPrice = marketWarningRecord.getUpperBreakPrice(); - Double lowerBreakPrice = marketWarningRecord.getLowerBreakPrice(); - String direction = marketWarningRecord.getDirection(); - String message = "预警通知:价格已达到预警值"; - if (direction.equals("买")) { + Double upperBreakPrice = marketWarningRecord.getUpperBreakPrice(); + Double lowerBreakPrice = marketWarningRecord.getLowerBreakPrice(); + String direction = marketWarningRecord.getDirection(); + String message = "预警通知:价格已达到预警值"; + if (direction.equals("买入")) { // 3.拿redis的价位和新增的高价低价做比较,==的时候就弹出提示,并且存入行情预警记录表 - if (buyPic.equals(upperBreakPrice) || buyPic.equals(lowerBreakPrice)) { - WebSocket.sendMessage(message); - marketWarningRecord.setWarningPrice(buyPic); - marketWarningRecord.setWarningTime((new Timestamp(new Date().getTime()))); - marketWarningRecordMapper.updateByPrimaryKeySelective(marketWarningRecord); - redisUtil.del(key); - } - } else { - if (sellPicValue.equals(upperBreakPrice) || sellPicValue.equals(lowerBreakPrice)) { - WebSocket.sendMessage(message); - marketWarningRecord.setWarningPrice(sellPicValue); - marketWarningRecord.setWarningTime((new Timestamp(new Date().getTime()))); - marketWarningRecordMapper.updateByPrimaryKeySelective(marketWarningRecord); - redisUtil.del(key); + if (buyPic >= upperBreakPrice || buyPic <= lowerBreakPrice) { + WebSocket.sendMessage(message); + marketWarningRecord.setWarningPrice(buyPic); + marketWarningRecord.setWarningTime((new Timestamp(new Date().getTime()))); + marketWarningRecordMapper.updateByPrimaryKeySelective(marketWarningRecord); + redisUtil.del(key); + } + } else { + if (sellPicValue >= upperBreakPrice || sellPicValue <= lowerBreakPrice) { + WebSocket.sendMessage(message); + marketWarningRecord.setWarningPrice(sellPicValue); + marketWarningRecord.setWarningTime((new Timestamp(new Date().getTime()))); + marketWarningRecordMapper.updateByPrimaryKeySelective(marketWarningRecord); + redisUtil.del(key); + } } } } @@ -215,38 +231,45 @@ public class WainingService { } //新增持仓时长预警 - public void addAlertHoldDuration(AlertHoldDuration alertHoldDuration) { + public String addAlertHoldDuration(AlertHoldDuration alertHoldDuration) { + String trainingid = alertHoldDuration.getTrainingid(); String symbol = alertHoldDuration.getSymbol(); TakeStashExample takeStashExample = new TakeStashExample(); - takeStashExample.createCriteria().andTradingCodeEqualTo(symbol); + takeStashExample.createCriteria().andTradingCodeEqualTo(symbol).andStatusEqualTo(0); List takeStashes = takeStashMapper.selectByExample(takeStashExample); - for (TakeStash takeStash : takeStashes) { - String stashId = takeStash.getStashId(); - alertHoldDuration.setSetTime(new Timestamp(new Date().getTime())); - alertHoldDuration.setStashid(stashId); - alertHoldDurationMapper.insert(alertHoldDuration); + if (takeStashes != null) { + for (TakeStash takeStash : takeStashes) { + String stashId = takeStash.getStashId(); + alertHoldDuration.setSetTime(new Timestamp(new Date().getTime())); + alertHoldDuration.setStashid(stashId); + alertHoldDuration.setId(IdUtil.simpleUUID()); + alertHoldDurationMapper.insert(alertHoldDuration); - String durationId = alertHoldDuration.getId(); - AlertHoldDurationRecord ahdr = new AlertHoldDurationRecord(); - BeanUtils.copyProperties(alertHoldDuration, ahdr); - ahdr.setId(IdUtil.simpleUUID()); - ahdr.setDurationid(durationId); - ahdr.setDirection(takeStash.getBuySellType()); - ahdr.setTradingHour(takeStash.getTimeTransaction()); - HashMap objectObjectHashMap = new HashMap<>(); - objectObjectHashMap.put("takeStashId", stashId); - objectObjectHashMap.put("durationId", durationId); - alertHoldDurationRecordMapper.insert(ahdr); + String durationId = alertHoldDuration.getId(); + AlertHoldDurationRecord ahdr = new AlertHoldDurationRecord(); + BeanUtils.copyProperties(alertHoldDuration, ahdr); + ahdr.setId(IdUtil.simpleUUID()); + ahdr.setDurationid(durationId); + ahdr.setDirection(takeStash.getBuySellType()); + ahdr.setTradingHour(takeStash.getTimeTransaction()); + HashMap objectObjectHashMap = new HashMap<>(); + objectObjectHashMap.put("takeStashId", stashId); + objectObjectHashMap.put("durationId", durationId); + alertHoldDurationRecordMapper.insert(ahdr); - redisUtil.hmset("AlertHoldDurationTakeStashId" + stashId + "_", objectObjectHashMap); - b(); + if (alertHoldDuration.getStatus() == 1) { + redisUtil.hmset("trainingId_" + trainingid + "_AlertHoldDurationTakeStashId" + stashId + "_", objectObjectHashMap); + b(); + } + } } + return "该品种下没有交易记录"; } // 持仓时长预警对比定时任务 - @Scheduled(fixedRate = 10000) + @Scheduled(fixedRate = 120000) public void b() { - Set alertHoldDurationTakeStashId = redisUtil.keys("AlertHoldDurationTakeStashId"); + Set alertHoldDurationTakeStashId = redisUtil.keys("*AlertHoldDurationTakeStashId*"); for (String takeStashId : alertHoldDurationTakeStashId) { Map hmget = redisUtil.hmget(takeStashId); String resultTakeStashId = (String) hmget.get("takeStashId"); @@ -258,34 +281,46 @@ public class WainingService { Date timeTransaction = takeStash.getTimeTransaction(); //交易时间 String buySellType = takeStash.getBuySellType(); //买卖类型 List alertHoldDurationRecords = alertHoldDurationRecordMapper.selectByExample(alertHoldDurationRecordExample); - AlertHoldDurationRecord ahdr = alertHoldDurationRecords.get(0); + if (!alertHoldDurationRecords.isEmpty()) { + AlertHoldDurationRecord ahdr = alertHoldDurationRecords.get(0); + AlertHoldDuration alertHoldDurations = alertHoldDurationMapper.selectByPrimaryKey(ahdr.getDurationid()); + if (alertHoldDurations != null && alertHoldDurations.getStatus() != null) { + if (alertHoldDurations.getStatus() == 1) { +// String wainingHoldDuration = alertHoldDurations.getWariningHoldDuration(); +// Date setTime = alertHoldDurations.getSetTime(); +// Calendar calendar = Calendar.getInstance(); +// calendar.setTime(setTime); +// calendar.add(Calendar.DAY_OF_YEAR, Integer.parseInt(wainingHoldDuration)); +// //相加后的时间 +// Timestamp resultTime = new Timestamp(calendar.getTime().getTime()); - AlertHoldDuration alertHoldDurations = alertHoldDurationMapper.selectByPrimaryKey(durationId); - String wainingHoldDuration = alertHoldDurations.getWariningHoldDuration(); - Date setTime = alertHoldDurations.getSetTime(); - Calendar calendar = Calendar.getInstance(); - calendar.setTime(setTime); - calendar.add(Calendar.DAY_OF_YEAR, Integer.parseInt(wainingHoldDuration)); - //相加后的时间 - Timestamp resultTime = new Timestamp(calendar.getTime().getTime()); - Timestamp nowTime = new Timestamp(new Date().getTime()); - long timeDiff = nowTime.getTime() - timeTransaction.getTime(); - long totalHours = timeDiff / (1000 * 60 * 60); - long days = totalHours / 24; - long hours = totalHours % 24; + //当前时间 - 交易时间 = 持仓时间 持仓时间 > 用户设置的持仓预警时间 就报警 + String wainingHoldDuration = alertHoldDurations.getWariningHoldDuration(); + long warningHours = Long.parseLong(wainingHoldDuration) * 24; + Timestamp nowTime = new Timestamp(new Date().getTime()); + long timeDiff = nowTime.getTime() - timeTransaction.getTime(); //当前时间 - 交易时间 = 持仓时间 + long totalHours = timeDiff / (1000 * 60 * 60); + long days = totalHours / 24; + long hours = totalHours % 24; - String timeString = days + "天 " + hours + "小时"; - //"当前时间等于或大于预警值就将时间存库然后发送消息给前端" - if (nowTime.compareTo(resultTime) >= 0) { - ahdr.setWariningTime(nowTime); //设置预警时间 - ahdr.setTradingHour(timeTransaction); //设置交易时间 - } - if (buySellType != null) { - ahdr.setDirection(buySellType); //设置买卖类型 + String timeString = days + "天 " + hours + "小时"; + //"当前时间等于或大于预警值就将时间存库然后发送消息给前端" + if (totalHours >= warningHours) { + String message = alertHoldDurations.getSymbol() + "货币对已持仓xx天,请择机平仓!"; + ahdr.setWariningTime(nowTime); //设置预警时间 + ahdr.setTradingHour(timeTransaction); //设置交易时间 + WebSocket.sendMessage(message); + redisUtil.del(takeStashId); + } + if (buySellType != null) { + ahdr.setDirection(buySellType); //设置买卖类型 + } + ahdr.setHoldDuration(timeString); //设置持仓时长 + alertHoldDurationRecordMapper.updateByPrimaryKeySelective(ahdr); + } + } } - ahdr.setHoldDuration(timeString); //设置持仓时长 - alertHoldDurationRecordMapper.updateByPrimaryKeySelective(ahdr); } } @@ -293,7 +328,8 @@ public class WainingService { public String addTransactionNumberWarning(TransactionNumberWarning transactionNumberWarning) { TransactionNumberWarningRecord tnwr = new TransactionNumberWarningRecord(); transactionNumberWarning.setSetTime(new Timestamp(new Date().getTime())); - + transactionNumberWarning.setId(IdUtil.simpleUUID()); + tnwr.setId(IdUtil.simpleUUID()); BeanUtils.copyProperties(transactionNumberWarning, tnwr); transactionNumberWarningMapper.insert(transactionNumberWarning); transactionNumberWarningRecordMapper.insert(tnwr); @@ -301,33 +337,37 @@ public class WainingService { } //比较交易次数的公共方法 - public String CompareTransactionNumber(String memberId, String trainingId) { + public void compareTransactionNumber(String memberId, String trainingId) { String message = "交易笔数未达到所设置的预警值,请增加交易次数。"; MemberExample memberExample = new MemberExample(); memberExample.createCriteria().andMemberIdEqualTo(memberId).andTrainingIdEqualTo(trainingId); List members = memberMapper.selectByExample(memberExample); - TransactionNumberWarningRecordExample tnwrExample = new TransactionNumberWarningRecordExample(); - tnwrExample.createCriteria().andMemberIdEqualTo(memberId).andTrainingIdEqualTo(trainingId); - List transactionNumberWarningRecords = transactionNumberWarningRecordMapper.selectByExample(tnwrExample); - for (TransactionNumberWarningRecord tnwr : transactionNumberWarningRecords) { - for (Member member : members) { - Integer warningCount = tnwr.getWarningCount(); - Integer openingTrades = member.getOpeningTrades(); //开仓次数即当前交易次数 - Date warningTime = tnwr.getWarningTime(); - Date date = new Date(); - if (openingTrades < warningCount && date == warningTime) { - // 如果当前交易次数在到达用户设置的预警时间时还是小于,那么就返回消息给前端提示 - tnwr.setWarningingCount(openingTrades); - tnwr.setWarningTime(new Timestamp(new Date().getTime())); - WebSocket.sendMessage(message); - transactionNumberWarningRecordMapper.updateByPrimaryKeySelective(tnwr); + TransactionNumberWarningExample tnwrExample = new TransactionNumberWarningExample(); + tnwrExample.createCriteria().andMemberIdEqualTo(memberId).andTrainingIdEqualTo(trainingId).andStatusEqualTo(1); + List transactionNumberWarnings = transactionNumberWarningMapper.selectByExample(tnwrExample); + + for (TransactionNumberWarning transactionNumberWarning : transactionNumberWarnings) { + TransactionNumberWarningRecordExample tnwre = new TransactionNumberWarningRecordExample(); + tnwre.createCriteria().andTransactionNumberWarningIdEqualTo(transactionNumberWarning.getId()); + List transactionNumberWarningRecords = transactionNumberWarningRecordMapper.selectByExample(tnwre); + for (TransactionNumberWarningRecord tnwr : transactionNumberWarningRecords) { + for (Member member : members) { + Integer warningCount = tnwr.getWarningCount(); + Integer openingTrades = member.getOpeningTrades(); //开仓次数即当前交易次数 + Date warningTime = tnwr.getWarningTime(); + Date date = new Date(); + if (openingTrades < warningCount && date == warningTime) { + // 如果当前交易次数在到达用户设置的预警时间时还是小于,那么就返回消息给前端提示 + tnwr.setWarningingCount(openingTrades); + tnwr.setWarningTime(new Timestamp(new Date().getTime())); + WebSocket.sendMessage(message); + transactionNumberWarningRecordMapper.updateByPrimaryKeySelective(tnwr); + } } } } - return message; } - // // 新增行情预警,并在达到预警值时将数据存入记录表 // public void addMarketWarning(MarketWarning marketWarning, String trainingId, String name) { // MarketWarningRecord marketWarningRecord = new MarketWarningRecord(); diff --git a/src/main/resources/mappers/AlertHoldDurationRecordMapper.xml b/src/main/resources/mappers/AlertHoldDurationRecordMapper.xml index fdf1b5e..33c618a 100644 --- a/src/main/resources/mappers/AlertHoldDurationRecordMapper.xml +++ b/src/main/resources/mappers/AlertHoldDurationRecordMapper.xml @@ -5,13 +5,13 @@ - - + + @@ -24,7 +24,7 @@ @@ -58,7 +58,7 @@ @@ -92,16 +92,16 @@ - id, durationID, stashId, mamberId, tariningId, name, symbol, direction, trading_hour, + id, durationID, stashId, memberId, trainingId, name, symbol, direction, trading_hour, hold_duration, warining_hold_duration, warining_time